对一个系统是采用超前校正还是滞后校正取决于具体的技术指标,有时候很明确,例如,如果希望的幅值穿越频率ωgc大于实际被控系统的幅值穿越频率ωgc,则应当用超前校正,因为超前校正可使ωgc增加。
同时,超前补偿将使系统响应速度加快(频带展宽),但频带展开也会引入不希望的噪音信号,影响系统的稳态精度。
通常,超前校正主要使瞬态响应得到显著改善,但稳态精度的提高则较少,而滞后校正能使稳态精度显著改善,但瞬态响应的时间却随之增加。
系统的校正设计有根轨迹法与频率响应法两大类,频率响应法设计又称为Bode图设计方法,它以频率域的指标,如相位裕量、增益穿越频率、带宽等保证控制系统的响应指标,是一种频率域内的间接设计,其基本思路是改变系统开环频率特性的形状,使其具有希望的低频增益(满足稳态误差要求)、希望的增益穿越频率(满足响应速度的要求和充分的稳态裕量)。
Bode图设计可以用作图方法也可以用解析的方法。
7.2.2Bode图设计的解析方法
首先,我们设图7.7中的校正器具有如下形式的传递函数:
如果要求校正后系统具有相位裕量为PM,则意味着当K(s)G(s)增益为1.0时(S=jωgc处)相角为-180°+PM,于是整理得:
(7.2-1)
式中,MG,θG为G(jω)在ω=ωgc点的增益与相角。
式(7.2-1)可分为实部和虚部两部分,因此,可以写出两个未知数的两个方程。
求解后可得:
可用MATLAB编制程序完成这个计算过程。
例7.3已知系统:
设计技术指标如下:
单位斜坡输入的稳态误差小于10%。
ωgc=14rad/s
PM=45°
解:
首先根据稳态误差求KC。
∵要求
∴
又∵
∴
以KC=5,Wgc=14,dPM=45为设计要求并根据式(7.2-2)编制MATLAB设计程序如下(程序名chp7-3m)
ng=400;dg=[1302000];
kc=5;wgc=14;dpm=45;
%function[nk,dk]=anbdlead(ng,dg,kc,wgc,dpm)
ngv=polyval(ng,j*wgc);dgv=polyval(dg,j*wgc);
g=ngv/dgv;thetag=angle(g);thetag_d=thetag*180/pi
mg=abs(g);dpm_rad=dpm*pi/180;
t_z=(1+kc*mg*cos(dpm_rad-thetag))/(-wgc*kc*mg*sin(dpm_rad-thetag))
t_p=(cos(dpm_rad-thetag)+kc*mg)/(wgc*sin(dpm_rad-thetag))
nk=[t_z,1]
dk=[t_p,1]
[nd,dd]=series(kc*nk,dk,ng,dg)
[n1,d1]=feedback(kc*ng,dg,1,1)
[n2,d2]=feedback(nd,dd,1,1)
[g1m,p1m,wpc1,wgc1]=margin(ng,dg)
[g2m,p2m,wpc2,wgc2]=margin(nd,dd)
w=logspace(0,2,200);
figure
bode(ng,dg,w)
grid
holdon
bode(nd,dd,w)
holdoff
figure
step(n1,d1,2)
grid
holdon
step(n2,d2,2)
holdoff
程序执行结果为:
因此,求得控制器传递函数为:
显然这是一个超前校正器。
校正后的系统Bode图见图7.8,系统的闭环阶跃响应曲线见图7.9
图7.8例7.3的系统Bode图
图7.9例7.3的系统闭环阶跃响应
例7.4已知系统
要求:
单位斜坡输入的稳态误差小于5%。
按例7.3类似方法,可求得KC=10,将KC,ωgc,PM及G(s)取代入程序chp7-3m,可求得:
这是一个滞后校正器,闭环系统阶跃响应曲线见图7.10
图7.10例7.4的系统闭环阶跃响应
7.3控制系统的状态空间设计——极点配置方法
7.3.1极点配置设计原理
常系数线性系统的动特性是由该系统的极点来确定的,如果在S平面上,所有极点都位于左半平面,则系统是稳定的,否则是不稳定的,极点位于复平面越左,衰减就越快。
在现代控制中,用状态空间方程式来描述系统,并且广泛地采用反馈控制。
状态反馈的功能之一就是可以通过反馈器参数的调整来改变系统的极点位置以获得所希望的系统性能。
对于控制系统
(7.3-1)
可绘出结构图如图7.11(a)所示,这是一个开环系统。
如果选取控制信号为:
(7.3-2)
式中,K为状态反馈增益矩阵,则得到如图7.11(b)所示闭环控制系统。
图7.11系统极点配置
将式(7.3-2)代入式(7.3-1),得到:
(7.3-3)
如果能通过适当选取K,使系统的极点可以配置于任何位置,那么就可以获得希望的系统性能。
可以证明,如果系统是完全可控的,则可以通过状态反馈将该系统的闭环节点进行任意配置。
7.3.2极点配置设计方法与MATLAB实现
极点配置设计的基本方法是根据期望的极点求得系统应有的状态反馈增益矩阵K。
有两种方法,第一种方法是用转换矩阵T,将状态方程转换成可控标准型,然后将期望的特征方程和加入状态反馈增益矩阵K后的特征方程比较,令对应项的系数相等,从而决定状态反馈增益阵K。
第二种方法是根据Caylay-Hamiton理论,它指出矩阵
满足自身的特征方程,改变矩阵多项式Φ(
)的值,可以推出增益矩阵K,由这种方法推出增益矩阵K的议程式叫Ackermann公式。
应用MATLAB中矩阵运算,多项式求值等命令编制上述两种方法的极点配置设计程序并不困难,而且,在MATLAB的Controltoolbox中,还提供了另一个更为简便的专用函数K=place(A,B,P),它利用Ackermann公式计算反馈增益阵K,使采用全反馈u=-kx的多输入系统具有指定的闭环极点P,以下例子介绍了其应用方法。
例7.5已知系统状态空间方程是:
系统期望极点是-1+i、-1-i、-2,求系统的状态反馈矩阵K。
解:
对于此系统,可用[ZT,PT,gain]=ss2zp(A,B,C,D)求出系统的零极点,极点和增益,其结果为(程序chp7_5.m):
ZT=0.2500+2.4975i
0.2500-2.4975i
PT=-0.6565
0.1183+0.3678i
0.1183-0.3678i
gainT=9.800
由此可知,系统有对极点位于右半平面,因此系统是不稳定的,用rlocus命令可绘出其零极点分布(见图7.12),图7.13为系统的阶跃响应,曲线是发散的。
图7.12加入状态反馈前的系统根轨迹图图7.15加入状态反馈前的系统阶跃响应
现采用状态反馈,将极点配置至期望位置P=[-2,-1+i,-1-i],此时应有的状态反馈增益矩阵K可用K=place(A,B,P)求出,结果为:
K=[0.47061.0000.0627]
以At=A-B*K代入并再次调ss2zp()函数,可得:
ZT=0.2500+2.4975i
=0.2500-2.4975i
PT=-2.000
-1.000+1.000i
-1.000-1.000i
gainT=9.8000
即,闭环极点已移至期望位置,但零点并无改变,也就是说,状态反馈只能改变极点位置。
图7.14为配置后的零极点,图7.15为极点配置后的系统阶跃响应。
图7.14加入状态反馈后的系统根轨迹图图7.15加入状态反馈后的系统阶跃响应