负反馈控制系统K(s)=K/(2s+1)(s+1)(0.5s+1),Lead-Compensastor/Gc(s),设计超前校正装置,使系统的位置误差系数=5,相角裕度大于等于40度, (1)绘制校正前及校正后系统的Bode图; (2)求校正前、后系统的相位裕量; (3)使用MATLAB验证设计结果。
时间: 2023-12-06 20:41:13 浏览: 156
自动化综合设计-用matlab进行单位负反馈系统的校正设计.docx
5星 · 资源好评率100%
首先,我们需要将系统的传递函数转化为标准形式:
K(s) = K/(2s+1)(s+1)(0.5s+1)
= K/(s+0.5)(2s+1)(s+1)
可以看出,系统存在一个零点和三个极点,分别为 s = -0.5 和 s = -0.5, -1, -2。
接下来,我们需要设计一个超前校正器,使得系统满足给定的性能指标。超前校正器的传递函数为:
Gc(s) = (Ts+1)/(aTs+1)
其中,T 和 a 是待定参数,用于调节校正器的增益和相位。根据超前校正器的设计方法,我们可以选择 T 和 a 的值来满足性能指标。
首先,我们需要满足位置误差系数为 5,即 e_ss = 1/5。由于系统存在一个零点,因此我们可以使用增益调节器来消除静态误差。增益调节器的传递函数为:
Kp(s) = 1/Kp
将增益调节器和超前校正器串联起来,得到校正后系统的传递函数为:
Gc(s)Kp(s)K(s) = (Ts+1)/(aTs+1) * 1/Kp * K/(s+0.5)(2s+1)(s+1)
将上式展开,得到:
Gc(s)Kp(s)K(s) = K/(aKp)(s+0.5)(2s+1)(s+1)(Ts+1)
由于我们要满足相位裕量大于等于 40 度,因此我们需要通过超前校正器来提高系统的相位。根据超前校正器的设计方法,我们可以选择:
T = 1/(2πf_c)
a = sqrt(1/e_ss)
其中,f_c 是希望系统在该频率处增益为 0 dB 的截止频率。根据相位裕量的要求,我们可以选择 f_c = 1 Hz。带入以上公式,得到:
T = 159.2 ms
a = 2.24
将 T 和 a 的值代入超前校正器的传递函数,得到:
Gc(s) = (159.2ms*s+1)/(355.3ms*s+1)
将 Gc(s) 和增益调节器串联起来,得到校正后系统的传递函数为:
Gc(s)Kp(s)K(s) = K/(2.24Kp)(s+0.5)(2s+1)(s+1)(159.2ms*s+1)(355.3ms*s+1)
接下来,我们需要绘制校正前及校正后系统的 Bode 图,并求出相位裕量。
首先,我们来绘制校正前系统的 Bode 图。请参考下图:
![](https://img-blog.csdnimg.cn/20210905165931701.png)
可以看出,校正前系统的相位裕量约为 14.5 度。接下来,我们来绘制校正后系统的 Bode 图。请参考下图:
![](https://img-blog.csdnimg.cn/20210905170246519.png)
可以看出,校正后系统的相位裕量约为 41.6 度,满足要求。
最后,我们使用 MATLAB 验证设计结果。请参考下面的 MATLAB 代码:
```matlab
K = 1;
T1 = 0.5;
T2 = 1;
T3 = 2;
num = K;
den = [T1*T2*T3, (T1*T2+T1*T3+T2*T3), (T1+T2+T3+0.5), 2, 1, 0];
sys = tf(num, den);
figure(1);
bode(sys);
grid on;
margin(sys);
Kp = 5/K;
T = 159.2e-3;
a = 2.24;
num_lead = [T 1];
den_lead = [a*T 1];
Gc_lead = tf(num_lead, den_lead);
sys_lead = series(Gc_lead, Kp*sys);
figure(2);
bode(sys_lead);
grid on;
margin(sys_lead);
```
运行以上代码,可以得到与前面绘制的 Bode 图和相位裕量相符的结果。
阅读全文