PID控制器设计1PID控制器设计一、PID控制的基本原理和常用形式及数学模型具有比例-积分-微分控制规律的控制器,称PID控制器。这种组合具有三种基本规律各自的特点,其运动方程为:dttdedttetetmKKKKKdptipp)()()()(0(1-1)相应的传递函数为:SSsKKKGdipc1)(SSSKKKdip12(1-2)PID控制的结构图为:若14Ti,式(1-2)可以写成:)(sGcSSSKKiP1121由此可见,当利用PID控制器进行串联校正时,除可使系统的型别提高一级外,还将提供两个负实零点。与PI控制器相比,PID控制器除了同样具有提高系统的稳态性能的优点外,还多提供一个负实零点,从而在提高系统动态性能方面,具有更大的优越性。因此,在工业过程控制系统中,广泛使用PID控制器。PID控制器各部分参数的选择,在系统现场调试中最后确定。通常,应使积分部分发生在系统频率特性的低频段,以提高系统的稳态性能;而使微分部分发生在系统频率特性的中频段,以改善系统的动态性能。PID控制器设计2二、实验内容一:自己选定一个具体的控制对象(Plant),分别用P、PD、PI、PID几种控制方式设计校正网络(Compensators),手工调试P、I、D各个参数,使闭环系统的阶跃响应(ResponsetoStepCommand)尽可能地好(稳定性、快速性、准确性)控制对象(Plant)的数学模型:115.01)(SSSG2322SS实验1中,我使用MATLAB软件中的Simulink调试和编程调试相结合的方法不加任何串联校正的系统阶跃响应:(1)P控制方式:P控制方式只是在前向通道上加上比例环节,相当于增大了系统的开环增益,减小了系统的稳态误差,减小了系统的阻尼,从而增大了系统的超调量和振荡性。P控制方式的系统结构图如下:取Kp=1至15,步长为1,进行循环测试系统,将不同Kp下的阶跃响应曲线绘制在一张坐标图下:PID控制器设计3MATLAB源程序:%对于P控制的编程实现clear;d=[2];n=[132];t=[0:0.01:10];forKp=1:1:15d1=Kp*d;g0=tf(d1,n);g=feedback(g0,1);y=step(g,t);plot(t,y);ifishold~=1,holdon,endendgrid由实验曲线可以看出,随着Kp值的增大,系统的稳态误差逐渐减小,稳态性能得到很好的改善,但是,Kp的增大,使系统的超调量同时增加,系统的动态性能变差,稳定性下降。这就是P控制的一般规律。由于曲线过于密集,我将程序稍做修改,使其仅仅显示出当系统稳态误差小于10%的最小Kp值,并算出此时系统的稳态值和超调量。新的程序为:%修改后对于P控制的编程实现clear;d=[2];n=[132];PID控制器设计4t=[0:0.01:10];forKp=1:1:15d1=Kp*d;g0=tf(d1,n);g=feedback(g0,1);y=step(g,t);plot(t,y);dc=dcgain(g)ifdc0.9,plot(t,y),disp(Kp),disp(dc),break,end;%显示出稳态误差小于10%的最小Kp值,并算出稳态值ifishold~=1,holdon,endendgrid我们就采用使系统稳态误差小于10%的最小Kp值10,并计算出此时系统的超调量为34.6%,稳态误差为1-0.9091=0.0909。这些结果是我们能接受的。(2)PD控制方式PD控制方式是在P控制的基础上增加了微分环节,由图可见,系统的输出量同时受到误差信号及其速率的双重作用。因而,比例—微分控制是一种早期控制,可在出现误差位置前,提前产生修正作用,从而达到改善系统性能的目的。控制系统的传递函数为:23222SSKpKpKdSKp=10时系统的阶跃响应曲线PID控制器设计5保持Kp=10不变,调试取Kd=1、1.5、2时的系统阶跃响应曲线并与P控制做比较:MATLAB源程序为:%编程实现PD控制与P控制的比较clear;t=[0:0.01:10];d0=[20];n=[132];s0=tf(d0,n);s=feedback(s0,1);k=step(s,t);plot(t,k);Kp=10;ifishold~=1,holdon,end;forKd=1:0.5:2d=[2*Kd*Kp,2*Kp];g0=tf(d,n);g=feedback(g0,1);y=step(g,t);plot(t,y);PD控制框图PID控制器设计6ifishold~=1,holdon,endendendgrid由实验曲线可以得知,在比例控制的基础上增加微分控制并不会影响系统的稳态误差,而增大微分常数Kd可以有效的减小系统的超调量和调节时间,在不影响系统的稳态性能的基础上改善了系统的动态性能。微分控制部分相当于增大了系统的阻尼,所以可以选用较大的开环增益来改善系统的动态性能和系统的稳态精度。在MATLAB中用循环语句实现不同Kp和Kd值下系统阶跃响应曲线:由此曲线可以看出:当使Kp和Kd值趋于无穷大时,系统的动态性能和稳态性能都得到非常理想的结果,超调量—0,调节时间—0,稳态误差—0,但实际的物理系统中Kp和Kd的值都受到一定的确限制,不可能想取多大就能取多大,所以上面的曲线并没有多大的实际意义,只是说明了PD控制所能达到的最理想状态和PD控制中的参数选择对阶跃响应曲线的影响。用MATLAB编程实现,源程序如下:%编程实现PD控制clear;t=[0:0.01:10];n=[132];forKp=10:100:110forKd=2:100:102d=[2*Kd*Kp,2*Kp];g0=tf(d,n);g=feedback(g0,1);PID控制器设计7y=step(g,t);plot(t,y);ifishold~=1,holdon,endendendgrid(3)PI控制PI控制是在P控制基础上增加了积分环节,提高了系统的型别,从而能减小系统的稳态误差。因为单纯使用增大Kp的方法来减小稳态误差的同时会使系统的超调量增大,破坏了系统的平稳性,而积分环节的引入可以与P控制合作来消除上述的副作用,至于积分环节对系统的准确的影响将通过实验给出结论。PI控制的结构图为:系统的开环传递函数为:)23(222SSSKpKiKpS将PI控制与P控制的系统阶跃响应曲线进行比较:初步印象:上图的初步印象是PI控制中系统的稳态误差显著减小,但是系统的超调量和平稳性并PID控制器设计8没有得到改善,而增大积分环节中的增益Ki则会使系统的超调量增加,系统的震荡加剧,从而破坏了系统的动态性能。参数选择方法:根据上面的分析,要使系统各项性能尽可能的好,只有一边增大Ki加快系统消除稳态误差的时间,一边减小Kp来改善系统的动态性能。但是在用MATLAB仿真时发现,如果Ki取值过大就会使系统不稳定,为了说明问题,我将展示在Ki取1—4时系统的根轨迹图:可以发现,当Ki小于四时,无论Kp取何值系统都是稳定的,但是当Ki=4时,就有一部分根轨迹在S又半平面内,此时系统不稳定,这在我们确定PI控制参数时是要加以考虑的。经过反复的手工调试,基本可以确定Ki可以选定在1~3范围之内,而Kp可以选定在0.6~2范围之内。下面我将展示一下当Ki分别取0.5、1、2、3时不同Kp值下系统的阶跃响应图与MATLAB相应源程序:%编程实现PD控制clear;t=[0:0.01:10];n=[1320];Ki=0.5forKp=0.6:0.2:2d=[2*Kp,2*Ki*Kp];g0=tf(d,n);g=feedback(g0,1);PID控制器设计9y=step(g,t);plot(t,y);ifishold~=1,holdon,endendgridKi=0.5时不同Kp值下系统的阶跃响应图Ki=1时不同Kp值下系统的阶跃响应图PID控制器设计10Ki=2时不同Kp值下系统的阶跃响应图:Ki=3时不同Kp值下系统的阶跃响应图:由上面四幅图片可以看出选取Ki=1时系统的阶跃响应曲线比较好,在满足稳态精度的要求下系统的动态性能相对来说比较好,而在Ki=1的阶跃响应图中选择Kp=1.4时的系统阶跃响应曲线,则此时Kp=1.4,Ki=1,系统的开环传递函数为:SSSSSG238.28.2)(23前面,我们如此费事的寻找PI控制参数,但确定下来的系统阶跃响应的动态性能的快速性PID控制器设计11仍然不能很好的满足要求,上升时间和峰值时间比较长,系统的反应偏慢,这些都是PI控制的局限性。下面隆重推出PID控制方式,来更好的实现对系统的控制,在此,也就是出现更好的系统阶跃响应曲线。(4)PID控制PID控制方式结合了比例积分微分三种控制方式的优点和特性,在更大的程度上改善系统各方面的性能,最大程度的使闭环系统的阶跃响应尽可能地最好(稳、快、准)。PID控制器的传递函数为:SKSSKKSGidpc)()(2加上PID控制后的系统开环传递函数为:SSSKKSKSKKSGippdp23222)(232系统的结构图为:现在要调整的参数有三个:Kp、Kd、Ki这样,增益扫描会更加复杂,这是因为比例、微分和积分控制动作之间有更多的相互作用。一般来说,PID控制中的Ki;与PI控制器的设计相同,但是为了满足超调量和上升时间这两个性能指标,比例增益Kp和微分增益Kd应同时调节:PID控制器设计12尽管曲线过于密集,但是从PD控制总结的一般规律来看,超调量最大的那一族曲线所对应的Kd值最小,所以,我们选择Kd=0.2、0.3、0.4三组曲线族分开观察阶跃响应曲线:Ki=1,Kd=0.2,Kp=1—10Ki=1,Kd=0.3,Kp=1—10PID控制器设计13Ki=1,Kd=0.4,Kp=1—10从三组曲线图可以看出,增大Kd可以有利于加快系统的响应速度,使系统超调量减小,稳定性增加,同时增大Kp可以进一步加快系统的响应速度,使系统更快速。PID控制器虽然在复杂性上有所增加,但同另外三种控制器相比大大改善了系统的性能。综上所述,选择Ki=1,Kp=10,Kd=0.3时系统各方面性能都能令人满意,所以可以作为PID控制参数。(5)实验内容一的总结实验内容一从P控制一直到PID控制,仿真的效果可以看出系统的性能越来越好,可以发现PID控制所起的作用,不是P、I、D三种作用的简单叠加,而是三种作用的相互促进。增大比例系数P一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。所以调试时将比例参数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。如果系统没有静差或静差已经小到允许范围内,并且对响应曲线已经满意,则只需要比例调节器即可。如果在比例调节的基础上系统的静差不能满足设计要求,则必须加入积分环节。增大积分时间I有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。如果系统的动态过程反复调整还不能得到满意的结果,则可以加入微分环节。增大微分时间D有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。在PID参数进行整定时如果能够有理论的方法确定PID参数当然是最理想的方法,但是在实际的应用中,更多的是通过凑试法来确定PID的参数。PID控制器设计14典型曲线如图所示:三、概述PID控制技术的发展过程PID(比例—积分—微分)控制器对于过程控制是一种比较理想的控制器。在工业控制应用中,特别是在过程控制领域中,被控参数主要是温度、压力、流量、物位等,尽管各种高级控制(如自适应控制、预测控制、模糊控制等)不断完善,但是,在过去的50多年中,对PID控制器的设计和应用已经拥有了许多的经验,而且在SISO控制系统中,用的绝大部分控制器都是PID控制器(80%