恒温控制系统设计1Word格式文档下载.docx
- 文档编号:19865794
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:21
- 大小:170.99KB
恒温控制系统设计1Word格式文档下载.docx
《恒温控制系统设计1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《恒温控制系统设计1Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
恒温控制系统总体框图如图1所示。
主要包括温度传感器、加热器、温度显示、报警装置、温度输入键盘及核心器件STC89C52单片机作为微处理器。
数字式温
度传感器
加热器
控制器
单
片
机
显示器
越线报警
键盘
图1恒温控制系统设计方案框图
温度采集电路以数字量形式将现场温度传至单片机。
单片机结合现场温度与功能要求设定的目标温度,按照已经编程固化的模糊控制算法计算出实时控制量。
以此控制量控制MOS管开通和关断,决定加热电路的工作状态,使水温逐步稳定于要求设定的目标值。
在水温到达设定的目标温度后,由于自然冷却而使其温度下降时,单片机通过采样回的温度与设置的目标温度比较,作出响应的控制,开启加热器。
系统运行过程中的各种状态均可由液晶显示器1602实时显示。
2.2单片机
用STC89C52的单片机作为控制主机。
之所以选择89C52作为主机,是因为89C52作为51系列单片机的一种,其使用性能稳定,价格便宜,完全能够满足此次设计的需求。
而且89C52内部集成了程序存储器,可以装载用户程序,方便后续的课程设计需要,不像8031因为要外接程序存储器而是电路相对麻烦了。
2.3温度传感器
由于本设计是精确控制系统,并且有控制范围上的要求,所以在选择传感器上要着重考虑其精度和测试范围。
AD590和DS18B20都包含一个可以精确测量环境温度的片内温度传感器,但AD590是模拟传感器,需对温度模拟信号进行数字化处理,在调理和放大信号时,又会带来新的误差,影响精度,而DS18B20包含一个10位AD转换器,是一个以0.25的分辨力将温度数字化的数字式温度传感器,并且其测温理论范围为-55度到125度,因其精确度高,范围可选这两大特点,故本设计的传感器选为DS18B20。
温度采集电路模块如图2所示。
DS18B20内部结构主要有四个部分组成:
1)64为光刻ROM;
2)温度传感器;
3)非易失性温度报警触发器TH和TL;
4)配置寄存器。
其中DQ为数字信号输入/输出端;
GND为电源地;
VDD为外接供电电源输入端。
器件用如下方式从单线通讯线上汲取能量:
在信号线处于高电平期间把能量存储在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。
DS18B20也可以用外部5V电源供电。
图2温度采集电路
DS18B20中的温度传感器可完成对温度的测量,用12位存储温值度,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位,负温度S=1,正温度S=0。
如下图3为18B20的温度存储方式:
图318B20的温度存储方式
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测得的数值乘以0.0625即可得到实际温度。
例如:
0550H为+85℃,0191H为+25.0625℃,FC90H为-55℃
2.4键盘接口
键盘采用对称排列和外部中断相结合的方法,图2-5中各按键的功能定义如下表1。
其中设置键RET与单片机的INT0脚相连,KEY1—KEY3接单片机P2口,REST键为硬件复位键,与R、C构成复位电路。
模块电路如下图4:
表1按键功能
按键键名功能
RESET复位键使系统复位
RET设置键使系统产生中断,进入设置状态
KEY1—KEY3数字键设置用户需要的温度
OK确定键设置温度后确定
图4按键模块接口电路
2.5显示接口
显示电路采用字符型液晶显示模块,它是一种专门用于显示字母、数字、符号等点阵式的LCD,本设计采用的是SMC1602ALCM,其显示容量16×
2个字符。
模块电路如下图5:
图5显示接口电路的设计
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图6是1602的内部显示地址。
图61602的内部显示地址
2.6加热控制
用于在闭环控制系统中对被控对象实施控制,被控对象为加热片,采用对加在电热片两端的电压进行通断的方法进行控制,以实现对水是否加热的调整,从而达到对水温控制的目的。
对加热片通断的控制采用MOSFET管控制,它的使用非常简单,只要在控制端TTL电平,即可实现对MOS管的开关,使用时完全可以用1.5K电阻接成电压跟随器的形式驱动。
当单片机的P1.5为高电平时,电阻驱动MOS管导通,接通加热片工作,当单片机的P1.5为低电平时MOS管不导通关断,加热片停止工作。
控制电路图如下图7:
图7加热控制电路
2.7电源及报警指示电路的设计
在本系统中我设计了越线报警装置,控制目标温度范围。
当设定的目标温度线达到时,需用声音的形式提醒使用者,此时报警器开始发出报警声。
在本系统中,当温度低于设置的最低目标温度或高于设置的最高目标温度时报警器为连续不断的滴答滴答叫声。
当单片机P1.7输出高电平时,三极管导通,报警器工作发出报警声。
P1.7为低电平时三极管关断,报警器不工作。
当温度低于设置的最低温度时,温度传感器检测到实时温度,发送信息给单片机,P0.4低电平有效,D4为加热片加热指示灯;
同理,当温度加热到高于设置的最高温度时,P0.6低电平有效,D5为降温指示灯。
D1为检测到电源和液晶显示器共同的显示灯,高电平有效;
D6为检测到DS18B20的指示灯,低电平有效;
指示灯电路如下图8所示:
图8电源指示灯和报警指示灯电路
2.8总电路
恒温控制的总电路图如图9:
图9总电路图的设计
3软件
系统的软件由三大模块组成:
主程序模块、功能实现模块和运算控制器模块。
3.1主程序
主程序主要完成加热控制系统各部件的初始化和实现各功能子程序的调用,以及实际测量中各个功能模块的协调在无外部中断申请时,单片机通过循环对外部温度进行实时显示。
把设置键作为外部中断0,以便能对数字按键进行相应处理。
主程序流程图如下图10:
RAM初始化
按恢复键
LCD初始化
调设温模块
对采集的温度进行数据处理
开温控
调液晶显示子程序
是否设计温度
处理后的设温=实温?
处理后的设温>实温?
处理后的设温<实温?
关加热器
开加热器
亮绿灯
设温=实温
报警提示
是否越上限?
是否越下线?
报警
比较温度
开始
Y
N
图10主程序流程图
3.2功能实现
以用来执行对MOSFET及加热片的控制。
功能实现模块主要由温度比较处理子程序、键盘处理子程序、显示子程序、报警子程序等部分组成。
键盘显示及程序流程图如下图11:
保护存储内容
调键扫子程序
调键处理子程序
开始
调液晶显示程序
调温度处理子程序
调比较子程序
返回
有键按下?
按确定键?
设置温度
图11键盘、液晶显示子程序流程图
3.3运算控制
该模块由标度转换[3]、模糊控制算法及其中用到的乘法子程序。
标度转换
式中A为二进制的温度值,A0为DS18B20的数字信号线送来的温度数据。
单片机在处理标度转换时是通过把DS18B20的信号线送回的16位数据右移4位得到二进制的温度值。
其小数部分通过查小数表的形式获取。
模糊控制算法
目前温度控制系统中的控制算法多为PID算法,但PID算法由于微分作用导致高频干扰大,易引起超调,参数调整也麻烦,同时考虑到水温控制系统本身有一个大滞后的特点,故本系统选用了目前国际上较流行的从能量控制的观点出发,引入模糊控制思想而提出的变参数控制算法控制。
控制系统在其特性或参数发生摄动时仍可使品质指标保持不变的性能。
鲁棒性是英文robustness一词的音译,也可意译为稳健性。
鲁棒性原是统计学中的一个专门术语,70年代初开始在控制理论的研究中流行起来,用以表征控制系统对特性或参数摄动的不敏感性。
在实际问题中,系统特性或参数的摄动常常是不可避免的。
产生摄动的原因主要有两个方面,一个是由于测量的不精确使特性或参数的实际值会偏离它的设定值(标称值),另一个是系统运行过程中受环境因素的影响而引起特性或参数的缓慢漂移。
因此,鲁棒性已成为控制理论中的一个重要的研究课题,也是一切类型的控制系统的设计中所必需考虑的一个基本问题。
对鲁棒性的研究主要限于线性定常控制系统,所涉及的领域包括稳定性、无静差性、适应控制等。
鲁棒性问题与控制系统的相对稳定性和不变性原理有着密切的联系,内模原理的建立则对鲁棒性问题的研究起了重要的推动作用。
模糊控制算法的基本原理可采用解析式描述为:
其中,e,c,k为经过量化和模糊化的控制变量,相应的论域分别为温差(当前温度和目标温度的差值),温差变化率及控制量(当前温度与上一个时刻温度的差值);
k为调整因子。
其基本思想是通过调整k的大小,可改变对差量和差量变化率的不同加权程度。
在实际系统中,系统在不同的状态下,对控制规则中的差量e和差量变化率c有不同的要求。
如差量较大时,控制系统的主要任务是减小温差,此时对差量加权应该大些;
当差量较小时,控制系统的主要任务是使系统尽快稳定,减小超调,此时要求在控制规则中差量变化率加权大些。
基于这个思想,我提出了模糊温度控制方法,在规定的时间内,根据不同的温差和目标温度来改变加热时间与休息时间的在控比,从而达到控制的目的。
算法通过软件实现,此算法使系统能自行控制加热程度,使系统具有无超调和恒温精度高,具有稳定性好,控制参数对系统的依赖性弱等优点。
控制算法子程序
该系统为一温度控制系统,由于无法确定电炉的物理模型,因而无法建立其数学模型和传递函数。
加热片为一惯性系统,我们采用模糊控制的方法,通过多次温度测量模糊计算当用户设定目标温度时需提前关断加热片的温度,利用加热片自身的热惯性使温度上升到其设定温度。
每隔5℃我们进行一次温度测量,并当达到其温度差值时关断加热片记录下因加热片的热惯性而上升的温度值。
从而可以建立热惯性的温度差值表,在程序中利用查表法,查出相应设定温度对应的关断温度。
通过试验数据我们可以看出,当水温从0℃加热到50℃这段温度区域,其温度惯性曲线可近似成线性的直线,水温从50℃加热到100℃这段温度惯性曲线可近似成另一条线性的直线段。
通过对设置的目标温度与温控系统监测温度进行差值处理就可近似的求出单片机的提前关断温度。
结论与展望
本文结合实际应用介绍了用MSC-15单片机实现实验室恒温控制系统设计的工作原理,以及硬、软件的设计方法及实现过程。
本文重点论述实验室恒温控制系统控制电路的设计,主要是硬件电路的设计过程及软件的实现。
对于单片机应用与控制领域,实现工业生产过程自动化和管理现代化有一定的普遍意义。
此方案还有改进的地方,在不改变加热器容量的情况下,为减小调节时间,可以实行在加热快达到设定温度时开启风扇来减小热惯性对温度的影响的措施。
在控制精度上可采用先进的数字PID控制算法,对加热时间进行控制,提高控制精度。
在控制灵敏度方面可以采用可控硅代替场效应管控制加热,可控硅在控制加热效应方面能够很好的截止和导通。
当然,单片机以其独特的优势备受控制领域的青睐。
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。
而且随着计算机系统的发展,单片机的技术也在不断的提高。
单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:
定时器,比较器,A/D转换器,D/A转换器,串行通信接口,Watchdog电路,LCD控制器等。
很多单片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等工作方式,这使得单片机的功耗越来越小。
并且采用低频时钟以及低噪声布线技术及驱动技术和EFT(EllectricalFastTransient)技术等使得单片机的可靠性越来越高。
总之单片机是目前控制系统采用最多的器件和芯片,单片机的广泛应用及其产生的效益令人瞩目,在将来的各个领域里,将有着广阔的应用前景。
本设计的优缺点
在硬件方面:
本设计方案采用了单总线型数字式的温度传感器,提高了温度的采集精度,节约了单片机的口线资源。
方案还使用场效应管作加热控制器件,使设计简单化,且可靠性强。
在控制精度方面,本设计在不能确定执行机构的数学模型的情况下,大胆的假设小心的求证,利用模糊控制的算法来提高控制精度。
在软件方面:
我们采用模块化编程,思路清晰,使程序简洁、可移植性强。
本设计方案虽然采用了当前市场最先进的电子器件,使电路设计简单,但设计方案不是最佳。
本系统虽然具有较小的超调量,但加大了调节时间。
如果需要更高的控制精度,则我们的模糊控制将不适应,需要修改程序。
设计中加热控制方面存在遗憾,虽采用了场效应管控制加热,但不能使温度加热到限制温度时截止,需要更好的控制器件。
致谢
在论文的设计过程中,我查阅了许多有关恒温控制系统设计方面的文献资料,使我对恒温控制的设计和使用有了更深的认识。
从论文选题到完成论文,老师付出了大量的时间和心血,在设计过程中,老师从多方面进行指导,不断对论文提出修改意见。
在此,我要由衷地感谢!
同时,也要感谢我的同学及身边的朋友在设计的过程称中给予我很大的帮助。
完成本次设计的同时,也对大学三年的知识有了进一步的认识与巩固。
设计本身也是对知识理解的最好实践。
本次设计有我诸多的心血,当然亦有不足之处。
请老师及同学多多包涵亦请指出不足之处。
参考文献
1、胡汉才.单片机原理与接口技术[M].北京:
清华大学出版社,1995.6.
2、楼然苗等.51系列单片机设计实例[M].北京:
北京航空航天出版社,2003.3.
3、何立民.单片机高级教程[M].北京:
北京航空航天大学出版社,2001.
4、赵晓安.MCS-51单片机原理及应用[M].天津:
天津大学出版社,2001.3.
5、肖洪兵.跟我学用单片机[M].北京:
北京航空航天大学出版社,2002.8.
6、夏继强.单片机实验与实践教程[M].北京:
北京航空航天大学出版社,2001.
7、于凤明.单片机原理及接口技术[M].北京:
中国轻工业出版社.1998.
附录
源程序清单如下:
//ds18b20driveprogram
//for51mcuwithlcd1602display
#include"
reg52.h"
#include<
intrins.h>
/*******************************************************************/
#defineHIGH1//高电平
#defineLOW0//低电平
#defineTRUE1//真
#defineZERO0//假
#defineMSB0x80
//ds18b20part
#defineSkipRom0xcc
#defineConvertTemperature0x44
#defineReadScratchpad0xbe
sbitOne_Wire_Bus=P1^6;
voidOne_Wire_Delay(unsignedchardelay_time);
voidOne_Wire_Write_Byte(unsignedcharoww_dat);
unsignedcharOne_Wire_Read_Byte(void);
voidRead_18B20(void);
voidInitize_One_Wire_Bus(void);
voiddelay(void);
/********************************************************************/
dataunsignedcharGetScratchpad[2];
codeunsignedchardecimalH[16]={00,06,12,18,25,31,37,43,50,56,62,68,75,81,87,93};
codeunsignedchardecimalL[16]={00,25,50,75,00,25,50,75,00,25,50,75,00,25,50,75};
unsignedcharResultTemperatureH;
//经过处理后的温度整数部分
unsignedcharResultTemperatureLH,ResultTemperatureLL;
//经过处理后的温度的小数部分
dataunsignedcharResultSignal;
//温度为负数标志位
voidInitize_One_Wire_Bus(void)
{One_Wire_Bus=0;
One_Wire_Delay(80);
//Busmasterpullinglow488us
One_Wire_Bus=1;
One_Wire_Delay(25);
//Resisterpullup158us;
}
/*******************ds18b20**********************************/
voidOne_Wire_Delay(unsignedchardelay_time)
{
While(delay_time)delay_time--;
//Delaytimeus:
=(8+delay_time*6)us;
unsignedcharOne_Wire_Read_Byte(void)
{
bittemp_bit;
unsignedchari,result=0;
for(i=0;
i<
8;
i++)
One_Wire_Bus=0;
temp_bit=One_Wire_Bus;
One_Wire_Delay(9);
//delay62us
If(temp_bit)
result|=0x01<
<
i;
}
Return(result);
voidOne_Wire_Write_Byte(unsignedcharoww_dat)
unsignedchari;
i<
if(oww_dat&
0x01)One_Wire_Bus=1;
One_Wire_Delay(20);
//delay128us
oww_dat>
>
=1;
One_Wire_Delay(10);
voidRead_18B20(void)
unsignedchartempH,tempL;
Initize_One_Wire_Bus();
One_Wire_Write_Byte(SkipRom);
_nop_();
One_Wire_Write_Byte(ConvertTemperature);
One_Wire_Delay(5);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 恒温 控制系统 设计