与频域法相似,利用根轨迹法进行系统的设计也有两种方法:1)常规方法;2)Matlab方法。Matlab的根轨迹方法允许进行可视化设计,具有操作简单、界面直观、交互性好、设计效率高等优点。目前常用的Matlab设计方法有:1)直接编程法;2)Matlab控制工具箱提供的强大的Rltool工具;3)第三方提供的应用程序,如CTRLLAB等。本节在给出根轨迹的设计思路的基础上,将重点介绍第一、二种方法。
6.4.1 超前校正 关于超前校正装置的用途,在频率校正法中已进行了较详细的叙述,在此不再重复。
利用根轨迹法对系统进行超前校正的基本前提是:假设校正后的控制系统有一对闭环主导极点,这样系统的动态性能就可以近似地用这对主导极点所描述的二阶系统来表征。因此在设计校正装置之前,必须先把系统时域性能的指标转化为一对希望的闭环主导极点。通过校正装置的引入,使校正后的系统工作在这对希望的闭环主导极点处,而闭环系统的其它极点或靠近某一个闭环零点,或远离s平面的虚轴,使它们对校正后系统动态性能的影响最小。
是否采用超前校正可以按如下方法进行简单判断:若希望的闭环主导极点位于校正前系统根轨迹的左方时,宜用超前校正,即利用超前校正网络产生的相位超前角,使校正前系统的根轨迹向左倾斜,并通过希望的闭环主导极点。 (一)根轨迹超前校正原理 设一个单位反馈系统,G0(s)为系统的不变部分,Gc(s)为待设计的超前校正装置, Kc为附加放大器的增益。绘制G0(s)的根轨迹于图6—19上,设点Sd 为系统希望的闭环极点,则 若为校正后系统根轨迹上的一点,必须满足根轨迹的相角条件,即
∠Gc(Sd)G0(Sd)=∠Gc(Sd)+G0(Sd)=-π
于是得超前校正装置提供的超前角为:
显然在Sd已知的情况下,这样的Gc(s)是存在的,但它的零点和极点的组合并不唯一,这相当于张开一定角度的剪刀,以Sd为中心在摆动。若确定了Zc和Pc的位置,即确定了校正装置的参数。下面介绍三种用于确定超前校正网络零点和极点的方法。
(二)三种确定超前校正装置参数的方法 零极点抵消法
在控制工程实践中,通常把Gc(s)的零点设置在正对希望闭环极点Sd下方的负实轴上,或位于紧靠坐标原点的两个实极点的左方,此法一般可使校正后系统的期望闭环极点成为主导极点。
比值α最大化法
能使超前校正网络零点和极点的比值α为最大的设计方法。按照该法去设计Gc(s)的零点和极点,能使附加放大器的增益尽可能地小。
以图6—19上的点O和Sd,以Sd为顶点,线段O 为边,向左作角γ,角γ的另一边与负实轴的交点Zc=-1/T,点Zc就是所求 的一个零点。再以线段ZcSd为边,向左作角 ∠PcSdZc,该角的另一边与负实轴的交点Pc=-1/αT,点 就是所求Gc(s)的一个极点。根据正弦定理,由图6—18求得:
于是有:
将夹角γ作为自变量,式(6—24)对γ求导,并令其等于零,即dα/dγ=0 由上式解得对应于最大α值时的γ角为
不难看出,当希望的闭环极点Sd被确定后,式(6—25)中的θ和φ均为已知值,因而由上式可求得γ角,然后由式(6-22)和式(6-23)求得相应的零极点。
幅值确定法
设系统的开环传递函数:
且令超前校正装置的传递函数:
若要求校正后系统的稳态误差系数K(Kp,Kv,Ka),则由上式可首先确定k:
在开环增益k确定后,根据根轨迹原理,若Sd为校正后的闭环极点,则它除必须满足相角条件外,还应满足幅值条件:
上式中, |
|
同样根据平面三角形原理,对于△ZcOSd有:
而对于△PcOSd有:
由上二式消去sinθ,并由式(6-29)可得:
根据三角函数性质,上式可写成如下形式:
进而有:
由于k可由稳态误差系数确定,u由未校正传递函数求出,因此根据上式求出角γ。最后可用式(6-22)和式(6-23)确定校正装置的零极点和具体参数。
通过上述分析可知,对于超前校正装置的参数确定,可用三种方法进行设计,其中第一法是工程经验方法,第二法则是从抑制高频噪声角度出发进行设计,第三法则先在满足静态性能指标的条件下设计满足动态性能指标的控制器。但必须指出,上述三法均用于对静态性能要求不高而系统的动态性能需要改善的控制系统,校正后的系统应满足根轨迹的相角条件和幅值条件。若系统的静态性能指标较高,可能无法设计合适的超前校正装置,此时应采用迟后-超前校正装置。
(三)根轨迹超前校正的步骤 综上所述,用根据轨迹法进行超前校正的一般步骤为:
1)根据对系统静态性能指标和动态性能指标的要求,分析确定希望的开环增益k闭环主导极点Sd的位置.
2)画出校正前系统的根轨迹,判断希望的主导极点位于原系统的根轨迹左侧,以确定是否应加超前校正装置。
3)根据式(6—21)解出超前校正网络在Sd点处应提供的相位超前角φ。
4)选择前面介绍的三种方法之一,求γ,尔后用图解法或根据式(6—22)和式(6—23)求得Gc(s)的零点和极点,进而求出校正装置的参数。
5)画出校正后系统的根轨迹,校核闭环主导极点是否符合设计要求。
6)若采用第一法和第二法,则还须根据根轨迹的幅值条件,确定校正后系统工作在 处的增益和静态误差系数。如果所求的静态误差系数与要求的值相差不大,则可通过适当调整Gc(s)零点和极点的位置来解决;如果所求的静态误差系数比要求的值小得多,则需考虑用别的校正方法,如用迟后—超前校正。
下面举例分别介绍上述三法的使用,进而对根轨迹超前校正步骤进行说明。
例6-5 已知一单位反馈控制系统的开环传递函数为:
试设计一超前校正装置,使校正后系统的无阻尼自然频率 ,阻尼比 。
解:(1)这是一个积分环节和惯性环节串联的系统,系统的无阻尼自然频率 ,阻尼比 ,闭环极点为 以及静态速度误差系数 ,校正前系统的根轨迹如图6—20虚线所示。
(2)由 和 ,求得希望的闭环极点为:
。
(3)计算超前校正装置在 处需提供的相位超前角。由于未校正系统的 在 处的相角为:
为了使校正后系统的概轨迹能通过希望的极点,超前校正装置必须在该点产生的超前角。
(4)根据根轨迹的相角条件,确定超前校正装置的零点和极点。因为 , ,所以 。按照最大α值的设计方法,可计算或作图求出 , 。这一校正装置的传递函数 。于是求得由校正网络和附加放大器组成的超前校正装置的传递函数,并得到校正后系统的开环传递函
数
式中,。由上式作出校正后系统的根轨迹,如图6—20中的实线所示。
(5)确定系统工作在希望闭环极点处的增益和静态速度误差系数。由根轨迹的幅值条件
解得 。由于 ,因而 。系统对应的开环传递函数为
由上式求得校正后系统的静态速度误差系数
校正后系统的闭环传递函数可由Matlab中的G=feedback(Gc*G,1)得到:
由上式可见,校正后的系统虽上升为三阶系统,但由于所增加的一个闭环极点 与其零点 靠得很近,因而这个极点对系统瞬态响应的影响就很小,从而说明了 确为系统一对希望的闭环主导极点。由于本例题对系统的静态误差系数没有提出具体的要求,故认为上述的设计是成功的。
例6-6 设一单位反馈控制系统的开环传递函数为
试设计一超前校正装置,使校正后的系统能具有下列的性能指标:超调量 %,调整时间 。
解:(1)作出校正前系统的根轨迹,如图6—21所示。
(2)根据 ,解得 ,考虑到非主导极点和零点对超调量的影响,取 。又由 ,求得 。进而求得系统的一对希望的闭环主导极点 。
(3)根据求得的主导极点,计算超前校正网络在处应提供的超前角为
(4)由于 的开环极点正好落在希望闭环极点 下方的负实轴上,因此可采用第一法进行校正。把 的零点设置在紧靠 这个开环极点的左侧。如设 ,则 的极点落在以 为顶点,向左作角 的负实轴交点上, ,即为所求 的极点。
(5) 校正后系统的传递函数为
由根轨迹的幅值条件,求得系统工作于 点处的K值为30.4。这样,上式便改写为
据此,求得校正后系统的静态速度误差系数
如果希望 值有少量地增大,则可通过适当调整 零点和极点的位置来实现,但这种调整有可能会破坏 的主导作用。
(6)它的闭环传递函数为:
或直接由如下的Matlab命令得到:
zpk(feedback(G0*Gc,30.4))
Zero/pole/gain:
(s+1.2)
------------------------------------------
(s+6.631) (s+1.347) (s^2 + 1.972s + 4.085)
下面检验希望闭环极点 是否符合主导极点的条件。不难看出,由于闭环系统的一个极点与零点靠得很近,故它对系统瞬态响应的影响很小,同时由于另一极点 距s平面的虚轴较远,因而这个瞬态分量不仅幅值小,而且衰减的速度也快。由此得出,上述设计的超前校正装置能使 成为系统希望的闭环主导极点。
上面两个例题均对静态误差系数没有特殊要求,否则,宜采用如下方法,即第三法。
例6-7 有一单位反馈系统,其开环传递函数: ,设计一超前校正装置,满足如下性能指标:静态误差系数 ,闭环主导极点位于: 处。
解:(1)绘制未校正系统的根轨迹,并根据静态误差系统,确定开环增益:
, ,
(2)根据幅值确定法,并代入:
超前校正装置应提供的超前角度:
(3)根据公式(6-34)确定夹角 γ:
得到:
(4)由设计要求, , , ,求出校正装置的参数。
,
,
得到: , 。因而超前校正装置的传递函数:
(5)校正后闭环系统的传递函数和主导极点分别为:
G=G0*Gc
Transfer function:
576.8 s + 1921
------------------------------
s^4 + 34 s^3 + 256 s^2 + 384 s
Gl=feedback(G0*Gc,1)
zpk(Gl)
Zero/pole/gain:
576.8 (s+3.33)
------------------------------------------
(s+25.25) (s+4.745) (s^2 + 4.006s + 16.03)
显然,系统静态误差系数为: ,主导极点为: ,设计基本符合要求。
6.4.2 迟后校正 通过设置校正装置的零极点,使之形成一对在S平面上靠近原点的偶极子,这样,在基本保持原系统主导极点的前提下,可提高系统的静态误差系数而不致使系统的动态性能变坏。
例如,对于一单位反馈系统,若其开环传递函数:G0(S)=K/s(s+a)(s+b),则静态速度误差系数Kv=K/ab ,因为系统主导极点为Sd,则K=|Sd|·|Sd+a|·|Sd+b|。串联迟后校正装置后,开环传递函数:
若要求主导极点基本不变,则
由于设计时选取的-1/τ和-1/βτ均靠近原点,因此
|
, |
但此时 |
|
|
可见校正后静态误差系数增大了约β倍,而主导极点可基本保持不变。
由上,可得出迟后校正的根轨迹法步骤:
(1)画出未校正开环系统的根轨迹;
(2)根据系统设计的时域指标,确定主导极点Sd,进而计算未校正系统的增益K及静态误差系数Kv ;
(3)将要求的静态误差系统与未校正系统的静态误差系数进行比较;得出迟后校正装置的β值;
(4)确定校正装置的零点和极点。零点的确定方法是:以主导极点Sd为顶点,引线为起起始边,向左旋转5°-10° ,此边与负实轴的交点即为校正装置的零点-1/τ ,由(3)中β值进而确定校正装置极点-1/βτ。
(5)画出校正后系统的根轨迹。若新的主导极点Sd1或静态误差系数与设计要求相关较大,则宜适当调整β或-1/υ ,直至满足要求。
需要说明的是,上述推导过程中按Kv 进行说明,但对于Kp或Ka结论相似。
例6-8 已知一单位反馈控制系统的开环传递函数为
要求校正后的系统能满足下列的性能指标:阻尼比ξ=0.5 ;调整时间ts=10s;静态速度误差系数Kv≥5/s。解:(1)绘制未校正系统的根轨迹如图6—23中的虚线所示。
(2)根据给定的性能指标,确定系统的无阻尼自然频率为
据此,求得希望的闭环主导极点
(3)由根轨迹的幅值条件,确定未校正系统在 处的增益,即根据 ,求得 ,,相应的静态速度误差系数为
(4)基于校正后的系统要求,据此算出迟后校正装置的参数β值,即
考虑到迟后校正装置在 点处产生迟后角的影响,所选取的β值应大于7.5,现取β=10。
(5)由点 作一条与线段O 成 角的直线,此直线与负实轴的交点就是校正装置的零点,由图6—23 可知,零点 ,极点为 。这样,校正装置的传递函数
校正后系统的开环传递函数
校正后系统的根轨迹如图6—23中的实线所示。由该图可见,若要使 ,则校正后系统主导极点的位置略偏离要求值,即由 点移到 点。相应的增益 。
校正后系统的开环传递函数为
相应的静态速度误差系数为: 。
比较未校正系统和校正后系统的根轨迹可见,校正后系统的 从0.8减到0.7,这意味着调整时间略有增加。如果对此不满意,则可重新选择希望闭环主导极点的位置,且使其 值略高于0.8。
6.4.3 迟后—超前校正 由上两节的讨论可知,超前校正主要用于提高系统的稳定裕度,改善系统的动态性能,而迟后校正则可以减少系统的稳态误差。由此设想,若把这两种校正结合起来应用,必然会同时改善系统的动态和静态性能,这就是迟后—超前校正的基本思路。
当希望的闭环主导极点Sd位于未校正系统根轨迹的左方时,如只用单个超前网络对系统进行校正,虽然也能使校正后系统的根轨迹通过Sd点,但无法使系统在该点具有较大的开环增益,以满足静态性能的需要。对于这种情况,一般宜采用迟后—超前校正。
设迟后—超前校正装置的传递函数为
其中Gc1(s)起迟后校正作用,它使系统在Sd处的开环增益有较大幅度的增大,以满足静态性能的需要;Gc2(s)起超前校正作用,利用它所产生的相位超前角φc2使根轨迹向左倾斜,并通过希望的闭环主导极点Sd,从而改善系统的动态性能。
用根轨迹法进行迟后—超前校正的一般步骤为:
1)根据对系统性能指标的要求,确定希望闭环主导极点Sd的位置。
2)设计校正装置的超前部分Gc2(s)。设计时要兼顾到既使Gc2(s)在Sd处产生的相位超前角φc2满足Sd点的相角条件,又使Gc2(s)极点与零点的比值β足够大,以满足迟后部分使系统在Sd点的开环增益有较大幅度增大的需要。
3)根据所确定的β值,按迟后校正的设计方法去设计Gc1(s)。
4)画出校正后系统的根轨迹。由根轨迹的幅值条件,计算系统工作在Sd处的静态误差系数。如果所求的值小于给定值,则需增大β值,应从步骤2)开始重新设计。
下面以实例说明这种校正的具体步骤。
例6—9 校正前该系统的开环传递函数为
要求校正后具有下列的性能指标:阻尼比 ;无阻尼自然频率 ;静态速度误差系数 。试设计一迟后—超前校正装置。
解(1)根据给定的性能指标,求出希望的闭环主导极点为
(2)设计校正装置。超前部分 在 处应提供的超前角
令 的零点 ,以抵消原系统的一个开环极点。这样设计不仅使校正后系统的阶数降低,绘制根轨迹方便,而且一般易于实现希望闭环极点的主导作用。在图6-24所示的s平面上,以 点为顶点,点 与-1点的连线为边,向左作角 ,该角的另一边与负实轴的交点 ,这就是所求超前部分的极点。由此可见, , 。
(3)经过超前部分校正后,系统的传递函数为
据此,作出相应的根轨迹,如图6-24中的实线所示。根据根轨迹的幅值条件,求得系统工作在 点时的增益 ,对应的静态速度误差系数为
显然, 不能满足给定指标的要求,所要增大的倍数 应由迟后部分 来提供。由此可见,上述确定的β=4能满足将静态速度误差系数提高3.35倍的要求。
(4)设计校正装置的迟后部分 。
由点 向左作一条与线段 成 角的直线,此直线与负实轴交于 ,这就是所求 的零点,它的极点 。于是求得迟后部分的传递数为
经迟后—超前校正后,系统的开环传递函数为
校正后系统的根轨迹如图6-24中的虚线所示。由图可见,校正后系统的主导极点由 点移动到 点,相应的增益 ,静态速度误差系数为
利用Matlab进行串联校正设计步骤,以例6-9为例,要求校正后具有下列的性能指标:阻尼比 ;无阻尼自然频率 ,但对静态误差系统没有要求。可按如下步骤进行:
(1) 写出系统传递函数G,并画出其根轨迹。
G0=tf(1,conv([1,1],[1,4]),0);
Rlocus(G0);hold on;[x,y]=rloc_asymp(G0);plot(x,y,’:’)
(1)根据设计要求,画出其等ξ线和等ωn线,并由图确定其主导极点。
Zet=[0.5];wn=[2];sgrid(zet,wn)
由图可得到sd=-1±1.732j
(2)确定超前装置的补偿角φc,利用自编函数angle_c计算。
Fi_c=angle_c(G0,sd)
(3)确定校正器的零极点。可先选定校正器的零点zc=-1.2,然后由已知的γ、ωn、θ、φc计算极点。
Pc=find_pc(wn,zc,theta,fi_c)
(4)得到校正装置Gc,并画出Gc*G0的根轨迹图。
Hold on; Rlocus(Gc*G0)
(5)从图中交互确定在sd处对象的K值,并进而得出系统的闭环极点及阶跃响应。检验设计效果。
[K,P]=rloc_find(Gc*G0)。
此例完整程序见下面,设计效果见图6-25。
G0=tf(1,[conv([1,1],[1,4]),0])
Transfer function:
1
-----------------
s^3 + 5 s^2 + 4 s
Rlocus(G0);hold on;[x,y]=rloc_asymp(G0);plot(x,y,':')
zet=[0.5];wn=[2];sgrid(zet,wn)
sd=-1+1.732j;
Fi_c=angle_c(G0,sd)
Fi_c =
60.0000
Fi_c=Fi_c*pi/180;
zc=-1.2;theta=acos(0.5);
pc=find_pc(wn,zc,theta,Fi_c);
pc =
5.0000
Gc=tf([1,-zc],[1,pc])
Transfer function:
s + 1.2
-------
s + 5
Hold on; Rlocus(Gc*G0)
[K,P]=rlocfind(Gc*G0)
Select a point in the graphics window
selected_point =
-1.0001 + 1.7315i
K =
29.9894
P =
-6.6454
-1.0001 + 1.7315i
-1.0001 - 1.7315i
-1.3543
function ang=angle_c(g,sd)
[p,z]=pzmap(g);
theta_z=0;theta_p=0;
for i=[1:1:length(z)]
theta_z=theta_z+angle(sd-z(i));
end
for i=[1:1:length(p)]
theta_p=theta_p+angle(sd-p(i));
end
ang=(-pi+theta_p-theta_z)*180/pi;end
function pc=find_pc(wn,zc,theta,fc)
gama=atan(sin(theta)/(wn/abs(zc)-cos(theta)));
pc=wn*sin(gama+fc)/sin(pi-theta-fc-gama)
6.4.4基于根轨迹的串联校正Matlab设计 在采用根轨迹法对控制系统进行校正时,常用的函数有:
1.Rlocus: 根轨迹作图命令;
2.Sgrid: 等ξ线和等ωn线;
3.Tf、Zpk: 求传递函数命令;
4.Rlocfind: 求取根轨迹上某点对应的增益K及闭环极点;
5.Rloc_asymp: 作轨迹渐近线;
6.Rltool: 由Matlab提供的根轨迹设计工具;
7.Pzmap,pole,zer 求取系统的零极点。
利用Matlab进行串联校正设计有两种方法:一种是利用书中介绍的步骤进行设计,另外也可以用Matlab提供的rltool可视化工具进行交互式设计。 |