基于单片机的温度控制系统的分析与设计
2013-09-28刘泽群江世明
刘泽群 江世明
(邵阳学院 信息工程系,湖南 邵阳 422004)
1 引言
在工业控制过程中经常需要对控制对象进行精确的温度监测和控制,以防止控制对象由于温度过高而损坏, 因此温度的实时监测和控制就显得更加重要。对温度的实时监测有利于对控制对象的及时检查与保护, 并及时调整温度的高低。根据控制系统设计要求的不同, 温度监测系统的设计也有所变化,有采用集成芯片的, 也有采用恒流源器件和恒压源器件[1]。因铂热电阻具有测量范围大、稳定性好、示值复现性高和耐氧化等优点, 该系统采用Pt100铂热电阻作为温度采集元件, 进行温控系统的设计与实现[2]。在设计中,通过PT100电阻-温度函数将温度转变为电压,再通过A/D转化将电压信号转换为标准的 4~20mA电流信号, 既省去昂贵的补偿导线, 又提高了信号长距离传送过程中的抗干扰能力。
2 系统分析与设计
2.1 系统方案设计
PT100铂电阻的阻值随温度的变化而变化,利用此特点来采集温度信号,将采集的信号转变为电压,再经过放大和A/D转换送给单片机进行处理,用LCD12864显示温度,并可以通过键盘设置温度上限,当温度低于所设上限时,通过单片机控制继电器来控制陶瓷电阻发热同时绿灯亮,当温度超过所设上限时,蜂鸣器报警提示同时红色等亮。系统总体方案框图如图1所示,其核心硬件是STC公司的一款单片机,具有超强的抗干扰性、加密性强、低功耗[3]。
图1 温度控制系统系统硬件结
2.2 温度采集与转换模块
PT100温度采集电路,如图2所示,R2、R3、R4 和PT100 组成电桥,为了保证电桥输出电压信号的稳定性,电桥的输入电压通过TL431稳至2.5V。从电桥获取的差分信号通过两级运算放大器后输入单片机。电桥的一个桥臂采用可调电阻R3,通过调节R3 可以调整输入到运放的差分电压信号大小,通常用于调整零点。放大电路采用LM358集成运算放大器,为了防止单级放大倍数过高带来的非线性误差,放大电路采用两级放大,如图2所示,前一级约为10 倍,后一级约为3倍[4]。温度在0 ~100度变化,当温度上升时,Pt100 阻值变大,输入放大电路的差分信号变大,放大电路的输出电压对应升高。
图2 传感器及信号处理电路
注意:虽然电桥部分已经经过TL431 稳压,但是整个模块的电压VCC 一定要稳定,否则随着VCC 的波动,运放LM358 的工作电压波动,输出电压随之波动,最后导致A/D 转换的结果波动,导致测量结果上下跳变。
3 软件相关算法
3.1 算法分析
根据误差理论,我们要获得较高精度的温度测量值的方法一般有2个,要么采用查表法,要么建立高精度的数学模型。如果用查表法,主要有2个问题,如果要提高测量精度,则需要建立大量的表格,而且得提前做大量的试验来进行多点校正,还有一个问题是程序的通用性差,这台仪器上校正好的数据可能在另一台上不合适。另一种方法就是采用已知的分度表,建立数学模型,然后通过工程量(标度)变换,通过测量 A/D转换的结果后计算得到。这里我们采用第 2种方法,首先采用分段的方法,将测量范围分段,然后查出该段的数学模型的各个系数,然后计算出温度值。本设计中,对整个测量范围分为3段,分别为0~49℃、50~70℃、71~100℃,利用分度表进行离线的数学拟合,得到各段的数学模型系数。同时,再将标度值代入可粗略估计在各个测量段内的最大误差值。我们通过最小二乘法进行线性拟合,得到如下的数学模型,如表1所示。上述3个数学模型中,最大的理论误差值都小于0.1℃,能够满足精度要求,实际上我们完全可以分的再细一些,这样理论误差将会变得更小。
表1 各温度段的数学模型
3.2 控制方式
温度控制系统是一个滞后、大惯性、非线性、具有实变不确定性因素的多变系统,传统的控制方式不能达到精度的要求,因此采用采用模糊PID作为系统的控制方式[5]。模糊PID控制器能够预测偏差产生超前的校正作用,从而改善系统的动态性能,积分控制用来减少系统的误差,PID控制是输入偏差e(t)的比例、积分和微分三部分组成,控制率为:
用传递函数的形式可写为:
其中Kp为比例系数,T为积分时间常数,TD为微分时间常数。
4 测试与分析
对所设计系统进行数据测试,见表2所示,通过键盘分别设定一个温度,当温度小于所设定温度时通过程序控制继电器来控制发热电阻加热,当温度达到或非常接近所设定温度时,通过模糊 PID控制方式来控制继电器的通断从而达到恒温的作用[6]。由于数字万用表测温存在一定的误差以及元器件本身的因素,从图中可以看出LCD12864显示的温度与数字万用表所测温度有差异,误差范围是-0.3℃~+0.4℃。
表2 实验测试数据
5 总结
本系统是一种新型的温度控制系统,具有精度高、稳定性好、响应迅速等特点,PT100传感器有效地提高了系统的控制精度,通过模糊PID算法以及PWM波控制,使系统稳态精度得到提高[7]。测试数据表明系统误差范围为-0.3℃~+0.4℃,表明该系统具有良好的稳态性能和动态性能。
[1] 张琳娜, 刘武发.传感检测技术及应用[M].北京:中国计量出版社, 1999.
[2] 李芸婷, 万振.PT100温度传感器数据实时采集系统[J].仪器仪表用户,2007,14(5):24-26.
[3]江世明, 黄同成.单片机原理及其应用(第一版)[M].北京:中国铁道出版社,2010.
[4]张福祥, 牛莉.C语言程序设计(第一版)[M].沈阳:辽宁大学出版社, 2010.
[5]胡海流.基于模糊—PID 的酸洗温度控制系统设计[J].武汉科技大学,2012,4(10):7-9.
[6]李晨明, 谌玉红, 张百海.基于模糊自整定PID的单片机温度控制系设计[J]机械设计与制造, 2008, 8(15):4355-4356.
[7]杨树亮, 林行辛, 张剑辉, 等.模糊 PID 在恒温箱温度控制中的应用[J].自动化仪表, 2006, 27(S1):149-151.