第3章:经典控制器设计
本章将深入探讨经典控制器的设计方法与实践技巧。我们将从最广泛使用的PID控制器开始,逐步介绍超前-滞后补偿器和频域设计方法,并结合工程实践中的经验规则。通过工业电机伺服系统的完整案例,读者将掌握从系统建模到控制器实现的全流程。本章特别强调实用性,每个设计方法都配有详细的调参指南和工程经验。
3.1 PID控制器设计与调参技巧
3.1.1 PID控制器基本原理
PID控制器是工业控制中最经典且应用最广泛的控制器,其成功源于结构简单、鲁棒性强、无需精确数学模型等优点。尽管现代控制理论已经发展出许多先进算法,但据统计,超过90%的工业控制回路仍采用PID控制。
PID控制器的基本形式为:
$$u(t) = K_p e(t) + K_i \int_0^t e(\tau) d\tau + K_d \frac{de(t)}{dt}$$ 其中:
- $e(t) = r(t) - y(t)$ 是误差信号
- $K_p$ 是比例增益
- $K_i$ 是积分增益
- $K_d$ 是微分增益
在频域中,PID控制器的传递函数为: $$C(s) = K_p + \frac{K_i}{s} + K_d s = \frac{K_d s^2 + K_p s + K_i}{s}$$
3.1.2 PID各项的物理意义与作用
比例项(P):提供与当前误差成正比的控制作用,决定系统的响应速度和稳态误差。
- 增大$K_p$:响应更快,但可能引起超调和振荡
- 减小$K_p$:系统更稳定,但响应变慢,稳态误差增大
积分项(I):累积历史误差,消除稳态误差,实现无差跟踪。
- 增大$K_i$:稳态误差消除更快,但可能导致积分饱和
- 减小$K_i$:避免超调,但稳态误差消除变慢
微分项(D):预测误差变化趋势,提供阻尼作用,改善动态性能。
- 增大$K_d$:增强系统阻尼,减少超调
- 减小$K_d$:避免对噪声的放大作用
3.1.3 PID参数整定方法
Ziegler-Nichols方法
这是最经典的PID整定方法,分为两种:
方法一:基于阶跃响应
对于具有S形阶跃响应的系统,测量延迟时间$L$和时间常数$T$:
|
K | _____________
| /
| /
| /
|_/________________
L T t
整定公式: | 控制器类型 | $K_p$ | $T_i$ | $T_d$ |
| 控制器类型 | $K_p$ | $T_i$ | $T_d$ |
|---|---|---|---|
| P | $T/L$ | ∞ | 0 |
| PI | $0.9T/L$ | $L/0.3$ | 0 |
| PID | $1.2T/L$ | $2L$ | $0.5L$ |
方法二:临界增益法
- 仅使用比例控制,逐渐增大$K_p$直到系统临界振荡
- 记录临界增益$K_u$和振荡周期$T_u$
- 根据下表计算PID参数:
| 控制器类型 | $K_p$ | $T_i$ | $T_d$ |
| 控制器类型 | $K_p$ | $T_i$ | $T_d$ |
|---|---|---|---|
| P | $0.5K_u$ | ∞ | 0 |
| PI | $0.45K_u$ | $T_u/1.2$ | 0 |
| PID | $0.6K_u$ | $T_u/2$ | $T_u/8$ |
Cohen-Coon方法
适用于具有大时滞的过程,基于一阶加纯滞后模型: $$G(s) = \frac{K e^{-\theta s}}{\tau s + 1}$$ 整定公式考虑了时滞比$\theta/\tau$的影响,提供更保守的参数。
现代优化方法
ISE最小化(积分平方误差): $$J_{ISE} = \int_0^\infty e^2(t) dt$$ ITAE最小化(时间加权积分绝对误差): $$J_{ITAE} = \int_0^\infty t|e(t)| dt$$ 这些方法通过数值优化获得最优PID参数,ITAE准则特别适合抑制后期振荡。
3.1.4 实用PID变形与改进
两自由度PID
将给定值响应和扰动抑制分离设计: $$u(t) = K_p(\beta r(t) - y(t)) + K_i \int_0^t (r(\tau) - y(\tau)) d\tau - K_d \frac{dy(t)}{dt}$$ 其中$\beta \in [0,1]$是给定值权重因子。
带死区的PID
避免在小误差时频繁动作: $$u(t) = \begin{cases} PID(e) & |e| > \epsilon \\ 0 & |e| \leq \epsilon \end{cases}$$
抗积分饱和(Anti-windup)
防止执行器饱和时积分项继续累积:
if u > u_max:
u = u_max
integral_term = u_max - (Kp*e + Kd*de/dt)
elif u < u_min:
u = u_min
integral_term = u_min - (Kp*e + Kd*de/dt)
微分先行PID
仅对输出微分,避免给定值突变引起的微分冲击: $$u(t) = K_p e(t) + K_i \int_0^t e(\tau) d\tau - K_d \frac{dy(t)}{dt}$$
3.1.5 工程实践技巧
- 启动策略:使用"软启动",逐渐增加控制器输出避免冲击
- 采样时间选择:一般取系统上升时间的1/10到1/20
- 滤波器设计:微分项需配合低通滤波器,截止频率约为$10/T_d$
- 参数调整顺序:先P后I再D,每次只调一个参数
- 性能权衡:快速性、稳定性、鲁棒性三者不可兼得
3.2 超前-滞后补偿器
3.2.1 超前补偿器设计
超前补偿器用于改善系统的相位裕度和响应速度: $$G_c(s) = K_c \frac{s + z}{s + p}, \quad z < p$$ 或标准形式: $$G_c(s) = K_c \alpha \frac{Ts + 1}{\alpha Ts + 1}, \quad \alpha < 1$$ 最大相位超前量: $$\phi_{max} = \sin^{-1}\left(\frac{1-\alpha}{1+\alpha}\right)$$ 发生在频率: $$\omega_m = \frac{1}{T\sqrt{\alpha}}$$ 设计步骤:
- 确定期望的相位裕度$PM_d$
- 计算需要的相位超前量:$\phi_m = PM_d - PM_{current} + 5°$(安全裕量)
- 计算$\alpha = \frac{1-\sin\phi_m}{1+\sin\phi_m}$
- 选择$\omega_m$使其位于新的剪切频率
- 计算$T = \frac{1}{\omega_m\sqrt{\alpha}}$
- 调整增益$K_c$满足幅值条件
3.2.2 滞后补偿器设计
滞后补偿器用于改善稳态精度而不影响动态性能: $$G_c(s) = K_c \frac{s + z}{s + p}, \quad z > p$$ 或标准形式: $$G_c(s) = K_c \frac{Ts + 1}{\beta Ts + 1}, \quad \beta > 1$$ 设计原则:
- 零点和极点都远离剪切频率(通常小于剪切频率的1/10)
- 提供的相位滞后在剪切频率处小于5°
- 主要作用是降低高频增益,提高低频增益
3.2.3 超前-滞后补偿器
结合两者优点,同时改善稳态和动态性能: $$G_c(s) = K_c \frac{(s+z_1)(s+z_2)}{(s+p_1)(s+p_2)}$$ 其中$z_1 < p_1$(超前部分),$z_2 > p_2$(滞后部分)。
设计时通常先设计超前部分改善动态性能,再设计滞后部分改善稳态精度。
3.3 频域设计方法
3.3.1 基于Bode图的设计
频域设计的核心是调整开环频率特性以满足性能指标:
性能指标与频域特性的关系:
- 带宽$\omega_b$ ≈ 上升时间$t_r$的倒数
- 相位裕度$PM$ ≈ $100 \times \zeta$(对于$\zeta < 0.7$)
- 谐振峰值$M_r$ ≈ $\frac{1}{2\zeta}$(对于$\zeta < 0.7$)
典型设计流程:
- 绘制原系统Bode图
- 确定性能要求(带宽、相位裕度、增益裕度)
- 设计补偿器修改频率特性
- 验证闭环性能
3.3.2 基于Nyquist图的设计
Nyquist设计注重系统的鲁棒性:
灵敏度函数: $$S(j\omega) = \frac{1}{1 + G(j\omega)C(j\omega)}$$ 补灵敏度函数: $$T(j\omega) = \frac{G(j\omega)C(j\omega)}{1 + G(j\omega)C(j\omega)}$$ 设计目标:
- $|S(j\omega)|$ 在低频小(跟踪性能)
- $|T(j\omega)|$ 在高频小(噪声抑制)
- 最大灵敏度$M_s = \max|S(j\omega)|$ 典型取1.4-2.0
3.3.3 环路整形设计
通过调整开环传递函数的形状满足多目标要求:
理想的开环频率特性:
- 低频段:高增益,斜率-20或-40 dB/dec(稳态性能)
- 中频段:斜率-20 dB/dec穿越0 dB(稳定性)
- 高频段:快速衰减(噪声抑制)
|G(jω)|
↑
|\ 低频:高增益
| \
| \ 中频:-20dB/dec
0 |------\--------
| \
| \ 高频:快衰减
|____________\___→ ω
ωc
3.4 工程实践中的规则与技巧
3.4.1 经验法则汇总
工程实践中积累了大量经验法则,这些规则虽然不是严格的理论,但在实际应用中极其有效。
系统类型选择:
- 0型系统:适合调节控制,不需要跟踪斜坡信号
- I型系统:可跟踪阶跃,适合大多数工业过程
- II型系统:可跟踪斜坡,适合运动控制
带宽选择原则:
- 带宽 ≈ 期望响应速度的3-5倍
- 带宽过高:噪声敏感,执行器饱和
- 带宽过低:响应缓慢,抗扰能力差
相位裕度选择:
- PM < 30°:系统接近不稳定,振荡严重
- PM = 30°-45°:快速响应,有一定超调
- PM = 45°-60°:良好的折中,推荐范围
- PM > 60°:过阻尼响应,较慢但稳定
增益裕度选择:
- GM > 6 dB(2倍):基本要求
- GM > 10 dB(3倍):保守设计
- 对于非最小相位系统需要更大裕度
3.4.2 实际约束处理
执行器饱和:
- 设计时预留20-30%的控制裕量
- 实施抗饱和措施(条件积分、反计算等)
- 考虑速率限制:$|\dot{u}| < \dot{u}_{max}$
测量噪声:
- 传感器带宽应为控制带宽的10倍以上
- 使用卡尔曼滤波或低通滤波
- 微分项必须配合滤波器
采样与量化:
- 采样频率 > 20倍带宽(经验值)
- 考虑量化误差对稳态精度的影响
- 避免极点接近z平面单位圆
3.4.3 调试技巧与故障诊断
系统辨识前的检查:
- 开环稳定性测试
- 执行器动作范围验证
- 传感器标定与零点校准
- 通信延迟测量
常见问题诊断:
| 现象 | 可能原因 | 解决方法 |
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 持续振荡 | 增益过高/相位裕度不足 | 降低增益/增加相位补偿 |
| 稳态误差 | 积分增益不足/系统类型不够 | 增加积分作用 |
| 响应迟缓 | 带宽过低/增益不足 | 提高增益/增加超前补偿 |
| 高频振荡 | 微分增益过高/噪声放大 | 降低微分增益/加强滤波 |
| 初始冲击 | 微分冲击/积分初值 | 使用微分先行/设置合理初值 |
性能优化步骤:
- 先满足稳定性要求
- 调整稳态性能(积分项)
- 改善动态响应(比例项)
- 减少超调(微分项)
- 最后优化抗扰性能
3.4.4 不同应用场景的设计重点
温度控制:
- 大时间常数,强调积分作用
- 防止超调(材料损坏风险)
- 考虑非线性(加热/冷却不对称)
压力控制:
- 快速响应,防止压力冲击
- 注意安全阀动作
- 考虑流量耦合
流量控制:
- 非线性特性明显
- 需要前馈补偿
- 防止水锤效应
位置控制:
- 高精度要求
- 考虑摩擦和间隙
- 速度和加速度限制
速度控制:
- 平滑性要求高
- 负载扰动抑制
- 考虑惯量变化
3.5 案例研究:工业电机伺服系统
3.5.1 系统描述与建模
考虑一个典型的工业直流电机位置伺服系统,用于CNC机床的进给轴控制。
系统参数:
- 电机惯量:$J = 0.01$ kg·m²
- 粘性摩擦系数:$B = 0.1$ N·m·s
- 电机力矩常数:$K_t = 0.01$ N·m/A
- 反电动势常数:$K_e = 0.01$ V·s/rad
- 电枢电阻:$R = 1$ Ω
- 电枢电感:$L = 0.5$ H
- 减速比:$N = 100$
- 编码器分辨率:2000线/转
数学模型:
电气方程: $$L\frac{di_a}{dt} + Ri_a + K_e\omega = V$$ 机械方程: $$J\frac{d\omega}{dt} + B\omega = K_t i_a - T_L$$ 其中$T_L$是负载转矩。
传递函数(忽略电感): $$G(s) = \frac{\Theta(s)}{V(s)} = \frac{K_t}{s[(R+K_eK_t/B)J + RB]}$$ 代入数值: $$G(s) = \frac{1}{s(s+2)}$$
3.5.2 性能指标
设计要求:
- 阶跃响应超调 < 5%
- 调节时间 < 0.5秒(2%误差带)
- 稳态误差 < 0.1%(斜坡输入)
- 抗扰性能:100 N·m阶跃扰动引起的位置偏差 < 0.01 rad
3.5.3 PID控制器设计
步骤1:根轨迹分析
开环传递函数有两个极点:$p_1 = 0$,$p_2 = -2$
步骤2:初始PID参数(Ziegler-Nichols)
通过仿真得到临界增益$K_u = 8$,振荡周期$T_u = 3.14$秒
初始参数:
- $K_p = 0.6 \times 8 = 4.8$
- $K_i = K_p/(T_u/2) = 3.06$
- $K_d = K_p \times T_u/8 = 1.88$
步骤3:参数优化
使用ITAE准则优化:
J = ∫₀^∞ t|e(t)|dt
优化后参数:
- $K_p = 3.2$
- $K_i = 2.8$
- $K_d = 0.9$
步骤4:抗饱和设计
u_max = 10 V % 电压限制
if abs(u) > u_max
u = sign(u) * u_max
% 停止积分
if sign(e) == sign(u)
Ki_effective = 0
end
end
3.5.4 实验结果与分析
阶跃响应:
- 上升时间:0.18秒
- 超调量:4.2%
- 调节时间:0.45秒
- 稳态误差:0
扰动响应:
- 最大偏差:0.008 rad
- 恢复时间:0.3秒
鲁棒性测试:
- 惯量变化±50%:系统保持稳定
- 摩擦增加100%:性能轻微下降
3.5.5 高级改进
前馈控制: $$u_{ff}(t) = K_{ff} \ddot{r}(t)$$ 其中$K_{ff} = J/K_t$为加速度前馈增益。
摩擦补偿: $$u_{friction} = K_{coulomb} \cdot sign(\dot{\theta}) + K_{viscous} \cdot \dot{\theta}$$ 自适应调节: 根据负载惯量在线调整PID参数: $$K_p = K_{p0} \cdot (1 + \alpha \cdot \hat{J}/J_0)$$
3.6 历史人物:Nicolas Minorsky与PID控制的诞生
Nicolas Minorsky(1885-1970)是一位俄裔美国工程师,被誉为PID控制理论的奠基人。1922年,他在研究美国海军战舰自动操舵系统时,首次系统地提出了三项控制(比例、积分、微分)的理论框架。
Minorsky观察到经验丰富的舵手在操船时会考虑三个因素:
- 当前的航向偏差(比例)
- 偏差的持续时间(积分)
- 偏差的变化率(微分)
他将这一观察数学化,发表了具有里程碑意义的论文《Directional Stability of Automatically Steered Bodies》。这项工作不仅解决了船舶自动驾驶问题,更为整个自动控制领域奠定了基础。
有趣的是,Minorsky的理论在当时并未立即获得广泛应用,直到1940年代,随着电子技术的发展,PID控制器才真正普及。今天,从家用电器到航天器,PID控制无处不在,这充分证明了简单而优雅的解决方案往往最为持久。
3.7 前沿专题:自抗扰控制(ADRC)理论
3.7.1 ADRC的提出背景
自抗扰控制(Active Disturbance Rejection Control)由韩京清研究员于1990年代提出,旨在继承PID控制的优点同时克服其不足。ADRC的核心思想是将系统的内部不确定性和外部扰动统一视为"总扰动",通过扩张状态观测器(ESO)实时估计并补偿。
3.7.2 ADRC的基本结构
ADRC由三个核心部分组成:
1. 跟踪微分器(TD): 安排过渡过程,避免初始误差过大: $$\begin{cases} \dot{v}_1 = v_2 \\ \dot{v}_2 = -R \cdot sat(v_1 - r + v_2|v_2|/(2R)) \end{cases}$$
2. 扩张状态观测器(ESO): 估计状态和总扰动: $$\begin{cases} \dot{z}_1 = z_2 - \beta_1(z_1 - y) \\ \dot{z}_2 = z_3 - \beta_2(z_1 - y) + bu \\ \dot{z}_3 = -\beta_3(z_1 - y) \end{cases}$$
3. 非线性状态误差反馈(NLSEF): $$u_0 = k_p \cdot fal(e_1, \alpha_1, \delta) + k_d \cdot fal(e_2, \alpha_2, \delta)$$ 其中$fal$是非线性函数: $$fal(e, \alpha, \delta) = \begin{cases} e/\delta^{1-\alpha} & |e| \leq \delta \\ |e|^\alpha \cdot sign(e) & |e| > \delta \end{cases}$$
3.7.3 ADRC的优势
- 不依赖精确模型:将模型不确定性作为扰动处理
- 统一框架:线性/非线性、时变/时不变系统均适用
- 扰动抑制能力强:主动估计和补偿扰动
- 参数物理意义明确:带宽概念简化调参
3.7.4 工程应用实例
ADRC已成功应用于:
- 火电厂主汽温度控制
- 永磁同步电机控制
- 四旋翼无人机姿态控制
- 挠性航天器姿态控制
特别是在中国,ADRC已在多个工业领域取代传统PID,显著提升了控制性能。
3.8 本章小结
本章系统介绍了经典控制器的设计方法,从最基础的PID控制到频域补偿器设计,涵盖了工业控制中最常用的技术。
核心概念回顾:
-
PID控制器: - 标准形式:$u(t) = K_p e(t) + K_i \int e(t)dt + K_d \frac{de}{dt}$ - 整定方法:Ziegler-Nichols、Cohen-Coon、优化方法 - 实用变形:抗积分饱和、微分先行、两自由度结构
-
补偿器设计: - 超前补偿:改善相位裕度,$G_c = K_c\alpha\frac{Ts+1}{\alpha Ts+1}$,$\alpha < 1$ - 滞后补偿:改善稳态精度,$G_c = K_c\frac{Ts+1}{\beta Ts+1}$,$\beta > 1$ - 超前-滞后:兼顾动态和稳态性能
-
频域设计: - 性能指标:带宽、相位裕度、增益裕度 - 灵敏度函数:$S = \frac{1}{1+GC}$,$T = \frac{GC}{1+GC}$ - 环路整形:低频高增益、中频-20dB/dec、高频快衰减
-
工程实践: - 调参顺序:P→I→D - 约束处理:饱和、噪声、采样 - 性能权衡:快速性、稳定性、鲁棒性
关键公式汇总:
| 公式名称 | 表达式 | 用途 |
| 公式名称 | 表达式 | 用途 |
|---|---|---|
| PID传递函数 | $C(s) = K_p(1 + \frac{1}{T_is} + T_ds)$ | 频域分析 |
| 最大相位超前 | $\phi_{max} = \sin^{-1}\frac{1-\alpha}{1+\alpha}$ | 超前补偿设计 |
| 相位裕度估算 | $PM \approx 100\zeta$ (对$\zeta<0.7$) | 性能预测 |
| ITAE准则 | $J = \int_0^\infty t | e(t) |
| 灵敏度峰值 | $M_s = \max | S(j\omega) |
本章通过工业电机伺服系统的完整案例,展示了从建模到实现的全过程。特别介绍了自抗扰控制(ADRC)这一前沿技术,它代表了经典PID控制的现代化发展方向。
3.9 练习题
基础题(理解概念)
题3.1 某单位反馈系统的开环传递函数为$G(s) = \frac{10}{s(s+2)}$,设计PID控制器使闭环系统的阻尼比$\zeta = 0.7$,自然频率$\omega_n = 5$ rad/s。
提示:先写出闭环特征方程,然后与期望的二阶系统特征方程对比。
答案
闭环传递函数: $$T(s) = \frac{10(K_ds^2 + K_ps + K_i)}{s^3 + (2+10K_d)s^2 + 10K_ps + 10K_i}$$ 期望特征方程: $$s^2 + 2\zeta\omega_ns + \omega_n^2 = s^2 + 7s + 25$$ 由于是三阶系统,需要增加一个远离主导极点的极点,设为$s = -50$。
期望特征方程变为: $$(s^2 + 7s + 25)(s + 50) = s^3 + 57s^2 + 375s + 1250$$ 对比系数:
- $2 + 10K_d = 57 \Rightarrow K_d = 5.5$
- $10K_p = 375 \Rightarrow K_p = 37.5$
- $10K_i = 1250 \Rightarrow K_i = 125$
题3.2 给定系统$G(s) = \frac{1}{(s+1)(s+5)}$,设计超前补偿器使相位裕度达到45°,剪切频率为2 rad/s。
提示:先计算原系统在期望剪切频率的相位,确定需要的相位超前量。
答案
在$\omega = 2$ rad/s处:
- $|G(j2)| = \frac{1}{\sqrt{5}\sqrt{29}} = 0.083$
- $\angle G(j2) = -\tan^{-1}(2) - \tan^{-1}(0.4) = -63.4° - 21.8° = -85.2°$
当前相位裕度:$PM = 180° - 85.2° = 94.8°$
但幅值太小,需要先增加增益使$|GK| = 1$在$\omega = 2$: $K = 1/0.083 = 12$
此时相位裕度仍为94.8°,远超45°要求。实际上不需要超前补偿。
若要精确控制剪切频率为2 rad/s,只需: $$G_c(s) = 12$$
题3.3 某温度控制系统采用PI控制器,$K_p = 2$,$K_i = 0.5$。系统在设定值阶跃变化时出现20%超调。如何调整参数减少超调至5%以下?
提示:超调主要由比例项引起,可以减小$K_p$或增加积分时间。
答案
减少超调的策略:
- 减小$K_p$至1.2(降低40%)
- 保持或略微减小$K_i$至0.3
- 或转换为PID,增加微分项$K_d = 0.5$提供阻尼
推荐参数:$K_p = 1.2$,$K_i = 0.3$,$K_d = 0.5$
验证方法:逐步调整并观察阶跃响应。
挑战题(深入应用)
题3.4 设计一个鲁棒PID控制器,使系统$G(s) = \frac{K}{s(s+1)}$在$K \in [0.5, 2]$范围内都保持稳定,且标称情况($K=1$)下相位裕度不小于45°。
提示:使用根轨迹分析最坏情况,设计时考虑$K=2$的情况。
答案
PID控制器:$C(s) = K_p + K_i/s + K_ds$
开环传递函数:$L(s) = \frac{K(K_ds^2 + K_ps + K_i)}{s^2(s+1)}$
稳定性分析(最坏情况$K=2$): 特征方程:$s^3 + s^2 + 2K_ds^2 + 2K_ps + 2K_i = 0$
整理:$s^3 + (1+2K_d)s^2 + 2K_ps + 2K_i = 0$
使用Routh判据: $$\begin{array}{c|cc} s^3 & 1 & 2K_p \\ s^2 & 1+2K_d & 2K_i \\ s^1 & \frac{2K_p(1+2K_d)-2K_i}{1+2K_d} & 0 \\ s^0 & 2K_i & 0 \end{array}$$ 稳定条件:
- $K_i > 0$
- $K_p(1+2K_d) > K_i$
标称设计($K=1$,PM≥45°): 选择$K_p = 0.5$,$K_i = 0.2$,$K_d = 0.3$
验证:
- 相位裕度:48°(满足)
- $K=2$时稳定(满足Routh条件)
- $K=0.5$时稳定且PM=62°
题3.5 某精密定位系统要求:位置精度±1μm,最大速度10mm/s,加速度限制1m/s²。系统模型$G(s) = \frac{1000}{s(s+10)}$(单位:μm)。设计包含前馈的控制系统。
提示:考虑轨迹规划、前馈补偿和反馈控制的组合。
答案
控制策略:
-
轨迹规划(S曲线): - 加速段:$a(t) = a_{max}\sin(\pi t/T_a)$ - 匀速段:$v = v_{max}$ - 减速段:对称
-
前馈控制: $$u_{ff} = \ddot{r}/1000 + \dot{r}/100$$
-
反馈控制(PID): - $K_p = 20$(带宽约20 rad/s) - $K_i = 10$(消除稳态误差) - $K_d = 2$(增加阻尼)
-
复合控制: $$u = u_{ff} + K_pe + K_i\int e + K_d\dot{e}$$
-
抗饱和措施:
if |u| > u_max:
u = sat(u)
停止积分
性能预测:
- 跟踪误差 < 0.5μm
- 无超调
- 抗扰动能力强
题3.6 分析并改进某化工反应器的串级控制系统。主回路控制反应温度,副回路控制夹套冷却水流量。主过程时间常数约100秒,副过程时间常数约5秒。
提示:串级控制中,内环应比外环快5-10倍。
答案
串级控制设计:
-
副回路(流量控制): - 采用PI控制 - 带宽设计:10 rad/s(响应时间约0.1秒) - $K_p^{inner} = 2$,$K_i^{inner} = 20$
-
主回路(温度控制): - 采用PID控制 - 带宽设计:0.5 rad/s(响应时间约2秒) - $K_p^{outer} = 0.5$,$K_i^{outer} = 0.05$,$K_d^{outer} = 2$
-
调试顺序: - 先调试并闭合内环 - 将内环视为增益为1的环节 - 调试外环
-
优化措施: - 内环采用流量前馈 - 外环增加温度变化率限制 - 实施防积分饱和
-
故障处理: - 流量传感器故障→切换到手动模式 - 温度传感器故障→保持最后有效输出
预期改进:
- 扰动抑制提升3倍
- 设定值跟踪无超调
- 对流量扰动几乎无影响
开放思考题
题3.7 比较PID控制与现代机器学习方法(如强化学习)在工业控制中的优劣。什么情况下应该选择PID?什么情况下值得尝试AI方法?
提示:考虑可解释性、安全性、调试难度、数据需求等因素。
参考思路
PID适用场景:
- 系统模型相对简单明确
- 需要可解释性和确定性保证
- 安全关键应用
- 调试资源有限
- 实时性要求高(微秒级)
AI方法适用场景:
- 高维、非线性、时变系统
- 难以建模的复杂过程
- 有大量历史数据
- 可以离线训练和验证
- 性能优化比稳定性更重要
混合方案:
- AI优化PID参数
- PID作为安全底层,AI作为优化层
- 分层控制:底层PID,高层AI规划
关键考虑:
- 认证要求(航空、医疗等)
- 故障后果
- 维护能力
- 长期演化
题3.8 设计一个自适应PID控制器,能够根据系统响应自动调整参数。描述你的设计思路、实现方法和预期挑战。
提示:可以考虑模糊逻辑、神经网络或基于规则的方法。
参考思路
设计方案:基于性能指标的规则调整
-
性能监测: - 超调量$M_p$ - 调节时间$t_s$ - 稳态误差$e_{ss}$ - 振荡次数$N$
-
调整规则:
if Mp > 20%: Kp *= 0.9, Kd *= 1.1
if ts > target: Kp *= 1.1, Ki *= 1.1
if ess > threshold: Ki *= 1.2
if oscillating: Kd *= 1.2, Kp *= 0.95
-
实现细节: - 缓慢调整(每次变化<10%) - 设置参数边界 - 异常检测和回滚机制 - 调整历史记录
-
高级特性: - 基于RLS的在线系统辨识 - 多模型切换 - 增益调度
-
挑战: - 稳定性保证 - 收敛速度 - 对噪声的鲁棒性 - 参数漂移 - 激励不足
-
验证方法: - Monte Carlo仿真 - 硬件在环测试 - 渐进式部署
3.10 常见陷阱与错误(Gotchas)
调试中的常见错误
-
积分饱和忽视 - 错误:未实施抗饱和导致长时间超调 - 正确:实施条件积分或反计算方法
-
微分噪声放大 - 错误:直接对测量信号微分 - 正确:使用滤波器或微分先行结构
-
采样时间选择不当 - 错误:采样太慢导致性能下降或不稳定 - 正确:采样频率至少为带宽的20倍
-
单位不一致 - 错误:混用弧度和角度,时间单位不统一 - 正确:建立明确的单位约定并严格遵守
-
忽视执行器特性 - 错误:设计时假设理想执行器 - 正确:考虑饱和、死区、速率限制
设计中的概念误区
-
过度依赖理论参数 - 误区:严格按照Ziegler-Nichols公式 - reality:需要根据实际响应微调
-
忽视模型不确定性 - 误区:基于标称模型设计 - 正确:进行鲁棒性分析和测试
-
性能指标选择不当 - 误区:一味追求快速响应 - 正确:平衡多个性能指标
-
调参顺序错误 - 误区:同时调整所有参数 - 正确:P→I→D顺序调整
-
忽略工程约束 - 误区:理论最优即实际最优 - 正确:考虑成本、可靠性、维护性
3.11 最佳实践检查清单
设计阶段
- [ ] 需求分析
- [ ] 明确性能指标(超调、调节时间、稳态误差)
- [ ] 确定约束条件(执行器限制、采样率)
-
[ ] 识别主要扰动源
-
[ ] 建模与辨识
- [ ] 获得系统数学模型
- [ ] 验证模型准确性
-
[ ] 确定模型不确定性范围
-
[ ] 控制器选择
- [ ] 评估是否需要积分作用
- [ ] 判断是否需要微分作用
-
[ ] 考虑是否需要前馈
-
[ ] 参数设计
- [ ] 使用多种方法初步设计
- [ ] 仿真验证性能
- [ ] 鲁棒性分析
实施阶段
- [ ] 代码实现
- [ ] 实施抗积分饱和
- [ ] 添加微分滤波器
- [ ] 处理模式切换(手动/自动)
-
[ ] 异常处理机制
-
[ ] 安全措施
- [ ] 输出限幅
- [ ] 变化率限制
- [ ] 故障检测
-
[ ] 紧急停止
-
[ ] 初始测试
- [ ] 开环测试
- [ ] 小信号测试
- [ ] 逐步增加控制权限
调试优化阶段
- [ ] 性能测试
- [ ] 阶跃响应测试
- [ ] 扰动抑制测试
- [ ] 噪声敏感性测试
-
[ ] 长期稳定性测试
-
[ ] 参数优化
- [ ] 记录调整历史
- [ ] 多工况测试
-
[ ] 极限条件验证
-
[ ] 文档记录
- [ ] 设计依据文档
- [ ] 参数选择理由
- [ ] 测试结果记录
- [ ] 维护指南
维护阶段
- [ ] 监控诊断
- [ ] 性能指标监控
- [ ] 异常报警设置
-
[ ] 数据记录分析
-
[ ] 持续改进
- [ ] 收集运行数据
- [ ] 定期性能评估
- [ ] 参数再优化
- [ ] 技术升级评估
通过本章的学习,读者应该掌握了经典控制器设计的核心方法和实践技巧。下一章将介绍现代控制理论的状态空间方法,这将为处理更复杂的多变量系统提供强大工具。