针对被控对象传递函数100/(s^2+3s) ,要求: (1) 使用试凑法设计PID控制系统的 控制参数,使得系统的动态特性参数超调量 ≤10% ,稳态时间 ≤2s(稳态误差为2%)。matlab程序
时间: 2023-07-16 19:13:59 浏览: 177
使用试凑法设计PID控制系统的步骤如下:
1. 确定理想的闭环传递函数
根据题目中给出的要求,我们可以得到理想的闭环传递函数为:
$$
G_c(s)G_p(s)=\frac{K_d s^2 + K_p s + K_i}{s(s^2+3s)}
$$
2. 确定调节器参数初值
我们可以使用经验公式进行初值设定,常用的有 Ziegler-Nichols 方法和 Cohen-Coon 方法。这里我们选择 Ziegler-Nichols 方法,其初值为:
$$
K_p=0.6K_u, \quad T_i=0.5T_u, \quad T_d=0.12T_u
$$
其中 $K_u$ 和 $T_u$ 分别为开环传递函数 $G_p(s)$ 的临界增益和临界周期,可以通过实验或者计算得到。不过这里我们直接使用 matlab 中的 pidtune 函数进行自动调参。
3. 设计 PID 控制器
调用 matlab 中的 pidtune 函数,输入被控对象的传递函数以及指定的性能指标,即可得到 PID 控制器的参数。具体程序如下:
```matlab
% 定义被控对象的传递函数
Gp = tf([100],[1,3,0]);
% 定义期望的闭环传递函数
s = tf('s');
Kp = 0;
Ki = 0;
Kd = 0;
Gc = pid(Kp,Ki,Kd);
G = feedback(Gc*Gp,1);
% 定义性能指标
Mp = 0.1; % 超调量
Ts = 2; % 稳态时间
ess = 0.02; % 稳态误差
% 自动调参
[Gc,info] = pidtune(Gp,'pid',Mp,Ts,ess);
display(Gc);
% 绘制步跃响应曲线
step(G)
```
运行该程序,即可得到自动调参后的 PID 控制器参数以及步跃响应曲线。
阅读全文