PID控制器设计一、PID控制的基本原理和常用形式及数学模型具有比例-积分-微分控制规律的控制器,称PID控制器。
这种组合具有三种基本规律各自的特点,其运动方程为:dttdedtt et etm KKKKK dptipp)()()()(++=⎰ (1-1)相应的传递函数为:⎪⎪⎭⎫⎝⎛++=SSs KKKG dipc1)(SSS KKK dip12++•=(1-2)PID控制的结构图为:若14<T iτ,式(1-2)可以写成:=)(sG c()()SSSKK iP1121++•ττ由此可见,当利用PID控制器进行串联校正时,除可使系统的型别提高一级外,还将提供两个负实零点。
与PI控制器相比,PID控制器除了同样具有提高系统的稳态性能的优点外,还多提供一个负实零点,从而在提高系统动态性能方面,具有更大的优越性。
因此,在工业过程控制系统中,广泛使用PID控制器。
PID控制器各部分参数的选择,在系统现场调试中最后确定。
通常,应使积分部分发生在系统频率特性的低频段,以提高系统的稳态性能;而使微分部分发生在系统频率特性的中频段,以改善系统的动态性能。
二、实验内容一:自己选定一个具体的控制对象(Plant),分别用P 、PD 、PI 、PID 几种控制方式设计校正网络(Compensators ),手工调试P 、I 、D 各个参数,使闭环系统的阶跃响应(Response to Step Command )尽可能地好(稳定性、快速性、准确性) 控制对象(Plant)的数学模型:()()⎪⎪⎭⎫ ⎝⎛++=115.01)(S S S G2322++=S S 实验1中,我使用MATLAB 软件中的Simulink 调试和编程调试相结合的方法 不加任何串联校正的系统阶跃响应:(1) P 控制方式:P 控制方式只是在前向通道上加上比例环节,相当于增大了系统的开环增益,减小了系统的稳态误差,减小了系统的阻尼,从而增大了系统的超调量和振荡性。
P 控制方式的系统结构图如下:取Kp=1至15,步长为1,进行循环测试系统,将不同Kp 下的阶跃响应曲线绘制在一张坐标图下:MATLAB源程序:%对于P控制的编程实现clear;d=[2];n=[1 3 2];t=[0::10];for Kp=1:1:15d1=Kp*d;g0=tf(d1,n);g=feedback(g0,1);y=step(g,t);plot(t,y);if ishold~=1 ,hold on,endendgrid由实验曲线可以看出,随着Kp值的增大,系统的稳态误差逐渐减小,稳态性能得到很好的改善,但是,Kp的增大,使系统的超调量同时增加,系统的动态性能变差,稳定性下降。
这就是P控制的一般规律。
由于曲线过于密集,我将程序稍做修改,使其仅仅显示出当系统稳态误差小于10%的最小Kp值,并算出此时系统的稳态值和超调量。
新的程序为:%修改后对于P控制的编程实现clear;d=[2];n=[1 3 2];t=[0::10]; for Kp=1:1:15 d1=Kp*d; g0=tf(d1,n);g=feedback(g0,1); y=step(g,t); plot(t,y); dc=dcgain(g) if dc>,plot(t,y),disp(Kp),disp(dc),break,end;%显示出稳态误差小于10%的最小Kp 值,并算出稳态值if ishold~=1 ,hold on,end end grid我们就采用使系统稳态误差小于10%的最小Kp 值10,并计算出此时系统的超调量为%,稳态误差为=。
这些结果是我们能接受的。
(2)PD 控制方式PD 控制方式是在P 控制的基础上增加了微分环节,由图可见,系统的输出量同时受到误差信号及其速率的双重作用。
因而,比例—微分控制是一种早期控制,可在出现误差位置前,提前产生修正作用,从而达到改善系统性能的目的。
控制系统的传递函数为:23222+++S S KpKpKdSKp=10时系统的阶跃响应曲线PD控制框图保持Kp=10不变,调试取Kd=1、、2时的系统阶跃响应曲线并与P控制做比较:MATLAB源程序为:%编程实现PD控制与P控制的比较clear;t=[0::10];d0=[20];n=[1 3 2];s0=tf(d0,n);s=feedback(s0,1);k=step(s,t);plot(t,k);Kp=10;if ishold~=1,hold on,end;for Kd=1::2d=[2*Kd*Kp,2*Kp];g0=tf(d,n);g=feedback(g0,1);y=step(g,t);plot(t,y);if ishold~=1,hold on ,endendendgrid由实验曲线可以得知,在比例控制的基础上增加微分控制并不会影响系统的稳态误差,而增大微分常数Kd可以有效的减小系统的超调量和调节时间,在不影响系统的稳态性能的基础上改善了系统的动态性能。
微分控制部分相当于增大了系统的阻尼,所以可以选用较大的开环增益来改善系统的动态性能和系统的稳态精度。
在MATLAB中用循环语句实现不同Kp和Kd值下系统阶跃响应曲线:由此曲线可以看出:当使Kp和Kd值趋于无穷大时,系统的动态性能和稳态性能都得到非常理想的结果,超调量—>0,调节时间—>0,稳态误差—>0,但实际的物理系统中Kp和Kd 的值都受到一定的确限制,不可能想取多大就能取多大,所以上面的曲线并没有多大的实际意义,只是说明了PD控制所能达到的最理想状态和PD控制中的参数选择对阶跃响应曲线的影响。
用MATLAB编程实现,源程序如下:%编程实现PD控制clear;t=[0::10];n=[1 3 2];for Kp=10:100:110for Kd=2:100:102d=[2*Kd*Kp,2*Kp];g0=tf(d,n);g=feedback(g0,1);y=step(g,t); plot(t,y);if ishold~=1,hold on ,end end end grid (3)PI 控制PI 控制是在P 控制基础上增加了积分环节,提高了系统的型别,从而能减小系统的稳态误差。
因为单纯使用增大Kp 的方法来减小稳态误差的同时会使系统的超调量增大,破坏了系统的平稳性,而积分环节的引入可以与P 控制合作来消除上述的副作用,至于积分环节对系统的准确的影响将通过实验给出结论。
PI 控制的结构图为:系统的开环传递函数为:)23(222+++S S S KpKiKpS将PI 控制与P 控制的系统阶跃响应曲线进行比较:初步印象:上图的初步印象是PI 控制中系统的稳态误差显著减小,但是系统的超调量和平稳性并没有得到改善,而增大积分环节中的增益Ki则会使系统的超调量增加,系统的震荡加剧,从而破坏了系统的动态性能。
参数选择方法:根据上面的分析,要使系统各项性能尽可能的好,只有一边增大Ki加快系统消除稳态误差的时间,一边减小Kp来改善系统的动态性能。
但是在用MATLAB仿真时发现,如果Ki取值过大就会使系统不稳定,为了说明问题,我将展示在Ki取1—4时系统的根轨迹图:可以发现,当Ki小于四时,无论Kp取何值系统都是稳定的,但是当Ki=4时,就有一部分根轨迹在S又半平面内,此时系统不稳定,这在我们确定PI控制参数时是要加以考虑的。
经过反复的手工调试,基本可以确定Ki可以选定在1~3范围之内,而Kp可以选定在~2范围之内。
下面我将展示一下当Ki分别取、1、2、3时不同Kp值下系统的阶跃响应图与MATLAB相应源程序:%编程实现PD控制clear;t=[0::10];n=[1 3 2 0];Ki=for Kp=::2d=[2*Kp,2*Ki*Kp];g0=tf(d,n);g=feedback(g0,1);y=step(g,t);plot(t,y);if ishold~=1,hold on ,endendgridKi=时不同Kp值下系统的阶跃响应图Ki=1时不同Kp值下系统的阶跃响应图Ki=2时不同Kp 值下系统的阶跃响应图:Ki=3时不同Kp 值下系统的阶跃响应图:由上面四幅图片可以看出选取Ki=1时系统的阶跃响应曲线比较好,在满足稳态精度的要求下系统的动态性能相对来说比较好,而在Ki=1的阶跃响应图中选择Kp=时的系统阶跃响应曲线,则此时Kp=,Ki=1,系统的开环传递函数为:SS S S S G 238.28.2)(23+++=前面,我们如此费事的寻找PI 控制参数,但确定下来的系统阶跃响应的动态性能的快速性仍然不能很好的满足要求,上升时间和峰值时间比较长,系统的反应偏慢,这些都是PI 控制的局限性。
下面隆重推出PID 控制方式,来更好的实现对系统的控制,在此,也就是出现更好的系统阶跃响应曲线。
(4) PID 控制PID 控制方式结合了比例积分微分三种控制方式的优点和特性,在更大的程度上改善系统各方面的性能,最大程度的使闭环系统的阶跃响应尽可能地最好(稳、快、准)。
PID 控制器的传递函数为: S K S S K K S G i d p c )()(2++=加上PID 控制后的系统开环传递函数为:S S S K K S K S K K S G i p p d p 23222)(232++++=系统的结构图为:现在要调整的参数有三个:Kp 、Kd 、Ki这样,增益扫描会更加复杂,这是因为比例、微分和积分控制动作之间有更多的相互作用。
一般来说,PID 控制中的Ki ;与PI 控制器的设计相同,但是为了满足超调量和上升时间这两个性能指标,比例增益Kp 和微分增益Kd 应同时调节:尽管曲线过于密集,但是从PD控制总结的一般规律来看,超调量最大的那一族曲线所对应的Kd值最小,所以,我们选择Kd=、、三组曲线族分开观察阶跃响应曲线:Ki=1,Kd=,Kp=1—10Ki=1,Kd=,Kp=1—10Ki=1,Kd=,Kp=1—10从三组曲线图可以看出,增大Kd可以有利于加快系统的响应速度,使系统超调量减小,稳定性增加,同时增大Kp可以进一步加快系统的响应速度,使系统更快速。
PID控制器虽然在复杂性上有所增加,但同另外三种控制器相比大大改善了系统的性能。
综上所述,选择Ki=1,Kp=10,Kd=时系统各方面性能都能令人满意,所以可以作为PID控制参数。
(5)实验内容一的总结实验内容一从P控制一直到PID控制,仿真的效果可以看出系统的性能越来越好,可以发现PID控制所起的作用,不是P、I、D三种作用的简单叠加,而是三种作用的相互促进。
增大比例系数P一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。