PID

19 Views
No Comments

共计 2289 个字符,预计需要花费 6 分钟才能阅读完成。

PID对一阶系统

一阶系统开环响应(无控制)

% 定义一阶系统参数
K = 2;
T = 5;
G = tf(K, [T 1]);  % 传递函数 G(s) = 2/(5s + 1)

% 绘制开环阶跃响应
figure;
step(G);
title('一阶系统开环阶跃响应');
grid on;
  • 开环系统响应缓慢,存在稳态误差(终值为 K=2,若期望为 1 则误差为 1)

一阶系统闭环

% 定义一阶系统参数
K = 2;
T = 5;
G = tf(K, [T 1]);  % 传递函数 G(s) = 2/(5s + 1)

G_c = feedback(G, 1);  % 闭环系统
% 绘制开环阶跃响应
figure;
step(G_c);
title('一阶系统闭环阶跃响应');
grid on;

比例控制(P 控制)

Kp = 3;  % 比例增益
Gc_p = tf(Kp, 1);  % P控制器传递函数
G_p = feedback(Gc_p * G, 1);  % 闭环系统

figure;
step(G_p);
title('P控制下的一阶系统阶跃响应');
grid on;
  • Kp​ 增大,响应速度加快,稳态误差减小(但无法完全消除)

比例积分控制(PI 控制)


Kp = 2;
Ki = 1;  % 积分增益
Gc_pi = tf([Kp Ki], [1 0]);  % PI控制器传递函数
G_pi = feedback(Gc_pi * G, 1);  % 闭环系统

figure;
step(G_pi);
title('PI控制下的一阶系统阶跃响应');
grid on;
  • 积分作用消除稳态误差(终值精确跟踪期望)。
  • Ki​ 增大,消除误差速度加快,但可能导致响应变慢或轻微超调(一阶系统超调仍较小)

比例微分控制(PD 控制)

Kp = 2;
Kd = 1;  % 微分增益
Gc_pd = tf([Kd Kp], 1);  % PD控制器传递函数
G_pd = feedback(Gc_pd * G, 1);  % 闭环系统

figure;
step(G_pd);
title('PD控制下的一阶系统阶跃响应');
grid on;
  • 微分作用预测误差变化,加快响应速度,减小上升时间。

  • 对稳态误差无影响,仍需结合 P 或 PI 控制。

比例积分微分控制(PID 控制)

Kp = 2;
Ki = 1;
Kd = 0.9;
Gc_pid = tf([Kd Kp Ki], [1 0]);  % PID控制器传递函数
G_pid = feedback(Gc_pid * G, 1);  % 闭环系统

figure;
step(G_pid);
title('PID控制下的一阶系统阶跃响应');
grid on;
  • Kp​ 调整响应速度,Ki​ 消除稳态误差,Kd​ 抑制超调(若存在)。
  • 合理整定参数可实现 “快、准、稳” 的响应

PID对二阶系统

二阶系统无控制响应(基准)

% 定义二阶系统参数
zeta = 0.4;   % 阻尼比
wn = 2;       % 自然频率
G = tf(wn^2, [1 2*zeta*wn wn^2]);  % 传递函数

% 绘制无控制阶跃响应
figure;
step(G);
title('二阶系统无控制阶跃响应');
grid on;
  • 无控制时系统存在超调(约 25%),上升时间较长,若系统增益不为 1 还会有稳态误差。

二阶系统无控制响应(闭环)

% 定义二阶系统参数
zeta = 0.4;   % 阻尼比
wn = 2;       % 自然频率
G = tf(wn^2, [1 2*zeta*wn wn^2]);  % 传递函数

G_c = feedback(G, 1);  % 闭环系统
% 绘制开环阶跃响应
figure;
step(G_c);
title('二阶系统闭环阶跃响应');
grid on;

比例控制(P 控制)

Kp = 3;  % 比例增益
Gc_p = tf(Kp, 1);
G_p = feedback(Gc_p * G, 1);  % 闭环系统

figure;
step(G_p);
title('P控制下的二阶系统阶跃响应');
grid on;
  • Kp​ 增大:响应速度加快(上升时间缩短),但超调量增大,调节时间可能变长。
  • 稳态误差:若原系统为 “0 型” 系统,P 控制可减小但无法消除稳态误差

比例微分控制(PD 控制)


Kp = 3;
Kd = 1;  % 微分增益
Gc_pd = tf([Kd Kp], 1);
G_pd = feedback(Gc_pd * G, 1);

figure;
step(G_pd);
title('PD控制下的二阶系统阶跃响应');
grid on;
  • 微分作用 “预测” 误差变化,提前施加制动,显著减小超调量(甚至消除超调)。
  • 响应速度仍较快(上升时间短),但对稳态误差无改善。

比例积分控制(PI 控制)

Kp = 2;
Ki = 1;  % 积分增益
Gc_pi = tf([Kp Ki], [1 0]);
G_pi = feedback(Gc_pi * G, 1);

figure;
step(G_pi);
title('PI控制下的二阶系统阶跃响应');
grid on;
  • 积分作用累积误差,完全消除稳态误差(终值精确跟踪期望)。
  • 但积分的 “滞后” 特性可能导致超调量增大,调节时间变长,需合理整定 Ki​

比例积分微分控制(PID 控制)

Kp = 3;
Ki = 2;
Kd = 0.8;
Gc_pid = tf([Kd Kp Ki], [1 0]);
G_pid = feedback(Gc_pid * G, 1);

figure;
step(G_pid);
title('PID控制下的二阶系统阶跃响应');
grid on;
  • Kp​ 加快响应,Ki​ 消除稳态误差,Kd​ 抑制超调。
  • 合理整定参数可实现 “无超调、无稳态误差、快速响应” 的理想效果

模拟PID与数字PID

PID

在线仿真

https://www.luisllamas.es/en/pid-controller-simulator/
https://pid-simulator-web.skythinker.top/

END
 0
Yubbyo
Copyright Notice: Our original article was published by Yubbyo on 2025-05-21, total 2289 words.
Reproduction Note: Unless otherwise specified, all articles are published by cc-4.0 protocol. Please indicate the source of reprint.
Comment(No Comments)