基于相平面法的变PID控制算法
2014-12-01樊泽明王惠萌闫鸿雁
杨 乐,樊泽明,王惠萌,闫鸿雁
(1.西北工业大学自动化学院,陕西 西安 710129;2.西北工业大学航海学院,陕西 西安 710129)
0 引言
PID 控 制 器 (proportional integral derivative controller,亦称PID调节器)是目前控制领域应用最广泛的一种常规控制器,具有原理简单、易于实现、鲁棒性强等优点。在工业过程控制中,PID类型的控制技术占有主导地位[1-2]。
PID控制器由比例单元P、积分单元I和微分单元D组成,通过Kp,Ki和Kd三个参数设定。PID控制器主要适用于基本线性和动态特性不随时间变化的系统[3]。但传统的数字PID控制算法针对某些非线性和动态特性差的系统,控制效果并不理想。本文针对此问题,提出了基于相平面法的变PID控制算法。
1 PID控制算法简介
在计算机控制算法中,经常用到理想微分的PID控制算法[4]。该控制算法是对连续生产过程中的PID控制算法进行离散化而得到的。在连续域中PID控制器的表达式[5]见公式(1)。
式(1)中:u为控制量;Kp,Ki和Kd为分别为比例、积分和微分参数;e为偏差。
对该式进行离散化,可分别得到位置型和增量型的理想微分的PID控制算法[5]。位置型算法见公式(2),增量型算法见公式(3)。
由于该离散差分方程是由一阶差分近似法得到的,所以变换精度较差,变换后系统的单位脉冲响应和频率特性都有较大的差别,因此仍有很多待改进的地方。特别是在系统的动态特性较差的时候,传统PID控制算法的运算结果并不理想;另一方面,积分项的不稳定性,也使得控制器在稳态误差减小的同时,动态性能和稳定性变差;同时,传统的PID算法自始至终都使用相同的控制算法来进行控制,缺少相应的对应性,也使得系统的整体性能并不理想。
通过利用相平面分析法对传统的PID算法进行了改进,得到了基于相平面法的PID变策略算法,这种算法利用相平面图像对系统的响应过程进行实时分析,在系统的不同状态下使用不同的控制策略,达到“对症下药”效果,消除了传统PID算法积分项带来的不稳定性,避免了传统PID算法缺少对应性的问题,使整个系统性能大幅提升。
2 基于相平面法的变PID控制算法
2.1 控制误差的相平面法分析
相平面法(phase plane method)是 Poincare H于1885年首先提出来的,它是求解一、二阶线性或非线性系统的一种图解法,通过图解法将一阶和二阶系统的运动过程转化为位置和速度平面上的相轨迹,比较直观、准确地反映系统的稳定性、平衡状态和稳态精度[6]。该方法主要用来分析系统的稳定性[7]。
以系统的误差为横坐标,误差的导数为纵坐标(在相平面中分别用e和e′表示),可以利用相平面图描绘出系统的响应过程,根据响应过程的不同阶段,可以将相平面划分成若干区域[8],如图1所示。
如果用M表示误差上下界,ε和ε′分别表示e和e′要求的精度,根据一般系统的响应,可对系统在不同时刻所处于的相平面的不同区域作以下分析[9]:
1)当系统处于C1或C2区域时,即|e(k)|>M时,表明系统误差很大,此时应该使系统误差尽可能快地减小。
2)当系统处于C3区域时,即e(k)<ε且e′(k)<ε′时,表明系统已经达到控制要求,此时应该保持该状态,使系统误差保持在规定范围内。
3)当系统处于C4到C9区域时,表明系统正在趋于一个由误差较大到规定误差范围内的过程中(系统稳定的情况下),在该过程中根据e(k)/e′(k)的大小,对系统响应的不同时刻的误差特征进行分类,确定该时刻系统所在的相平面,根据所在的相平面采用不同的控制策略。
图1 相平面区域的划分Fig.1 The division of phase plane area
2.2 基于相平面法的变PID控制算法简介
一般的被控对象都具有自平衡能力,在控制过程中不同时间段会有不同的特征,通过对这些特征的分析,可以改变PID控制算法的控制策略[10]。即,可以通过其响应的不同阶段,反映在相平面的不同区域,采用P(比例)控制,PI(比例、积分)控制,PD(比例、微分)控制和PID(比例、积分、微分)控制等不同策略,对当前情况进行控制,以达到比例、积分、微分三个控制项的最优化利用。其算法的控制过程[11],如图2所示。
图2 PID控制过程框图Fig.2 PID control process block diagram
2.3 基于相平面法的变PID控制算法设计
由于系统在不同的响应阶段需要有不同的控制算法,通过对每个控制周期的误差进行分析,得到相应的控制效果最好的控制策略,并确定该时刻的控制算法:
1)若误差值的绝对值大于设定误差阈值M,即|e(k)|>M时,说明系统处于C1或C2区,这时控制器应该采用最大(或最小)输出,使系统以最快速度减小当前误差。
2)若误差值和误差导数值同时小于目标误差,即e(k)<ε且e′(k)<ε′时,说明系统处于C1区,表明系统误差已经达到控制系统的精度要求,这时控制器使用PI控制,引入积分控制以控制稳态误差。
3)在稳定过程中,若系统处于C4区,说明此时误差相对较大,仍使用全功率输出可能会造成超调过大;同时,C4区没有引入积分项和微分项,是由于在误差大的情况下引入积分项可能导致积分饱和,影响系统的动态性能;过早地引入微分也会使系统产生不稳定,因此只采用比例控制,即P控制。
4)C5和C8两个区域同处于一个误差和误差导数不是很大的范围,因此采用PID控制,这样可以有效避免由于积分分离而导致系统产生过大的残差。
5)C6和C7两个区域同处于一个误差的导数较大而误差较小的范围,在此范围加入微分项可以有效抑制系统的超调,使得系统的超调有所减小。
6)C9区域是一个有较大反向误差的区域,在此引入PI控制可以达到消除积分饱和的目的,减小积分项的累积量,使得系统的快速性有所改善。
综上所述,各个相平面区域的控制模式见表1。表1中,U表示当前控制量的输出;e(k)表示该时刻系统误差,e(k-1)表示上一个控制周期的系统误差,e(k-2)类推。
表1 各个相平面区域的控制模式Tab.1 The control mode of each phase plane area
3 Matlab仿真设计
3.1 控制对象
系统的离散方程组见公式(4)。
式(4)中:e(k)—k时刻的偏差;r(k)—k时刻的输入量;y(k)—k时刻的输出量;u(k)—k时刻的控制量。
对同一系统使用不同的控制方案进行控制分析,选取相同的Kp,Ki和Kd参数进行仿真控制,并对结果进行对比分析。
3.2 实验结果及分析
3.2.1 比例项实验
选取Kp=10,Ki=0,Kd=0,得到的仿真结果如图3所示。
图3 Kp=10,Ki=0,Kd=0时的仿真结果Fig.3 The simulation result when Kp =10,Ki =0,Kd =0
由图3可以看到,如果仅使用P控制,相平面PID和普通PID动态性能相当,但稳态误差有所减少,说明当仅有P控制时,该控制器性能相对优越。
3.2.2 积分项实验
图4 Kp=10,Ki=0.15,Kd=0时的仿真结果Fig.4 The simulation result when Kp =10,Ki=0.15,Kd=0
选取Kp=10,Ki=0.15,Kd=0,得到的仿真结果如图4所示。由图4可见,该控制状态下的稳态误差较大,为了消除稳态误差,又引入了积分项进行控制。当控制器引入积分项时,普通PID控制系统发生明显的震荡,动态性能变差,但相平面的PID控制器控制动态性能好,超调小,调节时间短。
进一步增加积分项,选取Kp=10,Ki=0.3,Kd=0,得到的仿真结果如图5所示。
图5 Kp=10,Ki=0.3,Kd=0时的仿真结果Fig.5 The simulation result when Kp=10,Ki=0.3,Kd=0
由图5可见,普通PID控制器已经发散,不能达到控制效果,而相平面的PID控制器控制效果仍然良好。当普通PID控制器有较大改变时,偏差较大,在积分项的作用下,往往会产生过大超调和长时间波动,甚至引起系统的不稳定;而相平面PID控制器采用了积分分离,这样就使得仅当误差相对较小时才引入积分项,对普通PID的积分项进行了改进。
3.2.3 微分项实验
选取Kp=10,Ki=0.15,Kd=3,得到的仿真结果如图6所示。
图6 Kp=10,Ki=0.15,Kd=3时的仿真结果Fig.6 The simulation result when Kp =10,Ki=0.15,Kd =3
由图6可见,该控制状态下的动态性能还不是很理想,为了改善系统的动态性能,再加入微分项。选取Kp=10,Ki=0.2,Kd=8,得到的仿真结果如图7所示。
图7 Kp=10,Ki=0.2,Kd=8时的仿真结果Fig.7 The simulation result when Kp =10,Ki=0.2,Kd=8
由图7可见,加入微分项,使得控制系统的动态特性有所增强,当持续增大微分项时,虽然相平面的PID控制超调会比普通PID控制大,但此过程中,普通PID控制器的控制曲线向右移动,动态性能变差,而相平面PID非但不会,反而震荡幅值变小。
4 结论
通过对系统响应的不同时段进行相应的误差分析,得到了一种基于相平面的变PID控制算法,该算法通过系统所处的不同时刻,采用不同的控制策略,其性能明显优于传统PID控制。并对两种算法进行了仿真对比,得到以下结论:
1)改进的控制器相对于普通PID控制器有更好的稳定性,对积分项的处理优于传统PID,积分项的分离也使得控制器在消除静态误差时的能力更强,并且不存在残差,其控制效果明显优于普通PID控制。
2)该算法可以根据控制人员的不同需要,灵活地改变M,ε和相平面区域线的斜率等的大小,从而达到不同的控制精度,同时使得控制方法和控制手段更加灵活,针对某些非线性和动态特性差的系统有更好的适应性,可满足不同工程的控制需求。
3)根据控制的不同需要,控制人员可以自行设定相平面中不同区域的控制策略,这就使得该控制算法的改进方式更多,且改进简单易行,以便适应不同工程领域的不同控制特点。
[1]胡包钢,应浩.模糊PID控制技术研究发展回顾及其面临的若干重要问题[J].自动化学报,2001,27(4):557-584.
[2]Chen G .Conventional and Fuzzy PID Controllers[J].An Overview Int.J of Intelligent Control & Systenms,1996(1):235-246.
[3]黄友锐,曲立国.PID控制器参数整定与实现[M].北京:中国科学出版社,2010.
[4]王锦标.计算机控制系统[M].2版.北京:清华大学出版社,2008.
[5]冯卫星,樊泽明,王亮.智能阀门定位器PID参数自整定及控制算法设计[J].机床与液压,2009,37(11):143-144,147.
[6]张吉礼,欧进萍,于达仁.基于相平面轨迹特征的规则自调整模糊控制方法[J].控制理论与应用,2004,20(04):607-611.
[7]刘叔军,盖晓华.相平面分区控制闭环特性的分析与仿真[J].南阳理工学院学报,2009,1(01):12-16.
[8]王鸣.一种换热器的变PID参数的整定方法及其实现[J].自动化仪表,2001,22(05):18-19.
[9]王子谦,薛履中.简化的模糊PID控制器研究[J].自动化仪表,2006,27(04):4-7.
[10]陶永华.新型PID控制及其应用[M].北京:机械工业出版社,1998.
[11]卢京潮.自动控制原理[M].西安:西北工业大学出版社,2009.