程 全, 张 凯
(1. 周口师范学院 机械与电气工程学院, 河南 周口 466001; 2. 郑州铁路职业技术学院 实践教学中心, 郑州 451160)
温度是反映物体冷热程度的物理量,与人类的生产生活、工农业生产以及科学研究的关系密不可分,因此,对温度进行准确的控制具有非常重要的现实意义.
温度控制器作为一种普遍使用的自动化仪表设备,在很多领域都有广泛的应用.国内外很多学者都对温度控制开展了大量的研究工作,虽然大多数研究人员在温度控制领域取得了许多成果[1-4],但仍然有学者在继续寻找更加精准和高效的温度控制方法.文献[5]将BP神经网络和数字增量式PID控制结合起来对DFB激光器进行恒温处理,实现了高精度、快响应和宽范围的设计目标;文献[6]研究了温度控制的遗传算法,并进行了Multisim仿真分析,能改进控制效果;文献[7]针对DFB激光器温度控制系统,采用了遗传算法和神经网络的复合控制结构,该方法综合了两种算法的优点,能在宽范围内实现温度的准确控制;文献[8]对生物发酵系统的温度控制进行了研究,提出了一种非线性的PID控制器,并利用自适应遗传算法应用于该控制器的参数寻优,具有较好的控制精度.
本文对温度控制进行了研究,构建了基于单片机的温度控制系统,针对传统PID控制不能有效地处理温度控制中的延迟性和非线性问题,设计了温度的PID智能控制算法,在控制过程中可以动态地调节PID参数,同时,利用遗传算法具有多目标寻优和高效搜索的优点来对控制器的参数进行全局优化,最后用实验验证了本文设计系统的有效性和可行性.
本文设计的基于遗传算法的温度PID智能控制系统主要包括温度传感器件、温度控制执行器件、微控制处理器、键盘及LCD显示器件等部分,总体设计框图如图1所示.
图1 系统总体框图Fig.1 Overall block diagram of system
温度控制系统选用美国MicroChip公司生产的型号为PIC18F6390的单片机作为系统的微处理器,该处理器具有损耗低、集成度高和可靠性好等优点,其具体性能参数为:8 K字节的Flash,768字节的SRAM,50个输入/输出口,10通道、12 bit的模数转换口,1个定时器,自带LCD驱动,能够驱动4×32段的LCD显示器.
温度控制系统选用Pt100铂电阻来测量温度,该铂电阻的稳定性好,工作温度范围大,通过加载微小的恒流并测量其两端的电压值来获取温度信号.利用微控制处理器自带的模数转换口对温度信号进行转换,由于室温一般在0~50 ℃之间,为了达到0.05 ℃的控制精度,12 bit的模数转换能够达到要求.另一方面,利用微处理器对参考温度和实际温度进行比较,采用相应的算法来得到控制指令,该信号经过数模转换和放大后再驱动温度控制传感器件工作.
温度控制系统选用的温度控制执行器件为热电制冷器(TEC),通过给其施加不同方向的电流,能够实现加热和制冷,而改变施加电流的大小能够调节加热和制冷的程度.为了可以较好地控制电流,从而达到消除浪涌和减小噪声干扰的效果.选用的控制芯片为MAX1968,在其内部有基准电压源,大于和小于该值时,即分别对应加热和制冷指令.
温度控制系统选用的时钟电路为DALLAS公司的时钟芯片DS1302,其具有功耗低的优点,能够通过简单串口与微处理器通信,正常的工作功率不到1 mW.给DS1302外接32 768 kHz的晶振,并接入备用电池,可以使其长期正常工作.另外,给时钟芯片接入3个10 kΩ的电阻可以极大增强其与微处理器之间通信的可靠性.
温度控制系统的工作原理是:首先由外界输入设定温度控制的目标值,然后由温度传感器采集测量当前的温度值,微处理器计算设定值与当前值的偏差,将其作为微处理器的输入值,并由相应的控制算法计算得到系统的控制量,再传输给温度控制执行器TEC,实现加热或制冷操作,从而逐渐地将温度控制在目标值附近的一定范围之内,并保持稳定.
对于本文设计的温度控制系统,令系统的输出和温度控制的偏差分别为u(t)和e(t),则基于PID控制的温控系统的控制输出可以表示为
(1)
式中,kp、ki和kd分别为PID的比例、积分和微分控制参数.增大kp能够加快系统的响应速度,但会导致较大的超调量;较大的ki可以消除静态误差和加快响应速度,但会导致系统过饱和;较大的kd可以抑制系统的超调量,但会增加系统的调节时间.因此,传统的PID控制算法在对温度进行控制时存在一定的局限性.为了克服传统PID控制的缺点,需要在控制过程中动态地改变PID控制的三个参数.
在初始控制阶段偏差较大,为了加快响应速度,应该取较大的kp;当偏差较小时,为了减小超调量,此时的kp应该较小,且当偏差趋近于0时,kp不能为0.因此,kp的动态调节律为
kp[e(t)]=kp1+kp2[exp(kp3e(t))+
exp(-kp3e(t))]
(2)
在初始阶段,为了消除静态误差,ki的取值应该较大;当偏差较小时,为了减小超调量和缩短调节时间,ki的取值应该相应减小.因此,ki的动态调节律为
(3)
初始阶段偏差较大时,为了加快响应速度,防止系统反复振荡,kd的取值应该较小;当偏差较小时,为了减小超调量且增强抗干扰能力,kd的取值应该较大.因此,kd的动态调节律为
(4)
因此,温度的PID智能控制器输出为
(5)
该智能控制器能够根据偏差值的大小动态地调整控制输出,能够解决传统PID控制动态性能不足的问题,具有更好的控制效果.
PID智能控制包含9个参数,参数的取值会影响系统的性能,如果依据经验或者仿真调试的方法来确定参数,这个过程复杂且耗时,而且不能确定参数是否最优.根据遗传算法具有多目标寻优和高效搜索的优点对式(5)中的参数进行全局寻优.控制器原理框图如图2所示.
图2 控制器原理框图Fig.2 Block diagram of principle of controller
2.3.1适应度函数设计
目标函数是遗传算法进行搜索的直接信息,其表达式是待寻优的各种约束条件的组合[9-10].本文主要考虑偏差的绝对值、控制器输出的平方、调节时间和超调量作为目标函数的约束条件,将目标函数分为e(t)≥0和e(t)<0两种情况,其表达式为
(6)
式中:tr为上升时间;δ为超调量;w1、w2、w3和w4为权值.
适应度函数是评判性能优劣的标准,根据最大化原则,取遗传算法的适应度函数为f=1/J.对于得到的某组控制参数,如果相应的适应度函数取值较大,则这组控制参数对系统具有较好的控制效果.
2.3.2交叉和变异
为了不断产生更好的新个体,遗传算法需要进行复制、选择、交叉和变异等操作[11-12].选择操作可以得到更好的子代个体,缩小搜索范围;交叉和变异操作决定收敛速度的快慢和寻优质量的高低.交叉率越大,得到越多的新个体,搜索速率也越快,但是容易破坏优秀的新基因个体,相反,如果交叉率越小,就会减慢搜索的速率.变异率越大,能够突变得到新的基因个体,可以防止局部收敛,但如果太大的话会退化为随机搜索,相反,如果变异率越小,不能保证个体的多样化,会降低最优解的质量.
针对PID参数的优化问题,为了避免上述情况的出现,需要在进化过程中自动调整交叉和变异的概率.若某组适应度值大于平均值,表明该组控制参数具有较好的控制效果,必须保留其中的优秀个体;若某组适应度值小于平均值,表明该组控制参数对应的控制效果较差,那么就要增大交叉和变异的概率.交叉率Pc和变异率Pm的表达式分别为
(7)
(8)
在构建的温度控制系统上对上述理论分析进行实验验证,分别进行系统的线性度实验和温度控制实验,证明本文方法的合理性和可行性.
利用实验来测试设计系统的线性度,即设定电压与输出电流之间的线性关系.在20 ℃的室温环境下,在0~300 mV的电压区间,以5 mV为间隔,分别测量电阻两端的电压值和电流值,测试结果如图3所示.
图3 系统线性度实验结果Fig.3 Experimental results of system linearity
线性拟合得到的线性方程为U=0.997 5I.因此,本文设计的系统具有较好的线性度.
在系统具有较好线性度的前提下进行温度控制实验,与传统PID控制算法进行比较,分析本文方法的准确度和稳定度.
设定遗传算法初始种群的染色体个数为100,取交叉率Pc和变异率Pm的最大值和最小值分别为0.9、0.25、0.08、0.01,比例系数λ1和λ2的取值分别为0.6和0.4,权值w1、w2、w3和w4的取值分别为0.95、0.1、0.3和0.4,进化的最大代数为60.在20 ℃的初始温度条件下,设定控制的目标温度值分别为55和10 ℃,得到了传统PID控制和本文方法温度控制的实验结果,如图4、5所示.
根据图4、5所示的结果,本文提出的遗传算法和智能PID复合控制策略能够将温度控制到预定值.在目标温度为55 ℃的实验中,本文方法得到的收敛时间约为115 s,控制精度约为±0.03 ℃,超调量低于3.7%,而传统PID控制得到的收敛时间、控制精度和超调量分别为130 s、±0.05 ℃和11%;在目标温度为10 ℃的实验中,本文方法得到的收敛时间约为77 s,控制精度约为±0.03 ℃,超调量低于15%,而传统PID控制得到的收敛时间、控制精度和超调量分别为87 s、±0.05 ℃和40%.相比较而言,传统的PID控制精度较低、超调量较大、调节时间也较长.因此,与传统的PID控制相比较,本文方法可以实现温度的快速和准确控制,且稳定度较好.
图4 55 ℃目标温度时两种方法的实验结果Fig.4 Experimental results of two methods at target temperature of 55 ℃
图5 10 ℃目标温度时两种方法的实验结果Fig.5 Experimental results of two methods at target temperature of 10 ℃
针对温度控制系统的非线性和延迟性等问题,本文改进了传统的PID控制,采用复合控制结构,设计了基于遗传算法和智能PID的温度控制系统,介绍了系统的硬件设计方案,详细推导了系统的控制算法,并进行了实验验证.实验结果表明,该系统能在10~55 ℃的范围内对温度进行准确控制,控制精度为±0.03 ℃,超调量低于15%,稳定度较高,具有较好的推广应用前景.