Proportional Integral Derivative
PID 控制器是工业控制中应用最广泛的反馈控制算法,通过比例、积分、微分三个环节的组合,实现对系统误差的快速、准确、稳定控制。
📖 1. 概述
PID(Proportional-Integral-Derivative)控制器是一种线性反馈控制器,其核心思想是根据系统误差(设定值与实际输出之差)的比例、积分、微分组合来生成控制信号。
比例 P
当前误差的响应,快速但有稳态误差
积分 I
历史误差的累积,消除稳态误差
微分 D
误差变化趋势的预测,抑制超调
广泛应用
工业控制中 90% 以上的控制器采用 PID
🔧 2. PID 原理
2.1 比例环节(P)
比例环节的输出与误差信号成正比,是最基本的控制环节。
优点
- 响应速度快
- 结构简单
- 即时响应误差变化
缺点
- 存在稳态误差
- Kp 过大会导致振荡
- 无法消除常值干扰
2.2 积分环节(I)
积分环节的输出与误差的累积量成正比,用于消除稳态误差。
2.3 微分环节(D)
微分环节的输出与误差的变化率成正比,用于预测误差变化趋势。
2.4 PID 各环节响应对比
📝 3. 公式推导
3.1 连续时间形式
PID 控制器的连续时间表达式:
其中:
| 符号 | 含义 | 作用 |
|---|---|---|
| \(K_p\) | 比例增益 | 控制当前误差的响应强度 |
| \(K_i\) | 积分增益 | 控制历史误差累积的响应强度 |
| \(K_d\) | 微分增益 | 控制误差变化率的响应强度 |
| \(e(t)\) | 误差信号 | \(e(t) = r(t) - y(t)\) |
3.2 离散时间形式
使用矩形积分近似和后向差分近似:
其中 \(T_s\) 为采样周期。离散形式便于数字控制器实现。
3.3 传递函数形式
在 Laplace 域中,PID 控制器的传递函数为:
标准 PID 形式
工程中常用的标准形式:
其中 \(T_i = K_p/K_i\) 为积分时间常数,\(T_d = K_d/K_p\) 为微分时间常数。
并联 PID 形式
各环节独立调节:
连续时间
离散时间
📊 4. 频域分析
4.1 伯德图(Bode Plot)
伯德图用于分析系统频率响应,包含幅频特性和相频特性两部分。
| 频段 | 主导环节 | 幅频斜率 | 相频特性 |
|---|---|---|---|
| 低频段 (\(\omega \to 0\)) | 积分 I | -20 dB/dec | \(\to -90°\) |
| 中频段 | 比例 P | 0 dB/dec | \(\to 0°\) |
| 高频段 (\(\omega \to \infty\)) | 微分 D | +20 dB/dec | \(\to +90°\) |
🔧 交互式频域分析(拖动滑块调整参数)
伯德图 - 幅频特性
伯德图 - 相频特性
奈氏图
极点-零点图
4.2 奈氏图(Nyquist Plot)
奈氏图是频率响应在复平面上的极坐标表示,用于判断闭环系统稳定性。
4.3 极点-零点图
PID 控制器的传递函数为:
| 特征 | 位置 | 影响 |
|---|---|---|
| 极点 | \(s = 0\)(原点) | 积分环节,消除稳态误差 |
| 零点 | 由 \(K_d s^2 + K_p s + K_i = 0\) 决定 | 影响系统动态响应 |
🎯 5. 稳定性分析
5.1 劳斯-赫尔维茨判据
对于闭环特征方程 \(1 + G_c(s)G_p(s) = 0\),劳斯判据可用于判断稳定性。
系统:\(G_p(s) = \frac{K}{\tau s + 1}\)
闭环特征方程:\(\tau s^2 + (1 + KK_d)s + KK_p = 0\)
稳定条件:\(\tau > 0, 1+KK_d > 0, KK_p > 0\)(始终成立)
系统:\(G_p(s) = \frac{K}{s(\tau s + 1)}\)
闭环特征方程:\(\tau s^3 + s^2 + KK_d s^2 + KK_p s + KK_i = 0\)
使用劳斯判据判断稳定性。
5.2 相位裕度与增益裕度
相位裕度 (PM)
定义:增益穿越频率处相位与 -180° 的差值。
推荐:\(PM \geq 45°\) 保证良好的阻尼特性。
增益裕度 (GM)
定义:相位穿越频率处增益的倒数。
推荐:\(GM \geq 6\) dB 保证足够的稳定性。
🔥 6. PID 变体
特点:消除稳态误差,但无法预测误差变化趋势。
适用:对动态响应要求不高、主要关心稳态精度的场合。
特点:预测误差变化趋势,改善动态性能,但无法消除稳态误差。
适用:响应速度要求高、稳态误差可接受的场合。
特点:输出控制量的增量,避免积分饱和,便于无扰切换。
当控制量达到饱和限制时,停止积分累积或反向积分:
作用:防止执行器饱和时积分项持续累积导致的超调。
对微分项添加低通滤波器,抑制高频噪声:
作用:保留微分环节的相位超前特性,同时抑制高频噪声放大。
PID 变体对比
| 类型 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| PID | 全面、鲁棒 | 参数多、调参复杂 | 通用 |
| PI | 简单、消除稳态误差 | 响应较慢 | 温度、液位控制 |
| PD | 响应快、抑制超调 | 有稳态误差 | 伺服系统 |
| 增量式 | 无积分饱和、便于切换 | 需要历史数据 | 过程控制 |
🏗️ 7. 调参方法
7.1 Ziegler-Nichols 方法
经典的 PID 参数整定方法,基于系统的临界增益和临界周期。
1. 仅使用比例控制,逐步增大 Kp 直到系统等幅振荡
2. 记录此时的临界增益 \(K_u\) 和振荡周期 \(T_u\)
3. 按下表计算 PID 参数
| 控制器类型 | Kp | Ti | Td | Ki | Kd |
|---|---|---|---|---|---|
| P | 0.5 Ku | - | - | - | - |
| PI | 0.45 Ku | Tu/1.2 | - | 0.54 Ku/Tu | - |
| PID | 0.6 Ku | Tu/2 | Tu/8 | 1.2 Ku/Tu | 0.075 Ku·Tu |
7.2 手动整定原则
Step 1: 先调 P
从小到大增加 Kp,直到系统响应快但不振荡(超调 < 20%)。
Step 2: 再调 I
从小到大增加 Ki,消除稳态误差,同时避免过大的超调。
Step 3: 最后调 D
从小到大增加 Kd,抑制超调,改善动态性能,注意避免噪声放大。
7.3 常见调参经验
温度控制
Kp 适中,Ki 较小,Kd 较小(响应慢)
位置控制
Kp 较大,Ki 适中,Kd 较大(快速响应)
流量控制
Kp 较小,Ki 适中,Kd 较小(抑制噪声)
压力控制
Kp 适中,Ki 较小,Kd 适中(平衡响应与稳定性)
7.4 参数对系统性能的影响
| 参数增大 | 上升时间 | 超调量 | 调节时间 | 稳态误差 |
|---|---|---|---|---|
| \(K_p\) 增大 | 减小 | 增大 | 基本不变 | 减小 |
| \(K_i\) 增大 | 减小 | 增大 | 增大 | 消除 |
| \(K_d\) 增大 | 基本不变 | 减小 | 减小 | 基本不变 |
🚀 8. 应用场景
工业炉、烘箱、反应釜等温度控制系统。
import numpy as np
import matplotlib.pyplot as plt
# 一阶惯性系统
K, tau = 1.0, 10.0 # 增益、时间常数
Kp, Ki, Kd = 2.0, 0.1, 0.5
dt, T = 0.1, 100
t = np.arange(0, T, dt)
x, e_prev, integral = 0, 0, 0
for i in range(1, len(t)):
e = 1 - x # 阶跃响应
integral += e * dt
derivative = (e - e_prev) / dt
u = Kp * e + Ki * integral + Kd * derivative
x = x + dt * (-x + K * u) / tau
e_prev = e
直流电机、伺服电机的速度控制。
# 电机模型: J*dw/dt = Kt*i - B*w
J, B, Kt = 0.01, 0.1, 0.5 # 转动惯量、摩擦、力矩常数
Kp, Ki, Kd = 10, 5, 0.1
dt, T = 0.001, 2
t = np.arange(0, T, dt)
w, e_prev, integral = 0, 0, 0
for i in range(1, len(t)):
e = 100 - w # 目标转速 100 rad/s
integral += e * dt
derivative = (e - e_prev) / dt
i_cmd = Kp * e + Ki * integral + Kd * derivative
w = w + dt * (Kt * i_cmd - B * w) / J
e_prev = e
车辆速度控制、自适应巡航控制 (ACC)。
- 输入:目标车速、当前车速
- 输出:油门/刹车控制量
- 特点:需要考虑执行器延迟和车辆动力学
化工、制药、食品等工业过程控制。
- 液位控制:储罐液位稳定
- 流量控制:管道流量调节
- 压力控制:容器压力稳定
- 浓度控制:混合物浓度调节
工业机器人、协作机器人的关节位置/力矩控制。
- 位置环:PI 控制,消除稳态误差
- 速度环:PI 控制,快速跟踪
- 力矩环:P 控制,高带宽响应
📊 9. 与其他方法对比
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| PID | 简单、鲁棒、不需模型 | 非最优、调参困难 | 通用、快速部署 |
| LQR | 最优性、理论完善 | 需要精确模型 | 线性系统、无约束 |
| MPC | 处理约束、多变量 | 计算量大 | 有约束、非线性 |
| H∞ | 强鲁棒性 | 保守、复杂 | 不确定性大 |
| 模糊 PID | 不需精确模型、自适应 | 规则设计主观 | 非线性、不确定 |
决策流程图
✅ 简单系统 + 快速部署 + 不需模型 → PID
✅ 线性系统 + 无约束 + 需要最优 → LQR
✅ 有约束 + 非线性 + 计算资源充足 → MPC
✅ 强鲁棒性要求 + 模型不确定 → H∞
✅ 非线性 + 无精确模型 + 经验知识 → 模糊 PID
❓ 10. 常见问题
10.1 PID 控制器振荡怎么办?
1. Kp 过大 → 减小比例增益
2. Ki 过大 → 减小积分增益
3. Kd 过大 → 减小微分增益(可能放大噪声)
4. 采样周期过小 → 增大采样周期
10.2 如何消除稳态误差?
1. 增加积分环节(Ki > 0)
2. 增大积分时间(减小 Ki)
3. 使用积分抗饱和策略
4. 检查执行器是否饱和
10.3 PID 与 LQR 的关系?
对于一阶系统 \(\dot{x} = -ax + bu\):
- LQR 增益 \(K = \sqrt{q/r}\),类似于比例增益
- 积分环节的引入可消除稳态误差,类似于 LQR 中添加积分状态
- PID 可看作 LQR 的简化版本,适用于不需要精确模型的场合
10.4 数字 PID 的实现方式?
位置式 PID
缺点:需要累积历史误差,易积分饱和。
增量式 PID
优点:无需累积历史误差,便于无扰切换。
10.5 采样周期如何选择?
- 采样频率应为系统带宽的 10~20 倍
- 温度控制:\(T_s = 1 \sim 10\) s
- 位置/速度控制:\(T_s = 1 \sim 10\) ms
- 电流环:\(T_s = 0.1 \sim 1\) ms
📚 11. 参考文献
- Astrom, K. J., & Hagglund, T. (2006). Advanced PID Control. ISA.
- Ogata, K. (2010). Modern Control Engineering (5th ed.). Prentice Hall.
- Dorf, R. C., & Bishop, R. H. (2011). Modern Control Systems (12th ed.). Prentice Hall.
- Franklin, G. F., Powell, J. D., Emami-Naeini, A., & Powell, J. D. (2015). Feedback Control of Dynamic Systems (7th ed.). Pearson.
← 返回首页 | Last updated: 2026-06-25 | Made with love for classical control