【MATLAB】滞后校正装置的设计


1.串联滞后校正

滞后校正的实质是利用滞后网络幅值衰减特性,将系统的中频段压低,使校正后系统的截止频率减小,挖掘系统自身的相角储备来满足校正后系统的相角裕度要求。
滞后校正装置的传递函数为: G e ( s ) = 1 + b T s 1 + T s G_e(s)=\frac{1+bTs}{1+Ts} Ge(s)=1+Ts1+bTs只需要求出式子中的参数b,T,即可得到校正装置的传递函数。

2.滞后校正的设计步骤

(1) 按要求的稳态误差系数,求出系统的开环放大倍数 K K K

(2) 根据 K K K值,画出原系统的Bode图,求取原系统的相角裕度和幅值裕度,根据要求的相角裕度并考虑滞后角度的补偿,求出校正后系统的截止频率 ω c ′ \omega'_c ωc

(3) 令滞后装置的最大衰减幅值等于原系统对应 ω ‘ c \omega‘_c ωc的幅值,求出滞后装置的参数b,即 b = 1 0 − L ( ω c ′ ) 20 b=10^{\frac{-L(\omega'_c)}{20}} b=1020L(ωc),或 b = 1 ∣ G ( j ω ) ∣ b=\frac{1}{|G(j\omega)|} b=G(jω)1

(4) 为保证滞后装置在 ω c ′ \omega'_c ωc处的滞后角度不大于 5 。 5^。 5,令它在第二转折频率 ω 2 = ω c ′ / 10 \omega_2=\omega'_c/10 ω2=ωc/10,求出 b T bT bT T T T的值,即 1 / b T = ω c ′ / 10 1/bT=\omega'_c/10 1/bT=ωc/10 1 / T = b ω c ′ / 10 1/T=b\omega'_c/10 1/T=bωc/10

(5) 最后求出校正装置的传递函数和校正后系统的开环传递函数,画出校正后系统的Bode图,验证校正结果。

3.滞后校正仿真示例

首先,在滞后校正装置的设计中,会用到以下的函数:

函数用法说明
bode(G)绘制系统伯德图
[mag,phase,w]=bode(G)返回系统伯德图相应的幅值、相位和频率向量
margin(G)绘制系统伯德图,同时显示相位裕度、幅值裕度、截止频率和相角穿越频率
[gm,pm,wg,wc]=margin(G)返回系统的幅值裕度、相位裕度、相角穿越频率和截止频率
feedback(sys1,sys2)将系统sys1和sys2构成负反馈
spline(x0,y0,x)三次样条插值,x0,y0是已知数据点,x是插值点,y是插值点的函数值。
step(sys)绘制系统sys的阶跃响应

现在给出下面的例子,利用matlab设计一个滞后校正装置。

例: 设被控对象的传递函数为: G 0 ( s ) = 1 s ( s + 10 ) G_0(s)=\frac{1}{s(s+10)} G0(s)=s(s+10)1,设计要求:系统速度误差系数为10,相角裕度不小于 6 0 。 60^。 60,设计串联滞后校正装置。

Matlab程序:

clear all;
close all;
%第一步,根据题目要求确定开环放大倍数K
Ka=100; %开环增益
ri=60;%期望相角裕度

%第二步,求原系统的截止频率wc和校正后系统的截止频率wc1
num0=Ka; dum0=[1,10,0]; G0=tf(num0,dum0);%建立原系统的传递函数
[gm,pm,wg,wc]=margin(G0)%返回原系统的幅值裕度gm、相角裕度pm、相角穿越频率wg和截止频率wc
t=[0:0.01:5]; 
w=logspace(-2,2);%生成一个由在 10^(-2)和 10^2之间的 50 个对数间距点组成的行向量 w。
[mu,pu]=bode(num0, dum0,w); %返回系统bode图的幅值向量和相位向量 
wc1=spline(pu,w,ri+5-180);%求原系统在相角为ri+5-180处的频率,得到校正后系统的截止频率wc1

%第三步,求参数b
ngv=polyval(num0,j*wc1);
dgv=polyval(dum0,j*wc1);
g=ngv/dgv;%原系统对应wc1的值,即G(wc1)
b=abs(1/g);%求出参数b

%第四步,求参数T
T=10/b*wc1,%求出参数T

%第五步,求出校正装置的传递函数并验证结果
numc=[b*T,1]; dumc=[T,1];
Gc=tf(numc,dumc)%滞后校正装置传递函数
G0c=tf(G0*Gc); %校正后系统开环传递函数
sys1=feedback(G0,1);%校正前系统闭环传递函数
sys2=feedback(G0c,1);%校正后系统闭环传递函数
step(sys1,'r--', sys2,'b',t);%求校正前后系统的阶跃响应
legend('校正前','校正后');
grid on
figure, bode(G0,'r--',G0c,'b',w);  grid on,
legend('校正前','校正后');
[gm1,pm1,wg1,wc1]=margin(G0c)%得到校正后系统的幅值裕度gm1、相角裕度pm1、相角穿越频率wg1和截止频率wc1

运行结果:

pm =

   51.8273

wc =

    7.8615

Gc =
 
  46.63 s + 1
  -----------
  90.63 s + 1


pm1 =

   64.8721
   
wc1 =

    4.6631

可以看出滞后校正装置的传递函数为Gc,原系统的相位裕度为51.8,,截止频率为7.8rad/s,校正后系统的相角裕度为64.9,截止频率为4.7rad/s,满足校正的要求。

校正前后系统的阶跃响应对比:
阶跃响应

校正前后系统的Bode图对比:
bode图

结论

串联滞后校正对系统性能有如下影响:在保持系统开环放大倍数不变的情况下,减小了截止频率,从而增加了系统的相角裕度,提高了系统的相对稳定性;在保持系统相对稳定性不变的情况下,可以提高系统的开环放大倍数,改善系统的稳态性能;由于降低了幅值穿越频率,系统带宽变窄,使系统的响应速度降低,但系统抗干扰能力增强。

  • 10
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
超前滞后校正是一种常用的控制系统校正方法,可以提高系统的稳定性和性能。在MATLAB中,可以通过以下步骤进行超前滞后校正装置设计: 1. 确定系统的开环增益K,并根据K和原系统的传递函数绘制Bode图。 2. 在Bode图上求出原系统的相角裕度和幅值裕度,并计算校正装置所应提供的超前相角。 3. 根据公式计算超前滞后校正装置的参数,并在Bode图上确定原系统幅值等于 dB对应的频率。 4. 将计算出的参数带入公式中,求出超前滞后校正装置的传递函数。 5. 写出校正后系统的开环传递函数,并绘制校正后系统的Bode图,验证校正的结果。 以下是一个MATLAB超前滞后校正装置设计的示例代码: ```matlab % 原系统传递函数 num = [1]; den = [1 10 20]; G = tf(num, den); % 系统开环增益 K = 1; % 绘制Bode图 bode(K*G); % 求出原系统的相角裕度和幅值裕度 [mag, phase, wout] = bode(K*G); mag_dB = 20*log10(mag); PM = -phase(1); % 计算校正装置所应提供的超前相角 wgc = wout(find(mag_dB <= -3, 1)); phi_max = 60 - PM - 10; phi = phi_max - 10; % 计算超前滞后校正装置的参数 alpha = (1 + sind(phi))/(1 - sind(phi)); T = 1/(wgc*sqrt(alpha)); % 计算超前滞后校正装置的传递函数 num_c = [T*alpha T]; den_c = [T 1]; C = tf(num_c, den_c); % 写出校正后系统的开环传递函数 Gc = K*C*G; % 绘制校正后系统的Bode图 figure; bode(Gc); % 验证校正的结果 figure; step(feedback(Gc, 1)); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦斯威尔逊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值