林海波,王晓曦,刘奭昕
(1.长春工程学院电气与信息工程学院,长春130012;2.大连理工大学电子信息与电气工程学部,大连116023)
温度的检测和控制在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确的控制,仍然是目前需要解决的问题。自动控制有多种形式,有开环控制、单闭环控制、串级回路控制等;有许多实施控制的方法,有顺序控制,有继电器逻辑控制,有比例、积分、微分控制(即PID控制),有自适应和模糊控制等,而单闭环PID控制是应用最广泛的一种控制。
文中智能温度控制器采用单闭环PID控制,是利用基于经典控制理论中PID调节器控制原理,以AT89C52作为CPU芯片,选用热敏电阻作为温度传感器实现的,系统尽可能选用典型、易于替换的芯片和电路,为系统的开放性、标准化和模块化奠定了良好基础。
PID控制器主要有模拟PID和数字PID之分。模拟PID控制器,实际上是由电阻、电容、运算放大器构成的模拟电路来实现PID运算的功能。而数字控制器主要是依靠数字计算机来实现的,把输入量与输出量之间的数学关系通过软件的运算来完成。因此,数字PID控制器比模拟PID控制器使用更方便,可以实现更完美的控制。
与模拟PID相比,数字PID控制增加了PID调节器,A/D、D/A转换器和3个电子开关。由计算机软件的运算来替代模拟电路中的电阻、电容、运算放大器的工作。PID控制系统框图[1]如图1所示。
图1 数字PID控制系统框图
设模拟PID调节器的输出值为uo,则:
式中:uo——调节器的输出,作用在执行器上的信号;
e——调节器的输入,是给定值和反馈值的差值;
ue——调节器的输入e=0时的输出值;
KP、TI、TD — — 比例增益 、积分 、微分时间常数。
在使用计算机后,需要对模拟信号进行离散化处理。设计算机的取样时间为T,以一系列取样时刻点kT代替连续时间T,以和式代替积分,以增量代替微分,可得到数字PID的关系式:
用e(k)代替e(kT),k为取样序号,k=0,1,2,…。
式中:e(k)——第k次取样测得的设定值与反馈值的定值;
u(k)——PID调节器第k次的输出值;
e——位置式PID数字控制;
KP—— 比例系数,KI为积分系数,为微分系数。
为了获得较好的控制效果,必须使KP、KI、KD有一组恰当的值,由于数字PID调节器的输出与输入关系是由计算机软件决定的,所以对数字PID控制器参数的整定,实际上是通过控制器的键盘进行参数的设置。
PID智能控制器实际上是一个微计算机控制系统[2],结构框图如图2所示。
图2 PID智能控制器结构框图
图2中,单片机是PID智能控制器的主要部分。A/D变换器把被控对象的状态通过检测装置由模拟量转换为数字量输入CPU中,作为反馈值。面板键盘用于设置控制器的设定值和P、I、D的参数,直接输入CPU。在智能化PID控制器中,没有电阻、电容、运算放大器等模拟电子元器件组成的运算电路,利用软件对设定值和反馈值直接进行数学的减法运算,得到差值e进行调节,u(k)可按公式(2)求出。
执行器往往是模拟量,通过D/A转换,把输出的数字量变换成模拟量去驱动执行器,由执行器的动作来改变被控对象的状态,达到控制的目的。在许多控制应用场合,需要对被控对象状态的变化过程等记录、打印,需要将操作设定的内容保存、记录装置。有的控制系统需要进行集散控制或数据传送,要通过串行通信进行数据传送或控制,要设计串行口通信,以便上位机与下位机之间的通信。
为减少体积,便于使用,大部分PID智能控制都选用单片机来设计,MCS-51系列单片机中的AT89C52有256B的内部RAM和8 kB Flash ROM,并且可以通过 I/O口扩展技术,扩展外界RAM和ROM,增加单片机的数据存储能力和程序存储能力,是PID智慧控制器的理想的单片机。
在PID智能控制器中,如何实现PID控制是关键。一般情况下,可应用增量式PID控制算法进行控制,系统结构如图3所示[1-2]。
图3 增量式PID控制系统结构图
增量式PID控制算法的表达式如下:
式中:k—— 取样信号,取0,1,2,…;
e(k)——第k次取样的偏差值,e(k-1)为第k-1次的取样偏差值;
u(k)——PID控制器第k次输出值;
KP、KI、KD— —分别为比例、积分、微分系数;
Δu(k)——第k次相对于第k-1次的控制量的增量。
增量式PID控制算法在控制过程中,每次输出的控制值只是控制的增量,执行器每次的变化量较小,使被控对象的参数变化缓慢,控制系统相对稳定,它的算法程序如图4所示。
图4 增量式PID控制算法程序流程图
PID调节器的参数整定方法有很多,可归结为理论计算法和工程整定法2种[2,3]。实际用得较多的还是工程整定法。这种方法最大的优点就是整定参数时不依赖对象的数学模型,简单易行。
PID参数是根据控制对象的惯量来确定的[2,4]。大惯量如:烘烤房的温度控制,一般P可在 10以上,I在(3,10)之间,D在1左右。小惯量如:一个小电机闭环控制,一般P在(1,10)之间,I在(0,5)之间,D在(0.1,1)之间,具体参数要在现场调试时进行修正。
本系统设计的核心算法为增量式PID算法,它根据本次采样的数据与设定值进行比较得出偏差e(k),对偏差进行 P、I、D 运算,利用运算结果控制脉冲的占空比来实现对双向晶闸管导通时间的控制,进而控制加热器的温度,e(k)可按式(3)求出。
PID智能温度控制器硬件设计方案[4]采用单回路闭环控制方式,结构主要包括单片机构成的微控制器,加热电路,温度采集,温度显示与键盘。系统采用热敏电阻作为测温装置,经过三点式线性校正、运算放大器放大,转换成一定的电压值,由 LM331经过V/F转换把频率信号输入单片机处理。显示器显示各种需要的信息,键盘用于控制器的操作和KP、KI、KD参数的设定。比较器和PID控制器由单片机程序构成,PID控制器输出的控制量变换成宽度可调的脉冲信号去控制晶闸管导通时间的多少,从而来控制电加热器的热量,达到控制温度的目的。PID智能温度控制器控制框图如图5所示。
图5 PID智能温度控制器控制框图
系统的软件主要由主程序模块、数据采集模块、数据处理模块、控制算法模块等组成。主模块的功能是为其余几个模块构建整体框架及初始化工作;数据采集模块的作用是将热敏电阻采集的温度信号转换成电压值,再由 LM331转换成频率信号送入单片机;数据处理模块是将采集到的数据进行线性化处理和滤波处理;控制算法模块完成控制系统的PID运算并且输出控制量。
主程序模块主要工作是上电后对系统初始化和构建系统整体软件框架。其中初始化包括对单片机的初始化、A/D程序初始化和串口初始化等。然后等待温度设定,若温度已经设定好了,判断系统运行键是否按下,若系统运行,则依次调用各个相关模块,循环控制直到系统停止运行。
数据采集模块的任务是负责温度信号的采集以及将采集到的信号通过A/D转换器转化为相应的数字量提供给单片机。数据采集A/D模块的程序流程图如图6所示。
图6 A/D转换程序流程图
本文主要研究了基于PID算法的智能温度控制系统的设计。以AT89C52单片机为核心进行了系统硬件方案设计,输入通道采用热敏电阻温度传感器,输出通道采用晶闸管作为输出控制元件。通过对占空比的调节可实现温度的自动控制。PID智能温度控制器与一般的单片机应用区别不大,关键在于PID控制软件的设计和KP、KI、KD参数的整定,关键在于对电加热器接口电路的设计和控制方案的选定。
系统通过 LabVIEW 仿真测试[5-6],具有较高的精确度和稳定性,较好地实现了实际生产中对于温度的智能控制。
[1]何顶新,王维,徐金榜,等.温控系统中改进的PID算法[J].电气传动,2007,37(08):36-39.
[2]韩宏.嵌入式PID自整定控制器的设计[J].南京理工大学学报,2005,29:188-190.
[3]赵成,荆立帅.基于ARM的模糊自整定PID温度控制系统[J].电脑知识与技术,2007(9):1681-1720.
[4]WENDELLS R.Take Control of PID Tuning[J].Plant Engineering,2005,59(9):57-60.
[5]陈云霞,芦凤桂,朱妙凤,等.基于 LabVIEW 的Fuzzy-PID温度控制系统的设计[J].控制工程,2008,11(6):656-658.
[6]徐建林.热处理电阻炉炉温控制系统的分析与仿真[J].金属热处理,2002,27(11):33-35.