来源:中国一卡通网 作者: 发布时间:2011-12-20 08:43:43 字体:[大 中 小]
摘 要:在工业控制领域,温度控制的应用非常广泛,控制精度的高低直接影响到产品的质量及使用寿命,研究和设计高性能的温度控制系统具有非常重要的意义。目前控制算法的多样化也为温度控制提供了便利条件,应用较为普遍的有比例积分微分(PID)控制、模糊控制等。本文根据某温控设备的控制要求设计了一种以单片机为核心的监控系统。系统采用热电偶温度传感器测温,利用位置式PID算法,实现了温度的实时监测、超限报警、显示与控制等功能。
本方案利用位置式PID算法,将温度传感器采样输入作为当前输入,接着与设定值进行相减得偏差,再进行PID运算产生输出结果,然后控制定时器的时间进而控制加热器。由中断定时器提供溢出频率为64 Hz的中断信号,配合主程序的PID运算结果来确定加热时间,实现加热器功率调节,该部分子程序流程图如图3所示。
图2 主程序流程图 图3 PID控制子程序流程图
上位机软件使用Delphi,由于Delphi不提供串口通信的ActiveX控件,仅有API函数可以使用,但API函数编程较为复杂,因此可将微软公司提供的Ac-tiveX控件Microsoft Communication Control 6.0(简称MSComm控件)引入到Delphi开发环境中,这样用户便可以像使用Delphi控件一样方便地利用MSComm控件进行计算机串口的通信编程。下面给出上位机命令的发送与数据接收的部分源程序:
3 系统调试
本系统的关键之处在于PID控制。对于PID系统来说,系统性能的好坏主要取决于PID控制参数的设定。由PID控制原理知;比例(P)控制能迅速反应误差,减小稳态误差;比例作用的加大,会引起系统的不稳定。积分(I)控制的作用,只要系统有偏差存在,积分作用不断地积累,输出控制量以消除误差;积分作用太强会使系统超调加大,甚至使系统出现振荡。微分(D)控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。本系统要达到的目标就是:反应速度尽可能快,超调量尽可能小,稳态误差趋近于0。
为能在上位机上实时显示温度的变化曲线,调节PID系统关键参数KP,KD使系统处于最佳运行状态就显得尤为重要。图4给出了在4种情况下温度随时间变化的调试曲线。由图可知:在KP=1.5,KD=1.0(温升:20~40℃)时,超调量过大;在KP=1.2,KD=1.0(温升:40~60℃)时,由于参数过小,系统的快速性不好,反应比较迟钝;在KP=-1.3,KD=1.0(温升:30~50℃)时,由于参数过小,系统的超调量比较大,而且预测性不好,造成温度长时间超调;在KP=1.3,KD=2.0(温升:50~70℃)时,选择适中,系统的超调量很小,而且超调维持时间很短就会恢复平衡点。此时温度控制指标如下:静态误差:T≤0.5℃;分辨率:0.1℃;超调量:T≤0.5℃。这样的情况下,系统运行情况可以达到最好。
图4 PID参数调节曲线图
4 结 语
以单片机AT89C51为中心,设计了一种温度监控功能系统。该系统简洁,温度数据采集和运算处理十分方便简单,扩展为多路温度监控系统容易。利用单片机的串行中断,采用Delphi编制上下位机通信程序,在上位机直接实时显示温度的变化曲线,便于直接观察控制的性能。通过调试找到了使控制最优的PID参数,在此情况下,系统运行良好,表明了本系统设计的可行性和有效性。
推荐文章
论坛热帖