基于MC9S12XS128的水温加热控制系统设计

2014-07-01 23:28
长春师范大学学报 2014年12期
关键词:温度传感器液位报警

吴 磊

(核工业大连应用技术研究所,辽宁大连 116031)

基于MC9S12XS128的水温加热控制系统设计

吴 磊

(核工业大连应用技术研究所,辽宁大连 116031)

本系统设计以温度传感器DS18B20[3]、电桥测重传感器和MC9S12XS128最小系统[2]为核心[1],使用220V AC电源加热水壶中的水。本设计具有温度测量功能、液位测量功能,可显示温度和液位数值。测温分辨误差不大于0.5℃,液位测量误差不大于5mm。具有液位上限、下限报警功能,可以设置报警点,液位低于下限或高于上限时,发出声音报警并禁止加热。具有分段程序控制功能,可分段设置控温值和保温时间,升温速度不小于10℃·min-1,控温误差不大于0.5℃。

温度传感器 DS18B20;MC9S12XS128;PID控制

在生活中,人们越来越关注家用电器的安全性能,相对应的水位测量与报警也逐渐被重视起来。温度控制在工业领域的应用非常广泛,对控制调节器要求较高。随着计算机和传感器技术的不断改进,用信息技术来实现水温控制并提高控制的精确度以及水位的测量,不仅可以达到而且容易实现,对加强工业化建设和提高人民生活水平也有着重大意义。本文设计一个基于MC9S12XS128单片机的智能水温加热控制系统,以单片机为核心,基于温度传感器、压力传感器、信号处理电路、显示电路、输入电路、输出控制电路等硬件电路,软件选用C语言编程,实现测量水位、测量温度、恒温控制和报警等功能。

1 方案总体设计

图1 基本模块方框图

本文构建了一个由输入、输出和控制部分组成的系统[7-8],总体结构如图1所示。系统上电开始,显示当前水位值,之后由输入装置确定理想水温温度、水位下限报警值、水位上限报警值,完成后开始调节水温。由测温部分采集温度值并把实时数据传给控制部分;同时控制部分不停地监控按键,控制电路的发生信号,将按键设定值和当前水温送显示器显示。最终控制部分把设置温度和当前温度作PID[4-6]计算后控制继电器来控制加热。系统电路结构图如图2所示。

图2 系统电路结构框图

本次设计的主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度及电桥测重传感器采集的水位外加驱动电路显示出来,包括对继电器的控制,进行升温,当温度达到上下限蜂鸣器时进行报警。该系统是典型的增量控制负反馈系统,因此必须引入信号的负反馈,以实现温度的精确控制。另一方面,系统要求在精确控制的前提下提高响应速度,还需引入温度的负反馈。该系统利用PID算法(图3),实现了快速而精确的控制。

图3 PID算法框图

为了精确控制,需采用比例积分微分调节方法(PID调节)。为了减小累积误差,采用增量式PID调节,其数学表达式为

ΔPK=KP[E(k)-E(k-1)]+KIE(k)+KD[E(k)-2E(k-1)+E(k-2)].

其中,T为采样周期,E(k)为第k次采样时的偏差值,P(k)为第k次采样时调节器输出,KP为比例系数,KI为积分系数,KD为微分系数。在采样周期一定的情况下,调节比例系数、积分系数和微分系数即可获得较高控制精度。

2 模块设计

2.1 控制单元

MC9S12XS128微控制单元作为MC9S12系列的16位单片机,由标准片上外围设备组成,包括16位中央处理器、128KB的Flash存储器、8KB的RAM、2KB的EEPROM、两个异步串行通讯接口、两个串行外围接口、一组8通道的输入捕捉或输出捕捉的增强型捕捉定时器、两组8通道10路模数转换器、一组8通道脉宽调制模块、一个字节数据链路控制器、29路独立的数字I/O接口、20路带中断和唤醒功能的数字I/O接口、5个增强型CAN总线接口。同时,单片机内的锁相环电路可使能耗和性能适应具体操作的需要。MC9S12XS128完全能够满足设计的需要,并使得电路更加紧凑。

2.2 温度传感器的选择

采用DS18B20测量温度。DS18B20是一种数字式的温度传感器, 其内部使用了在板专利技术,使其具有以下特性:(1)精度为±0.5°C;(2)单线接口,只需一根口线与CPU连接;(3)不需要外部元件,不需要备份电源,可用数据线供电;(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上;(4)温度测量范围为-50℃~125℃;(5)通过编程可实现四级精度转换;(6)在93.75ms和750ms内将温度值转化9位和12位的数字量。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,无需其它外加电路,直接输出数字量。

2.3 液位传感器的选择

采用称重传感器作为测量工具,一定液位的液体对应一定质量,故可以采用线性度较好的容器,使得称重传感器输出与液位呈近似的线性关系。但是信号比较微弱,需要采用AD620模块对信号进行放大,得到信号输出与液位呈现一阶线性关系,效果理想。

3 程序设计

此系统包括主控制程序、PID算法程序、LCD显示及按键处理程序,流程图如图4所示。

图4 流程图

4 测试数据与结果分析

本设计测试从MC9SXS128最小系统开始,首先测试显示屏;第二步测试DS18B20,并将其驱动程序封装为独立文件以方便调用;第三步是测试双臂电桥和放大电路部分。双臂电桥的输出信号特别小(最小5mV),无法通过检测输出来判断电桥是否正常,但是可以通过测量各个引线之间的电阻值进行判断;对于整个压力检测部分,可以直接使用万用表2000mV档进行测试;对于灵敏度,可以使用硬币(1元硬币是6.3g),通过显示屏显示相应值的变化来测试。

本设计涉及温度控制,需要对控制算法PID进行参数整定。相关参数可通过显示屏显示,进而确定参数的调节方向;液位检测则通过测量多组数据进行函数拟合,从而获得AD采集值和实际液位之间的关系。

4.1 温度测量传感器标定数据(表1,表2)

表1 温度测试数据

表2 液位测量传感器标定数据

图5为DS18b20传回数据标定后的曲线,显示传感器传回数据和标定温度的线性关系。实验数据证明,数据拟合比较合理,对温漂修正得不错;但是由于水银温度计比封装好的18B20传感器更加灵敏,故有一定的滞后。

图5 DS18b20传回数据标定后的曲线

图6为AD采集的输出值与液位的线性关系。实验数据证明,数据拟合比较合理,完全可以达到要求精度。

图6 液位和AD输出的线性关系

4.2 PID参数整定(表3)

表3 参数整定表

4.3 测试结果分析

调试整个系统,如图7所示。

图7 实物图

综上可知,温度控制精度和响应速度达到全部基础要求和部分发挥要求,但温度控制电路的特性和水温度变化、检测的迟滞性影响系统的控制精度和响应速度。

5 结语

在系统的设计过程中,力求硬件简单实效,充分发挥了软件编程方便、灵活的特点,并采用多种技术减小系统功耗,来满足系统的设计要求,对各种器件的优化处理使得系统总体的安全性和稳定性大幅提升。

[1]翟玉文,梁伟,艾学忠,等.电子设计与实践[M].北京:中国电力出版社,2005:44-80.

[2]张毅刚.单片机原理及应用[M].北京:高等教育出版社,2004:53-76.

[3]陈润泰,许琨.检测技术与智能仪表[M].湖南:中南工业大学出版社,2002:88-105.

[4]Grossi,Scattolini.PID, predictive and fuzzy temperature control for nuclear magnetic resonance spectroscopy experiments[J].International Journal of Adaptive Control and Signal Processing,1991(5):375-394.

[5]Chen,You-Wen,Chai,Tian-You.Temperature control of regenerative heating furnace based on double-crossing clipping PID-RBR[J].Dongbei Daxue Xuebao/Journal of Northeastern University,2010(5):1217-1220,1229.

[6]吴渊,李晓宁.基于模糊PID的循环水温度控制系统研究[D].成都:电子科技大学,2013:18-44.

[7]王晓华,王健,白红民.高精度温箱温度控制系统设计[D].西安:西安工业大学,2013:7-43.

[8]王海宁,张晓江.基于单片机的温度控制系统的研究[D].合肥:合肥工业大学,2008:9-51.

Design of Temperature Control System Based on MC9S12XS128

WU Lei

(China National Nuclear Corporation Dalian Institute of Applide Technology, Dalian Liaoning 116031, China)

The system design is based on a bridge weighing sensor and temperature sensor DS18B20,MC9S1-2XS128 minimum system as the core, the use of 220 V ac power to heat the water in the kettle, with functions of temperature measurement and liquid of level measurement. Temperature measuring resolution error is not more than 0.5℃, liquid level measurement error is not more than 5 mm. With functions of liquid level upper limit and lower limit alarm, emergency alarm can be set, liquid level below the lower or higher than the ceiling, sound alarm and banned heating. With segmented control functions, can be seg- mented setting value of temperature control and heat preservation time, heating speed is not less than 10℃·min-1, temperature control error is not more than 0.5℃.

temperature sensor; a bridge weighting sensor; MC9S12XS128; PID

2014-08-13

吴 磊(1980- ),女,辽宁大连人,核工业大连应用技术研究所工程师,从事自动化控制、计算机软件开发、工业仪表应用研究。

TP242.6

A

2095-7602(2014)06-0040-05

猜你喜欢
温度传感器液位报警
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
基于STM32燃气热水锅炉液位控制系统设计与实现
石油储罐液位开关的应用分析
XTR105电流变送器在温度传感器中的应用
LKD2-HS型列控中心驱采不一致报警处理
2015款奔驰E180车安全气囊报警
死于密室的租住者
温度传感器在笔记本电脑散热系统中的应用
奔驰E260车安全气囊报警