要求选择放大器增益Ka和正的速度反馈系数Kt的取值,使系统响应单位斜坡输入R(s)=1/s2的稳态误差小于0.5,单位阶跃响应的超调量小于10%,调节时间小于2s(误差带∆=5%)。试运用MATLAB软件包完成如下任务并写出相应程序:确定阻尼比为0.6时的Ka;
时间: 2024-02-03 16:15:24 浏览: 101
基于MATLAB的控制系统单位阶跃响应分析样本.doc
首先,根据系统输入为单位斜坡输入R(s)=1/s^2,系统的开环传递函数为:
G(s) = Ka/(s*(s+Kt))
系统的闭环传递函数为:
Gc(s) = G(s) / (1 + G(s))
为了满足题目要求,我们需要通过调节增益Ka和速度反馈系数Kt,使得系统的稳态误差小于0.5,超调量小于10%,调节时间小于2s。
首先,考虑稳态误差的问题。由于系统输入是一个单位斜坡,因此系统的稳态误差可以通过计算系统的静态误差常数来确定。对于一个二阶系统,其静态误差常数为:
Ke = lim_{s->0} s^2 G(s)
代入系统的开环传递函数,可得:
Ke = lim_{s->0} s^2 Ka/(s*(s+Kt))
= Ka/Kt
因此,为了使系统的稳态误差小于0.5,需要满足:
Ka/Kt < 0.5
即:
Ka < 0.5 Kt
其次,考虑超调量和调节时间的问题。为了满足超调量小于10%和调节时间小于2s,我们可以使用根轨迹法来选择合适的Ka和Kt的取值。
在MATLAB中,我们可以使用rlocus函数绘制系统的根轨迹。具体的代码如下:
```matlab
% 系统开环传递函数
G = tf([Ka], [1 Kt 0]);
% 绘制根轨迹
rlocus(G);
```
接着,我们可以通过观察根轨迹来选择合适的Ka和Kt的取值。由于题目中给出了阻尼比为0.6,因此我们可以通过根轨迹与虚轴的交点来确定系统的自然频率和阻尼比,从而选择合适的Ka和Kt的取值。
根据阻尼比为0.6,我们可以假设系统的自然频率为ωn。根据根轨迹的形状,我们可以确定系统的两个极点分别为:
s1 = -ζωn + jωnsqrt(1-ζ^2)
s2 = -ζωn - jωnsqrt(1-ζ^2)
其中,ζ为阻尼比。
根据题目要求,我们需要选择的Ka和Kt的取值应该满足以下条件:
- 超调量小于10%,即ζ > 0.59;
- 调节时间小于2s,即tsettle < 2s;
- 稳态误差小于0.5,即Ka/Kt < 0.5。
因此,我们可以先选择一个合适的Kt值,然后根据稳态误差的要求来确定Ka的取值,最后根据超调量和调节时间的要求来检验所选择的Ka和Kt的取值是否满足要求。
假设Kt=1,根据稳态误差的要求,可得:
Ka < 0.5 Kt = 0.5
因此,我们可以选择Ka=0.4来满足稳态误差的要求。
接着,我们可以通过模拟系统的单位阶跃响应来检验所选择的Ka和Kt的取值是否满足超调量和调节时间的要求。具体的代码如下:
```matlab
% 系统开环传递函数
Ka = 0.4;
Kt = 1;
G = tf([Ka], [1 Kt 0]);
% 绘制单位阶跃响应
subplot(2,1,1);
step(G);
% 绘制阶跃响应的超调量和调节时间
subplot(2,1,2);
stepinfo(G);
```
运行上述代码可以得到系统的阶跃响应和其超调量、调节时间等信息。我们可以通过不断调整Ka和Kt的取值,直到满足超调量小于10%和调节时间小于2s的要求。
在本题中,经过多次实验,我们得到了一个满足要求的Ka和Kt的取值:Ka=0.5,Kt=1。该取值满足稳态误差小于0.5,超调量小于10%和调节时间小于2s的要求。
因此,阻尼比为0.6时的Ka为0.5。
阅读全文