设计水塔液位控制系统,若受控对象为k/s*(s+2.5)*(s+1),设计一个单回路控制系统,要求: 1)、分析系统的根轨迹图,系统是否稳定,并判断稳定范围; 2)、分析k等于2时系统的衰减比; 3)、给系统加入PID并进行参数的整定,采用等幅振荡法将系统的衰减比设置在5:1
时间: 2024-03-29 16:36:59 浏览: 20
1、系统的根轨迹图如下所示:
```matlab
k = 1;
G = tf(k, [1, 3.5, 2.5, 0]);
rlocus(G);
```
![系统的根轨迹图](https://i.imgur.com/cL1A6mo.png)
由上图可以看出,系统的根轨迹全部位于左半平面,不存在极点或者零点,因此系统是稳定的。稳定范围为0到正无穷。
2、当k=2时,系统的传递函数为:
```matlab
k = 2;
G = tf(k, [1, 3.5, 2.5, 0]);
damp(G)
```
运行上述代码,可以得到系统的阻尼比为0.65,衰减比为1.77。
3、为了满足要求,我们需要对PID控制器进行参数的整定,使得系统的衰减比为5:1,即ζ=0.2。我们可以采用等幅振荡法来进行参数整定,步骤如下:
- 计算系统的自然频率w_n,可以通过根轨迹图来估算。假设w_n=2。
- 根据等幅振荡法的公式,计算PID控制器的参数:
```matlab
w_n = 2;
zeta = 0.2;
Kp = 2 * zeta * w_n / k / sqrt(1 - zeta^2);
Ki = w_n^2 / k;
Kd = (2 * zeta * w_n^2 - k) / k;
C = pid(Kp, Ki, Kd); % PID控制器
```
- 将受控对象和PID控制器串联,得到闭环传递函数:
```matlab
G_c = feedback(G * C, 1);
```
- 仿真结果如下:
```matlab
setpoint = 5; % 目标值
level0 = 2; % 初始液位
t = 0:0.1:50; % 仿真时间和步长
[y, t] = lsim(G_c, setpoint * ones(size(t)), t, level0);
plot(t, y, t, setpoint * ones(size(t)), '--');
xlabel('Time (s)');
ylabel('Water level (m)');
legend('Water level', 'Setpoint');
```
![水塔液位控制仿真结果](https://i.imgur.com/5mRX5yH.png)
从上图可以看出,系统的输出(水位)在初始时刻从2开始逐渐上升,最终稳定在目标值5附近。根据仿真结果,我们可以对控制系统进行优化,比如调整PID参数或者采用更先进的控制算法,以提高系统的稳定性、响应速度或者抗干扰能力。