已知负单位反馈控制系统传递函数为Go=K/(s(s+5)(s+10)),设计串联校正装置使校正后系统满足:Kv=0.1s,ts<3s,超调量小于15%,裕角大于45°,在simulink仿真调试
时间: 2024-05-30 08:10:39 浏览: 112
针对这个问题,我们可以按照以下步骤进行设计:
1. 计算系统的开环传递函数G(s):
G(s) = K/(s(s+5)(s+10))
2. 根据Kv=0.1s,计算出系统的静态误差常数Kv:
Kv = lim s->0 G(s) = K/50
所以,Kv=0.1s=K/50,解得K=5。
3. 绘制系统的根轨迹图,并根据ts<3s和超调量小于15%的要求确定合适的控制器增益。
根据根轨迹图的形状可以估算出系统的自然频率ωn和阻尼比ζ,进而得到理想的闭环极点位置。
经过计算和仿真,我们发现当控制器增益Kc=17.5时,可以满足ts<3s和超调量小于15%的要求。
4. 设计串联校正装置,使系统的相位裕度大于45°。
通过Bode图分析,我们发现系统在截止频率ωc=1.78rad/s处有一个相位余量约为50°的相位峰。因此,我们可以设计一个带有一个陷波器的串联校正装置,使得该相位峰的相位余量增加到更大的值,从而满足裕度要求。
最终,我们设计出的串联校正装置的传递函数为:
Gc(s) = (s^2 + 2ζωns + ωn^2) / (s^2 + 2βωc s + ωc^2)
其中,ωn=7.07,ζ=0.6,β=1.2,ωc=1.78。
最后,我们在Simulink中进行仿真调试,验证系统的性能是否满足要求。
相关问题
已知单位负反馈控制系统的开环传递函数为:Go(S)=K/(s(s+5)(s+10)),设计串联校正装置,使校正后系统满足:Kv=10(1/s),ts小于3s,超调量小于15%,裕角大于45°,并在simulink中画出原理图
首先,我们需要计算出系统的静态误差常数Kv。
Kv = lim(s→0) Gc(s)Go(s) / s
= lim(s→0) Kc / [s(s+5)(s+10)] / s
= Kc/50
因此,我们可以得到Kc=500。
接下来,我们需要设计串联校正器Gc(s)。考虑使用PID控制器,其传递函数为:
Gc(s) = Kp + Ki/s + Kd*s
其中,Kp为比例增益,Ki为积分时间常数,Kd为微分时间常数。
根据调节要求,我们可以先选择比例增益Kp=12.5,使得系统具有较快的响应速度。
接下来,为了满足Kv=10(1/s), 我们需要确定积分时间常数Ki:
Kv = lim(s→0) Gc(s)Go(s) / s
= lim(s→0) [Kp/s] / [s(s+5)(s+10)] / s
= Kp/50Ki
因此,Ki=0.8。
为了满足超调量小于15%,我们需要确定微分时间常数Kd,这里选择经验公式Kd=Ki/10=0.08。
最后,我们需要对系统进行稳定性分析。根据Bode图,我们可以得到系统的相角裕度为64.9°,大于45°,因此满足裕度要求。
综上所述,串联校正器的传递函数为:
Gc(s) = 12.5 + 0.8/s + 0.08s
在simulink中,我们可以按照如下方式进行建模:
![image.png](attachment:image.png)
已知单位负反馈控制系统的开环传递函数为:Go(S)=K/(s(0.1s+1)(0.001s+1)),设计串联校正装置,使校正后系统满足:Kv=100(1/s),ts小于0.05s,超调量小于30%,裕角大于45°
首先,我们需要计算出开环传递函数的静态误差常数Kv。由于这是一个单位负反馈系统,我们可以使用公式Kv=lims->0(s*Go(s))来计算Kv,得到Kv=1/0.1=10(1/s)。
接下来,我们需要设计串联校正装置,以满足要求。由于我们需要控制系统的超调量、上升时间和裕度角,我们可以采用PID控制器进行串联校正。
首先,我们可以使用根轨迹法分析系统的稳定性和裕度角。根据给定的开环传递函数,我们可以绘制出根轨迹图:
```python
import numpy as np
import matplotlib.pyplot as plt
import control
# 开环传递函数
G = control.tf([1], [0.1, 1, 0.001, 1, 0])
# 绘制根轨迹
rlist, klist = control.rlocus(G, kvect=np.linspace(0, 1000, 10000))
plt.plot(np.real(rlist), np.imag(rlist))
plt.xlabel('Real Axis')
plt.ylabel('Imaginary Axis')
plt.title('Root Locus')
plt.grid()
plt.show()
```
根据根轨迹图,我们可以看到系统的极点都在左半平面,因此系统是稳定的。此外,我们可以找到满足裕度角大于45°的增益范围,即K=80到120。
接下来,我们可以使用频率响应法设计PID控制器。由于我们需要控制系统的超调量和上升时间,我们可以选择经典的比例-积分-微分(PID)控制器。根据频率响应法,我们需要根据系统的幅频特性和相频特性来选择合适的PID参数。
首先,我们可以绘制出系统的幅频特性和相频特性:
```python
# 绘制幅频特性和相频特性
w, mag, phase = control.bode(G, dB=True, Hz=True, deg=True, Plot=False)
plt.subplot(2, 1, 1)
plt.semilogx(w, mag)
plt.ylabel('Magnitude (dB)')
plt.grid()
plt.subplot(2, 1, 2)
plt.semilogx(w, phase)
plt.xlabel('Frequency (Hz)')
plt.ylabel('Phase (deg)')
plt.grid()
plt.show()
```
根据幅频特性和相频特性,我们可以选择PID参数。根据经验公式,我们可以选择比例增益Kp=0.4*K,积分时间常数Ti=0.5/ts,微分时间常数Td=0.125*ts。
```python
# 选择PID参数
K = 100
Kp = 0.4 * K
ts = 0.05
Ti = 0.5 / ts
Td = 0.125 * ts
# 设计PID控制器
C = control.tf([Kp*Td, Kp, Kp/Ti], [1, 0])
C = control.minreal(C)
# 计算校正后系统的开环传递函数和闭环传递函数
Go_c = C * G
Gc = control.feedback(Go_c)
```
最后,我们可以检查校正后系统是否满足要求。首先,我们可以计算校正后系统的静态误差常数Kv,确保其等于100(1/s)。
```python
# 计算校正后系统的静态误差常数Kv
Kv_c = control.dcgain(Gc * 1/s)
print('Kv_c:', Kv_c)
```
然后,我们可以绘制校正后系统的单位阶跃响应,检查其上升时间和超调量是否满足要求。
```python
# 绘制校正后系统的单位阶跃响应
t, y = control.step_response(Gc)
plt.plot(t, y)
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.title('Step Response')
plt.grid()
plt.show()
# 计算校正后系统的上升时间和超调量
tr = control.rise_time(Gc)
Mp = control.peak_response(Gc)
print('tr:', tr)
print('Mp:', Mp)
```
最后,我们可以计算校正后系统的相角裕度和增益裕度,确保其大于45°。
```python
# 计算校正后系统的相角裕度和增益裕度
gm, pm, sm, wg, wp, ws = control.margin(Go_c)
print('gm:', gm)
print('pm:', pm)
```
如果校正后系统满足所有要求,则可以将PID控制器实现到实际系统中。
阅读全文