基于XS128的温度控制系统
摘要:本设计是由飞思卡尔单片机MC9S12XS128和DS18B20温度传感器组成的温度控制系统。本系统以MC9S12XS128为控制核心,以DS18B20为温度传感器对水温进行实时采样,将温度值传给单片机处理,采用PID算法进行调整,由单片机控制继电器的通断,来控制220V市电对保温杯的加热,从而达到设定温度。系统利用PID算法实现了快速而精确的控制,达到了1℃的控制精度和稳定响应。
关键词:MC9S12XS128,温度传感器DS18B20,PID,继电器
一、系统方案
1方案论证与比较
(1)温度传感器的选择
方案一:采用热敏电阻,可满足35℃--95℃的测量范围,但热敏电阻精度、重复性和可靠性都比较差,对于检测精度小于1℃的温度信号是不适用的。
方案二:采用AD590作为传感器,AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V-30V,检测的温度范围为-55℃-+150℃,它有非常好的线性输出性能,温度每增加1℃,其电流增加1uA。
方案三:采用DS18B20测量温度,测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,无需其他外加电路,直接输出数字量。
方案比较:虽然AD590温度传感器有非常好的线性输出性能,但相对来DS18B20更便宜,更方便,适合于恶劣环境的现场温度测量。 (2)加热设备的选择
方案一:采用继电器控制。使用继电器可以通过较高的电压和电流,在正常条件下,工作十分可靠。
方案二:采用双向可控硅控制,由单片机控制着过零触发的双向可控硅的导通和关闭,从而控制加热装置。
方案三:采用由光电耦合器TIL1117和继电器组成,由晶体管8050做开关进行控制。
方案比较:我们采用方案三,其效果比单用继电器要好,便于控制;又省去了用双向可控硅而要采用的保护电路,方便、简单。 2.控制理论与方案
该系统是典型的增量控制负反馈系统,因此必须引入信号的负反馈,以实现温度的精确控制。另一方面,系统要求在精确控制的前提下提高响应速度,所以,还需引入温度的负反馈。因此,该系统利用PID算法实现了快速而精确的控制。系统结构框图如图2所示。
图1 PID算法框图
为了精确控制,需采用比例积分微分调节方法(PID调节),为了减小累积误差,采用增量式PID调节,其数学表达式为:
TP(k)KP{E(k)TIE(j)TDj0kE(k)E(k1)} (7)
TPKKP[E(k)E(k1)]KIE(k)KD[E(k)2E(k1)E(k2)] (8)
其中,T为采样周期,E(k)为第k次采样时的偏差值,P(k)为第k次采样时调节器输出,KP为比例系数,KI为积分系数,KD为微分系数。在采样周期一定的情况下,调节比例系数,积分系数和微分系数即可获得较高控制精度。
二、硬件电路结构及分析
1.硬件分析及框架:
水温控制系统由DS18S20 采集温度值并把实时数据传给主控制器MC9S12XS128 ,XS128把温度送LCD显示器显示。同时xs128不停地监控按键控制电路的发生信号。将按键设定值送LCD显示器显示,最终xs128把设置温度和当前温度做PID计算后做出温度控制,并将加热信号送给继电器控制加热。系统电路结构图如图2:
DS18B20 温度传感器 按键设定
图2系统结构框图 开关控制 MC9S12XS128 1602 液晶显示 2.硬件电路图
系统由单片机模块、温度传感器模块、继电器控制模块、按键模块及液晶显示模块五大模块组成。
(1)单片机模块:
本电路以XS128单片机为基础核心,最小系统结构如图3:
图3单片机最小系统
(2)温度传感器模块:
电路如图4:
DS18B20 的特性如下:
DS18B20 是一种数字式的温度传感器, 在其内部使用了在板专利技术。使其具有以下特性:
·单线接口, 只需一根口线与CPU 连接; ·不需要外部元件, 不需要备份电源, 可用数据线供电;
·支持多点组网功能, 多个DS18B20 可 以并联在唯一的三线上;
·温度测量范围从- 50℃~ 125℃;
·通过编程可实现1ö 2~ 1ö16 的四级精度转换; 图4 DS18B20接线图 ·在93. 75m s 和750m s 内将温度值转化9 位和12 位的数字量; ·用户可自设定非易失性的报警上下限值;
·报警搜索命令可以识别哪片DS18B20 温度超限; ·芯片本身带有命令集和存储器。 (3)开关控制模块:
此部分电路主要由光电耦合器TIL1117和继电器组成,由晶体管8050做开关进行控制。单片机对反馈回的温度进行处理后,通过控制继电器的通断,从而控制温度的升降,当温度设定值大于当前值时,继电器导通,给水加热;否则,关断。电路如图5。
图5 继电器模块电路
(4)按键模块:
由于单片机IO口资源相对丰富,我们采用直 接连接三个按键来设定想要控制的温度,从而实 现温度的可控可调性。 各个按键的功能为: S1 十位加一 S2 个位加一 S3 确认并保存 电路如图6。 图6按键模块电路 (5)液晶显示模块:
单片机把实时采样的温度值以及通过三个按键设定的温度值通过LCD1602实时的显示出来,以便于在进行PID调程序时便于控制。 电路如图7 :
图7液晶显示电路
三、系统软件设计
此系统包括主控制程序, PID算法程序,LCD显示及按键处理程序。
系统初始化 键盘设定目标值 采样现在温度,与目标值比较 PID计算 Y 是否到达设定值 继电器控制 N
图8主程序流程路
四、测试数据与结果分析
1.测试数据:
表一 测试数据 目标温度(℃) 现在温度(℃) 超调量(℃) 30 24.2 1.4 36 31 0.6 42 36.6 0.6 50 42 1.5 52 46 -0.2 2.测试结果分析
综上测试数据可知,温度控制精度和响应速度达到全部基础要求和部分发挥要求。但是由于温度控制电路的特性以及水温度变化和检测的迟滞性,影响系统的控制精度和响应速度。
参考文献
[1] 邵贝贝,.HCS12单片机原理与应用,北京航空航天大学出版社,2008.4. [2] 康华光,陈大钦.电子技术基础模拟部分(第4版),高等教育出版社,2003.4 [3] 谢自美,电子线路设计实验测试(第2版),华中科技大学出版社,2001.9.
[4] 黄智伟,全国大学生电子设计竞赛系统设计,北京航空航天大学出版社,2006.12. [5] 邵贝贝,学做智能车------挑战飞思卡尔杯,北京航空航天大学出版社,2006.12.
因篇幅问题不能全部显示,请点此查看更多更全内容