恒温箱控制系统设计.docx
《恒温箱控制系统设计.docx》由会员分享,可在线阅读,更多相关《恒温箱控制系统设计.docx(47页珍藏版)》请在冰点文库上搜索。
恒温箱控制系统设计
一.课程设计内容
运用所学单片机、模拟和数字电路、以与测控系统原理与设计等方面的知识,设计出一台以AT89C52为核心的恒温箱控制器,对恒温箱的温度进行控制。
完成恒温箱温度的检测、控制信号的输出、显示与键盘接口电路等部分的软、硬件设计,A/D和D/A转换器件可自行确定,利用按键(自行定义)进行温度的设定,同时将当前温度的测量值显示在LED上。
恒温箱控制器要求如下:
1)目标稳定温度范围为100摄氏度——50摄氏度。
2)控制精度为±1度。
3)温度传感器输入量程:
30摄氏度——120摄氏度,电流4——20mA。
加热器为交流220V,1000W电炉。
二.课程设计应完成的工作
1)硬件部分包括微处理器(MCU)、D/A转换、输出通道单元、键盘、显示等;
2)软件部分包括键盘扫描、D/A转换、输出控制、显示等;
3)用PROTEUS软件仿真实现;
4)画出系统的硬件电路结构图和软件程序框图;
5)撰写设计说明书一份(不少于2000字),阐述系统的工作原理和软、硬件设计方法,重点阐述系统组成框图、硬件原理设计和软件程序流程图。
说明书应包括封面、任务书、目录、摘要、正文、参考文献(资料)等内容,以与硬件电路结构图和软件程序框图等材料。
注:
设计说明书题目字体用小三,黑体,正文字体用五号字,宋体,小标题用四号与小四,宋体,并用A4纸打印。
三.课程设计进程安排
序号
课程设计各阶段名称
日期、周次
1
总体设计,硬件设计
2012年12月24日~25日,17周
2
绘制软件程序流程图,编写软件
2012年12月26日~28日,17周
3
软、硬件仿真调试
2012年12月27日,18周
4
软、硬件仿真调试
2013年1月2日~3日,18周
5
撰写设计说明书
2013年1月4日,18周
四、.设计资料与参考文献
1.王福瑞等.《单片微机测控系统设计大全》.北京航空航天大学出版社,1999
2.《现代测控技术与系统》韩九强清华大学出版社2007.9
3.《智能仪器》程德福,林君主编机械工业出版社2005年2月
4.《测控仪器设计》浦昭邦,王宝光主编机械工业出版社2001
5.KeilC51帮助文档
五.成绩评定综合以下因素:
(1)说明书与设计图纸的质量(占60%)。
(2)独立工作能力与设计过程的表现(占20%)。
(3)回答问题的情况(占20%)。
说明书和图纸部分评分分值分布如下:
1、需求分析与设计思路(10分)
要求说明设计任务的具体技术指标打算如何实现,根据实现各技术指标的解决方法,提出总体设计的思路和解决方案,说明其中关键问题与其解决办法。
2、总体方案设计(10分)
根据设计思路,完成:
1)软件与硬件分工说明;2)硬件总体框图;3)软件结构图。
3、详细设计(35分)
根据总体设计:
1)用Proteus画出电路原理图;(10分)
2)列出元件清单并说明元件选择与参数选择的依据;(5分)
3)画出单片机片内资源分配图(或表);(5分)
4)画出软件流程图;(10分)
5)提交程序清单。
(5分)
4、使用说明(5分,第3)项为2分,其余每项1分。
)
1)性能和功能介绍;2)各操作开关、按钮、指示灯、显示器等的作用介绍;3)使用操作步骤;4)故障处理。
三、主要内容与基本要求………………………………………………………7
四、恒温箱控制系统的硬件设计…………………………………………………7
2.方案设计……………………………………………………………………8
五、恒温箱控制系统框图…………………………………………………………8
六、功能模块………………………………………………………………………8
七、硬件设计与工作原理…………………………………………………………9
1.系统功能与工作流程介绍………………………………………………9
2.微处理器AT89C52…………………………………………………………9
3.温度传感器………………………………………………………………10
4.显示部分…………………………………………………………………11
5.键盘输入电路……………………………………………………………13
6.输出控制…………………………………………………………………13
7.温度越线报警电路………………………………………………………14
8.恒温箱控制器硬件系统图………………………………………………15
9.PID控制算法……………………………………………………………16
八、系统的软件设计……………………………………………………………18
1.温度传感器DS18B20模块软件设计…………………………………18
2.键盘管理模块…………………………………………………………20
3.显示模块………………………………………………………………21
4.控制模块………………………………………………………………21
5.温度报警模块…………………………………………………………21
6.PID控制程序设计……………………………………………………23
7.主程序模块……………………………………………………………24
九、硬件调试……………………………………………………………………25
十、仿真调试……………………………………………………………………25
十一、设计总结……………………………………………………………………25
参考文献…………………………………………………………………………26
附录1元件清单…………………………………………………………………27
附录2程序清单………………………………………………………………27
绪论
随着社会发展的需求,人们对恒温箱的应用和需求越来越广泛,在工业生产和日常生活或科学实验中,我们随处都可以看到恒温箱的应用。
如,可以根据动物生活习性的需要控制饲养棚合适的温度来进行孵卵或动物培养;在农业上,可用于种子的发芽;在科学实验上,可产生恒温环境用于各种细菌培养等;在医学上,可用于做细菌培养、放射免疫分析、血清溶化、石腊熔化、试管消毒等。
常用的恒温箱主要分为三类:
高温恒温箱(高于60℃);中温恒温箱(-10~60℃);低温恒温箱(低于-1O℃)。
恒温箱的温度控制系统可分为人工调节和自动调节两种方式,人工调节是通过温度计进行测量后手动调节变压器,从而控制产生热量的大小;而自动调节往往通过热电偶传感器进行测温,输出电压值,经放大后加到电机上驱动电机来调节变压器,其优点是可以连续、实时、准确的来控制温度。
基于单片机技术的温控器和可编程温度传感器相结合使用是目前恒温箱温度控制较为先进的一种方式。
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。
因此,单片机广泛用于现代工业控制中。
控制具有体积小、重量轻、价格低、可靠性高、耗电少和灵活机动等许多优点,因此如果能利用单片机进行温度的测量和控制,将会大大提高温度测量和控制的可靠性和灵活性。
单片机对温度测量控制过程是借助于传感器、A/D转换器以与扩展接口和执行机构来进行的。
在闭环型过程控制中,过程的实时参数由传感器和A/D转换器来实时采集,并由单片机自动记录、处理并控制执行机构动作来进行调节和控制。
因此需要对单片机进行扩展和开发,来形成整个单片机温度控制系统。
一、主要任务与目标:
恒温控制在工业生产过程中举足轻重,温度的控制直接影响着工业生产的产量和质量。
本课题基于单片机设计一个恒温箱控制系统,系统包括硬件和软件两部分,其中硬件包括数据采集、显示、控制、报警与温度传感器的设计,软件包括键盘管理程序设计、显示程序设计、控制程序设计和温度报警程序设计。
能够实现设置和调节初始温度值,进行数码显示,当加热到设定值后立刻报警。
设计过程中设计的控制方案能够保证精度,考虑系统的安全性、可靠性和稳定性。
二、主要内容与基本要求:
1.主要内容:
(1)了解温度传感器特点与其适用范围,针对恒温箱进行合理的选型;
(2)掌握控制器单片机的有关知识,并熟悉其编程;
(3)对单片机测控程序与其接口技术作重点的掌握;
(4)在以上几个内容的基础上,进行课题的总体设计,绘制系统的总体电路。
选择合适的相关硬件,最终完成本课题的设计。
2.基本要求:
运用所学单片机、模拟和数字电路、以与测控系统原理与设计等方面的知识,设计出一台以AT89C52为核心的恒温箱控制器,对恒温箱的温度进行控制。
完成恒温箱温度的检测、控制信号的输出、显示与键盘接口电路等部分的软、硬件设计,A/D和D/A转换器件可自行确定,利用按键(自行定义)进行温度的设定,同时将当前温度的测量值显示在LED上。
三、恒温箱控制系统的硬件设计
1.系统设计要求
1)目标稳定温度范围为100摄氏度——50摄氏度。
控制精度为±1度。
2)温度传感器输入量程:
30摄氏度——120摄氏度,电流4——20mA。
加热器为交流220V,1000W电炉。
3)键盘按键输入,具有设定、加温、减温、复位等。
4)显示功能,数码管显示设定值与当前所测温度值。
5)具有超温报警功能。
6)具有掉电保护功能。
2.方案设计
1)以应用广泛、性能可靠的MCS51系列单片机组成控制系统。
2)温度采样选择数字温度传感器DS18B20。
3)利用PP40微型打印机进行温度记录打印。
4)单片机与上位机通信采用MAX489构成标准RS-422A通信接口。
5)键盘为8键式,完成设定、增温、降温、清除、模式切换、复位、,3位数码管循环显示设定与检测的温度。
四、恒温箱控制系统框图
五、功能模块
根据上面对工作流程的分析,系统软件可以分为以下几个功能模块:
(1)键盘管理:
监测键盘输入,接收温度预置,启动系统工作。
(2)显示:
显示设置温度与当前温度。
(3)温度检测与温度值变换
(4)温度控制:
根据检测到的温度控制电炉工作。
(5)报警:
当预置温度或当前炉温越限时报警。
六、硬件设计与工作原理
1.系统功能与工作流程介绍
根据恒温箱控制器的功能要求,并结合对51系列单片机的资源分析,即单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。
所以采用AT89C52作为电路系统的控制核心。
按键将设置好的温度值传给单片机,通过温度显示模块显示出来。
初始温度设置好后,单片机开启输出控制模块,使电热器开始加热,同时将从数字温度传感器DS18B20测量到的温度值实时的显示出来,当加热到设定温度值时,单片机控制声光报警模块,发出声光报警,同时关闭加热器。
当自然冷却到设定温度50摄氏度以下时,单片机再次启动加热器,如此循环反复,以达到恒温控制的目的。
系统结构框图如图1所示,系统基本硬件电路图如图所示,在本系统中,DP1~DP3用于七段数码显示;P1.0用于接收DS18B20采集到的数字温度信号;P1.6控制光电开关,决定电加热器是否工作;KEY1~KEY3即P1.1,P1.2,P1.3用于按键控制;P1.7和P1.5用于控制扬声器和发光二极管,进行声光报警;串行口用于输出显示段码;P2.0、P2.1用于对数码管进行动态扫描。
2.微处理器AT89C52
AT89C52单片机是最新的一种低功耗、高性能内含SK字节闪电存储器的8位CMOS微控制器,与工业标准MCS—51指令系列和引脚完全兼容有超强的加密功能,其片内闪电存储器的编程与擦除完全用电实现,数据不易挥发,编程/擦除速度快,它的主要特点有:
(1)内部程序存储器为电擦除可编程只读存储器EEPROM,容量SKB,内部数据存储器容量256B(不包括专用寄存器),外部数据存储器寻址空间64KB,外部程序存储器寻址空间64KB;
(2)有三个16位的定时器/计数器;
(3)可利用两根I/O口线作为全双工的串行口,有四种工作方式,可通过编程选定;
(4)内部ROM中开辟了四个通用工作寄存器区,共32个通用寄存器,以适应多种中断或子程序嵌套的情况;
(5)内部有6个中断源,分为二个优先级,每个中断源优先级是可编程的;
(6)堆栈位置是可编程的,堆栈深度可达128字节;
(7)内部有一个由直接可寻址位组成的布尔处理机,在指令系统中包含了一个指令子集,专用于对布尔处理机的各位进行各种布尔处理,特别适用于控制目的和解决逻辑问题
AT89C52其引脚结构
3.温度传感器
采用数字温度传感器DS18B20,DS18B20提供九位温度读数,测量范围-55℃~125℃,采用独特1-WIRE总线协议,只需一根口线即实现与MCU的双向通讯,具有连接简单,高精度,高可靠性等特点。
并且,DS18B20支持一主多从,若想实现多点测温,可方便扩展。
DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89C52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
DS18B20的特点:
(1)独特的单线接口方式,与单片机通信只需一个引脚,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:
+3.0~+5.5V。
(4)测温范围为-55~+125℃。
在-10~+85℃范围内误差为0.5℃。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,通过识别芯片各自唯一的产品序列号从而实现单线多挂接,多个DS18B20可以并联在唯一的线上,简化了分布式温度检测的应用,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
(9)告警寻找命令可以识别和寻址那些温度超出预设告警界限的器件。
(3)DS18B20在电路中的连接,见图。
(2)1-wire总线支持一主多从式结构,硬件上需外接上拉电阻。
当一方完成数据通信需要释放总线时,只需将总线置高点平即可;若需要获得总线进行通信时则要监视总线是否空闲,若空闲,则置低电平获得总线控制权。
DS18B20测温电路
4.显示部分
显示采用3位共阳LED动态显示方式,显示内容有温度值的十位、个位与小数点后
一位。
用P2口作为段控码输出,并用74ls164作驱动。
P0.0—P0.2作为位控码输出,
用PNP型三极管做驱动.
5.键盘输入电路
键盘设定:
用于温度设定。
共三个按键。
KEY1(P1.1):
状态切换;温度设置确认;温度重新设置。
KEY2(P1.2):
设置温度“+”。
KEY3(P1.3):
设置温度“-”。
6.输出控制
采用光电藕合器,控制信号与输出信号可以很好的隔离,增强了系统的安全性和抗干扰能力。
输出控制电路,MOC3021内部带有过零控制电路,MOC3021输出端额定电压为400V。
加热电路中采用MOC3021的目的有两个:
其一是实现强电与弱电的隔离;其二是实现双向可控硅的过零触发,从而使流过双向可控硅的电流波形为正弦波,减少谐波。
电路连接如图所示,其在电路中的工作原理是单片机根据传感器和设定开关输入的控制指令,控制电器的电源通断。
SW1为双向开关,其最大通态电流为1A。
当电源控制电路的输出管脚P1.6送出的开关控制指令为高电平,MOC3021截止,Q2截止,电器被关闭;当电源控制电路的输出管脚P1.6送出的开关控制指令为低电平,MOC3041导通,Q2导通,电器被打开。
通过MOC3021内部的过零触发电路,保证Q2在电压过零时导通和截止,对供电系统干扰极小。
R6和C6是Q2的保护电路。
光耦控制输出电路
7.温度越线报警电路
报警电路如图所示,该电路采用一个小功率三极管Q2驱动蜂鸣器,当单片机接收到超额温度信号或危险信号时,输出脚P1.7输出高点平,Q2导通,致使蜂鸣器得电工作,发出报警声。
同时,电路中的发光二极管指示出电路的工作状态。
报警电路
8.恒温箱控制器硬件系统图
9.PID控制算法
(1)PID的数学模型
PID控制是一种比较成熟的控制理论,它通过比例、积分、微分三部分的合理组合可以用比较简单的方法获得令人满意的控制效果。
PID的数学模型如图表示:
PID数学模型
给定值R(t)与实际值Y(t)构成控制误差:
E(t)=R(t)-Y(t)式2-1
PID控制器根据E(t)将误差的比例(P)、积分(I)、和微分(D)通过线性组合构成控制量,对受控对象进行控制,其控制规律如式2所示:
U(t)=KP[e(t)+
]式2-2
U(t)——控制器输出函数;E(t)——控制器误差函数;
KP——比例系数;Ti——积分时间常数;Td——微分时间常数。
一个最简单的控制器可以只有比例部分,它能够产生与输入信号成比例的输出信号,所以误差一旦产生,控制器立即就有控制作用,使被控制量朝着减小误差的方向变化,控制作用的强弱取决于比例系数KP。
比例控制的缺点是不能在设置点和反馈点之间产生零误差(静差),为了产生有限的输出信号,必须保持这种静差。
加大KP可以减小静差,但是KP过大会导致动态性能变坏,甚至会使闭环系统不稳定。
为了消除这种静差,可以引入积分控制环节,积分环节能对误差进行记忆并积分,即使只存在很小的偏差,也可以将其积分后作用于操作部分,有利于消除静差。
但是积分作用具有滞后特性,它总是滞后于偏差的存在,这样会使系统易于振荡,结果往往超调,使被控变量波动很大。
积分控制常用于补偿高精度的控制系统。
微分控制能对误差进行微分,敏感出误差的变化趋势,将预期的动作作用于操作部分,增大微分控制作用可以加快系统的响应,使超调量减小,增加系统的稳定性。
缺点是微分控制对干扰同样敏感,使系统抑制干扰的能力降低。
微分控制可用于补偿快速变化的控制系统。
(2)PID控制规律的离散化
为了用计算机实现PID控制,必须将式表示PID控制规律的连续形式变成离散形式,才能通过编程实现。
若设温度采样周期为T,第n次采样得到的输入偏差为en,输出为Un。
微分用差分代替
式2-3
积分用求和代替
式2-4
这样PID控制器控制算法的离散形式改写为
式2-5
这种算法的缺点是,由于是全量输出,所以每次输出均与过去的状态有关,计算时要对E(n)进行累加,所以计算机工作量大。
而且,因为计算机输出的U(n)对应的是执行机构的实际位置,如果计算机出现故障,u(n)的大幅度变化会引起执行机构位置的大幅度变化,这种情况往往是生产实践中不允许的,在某些场合,可能造成重大的生产事故,因此产生了增量式PID控制的控制算法。
所谓增量式PID控制算法是指数字控制器的输出只是控制量的增量U(n)。
当执行机构需要的是控制量的增量时,可由式导出提供增量的PID控制算法。
根据递推规律得:
式2-6
用式2-5减去式2-6可得:
式2-7
改写成:
=
式2-8
事实证明,对于PID这样简单的控制器,能够适用于广泛的工业和民用对象,并以其很高的性价比在市场中占主导地分反映了PID控制,但在工业控制过程中经常会碰到大滞位,充后、时变的、非线性的复杂系统,其中有的是非线性系统;有的带有延时和随机干扰;有的无法获得较准确的数学模型或者模型非常粗燥。
对于以上这些系统,如果采用常规的PID控制器,则难以整定PID参数,因此比较难以达到预期的控制效果。
同时,在实际生产现场,由于受到参数整定方法繁杂的困扰,常规PID控制器参数往往整定不良、性能欠佳,对运行工矿的适用性很差。
七、系统的软件设计
软件描述:
在软件设计时,必须先弄清恒温控制系统的操作过程和工作过程。
加热器开始时处于停止状态,首先设定温度,显示器显示温度,温度设定后则可以启动加热。
温度检测系统不断检测并显示系统中的实时温度,当达到设定值后停止加热,当温度下降到下限(小于设定值1℃)时再自动启动加热,这样不断的循环,使温度保持在设定范围之内。
启动加热以后就不能再设定温度,因为温度的设定可以根据实验要求改变。
若要改变设定的温度,可以先按复位/停止键再重复上述过程。
根据以上对操作和工作过程的分析,程序应分为两个阶段:
一是通电或复位后到启动加热,程序主要是按键设定、显示器显示设定温度;二是检测并显示系统的实时温度,并根据检测的结果控制电热器,这时系统不接收键盘的输入。
因此,程序可以分为以下几个功能模块:
温度设定和启动;显示;温度检测;温度控制以与报警。
1、温度传感器DS18B20模块软件设计
DS18B20上电后处于空闲状态,需要控制器发能完成温度转换。
DS18B20的单线通讯功能是分时完成的,具有严格的时序要求,而AT89C2052单片机并不支持单线传输,必须采用软件的方法来模拟单线的协议时序。
DS18B20的操作必须严格按照协议进行。
工作协议流程为:
主机发复位脉冲初始化DS18B20→DS18B20发响应脉冲→主机发ROM操作指令→主机发存储器操作指令→数据传输。
对DS18B20操作时,首先要将它复位。
复位时,DQ线被拉为低电平,时间为480~960us;接着将数据线拉为高电平,时间为15~60us;最后DS18B20发出60~240us的低电平作为应答信号,这时主机才能进行读写操作。
进行写操作时,将数据线从高电平拉至低电平,产生写起始信号。
从DQ线的下降沿起计时,在15us到60us这段时间内对数据线进行检测,如数据线为高电平则写1;若为低电平,则写0,完成了一个写周期。
在开始另一个写周期前,必须有1us以上的高电平恢复期。
每个写周期必须要进行写操作时,将数据线从高电平拉至低电平,产生写起始信号。
从DQ线的下降沿起计时,在15us到60us这段时间内对数据线进行检测,如数据线为高电平则写1;若为低电平,则写0,完成了一个写周期。
在开始另一个写周期前,必须有1us以上的高电平恢复期。
每个写周期必须要有60us以上的持续期。
读操作时,主机将数据线从高电平拉至低电平1us以上,再使数据线升为高电平,从而产生读起始信号。
从主机将数据线从高电平拉至低电平起15us至60us,主机读取数据。
每个读周期最短的持续期为60us,周期之间必须有1us以上的高电平恢复期。
温度转换读取温度数值程序流程如图所示。
温度转换读取温度数值程序流程
2、键盘管理模块
键盘管理子程序流程如图所示。
当通电或复位以后,系统进入键盘管理状态,单片机只接收设定温度和启动。
当检测到有键闭合时先去除抖动,这里采用软件延时的方法,延时一段时间后,再确定是否有键闭合,然后将设定好的值送入预置温度数据区,并调用温度合法检测报警程序,当设定温度超过最大值如100℃时就会报警,最后当启动键闭合时启动加热。
键盘设定:
用于温度设定。
共三个按键。
KEY1(P1.1):
状态切换;温度设置确认;温度重新设置。
KEY2(P1.2):
设置温度“+”。
KEY3(P1.3):
设置温度“-”。
系统上电后,数码管全部显示为零,根据按KEY1次数,决定显示的状态,根据相应的状态,利用KEY2、KEY3进行加减,当温度设定好之后,再按KEY1确定,