数字PID控制算法在温控系统中的应用
摘 要:在实现定时温控系统的基础上,为实现对温度的精确控制,提出根据温度传感器DS18B20的感温原理,利用AT89S52的定时器实现脉宽调制(PWM)功能,采用数字PID控制,讨论了一种恒温控制的数字PID控制算法,并通过C51程序实现了单片机的控制系统。使用结果表明,该系统具有控制效果好,精度高,超调量小等优点,且各项性能指标均符合要求。
关键词:PID控制; 温度控制; 脉宽调制; DS18B20
中图分类号:TN919-34; TP274文献标识码:A
文章编号:1004-373X(2010)17-0157-03
Application of Digital PID Control Algorithm in Temperature Control System
WEI Ying-zhi, DING Hong-wei, ZHANG Lin, XU Bao-yu, LI Hai-yan
(Department of Mathematics and Mechanics, Heilongjiang Institute of Science and Technology, Harbin 150027, China)
Abstract: In order to control the temperature accurately, a method to realize the function of pulse width modulation (PWM) by means of the AT89S52 timer and digital PID control is proposed according to the available temperature controlling system and temperature sensing principle of DS18B20. The digital PID control algorithm for the thermostatic control is discussed. A control system of MCU was realized ultimately by means of C51 program on the basis of the temperature sensing principle of the temperature sensor DS18B20. The application results show that this system has the advantages of good control effect, high accuracy and small overshoot, and all the performance indexes can meet the requirement.
Keywords: PID control; temperature control; PWM; DS18B20
收稿日期:2010-04-08
基金项目:医疗智能激光无影照明系统研发项目(11541301)
温度控制对于大型工业和日常生活等领域都具有广阔的应用前景。很多应用领域,需要精度较高的恒温控制,例如,根据外界变化,随时调节相应的LED亮度以达到所需色温值,可以实现更好的照明和装饰效果。在连续控制系统中,对象为一阶和二阶惯性环节或同时带有滞后时间不大的滞后环节时,PID控制是一种较好的控制方法。本文主要采用数字PID控制,通过单片机PID控制算法的程序实现[1-3]。
1 数字式定时温控系统
本文研制的数字式定时温控系统主要完成数据采集,温度、定时的显示,温度控制,温度定时的设定以及报警等功能。核心控制器由单片机完成,采用数字PID控制算法进行过程控制。加热器件选用热惯性小,温度控制精度高,速度快的电热膜,由单片机输出通断率控制信号进行控制。硬件框图如图1所示[4]。
2 PWM功能的实现
AT89S52内部有3个16位定时器:T0,T1,T2。用定时器T2实现PWM(脉宽调制)方式来对加热器件进行温度控制。设置T2CON中C/#T2=0(定时方式),CP/#RL2=1且EXEN2=0时,T2是16位定时器。当计数溢出时,会设置T2CON中的TF2位,进而触发相关中断。用单片机系统实现,必须首先完成两个任务:首先是产生基本的PWM周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比。具体的设计原理:若想让它的负脉冲为2 ms,则正脉冲为20-2=18 ms,所以开始时在控制口发送低电平,然后设置定时器在2 ms后发生中断,中断发生后,在中断程序里将控制口改为高电平,并将中断时间改为18 ms,再过18 ms进入下一次定时中断,再将控制口改为低电平,并将定时器初值改为2 ms,等待下次中断到来,如此往复实现PWM信号输出。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可实现脉宽调整。实现其软件流程如图2所示。
设n为定时器T2的初值,fi为单片机的系统时钟,本系统中fi=11059 2 MHz定时方式下TL2寄存器每个机器周期(即12个晶振周期)增加1。这时PWM脉冲信号的“低”电平宽度为:
tPWM-L=(216-n)/fi
(1)
通过改变定时器T2初值n,即可改变“低”电平的宽度tPWM-L,从而控制加热元件的加热时间,达到对温度进行控制的目的。当n=65 536时,P2.7引脚输出电平一直保持为“高”,加热元件一直处于断电状态;n=0时,P2.7引脚输出电平一直保持为“低”,加热元件一直处于通电加热状态。单片机根据从DS18B20读取的温度值来确定n值,即确定加热元件的加热时间。
图1 定时温控系统硬件框图
图2 产生PWM信号的软件流程
3 恒温控制算法
PID基本算法是这样的:控制器的输出与控制器的输入(误差)成正比,与输入的积分成正比,与输入的微分成正比,为三个分量之和,其连续表达为:
U=KPe+1TI∫edt+TDdedt
(2)
式中:TD为微分时间;
e为测量值与给定值之间的偏差;
TI为积分时间;
KP为调节器的放大系数。
对式(2)两边进行拉氏变换,可以得到PID调节器的传递函数为:
G(s)=U(s)E(s)=KP1+1TIs+TDs
(3)
采用不同的方法对式(3)的D(s)离散化,就可以得到数字PID控制器的不同算法。用矩形法数值积分代替式(3)中的积分项,对导数用后向差分逼近,得到:
uk=KP[ek+TTI∑ki=1ei+TDT(ek-ek-1)]+u0
(4)
式中:u0是由式(2)中的不定积分变为式(4)中的定积分所具有的积分常数;T为采样周期。式(4)就是数字PID控制器位置式算法的表达式,其输出控制量uk对应于系统的输出(位置)是全量输出。
由式(4)可推算出控制量的增量为:
Δuk=uk-uk-1=
KP[ek-ek-1+
TTIek+TDT(ek-2ek-1+ek-2)]
(5)
式(5)就是数字PID控制器增量式算法的表达式,其输出为系统的Δuk。
采用增量式算法,系统中需增加一个积分装置,但在本恒温系统中,控制对象本身就具有积分作用,因此无需加积分装置。
与位置式算法相比,在增量式算法中,计算误差对控制量影响小。这是因为位置式算法控制器输出的是全量,每次输出均与过去的所有状态有关。计算机的位数是有限的,当累加结果产生上溢出时,丢失一部分控制量;当采样周期短,误差很小时,计算机认为是零,不进行累加,这两种情况均会产生累加误差。而增量式算法在计算Δuk时只用到最近的三次采样值,以前的状态不影响本次输出。
为简化计算机的运算,把式(5)改为下面的形式:
Δuk=d0ek+d1ek-1+d2ek-2
(6)
式中:
d0=KP1+TTI+TDT;
d1=-KP1+2TDT;
d2=KPTDT。
可以根据式(6)编写程序,由计算机实现。KP,TD,TI,T由参数整定确定。对于简单系统,可以采用理论计算的方法确定这些参数,但是稍微复杂一些的系统,采用理论计算的方法就困难了。因此几乎都是用工程的方法对参数进行整定。调节器参数的整定是一项繁琐而又费时的工作,因此,近年来国内外在数字PID调节器参数的工程整定方面做了大量的研究工作,归一参数的整定法是一种简易的整定法[5]。
根据大量实际经验的总结,人为设定约束条件,以减少独立变量的个数,例如取:
TD≈0.125TS
TI≈0.5TS(7)
T≈0.1TS
式中:TS是纯比例控制式的临界振荡周期。
将式(7)代入式 (6)中,可得数字PID控制器的差分方程为:
Δuk=KP(2.45ek+3.5ek-1+1.25ek-2)
(8)
对比式 (6)和式 (8)可知,对4个参数的整定简化成了对一个参数KP的整定,使问题明显地简化了。
采样周期T的取值,从数字PID控制器对连续PID控制器的模拟精度考虑,采样周期越小越好,但采样周期小,控制器占用计算机的时间就长,增加了系统的成本。因此采样周期的选择应综合考虑各方面因素,选取最优值。
在恒温控制系统中,控制输出为定时器T2初值n(0≤n≤65 536),误差为温度设定值Tset与DS18B20检测值之差Tread。因为电阻丝的功率是有限的,初始温度低于温度设定值Tset较大时,可以不用数字PID控制。可以根据电阻丝的功率设定一个误差值emax,当e>emax时,一直加热,输出n=0;当e<0时,停止加热,输出为n=65 536。只有当0≤e≤emax时,才用数字PID控制[6-8]。
为保证温度控制的实时性,根据文献[9],温度控制程序采用定时中断方式,定时长为采样周期T,且中断优先级设得比其他中断高,用增量式算法其程序流程图如图3所示。
图3 数字PID控制器增量式算法程序流程图
4 恒温控制结果
根据温度控制精度和采样时间的要求,本设计对DS18B20的温度转换结果选择12位[10],采样周期定为T=0.408 s。当加热元件功率选用100 W,温度设定值Tset=30 ℃时,用归一参数法整定数字PID控制器的参数,当参数KP=150时,得到数字PID控制曲线如图4所示。
图4 数字PID温度控制曲线
5 结 语
在介绍利用AT89S52单片机实现PWM功能的基础上,讨论了数字PID控制算法对恒温控制的应用。从控制结果来看,这种控制方法可以得到较理想的控制效果,温度波动均可控制在±0125 ℃之内。该技术已应用于定时控温发酵器、保健垫等产品中,运行良好,获得了良好的社会效益和经济效益。现正在尝试用于无影照明系统的色温控制,实现更好的无影照明效果。
参考文献
[1]王福瑞.单片微机测控系统设计大全[M].北京:北京航空航天大学出版社,1998.
[2]POULIN Eric, POMERLEAUY Andre. Development and evaluation of an autotuning and adaptive PID controller[J]. Automation,1996, 32(1): 26-29.
[3]ATHERTON Dereck P. PID controller tuning[J]. Computing and Control Engineering Journal,1999, 10(2): 32-36.
[4]魏英智,关宇东,禄晓飞.定时控温发酵器的单片机控制[J].传感技术学报,2005,18(1):154-156.
[5]蒋根深.便携式智能艾滋病检测仪的研制[D].长沙:国防科学技术大学,2002.
[6]薛开,吕元元,祝海涛.运动控制器的PID参数整定[J].哈尔滨工程大学学报,2005,26(5):656-658.
[7]GUSTAF Soderlind. Automatic control and adaptive time-stepping[J]. Numerical Algorithms. 2002, 12: 281-310.
[8]WANG L, CLUETT W R. Tuning PID controllers for integrator processes[J]. IEEE Proc. Theory Control Application, 1997, 144(3): 385-391.
[9]AUSLANDER David M. A design and implementation methodology for real-time control software[J]. Mechatro-nics, 1995, 5(7): 811-832.
[10]魏英智.DS18B20在温度控制中的应用[M].煤矿机械,2005(3):92-93.
推荐访问: 算法 控制 数字 系统中的应用 PID