设计水塔液位控制系统,若受控对象为k/s*(s+2.5)*(s+1),设计一个单回路控制系统,要求: 1)、分析系统的根轨迹图,系统是否稳定,并判断稳定范围; 2)、分析k等于2时系统的衰减比; 3)、给系统加入PID并进行参数的整定,采用等幅振荡法将系统的衰减比设置在5:1
时间: 2024-03-24 10:37:53 浏览: 89
水塔水位PID控制系统设计.doc
1. 系统根轨迹分析
首先,我们需要求出系统的传递函数:
G(s) = k/s * (s+2.5) * (s+1)
然后,使用Matlab中的rlocus函数绘制系统的根轨迹:
```matlab
num = [1];
den = [1 3.5 2.5 0];
sys = tf(num, den);
rlocus(sys);
```
根据根轨迹图,我们可以发现系统的根轨迹没有穿过虚轴右半平面,因此系统是稳定的。稳定范围是k > 0。
2. k=2时系统的衰减比分析
我们可以使用Matlab中的step函数绘制系统在k=2时的阶跃响应:
```matlab
k = 2;
num = [k 2.5*k 2.5*k];
den = [1 3.5 2.5 0];
sys = tf(num, den);
step(sys);
```
从阶跃响应图中,我们可以看到系统的衰减比约为0.6,即约为3:5。
3. PID参数整定
我们可以使用等幅振荡法来确定PID参数。
首先,我们需要确定系统的衰减比为5:1,即ζ=0.2。
然后,根据等幅振荡法,我们可以得到系统的周期T和增益Ku:
T = pi/(ωd*sqrt(1-ζ^2))
Ku = 4*ζ/(π*sqrt(1-ζ^2))
其中,ωd为系统的震荡频率,可以从根轨迹图中读出。
```matlab
num = [1];
den = [1 3.5 2.5 0];
sys = tf(num, den);
rlocus(sys);
sgrid(0.2, 0);
```
可以看到,当ζ=0.2时,根轨迹与sgrid相交的两点分别为-2.13±1.43j。
因此,ωd=1.43,T=2.21。
接下来,根据Ku和T,我们可以得到PID参数:
Kp = 0.6*Ku
Ki = 1.2*Ku/T
Kd = 0.075*Ku*T
```matlab
Kp = 0.6*Ku;
Ki = 1.2*Ku/T;
Kd = 0.075*Ku*T;
```
最终,我们可以使用Matlab中的pid函数对系统进行PID控制器的设计:
```matlab
Kp = 0.6*Ku;
Ki = 1.2*Ku/T;
Kd = 0.075*Ku*T;
C = pid(Kp, Ki, Kd);
sys_cl = feedback(C*sys, 1);
step(sys_cl);
```
可以看到,经过PID参数整定后,系统的阶跃响应满足衰减比为5:1的要求。
阅读全文