温度自动控制系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
温度自动控制系统
摘要
本系统严格按照题中所定参数及要求,构建了一个以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.2 PID 算法
PID 算法分为位置式和增量式,位置式PID 算法的缺点是:由于全量输出,所以每次输出均与过去状态有关,计算时要对e k 进行累加,工作量大;并且,因为计算机输出的u k 对应的是执行机构的实际位置,如果计算机出现故障,输出的将大幅度变化,会引起执行机构的大幅度变化,有可能因此造成严重的生产事故,这在实生产际中是不允许的。我们所采用的增量式PID 算法可以避免这种现象发生。 1.2.3 制冷工艺
题目中要求用10*10*10cm 的木盒,起初测试时我们只用一块制冷片,木盒外部用普通CPU 散热片加风扇,木盒内部用小于2cm 的散热片。由于木盒内部没有空气流动,造成内部温度变化较慢,测试结果不理想。为了加快木盒内部空气流动,我们在内部散热片上加了小风扇,风向为吹向散热片方向,避免由于冷风造成温度测试不准确。改进后木盒内部温度变化较快,效果明显。但由于木箱隔热性不好,当温度降到一定程度时,木箱箱体温度降低,就会从外界吸收热量,影响了制冷效果,在给箱体四周贴上一层较薄隔热层后,问题得到解决。但温度还是不能达到5℃,经过多次试验后,发现是由于单片制冷片功率不够,于是采用多片制冷片串联使用,基本达到题目要求。
2 理论分析与计算
2.1 温度控制算法
2.1.1 PID 算法
本系统自动控制温度控制的是采用增量式PID 算法,所谓增量式PID 是指数字控制器的输出只是控制量的增量Δu k 。当执行机构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式PID 控制算法进行控制。
图2 PID 控制系统原理图
常规的模拟PID 控制系统原理框图如图2所示。该系统由模拟PID 控制器和被控对象组成。图中,r(t)是给定值,y(t)是系统的实际输出值,给定值与实际输出值构成控制偏差e(t)
e(t)=r(t)-y(t) 式(1)
e(t)作为PID 控制的输入,u(t)作为PID 控制器的输出和被控对象的输入。所以模拟PID 控制器的控制规律为
]
)()(1)([)(0
⎰
++
=t
dt
t de Td
dt t e Ti
t e Kp t u 式(2)
其中: Kp ―― 控制器的比例系数
Ti -- 控制器的积分时间,也称积分系数 Td ―― 控制器的微分时间,也称微分系数
对式(2)进行离散化处理:以T 作为采样周期,作为采样序号,则离散采样时间对应着连续时间,用矩形法数值积分近似代替积分,用一阶后向差分近似代替微分,可作如下近似变换:
kT t ≈ ,......)2,1,0(=k
∑⎰
∑===≈k
j j t
k j e T jT e T dt t e 0
)()(
式(3)
T
e e T
T k e kT e dt
t de k k 1
]
)1[()()(--=
--≈
上式中,为了表示的方便,将类似于)(kT e 简化成k e 等。
将式(3)代入式(2),就可以得到离散的PID 表达式
][)(1
T
e e Td
e
Ti
T
e Kp k u k k k
j j
k -=-++
=∑
式(4)
其中 k ―― 采样序号,k =0,1,2,……;
u(k)―― 第k 次采样时刻的计算机输出值; e k ―― 第k 次采样时刻输入的偏差值;
e k-1―― 第k -1次采样时刻输入的偏差值; Ki ――积分系数,Ki=Kp*T/Ti ; Kd ――微分系数,Kd=Kp*Td/T ;
增量式PID 控制算法可以通过式(4)推导出。由(4)可以得到控制器的第k-1个采样时刻的输出值为:
][)1(2
11
1T
e e Td
e Ti
T
e Kp k u k k k j j
k ---=--++
=-∑
式(5)
将式(4)与式(5)相减并整理,就可以得到增量式PID 控制算法公式为:
2
12
12
11)21()1()
2()1()(-------+-=++
-++
=+-++-=--=∆k k k k k k k k k k k k k Ce Be Ae e T
Td Kp
e T
Td Kp e T
Td Ti T Kp T
e e e Td
e Ti T e e Kp k u k u u
式(6)
其中
)1(T
Td Ti
T Kp A +
+
=,)
21(T
Td Kp B +
=,T
Td Kp
C
=。
由式(6)可以看出,如果单片机控制系统采用恒定的采样周期T ,一旦确定A 、B 、C ,只要使用前后三次测量的偏差值,就可以由式(6)求出控制量。
2.1.2 PWM
PWM (Pulse Width Modulation )——脉宽调制,是一种开关式稳压电源应用,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
本系统利用PID 算出的温度增量来控制PWM 波的占空比,温度增量越大,PWM 波高电平所点的百分比越大,场效应管开通时间就越长,开关电源的输出电压越大,制冷晶片的功率越大,制冷(或加热)越快。反之,则制冷(或加热)越慢。
本系统中是用MSP430F247单片机的Timer_B 控制输出PWM 波。