温度自动控制系统.docx
《温度自动控制系统.docx》由会员分享,可在线阅读,更多相关《温度自动控制系统.docx(12页珍藏版)》请在冰豆网上搜索。
温度自动控制系统
温度自动控制系统
摘要
本系统严格按照题中所定参数及要求,构建了一个以MSP430单片机为控制核心的温度自动控制系统。
该系统用PSB型负温热敏电阻作为温度传感器,以一种类R-F的方法测量木盒内实时温度,单片机用实时温度与预设温度值一起代入PID算式得出一个温度增量,再用此温度增量线性的控制PWM波的占空比,开关电源的输出电压也会随之变化,即制冷晶片的输入功率发生变化,因此制冷晶片制冷(加热)的功率随PWM波占空比变化,达到自动控温的目的。
本系统制冷(加热)效果明显,效率高,界面友好,制作精致,能够胜任题中所定各项要求。
关键字:
MSP430、PID、温度自动控制、PWM
1系统方案
1.1系统结构框图与方案描述
图1系统框图
针对题中所给的各项要求,我们提出了如下方案,用计数法测量热敏电阻的阻值,查表可得木盒内温度,经增量式PID算法,计算出实时温度与预设温度之间的PID增量,然后根据此增量线性的调节PWM波的占空比,用控制场效应管的开关来调节开关电源的输出电压,从而调节制冷晶片的功率,达到控制封闭木盒内的温度的目的。
用红外遥控作输入接口,设定预设温度,当温度达到预设温度时用发光二极管报警提示,温度曲线及相关信息在LCD上显示。
1.2方案论证
1.2.1温度测量方案
DS18B20的测量速度也较快,选择12bit精度时,750ms可转换一次,此时的精度也可达到0.0625℃,但是DS18B20在温差较小的降温时,对温度的反应不太敏感,测量温度降得较慢,这样会严重影响PID温度控制,造成温度过调幅度会很大,温度需较长时间达到稳定。
热敏电阻则对温度的反应灵敏,精度高,完全能够胜任本设计的要求。
我们选用热敏电阻测量温度,因此测温的问题就转化为测电阻的问题了。
测量电阻的方法有R-V转换电压测量法和R-F转换频率测量法。
这两种方法的电路复杂成本高,并且电路中很多元器件直接影响测量精度,因此不适合在本系统中使用。
类R-F转换频率的测量法。
其中一种由MSP430单片机引脚输出的高低电平通过热敏电阻和标准电阻对电容充放电,并由外部输入捕获中断测量充电时间,然后单片机根据测得的时间和标准电阻阻值计算出热敏电阻的阻值,查表得到温度值。
该方案与本系统所用的方案较类似,但在实际测试当中,其精确度没用现用方案准确,所以没有采用。
另一种用555定时器和热敏电阻等器件构成振荡器,由MSP430单片机测量振荡器的高低脉宽,根据比值查表即可得到电阻阻值。
因为振荡器的频率非常稳定,所以测得的温度精度较高,满足题目要求。
1.2.2PID算法
PID算法分为位置式和增量式,位置式PID算法的缺点是:
由于全量输出,所以每次输出均与过去状态有关,计算时要对ek进行累加,工作量大;并且,因为计算机输出的uk对应的是执行机构的实际位置,如果计算机出现故障,输出的将大幅度变化,会引起执行机构的大幅度变化,有可能因此造成严重的生产事故,这在实生产际中是不允许的。
我们所采用的增量式PID算法可以避免这种现象发生。
1.2.3制冷工艺
题目中要求用10*10*10cm的木盒,起初测试时我们只用一块制冷片,木盒外部用普通CPU散热片加风扇,木盒内部用小于2cm的散热片。
由于木盒内部没有空气流动,造成内部温度变化较慢,测试结果不理想。
为了加快木盒内部空气流动,我们在内部散热片上加了小风扇,风向为吹向散热片方向,避免由于冷风造成温度测试不准确。
改进后木盒内部温度变化较快,效果明显。
但由于木箱隔热性不好,当温度降到一定程度时,木箱箱体温度降低,就会从外界吸收热量,影响了制冷效果,在给箱体四周贴上一层较薄隔热层后,问题得到解决。
但温度还是不能达到5℃,经过多次试验后,发现是由于单片制冷片功率不够,于是采用多片制冷片串联使用,基本达到题目要求。
2理论分析与计算
2.1温度控制算法
2.1.1PID算法
本系统自动控制温度控制的是采用增量式PID算法,所谓增量式PID是指数字控制器的输出只是控制量的增量Δuk。
当执行机构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式PID控制算法进行控制。
图2PID控制系统原理图
常规的模拟PID控制系统原理框图如图2所示。
该系统由模拟PID控制器和被控对象组成。
图中,r(t)是给定值,y(t)是系统的实际输出值,给定值与实际输出值构成控制偏差e(t)
e(t)=r(t)-y(t)式
(1)
e(t)作为PID控制的输入,u(t)作为PID控制器的输出和被控对象的输入。
所以模拟PID控制器的控制规律为
式
(2)
其中:
Kp――控制器的比例系数
Ti--控制器的积分时间,也称积分系数
Td――控制器的微分时间,也称微分系数
对式
(2)进行离散化处理:
以T作为采样周期,作为采样序号,则离散采样时间对应着连续时间,用矩形法数值积分近似代替积分,用一阶后向差分近似代替微分,可作如下近似变换:
,
式(3)
上式中,为了表示的方便,将类似于
简化成
等。
将式(3)代入式
(2),就可以得到离散的PID表达式
式(4)
其中k――采样序号,k=0,1,2,……;
u(k)――第k次采样时刻的计算机输出值;
ek――第k次采样时刻输入的偏差值;
ek-1――第k-1次采样时刻输入的偏差值;
Ki――积分系数,Ki=Kp*T/Ti;
Kd――微分系数,Kd=Kp*Td/T;
增量式PID控制算法可以通过式(4)推导出。
由(4)可以得到控制器的第k-1个采样时刻的输出值为:
式(5)
将式(4)与式(5)相减并整理,就可以得到增量式PID控制算法公式为:
式(6)
其中
,
,
。
由式(6)可以看出,如果单片机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由式(6)求出控制量。
2.1.2PWM
PWM(PulseWidthModulation)——脉宽调制,是一种开关式稳压电源应用,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
本系统利用PID算出的温度增量来控制PWM波的占空比,温度增量越大,PWM波高电平所点的百分比越大,场效应管开通时间就越长,开关电源的输出电压越大,制冷晶片的功率越大,制冷(或加热)越快。
反之,则制冷(或加热)越慢。
本系统中是用MSP430F247单片机的Timer_B控制输出PWM波。
2.2温度自动控制系统电路设计计算
直接把热敏电阻Rx接在555定时器组成的多谐振荡器电路中,用MSP430单片机的捕获功能来捕获多谐振荡器输出信号的高低电平,热敏电阻Rx与捕获高低电平的差值成线性关系,查表可得温度值。
将测得的温度值与预设定的温度一起通过PID算法进行计算,算出温度增量,然后单片机产生一个占空比与此温度增量成线性关系的PWM波。
制冷晶片的特点是在其允许的电压范围内,电压越大,电流也越大,制冷功率越高。
根据上述特点可知,我们设计了一个用上述PWM控制的程控电压调节系统,用MSP430单片机产生的PWM波控制场效应管的开关,从而控制开关电源的输出电压。
由于在温度控制中,还会有加热过程,而制冷晶片只需将电源反接,则其冷面与热面也会交换,所以在设计中可用继电器控制供电电源的方向。
3电路与程序设计
3.1电路设计
3.1.1温度测量电路
本系统所用的温度测量方案是一种类R-F转换频率的测量法,电路如图3所示,Rx为热敏电阻。
图3类R-F温度测量电路
由555工作原理可知,多谐振荡器输出信号(周期性矩形波)的高电平时间(一个周期内)为tH=In2∙(R1+R2+R3),输出信号的低电平时间为tL=In2∙R2。
MSP430单片机的定时器A计数时钟的频率设置为f,若捕获到高电平的值为NH,低电平的值为NL,所以有:
由上4个式子可算出:
因为f、C1、R1均为定值,所以Rx与(NH-NL)成正比。
且增大f还可以提高测量精度,查表可得温度值。
3.1.2温度自动控制系统电路
图3中电路所测量的温度值与预设的温度值进行PID运算后,产生相应的PWM波,输入图4所示的电路。
图4温度自动控制系统电路
电压转换电路根据不同的PWM值输出对应电压,进而控制冷晶片的制冷或制热功率,达到控制小木箱温度的目的。
由于场效应管的分布电容较大,因此驱动场效应管的电流不能太小,所以不能直接用MSP430单片机的IO口驱动,电路中OP300用来提高MSP430单片机的负载能力,驱动场效应管。
当制冷晶片全功率工作时,电流会很大,用两个场效应管并联可以分流,减轻每个场效应管的负荷。
LM317是一个可调稳压芯片,输出为5V,提供单片机、高速运放OP300的电源。
3.2程序设计
本系统的控制器采用的是TI公司的MSP430F247单片机,主要实现的控制有:
温度测量与计算、PID算法处理、PWM波输出、LCD12864显示控制、继电器控制、红外遥控按键处理及报警控制等。
其流程如图5、图6、图7所示。
4测试方案与测试结果
4.1测试方案及测试条件
测试环境:
室温:
29℃
测试器件:
带温度测量的数字万用表
表
(一)
测量
参数
数据
测量
内容
温度可调范围(℃)
分辨率
(℃)
曲线显示误差绝对值(℃)
10℃稳定时的波动范围(℃)
20℃稳定时的波动范围(℃)
30℃稳定时的波动范围(℃)
10℃上升至25℃时间
(分)
15℃上升至30℃时间(分)
实测结果
5-35
0.01
1
±0.4
±0.2
±0.4
2`30
2`00
标准值
5-35
0.1
2
±1
±1
±1
3`00
3`00
续表
(一)
测量
参数
数
据
测量
内容
20℃上升至35℃时间(分)
25℃下降至10℃时间(分)
30℃下降至15℃时间(分)
35℃下降至10℃时间(分)
25℃下降至10℃的超调量(℃)
30℃下降至15℃的超调量(℃)
15℃上升至30℃的超调量(℃)
实测结果
1`30
3`20
2`45
2`20
±0.5
±0.35
±0.7
标准值
3`00
3`00
3`00
3`00
±3
±3
±3
4.2测试结果分析
由测试结果可看出,题中的基本要求
(1)、
(2)、(3),发挥部分
(1)、(3)已经可以完全胜任,基本(4)和发挥
(2)也基本达到要求,在将温时,温度越往下降,降低的速度越慢,而在升温时,已可以完全达到题目中所定要求。
5设计总结
在本系统的设计当中,硬件电路并不是很复杂,但开关电源电路需要很大负载电流的设计上,花了一些功夫。
软件的设计也没有难点,只是在PID参数的设定上需要注意。
在我们的设计当中,最耗时费力的还是小木盒的制作工艺,题目中对木盒的工艺要求很高,在平时的学习当中我们在作品的制作工艺也没有多加注意,因此这次系统设计在这方面花费了大量的时间。
附件一:
MSP430单片机最小系统板PCB,适合MSP430F14x、MSP43024x系列
附件二:
完整电路图
附件三:
详细程序流程图
图1主程序流程图
图2定时器TA0中断程序流程图
图3定时器TA1中断程序流程图