基于AT89s52单片机的水温控制系统yao.docx
- 文档编号:6249672
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:14
- 大小:301.39KB
基于AT89s52单片机的水温控制系统yao.docx
《基于AT89s52单片机的水温控制系统yao.docx》由会员分享,可在线阅读,更多相关《基于AT89s52单片机的水温控制系统yao.docx(14页珍藏版)》请在冰豆网上搜索。
基于AT89s52单片机的水温控制系统yao
基于AT89s52单片机的水温控制系统
【引言】
单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。
随着温度控制器应用范围的日益广泛和多样性,各种适用于不同场合的智能温度控制器应运而生。
在科研、生产中,常常需要对某些系统进行温度的监测和控制。
需检测和控制的温度系统一旦确定,其热惯性大小和散热等各项硬件条件就确定了。
这时,影响系统热平衡的因素主要有:
系统温度Realtemp、设定温度DES的、系统周围的环境温度Ts以及加热方式和调节方法。
下面介绍如何用“单片机模型法”来实现系统温度的自动控制。
用这种方法控温,使整个系统灵活、可靠性高,系统达到热平衡较快,而且精度也比较高,融合了前面列举方法的优点,而且更加简单方便。
“单片机模型法”是根据设计需要建立模型曲线,再根据模型曲线各阶段的特点,选择相应的加热模式,然后通过软件设计实现温度的自动调节。
摘要
本设计介绍了如何应用单片机使温度测控系统中的测量和控制智能化。
主要目的是用单片机设计一个温度控制器通过运用分段变参数PID控制算法,使得温度保持在给定的温度值上。
介绍了一种基于AT89S52单片机的温度测控装置。
该装置可实现对温度的测量,并能根据设定值对环境温度进行调节,实现控温的目的。
控制算法基于数字PID算法。
本系统的核心部件是AT89S52单片机。
首先建立控温模型,通过硬件的合理配置及用软件选择合适的加热模式,使控制满足模型中不同阶段的要求。
系统的采集模块采用了18B20温度传感器作为测温组件,而控制模块则采用AT89S52单片机控制固态继电器的导通与截止,从而控制加热电压的通与断,使控制具有灵敏、可靠、抗干扰能力强等优点。
本文重点阐述了系统的硬件构成、各部分的主要作用及系统软件的设计过程。
本次设计对单片机在温度控制系统中的基本理论和应用技术作了较为全面的介绍。
【关键字】单片机、温度测控、温度传感器
Abstract
Thedesignoftheapplicationmicrocontrollertotemperaturemeasurementandcontrolsystemofintelligentmeasurementandcontrol.MainpurposeistouseamicrocontrollerdesigntemperaturecontrollerthroughtheuseofPIDcontrolalgorithm,makestemperatureinagiventemperaturevalues.Introducedamicrocontroller-basedAT89S52thetemperaturemeasurementandcontroldevices.Thedevicecanachievetherighttemperaturemeasurement,andsetvaluebasedontheenvironmentaltemperatureregulation,temperaturecontroltoachievethepurpose.ControlalgorithmbasedondigitalPIDalgorithm.ThesystemisthecorecomponentAT89S52SCM.Firstestablishedtemperaturecontrolmodel,therationaldistributionofhardwareandsoftwaretochooseasuitableheatingmode,controllingthemodeltomeettherequirementsofdifferentstages.SystemAcquisitionModule18B20usedasatemperaturesensortemperaturecomponents,ThecontrolmoduleisusedAT89S52MCUcontrolsolidstaterelayconductionwiththedeadline,thuscontroltheheatingvoltageandbrokenlinks,sothecontrolisasensitive,reliable,anti-jammingcapabilities,andsoonmerit.Thispaperfocusesonthehardwareconfigurationofthesystem,themainpartoftheroleandsystemsoftwaredesignprocess.Thedesignofthemicrocontrollertemperaturecontrolsystemofthebasictheoryandapplicationoftechniquesweremorecomprehensivepresentation.
【Keywords】:
Microcontroller,temperaturemonitoring,temperaturesensors.
一、系统方案设计与论证
方案一
采用8031作为控制核心,用热敏电阻采集温度,以使用最为普遍的器件ADC0809作模数转换,控制上使用对电阻丝加电使其升温和开动风扇使其降温。
此方案简易可行,器件的价格便宜,但8031内部没有程序存储器,需要扩展,增加了电路的复杂性,热敏电阻采集温度速度和精度都很差。
且ADC0809是8位的模数转换,不能满足本题目的精度要求。
方案二
采用比较流行的AT89S52作为电路的控制核心,使用18B20温度传感器作为测温组件对水温进行进行监控、采样、反馈给单片机。
应用分段变参数PID算法分析得出控制通断时间。
控制电路部分采用控制固态继电器的通断和风扇以实行对电炉温度的连续控制,18B20温度传感器各方面性能上都优于热敏电阻,且18B20是数字温度传感器,不需要A/D转换电路。
此方案优点是电路简单并且可以满足题目中的各项要求的精度。
综上分析,我们采用方案二。
系统设计总体框图如下:
二、硬件电路的设计
1.AT89S52单片机系统
选用AT89S52作为主芯片,因为此芯片有8KB的程序存储器和256字节的数据存储器不用扩展芯片。
以降低硬件电路复杂度。
1.1输入键盘设计
我们采用的键盘是4*4的,其中有0到F,可以在40到90摄氏度之间任意设定值。
我们的系统要求第一次输入的值要在4到9之间。
当小于4或大于9时系统不处理。
等待输入正确的值。
当系统得到正确的输入值时键盘锁定。
随后的输入系统必须复位。
键盘是用AT89S52的P0口来控制的。
1.2输出显示设计
显示是应用LED来显示的,通过ATF1508来设计编码。
其实质就是为了程序在一定的条件下更加的合理与简洁。
在单片机AT89S52与ATF1508通信是应用到AT89S52的P2。
LED的前四位为实时采样回来的温度。
后三位为哦们想要的目标温度。
1.3与上位机的串口通信
为了实时的对温度的变化更加直观的显示我们还用上位机的串口通信
用计算机来打印数据。
2.传感器和测温电路的设计
本次设计师采用18B20来对温度进行采样的,
温度传感器示意图
18B20是全数字的,其分辨率达到0.0625摄氏度。
并且它的外围电路十分简单。
工作效率高。
在工作的范围(-55~~125)摄氏度之间都可以很好的工作。
3.电炉功率控制
采用对电炉两端的电压进行通断的方法,用单片机产生PWM波以实现对水加热功率进行控制,不同的占空比对应不同的功率,具体控制中占空比的实时值是根据模糊控制规则来自动调节。
(1)弱电控制强电:
用固态继电器
电路图如下
(2)PWM波:
4.降温控制:
4.1风扇的控制:
风扇是用来降温的,他的工作原理也是应用继电器来控制的。
在一定的温度范围内。
风扇开始工作。
电路图如下:
4.2冰水混合物
应用冰水混合物进行温度标定,标定为0摄氏度。
三、软件的设计
1、工作原理以及设计思路
本智能温度控制系统是通过控制加热电源的通断来控制温度和改变加热升温速度。
加热过程需要考虑的因素主要有:
被加热对象的热容量的大小、系统向外界扩散热量的多少以及系统热扩散的速度。
快速升温时间t应由t1和t2两部分组成,即
t=t1+t2
其中:
t1为为了补偿系统向环境散热而需要加热的时间;t2为系统(实际)温度与设定(目标)温度有差额时需加热的时间。
在温度调节阶段,降温和升温过程交替出现,程序通过图1中的分界点Tr、T1、T2来调节温度的升降,最终使系统达到相对稳定进入恒温保持阶段。
根据模型曲线不同阶段的要求,可以通过PID软件自动控制它的加热模式。
对一个任务而言,温度加热、调节及恒温保持阶段软件设计流程图。
本系统是个多步智能温度控制器,它可以完成预先设置的若干个任务,即每个步骤的温度值及恒温需要保持的时间。
每步都重复的程序流程。
2、模型曲线及控温参量的确定
2.1)模型曲线的建立
图为控温模型曲线。
图中T为系统温度,Ta为设定温度。
控温过程共分为三个阶段:
快速加热、温度调节和恒温保持。
其中第一阶段只有简单的快速升温过程,而其余阶段均由升温和降温过程即温度调节过程组成。
根据设计需要针对各阶段要求如下:
在快速加热阶段即在达到点Tr之前,加热速度要快,使系统温度T以尽量短的时间达到设定温度Ta。
当T达到设定温度Ta时即停止加热,在停止加热后由于热惯性,T将继续升高,使得T会超过Ta而达到最大值A点。
在温度调节阶段,以T1、T2点为分界点降温与升温过程重复出现。
进入恒温保持阶段,要求系统温度T能稳定在设定温度Ta的附近,并保持够设定的时间直到系统进入到下一个设定的任务为止。
曲线上A、B、C•••为极大值点,D、E、F•••为极小值点;它们的绝对值随时间增加都在逐渐减小,进入恒温保持阶段后在允许误差范围内趋于稳定。
2)模型曲线控制参量的确定
模型曲线中的控制参量是在反复多次的实验的基础上最终确定下来的。
图中的Ta是每个任务预设的温度值,Tr和T2点是系统停止加热的起始点,而T1点则是系统开始加热的起始点。
△T1=T1-Ta=+2℃、△T2=T2-Ta=-2℃是系统加热和调节过程中的两个门坎值,而Tr是系统的一个重要的分界点,具体说明如下:
在快速加热的过程中,当系统温度第一次达到预置的某个阶段的设定温度即达到Tr点时,系统就立即停止加热,之后系统由于热惯性会继续升温到最大值A点,而后开始降温;在降温过程中,T到达T1点即T-Ta=2℃时,系统开始预加热,即缓冲系统温度持续下降的幅度;在升温过程中,当达到T2点即T-Ta=-2℃时,停止加热,即防止由于热惯性导致温度的极大值过大。
由此可见Tr、T1及T2点的温度值是软件设计中需要参考的重要参量。
3)系统的控温算法主要有两个部分组成:
1.分段变参数控制算法
温度控制子程序,采用分段变参数控制算法,随温度自适应控制占空比来控制电炉的功率,使温度稳定在目标温度范围内。
分段变参数控制算法
分段变参数控制算法是用来控制快速升温阶段与温度调节阶段的。
在这个阶段我们采用分段变参数控制算法使得温度的升高速度更快。
更快的进入我们的预期值。
在温度调节阶段我们采取分段变参数控制算法与PID算法共同使用。
最终使得温度在一定的范围内稳定下来.
分段变参数控制算法程序设计流程图:
2.PID算法
PID算法的应用与实现
实际温度值(RealTemp)和18B20热敏电阻的测量值在整个温度采样区间内基本呈线性变化,因此在程序中不需要对测量数据进行线性校正。
AT89S52的T1定时器中断作为控制中断,温度采样过程和控制输出过程采用了互锁结构,即在进行温度采样,温度值处理和运算等过程时T1不定时,待采样全过程进行完时再启动T1定时并同时屏蔽采样中断。
T1定时开始就进入控制过程,在整个控制过程中都不采样,直到200(T1×C)定时时间到,要开始新一轮的控制周期。
在启动采样的同时屏蔽T1中断。
如图为T1定时中断流程图。
图中,M代表定时器控制周期计数值,N则表示由调节器计算出的控制量。
首先判断控制周期TC是否己经结束。
若控制周期TC已结束(即M=0),则屏蔽T1定时器中断,进行新一轮温度采样;若控制周期TC还未结束〔M≠0〕,则开始判断导通时间是否结束。
若导通时间己结束(即N=0),则置输出控制信号为低,并重新赋常数C值,启动定时器定时,同时退出中断服务程序;若导通时间还未结束(即N≠0),则置输出控制信号为高,控制执行其间继续导通,重新赋常数C值,启动定时器定时,同时退出中断服务程序。
数字PID:
控制算法采用数字PID控制,数字PID算法表达式如下所示:
其中,KP为比例系数;KI=KPT/TI为积分系数;T为采样周期,TI为积分时间系数;KD=KPTD/T为微分系数,TD为微分时间系数。
u(k)为调节器第k次输出,e(k)为第k次给定与反馈偏差。
对于PID调节器,当偏差值输出较大时,输出值会很大,可能导致系统不稳定,所以在实际中,需要对调节器的输出限幅[4],即当|u|>umax时,令u=umax或u=-umax,或根据具体情况确定。
4)键盘输入程序流程图
在输入十位时要锁定0,1,2,3键才能保持设定温度在40度到90度之间,按键去抖采用延时再判定的方式
5)数码显示
采用动态扫描的方式,一次只显示一个数码管,用CPLD进行硬件译码,P2口P2.0-P2.3指示在哪一位数码管显示,P2.4-P2.7指示显示的温度数据,采用不断的往P2口送数据,并延时
6)温度数据采集程序流程图
温度数据采集子程序流程图
N
Y
用Readnum作标志位,反复地读取温度数据刷新显示
8)主程序流程图
四、数据测试及分析
设定温度
稳定时间
稳定下限
稳定上限
41.0度
1min20s
40.6
41.4
55.5
1min50s
55.0
55.9
65.5
2min10s
64.9
65.4
77.7
2min55s
76.7
77.9
89.0
3min20s
88.8
89.2
五、结论
分段变参数温度监控系统,可以方便用户远程控制和监视设备的工作,并具有测温、控温精度高、显示直观、运行可靠、成本低廉、扩展方便、使用简单等优点。
本系统测温及控温范围为-50℃~125℃,测温误差不超过±0.2℃,控温误差在达到温度平衡后也不超过±0.2℃,在温度调节阶段达到平衡温度时间相对较短。
在现场的测试及应用中收到了相当好的效果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89s52 单片机 水温 控制系统 yao
![提示](https://static.bdocx.com/images/bang_tan.gif)