位移控制(力或其它控制也类似)的闭环控制原理图如图1所示,PID环节的输入是位移指令值和实际值的差值,误差经过比例、积分、微分计算得到的PID输出,在Servotest的Pulsar控制系统中还会辅助反馈及前馈得到控制综合输出量后,作用在伺服阀上,作动器产生位移量后进一步反馈给控制器,形成了一个闭环反馈控制回路。在Servotest控制系统中,PIDF配合ICS的补偿策略,可以满足绝大多数应用场景的需求,比如振动台、四通道等。
典型的PIDF控制输出与输入的关系为
u(t)=Kp(e(t)+Ti1∫0te(t)dt+Tddtde(t))
拉氏变换后
G(s)=E(s)U(s)=Kp(1+Tis1+Tds)
以一个幅值为r的阶跃信号r(t)为例,通过一个P控制器,输出到一个时间常数为a的一阶系统为例,模型框图如下:
R(s)=L[r(t)]=sr
而Kp与一阶系统as+11组成的单位反馈闭环系统的传递函数为:
G(s)=1+Kp∗as+11Kp∗as+11=as+1+KpKp
由于Kp>0,则在任意一个频率点传递函数增益为:
∣G(jω0)∣=∣∣∣∣∣∣jω0a+1+KpKp∣∣∣∣∣∣=(ω0a)2+(Kp+1)2Kp2=(Kpω0a)2+(1+Kp1)21
该增益幅值与Kp的大小正相关,即表明响应速度正相关。
该系统的阶跃响应输出c(t)的拉氏变换为:
C(s)=R(s)G(s)=s(as+1+Kp)rKp
C(s)=arKps(s+a1+Kp)1=1+KprKps(s+a1+Kp)a1+Kp=1+KprKps(s+A)A=1+KprKp(s1−s+A1)
c(t)=L−1C(s)=L−1[1+KprKp(s1−s+A1)]=1+KprKp(L−1[s1]−L−1[s+A1])=1+KprKp(1−e−At)
将A进行还原后,得到阶跃响应如下式:
⇒c(t)=1+KprKp(1−e−a1+Kpt)
t→∞limc(t)=t→∞lim[1+KprKp(1−e−a1+Kpt)]=1+KprKp
也可以根据终值定理:
t→∞limc(t)=s→0limsC(s)=s→0limss(as+1+Kp)rKp=s→0limas+1+KprKp=1+KprKp
当a=0.2 Kp=1时,时间常数τ=1+Kpa∣∣∣∣∣a=0.2 Kp=1=0.05s。
故,稳态终值输出将是输入的1+KpKp=0.5,时间常数处的数值为0.632*0.5=0.316,与下图的单位阶跃输出时程的仿真结果一致。
PID_P_simple.m
单位阶跃输入时,不同Kp对应的输出结果为:
| Kp |
时间常数 |
时间常数处的值 |
调节时间 |
调节值 |
调节百分百 |
稳态值 |
稳态误差 |
| 1 |
0.1 s |
0.316 mm |
0.4 s |
0.491 mm |
98.2% |
0.5 mm |
-0.5 mm |
| 2 |
0.067 s |
0.421 mm |
0.267 s |
0.654 mm |
98.2% |
0.667 mm |
-0.333 mm |
| 3 |
0.05 s |
0.474 mm |
0.2 s |
0.736 mm |
98.2% |
0.75 mm |
-0.25 mm |
| 4 |
0.04 s |
0.506 mm |
0.16 s |
0.785 mm |
98.2% |
0.8 mm |
-0.2 mm |
| 5 |
0.033 s |
0.527 mm |
0.133 s |
0.818 mm |
98.2% |
0.833 mm |
-0.167 mm |
上图仿真结果的稳态值与Kp的影响与理论计算基本一致,Kp=1,c(t)∣∣∣t→∞=0.5,Kp=4,c(t)∣∣∣t→∞=0.8。
而输入的稳态值为
t→∞limr(t)=s→0limsR(s)=s→0lim[ssr]=r
从而稳态误差为:
t→∞lime(t)=t→∞lim[c(t)−r(t)]=1+KprKp−r=1+Kp1r
对于更复杂的系统,分析方法也基本类似,以下方闭环控制框图为例,
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧G1=τ1s+11∣∣∣τ1=0.015G2=τ2s1∣∣∣τ2=0.068G3=τ3s+1k3∣∣∣k3=36 , τ3=0.0016G4=k4∣∣∣k4=5
其中G1 和G2组成的单位反馈闭环传递函数为:
G12=1+G1G2G1G2=1+(τ1s+1)τ2s1(τ1s+1)τ2s1=(τ1s+1)τ2s+11=τ1τ2s2+τ2s+11
则Kp,G12,G3 和G4组成的Kfb反馈闭环传递函数为:
⇒GP=1+KpG12G3G4KfbKpG12G3G4=1+KpG12G3G4KfbKpG12G3G4=1+Kpτ1τ2s2+τ2s+11τ3s+1k3k4KfbKpτ1τ2s2+τ2s+11τ3s+1k3k4=(τ1τ2s2+τ2s+1)(τ3s+1)+Kpk3k4KfbKpk3k4=τ1τ2τ3s3+(τ1τ2+τ2τ3)s2+(τ2+τ3)s+1+Kpk3k4KfbKpk3k4=1.632e−6s3+1.129e−3s2+0.0696s+1+3.6Kp180Kp
根据终值定理:
t→∞limc(t)=s→0limsC(s)=s→0limsR(s)G(s)=s→0limss11.632e−6s3+1.129e−3s2+0.0696s+1+3.6Kp180Kp=1+3.6Kp180Kp
PID_P.m
| Kp |
稳态值 |
稳态误差 |
目标值 |
| 1 |
39.1 rpm |
-10.9 rpm |
50 rpm |
| 2 |
43.9 rpm |
-6.1 rpm |
50 rpm |
| 3 |
45.8 rpm |
-4.2 rpm |
50 rpm |
| 4 |
46.8 rpm |
-3.2 rpm |
50 rpm |
| 5 |
47.4 rpm |
-2.6 rpm |
50 rpm |
小结:
- 比例环节的作用是对偏差瞬间作出反应。偏差一且产生,控制器立即产生控制作用,使控制量向减少偏差的方向变化。
- 单纯的P控制的闭环传递函数(含一阶被控对象)$ G(s)=\cfrac{K_p }{as+1+K_p},存在一个负实数极点,增益\big | G(s)\big|随比例系数K_p增加而增加,控制作用越强,则过渡过程越快,同时阶跃响应的稳态值随随K_p$增加而增加。
- 相同Kp下,随着频率s=jω增加,增益减小,体现在实际系统中高频跟随比较差;
- 对于实际的系统,振动台或作动器,往往并不是一阶惯性环节,而是多种一阶和二级的组合,比如例2,随着Kp越大,也越容易产生振荡,破坏系统的稳定性,故而,比例系数选择必须恰当,才能过渡时间少,静差小而又稳定的效果。
以第一个简单惯性环节的单位负反馈闭环系统增加积分环节为例:
根据前面P控制的传递函数,增加一个积分环节,即增加GPI(s)=Tis1+1串联至回路当中。
G(s)======1+Kpas+11GPI(s)Kpas+11GPI(s)1+Kpas+11(Tis1+1)Kpas+11(Tis1+1)(as+1)Tis+Kp(Tis+1)Kp(Tis+1)aTis2+(Kp+1)Tis+KpKp(Tis+1)s2+aKp+1s+aTiKpaTiKp(Tis+1)s2+2ζωns+ωn2ωn2(Tis+1)
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧ωn=ζ=aTiKp2aωnKp+1=2aKp+1KpaTi=2Kp+1aKpTi
上述系统可近似为二阶系统,为如果需要其消除稳态误差的同时不震荡,则要求ζ>1,即:
Ti>(Kp+1)24aKp
按照上述Simulink模型中Kp=1,a=0.2,则要求Ti>0.2才能保证系统不震荡。
根据终值定理,得到单位阶跃响应的稳态值:
t→∞limc(t)=s→0limsR(s)G(s)=s→0limaTis2+(Kp+1)Tis+KpKp(Tis+1)=1
即当存在积分环节时,单位阶跃响应的稳态值始终为1,与预期的消除稳态误差的目的一致。
PID_PI_simple.m
对比是否有积分环节及积分环节不同的时间常数Ti的影响如下图所示。
⇒GPI=1+KpGPI(s)G12G3G4KfbKpGPI(s)G12G3G4=1+KpTisTis+1τ1τ2s2+τ2s+11τ3s+1k3k4KfbKpTisTis+1τ1τ2s2+τ2s+11τ3s+1k3k4=(Tis)(τ1τ2s2+τ2s+1)(τ3s+1)+Kp(Tis+1)k3k4KfbKp(Tis+1)k3k4=Tiτ1τ2τ3s4+Ti(τ1τ2+τ2τ3)s3+Ti(τ2+τ3)s2+Ti(1+Kpk3k4Kfb)s+Kpk3k4KfbKpk3k4Tis+Kpk3k4=1.632e−6Tis4+1.129e−3Tis3+0.0696Tis2+(1+3.6Kp)Tis+3.6Kp180Tis+180Kp
由于不方便进行拉氏反变换得到准确的时域解析表达式,根据终值定理,单位阶跃响应的稳态值为,通过MATLAB仿真得到不同参数时的阶跃响应及闭环传递函数为:
t→∞limc(t)=s→0limsC(s)=s→0limsR(s)G(s)=s→0limss11.632e−6Tis4+1.129e−3Tis3+0.0696Tis2+(1+3.6Kp)Tis+3.6Kp180Tis+180Kp=3.6Kp180Kp=50
PID_PI.m
小结:
- 对于一阶惯性系统的闭环控制增加积分环节后,传递函数变为了近似的二阶系统G(s)=s2+2ζωns+ωn2ωn2(Tis+1),从而实现系统消除稳态误差(单位阶跃终值limx→0G(s)=1)。
- 二阶系统在共振频率前的响应较高,即可提升频响特性,Kp=1,Ti=0.07的响应要高于Kp=3,Ti=null的响应。
- 组成的二阶系统当存在2个负实数极点为过阻尼系统(Ti较大);当存在两个负半平面的复极点为欠阻尼系统(Ti较小),不会出现0阻尼情况。
- 当Kp不变的情况下,当积分时间常数减小(增大积分的作用,$\omega _n=\sqrt{\cfrac{K_p}{aT_i}} 会增大,\zeta=\cfrac{K_p+1}{2}\sqrt{\cfrac{T_i}{aK_p}}减小),系统的响应会加快,如果T_i$进一步减小,系统的传递函数逐步变为欠阻尼状态,导致出现震荡。
- I积分作用分析:积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度【不完全正确,刚开始增加积分是可以提升响应速度的,但为了降低超调量,提高积分常数,会在已提高的响应速度的基础上降低响应,但通常还是要比无积分环节的响应要快】,增加系统的超调量。积分常数越大,积分的积累作用越弱,这时系统在过渡时不会产生振荡;但是增大积分常数会减慢静态误差的消除过程,消除偏差所需的时间也较长,但可以减少超调量,提高系统的稳定性。
对于一阶惯性系统,当I控制消除稳态误差的同时,根据系统的阻尼比特征可发现,ζ与Kp有关系先减后增,在Kp=1s达到最小,随后随Kp增大而增大(而不像直觉认为增大Kp会更容易导致系统震荡的)。注意:该结论不具有通用性,仅针对一阶惯性系统,针对后面的复杂系统,增加Kp并不能起到增加阻尼的作用。
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧ωn=ζ=aTiKp2aωnKp+1=2aKp+1KpaTi=2Kp+1aKpTi=2Kp+Kp1aTi
PID_PI_simple_AdjP.m
上述仿真结果直观显示当Kp=1时超调量为最大,此时阻尼比最小。
对于复杂系统的仿真如下,增加比例增益并不能有效增加阻尼以减小超调量:
PID_PI_AdjP.m
经过PI控制后,稳态误差得以消除,频响特性有所提升,但进一步提升频响的过程中同时带来了一定的震荡作为代价,为降低震荡引入微分环节,由于微分环节需要考虑噪声因此一般需要配置一个低通滤波器环节,如下图例5所示即为Gs3=0.0032s+1s为微分环节和50Hz的低通滤波器的组合。
G(s)====1+as+11GPID(s)as+11GPID(s)1+Kpas+11(Tis1+1+Tds)Kpas+11(Tis1+1+Tds)(as+1)Tis+Kp(TdTis2+Tis+1)Kp(TdTis2+Tis+1)(aTi+KpTdTi)s2+(Kp+1)Tis+KpKpTdTis2+KpTis+Kp
通常上述式中a≪KpTd,(如a=0.2,Td=2,Kp=3,Ti=0.1 )即KpTdTi=0.6≈aTi+KpTdTi=0.62,上式组成一个接近于陷波滤波器的特征(ωz=Kp/(KpTdTi)=2.23Hz,ωp=Kp/(aTi+KpTdTi)=2.20Hz),即除共振频率附近有一定的衰减(衰减幅度为Kp+1Kp=0.75,当Td Kp进一步增大时,差异会进一步缩小),其他各处的传函接近于1aTi+KpTdTiKpTdTi=0.97。
上图横纵坐标由于比例不一致,导致直观看上去虚轴上到极点的距离始终大于到零点的距离,实际调整XY的缩放一致后,明显可以看到在6.47Hz附近,到零点的距离大于到极点的距离,而到另外一端较为接近,此时应该综合而言增益应该大于1,即传递函数增益此刻大于0dB。
小结:
- 以一阶系统的PID控制演变过程为例,P控制系统较为柔和,存在稳态误差,增加I控制后,为了达到一定的频响预期,系统此时近似欠阻尼二阶系统,在一定频率点存在一定的震荡,为解决震荡问题,引入D控制,系统的传函伯德图变成一条近似的陷波滤波器。
- 从零极点的角度,P控制只有一个负实数零点,低通特征,PI控制两个负实数极点(Ti较大)或两个左半平面共轭复数极点(Ti较小)和一个负实数的零点,二阶系统特征,PID控制两个左半平面共轭复数极点和PID控制两个左半平面共轭复数极点(Ti较小)的零点,且零极点较近,即高频和低频的频响特性都较接近1.
- 实际系统的Td为何可以为负数,待讨论。
⇒⇒⇒G(s)=R(s)KvGv(s)+(R(s)−C(s))GPID(s))G1(s)=C(s)R(s)KvGv(s)G1(s)+R(s)GPID(s)1G(s)=(1+GPID(s)G1(s))C(s)R(s)C(s)=1+GPID(s)G1(s)KvGv(s)G1(s)+GPID(s)G1(s)R(s)C(s)=1+GPID(s)G1(s)G1(s)(KvGv(s)+GPID(s))
代入相应参数后:
G(s)==1+as+11Kp(Tis1+1+Tds)as+11[Kvs+Kp(Tis1+1+Tds)](aTi+KpTdTi)s2+(Kp+1)Tis+Kp(KvTi+KpTdTi)s2+KpTis+Kp
上式与PID控制对比,仅在分子的s2项的系数由KpTdTi提升至KvTi+KpTdTi,从而实现在高频的衰减更小,更接近于1。
PID_PIDF_simple.m
在结果PID仿真的基础上增加前馈,参数a=0.2,Td=2,Kp=3,Ti=0.02,Kv=0.12,带入系数后得到传递函数为:
GPIDF(s)=0.124s2+0.08s+30.1224s2+0.06s+3
增加前馈环节后,阶跃响应有少许提升。
频响在高频部分更接近于1.
零极点坐标放大后,零点未变化,极点更靠近零点,在ωn处陷波效果要更浅一些,有利于系统的频响提升。
PID控制器学习笔记-知乎
二阶系统的最大超调量及各性能分析