第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$

方法二:临界增益法

  1. 仅使用比例控制,逐渐增大$K_p$直到系统临界振荡
  2. 记录临界增益$K_u$和振荡周期$T_u$
  3. 根据下表计算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. 启动策略:使用"软启动",逐渐增加控制器输出避免冲击
  2. 采样时间选择:一般取系统上升时间的1/10到1/20
  3. 滤波器设计:微分项需配合低通滤波器,截止频率约为$10/T_d$
  4. 参数调整顺序:先P后I再D,每次只调一个参数
  5. 性能权衡:快速性、稳定性、鲁棒性三者不可兼得

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}}$$ 设计步骤

  1. 确定期望的相位裕度$PM_d$
  2. 计算需要的相位超前量:$\phi_m = PM_d - PM_{current} + 5°$(安全裕量)
  3. 计算$\alpha = \frac{1-\sin\phi_m}{1+\sin\phi_m}$
  4. 选择$\omega_m$使其位于新的剪切频率
  5. 计算$T = \frac{1}{\omega_m\sqrt{\alpha}}$
  6. 调整增益$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$)

典型设计流程

  1. 绘制原系统Bode图
  2. 确定性能要求(带宽、相位裕度、增益裕度)
  3. 设计补偿器修改频率特性
  4. 验证闭环性能

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 调试技巧与故障诊断

系统辨识前的检查

  1. 开环稳定性测试
  2. 执行器动作范围验证
  3. 传感器标定与零点校准
  4. 通信延迟测量

常见问题诊断

| 现象 | 可能原因 | 解决方法 |

现象 可能原因 解决方法
持续振荡 增益过高/相位裕度不足 降低增益/增加相位补偿
稳态误差 积分增益不足/系统类型不够 增加积分作用
响应迟缓 带宽过低/增益不足 提高增益/增加超前补偿
高频振荡 微分增益过高/噪声放大 降低微分增益/加强滤波
初始冲击 微分冲击/积分初值 使用微分先行/设置合理初值

性能优化步骤

  1. 先满足稳定性要求
  2. 调整稳态性能(积分项)
  3. 改善动态响应(比例项)
  4. 减少超调(微分项)
  5. 最后优化抗扰性能

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观察到经验丰富的舵手在操船时会考虑三个因素:

  1. 当前的航向偏差(比例)
  2. 偏差的持续时间(积分)
  3. 偏差的变化率(微分)

他将这一观察数学化,发表了具有里程碑意义的论文《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的优势

  1. 不依赖精确模型:将模型不确定性作为扰动处理
  2. 统一框架:线性/非线性、时变/时不变系统均适用
  3. 扰动抑制能力强:主动估计和补偿扰动
  4. 参数物理意义明确:带宽概念简化调参

3.7.4 工程应用实例

ADRC已成功应用于:

  • 火电厂主汽温度控制
  • 永磁同步电机控制
  • 四旋翼无人机姿态控制
  • 挠性航天器姿态控制

特别是在中国,ADRC已在多个工业领域取代传统PID,显著提升了控制性能。

3.8 本章小结

本章系统介绍了经典控制器的设计方法,从最基础的PID控制到频域补偿器设计,涵盖了工业控制中最常用的技术。

核心概念回顾

  1. PID控制器: - 标准形式:$u(t) = K_p e(t) + K_i \int e(t)dt + K_d \frac{de}{dt}$ - 整定方法:Ziegler-Nichols、Cohen-Coon、优化方法 - 实用变形:抗积分饱和、微分先行、两自由度结构

  2. 补偿器设计: - 超前补偿:改善相位裕度,$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$ - 超前-滞后:兼顾动态和稳态性能

  3. 频域设计: - 性能指标:带宽、相位裕度、增益裕度 - 灵敏度函数:$S = \frac{1}{1+GC}$,$T = \frac{GC}{1+GC}$ - 环路整形:低频高增益、中频-20dB/dec、高频快衰减

  4. 工程实践: - 调参顺序: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$或增加积分时间。

答案

减少超调的策略:

  1. 减小$K_p$至1.2(降低40%)
  2. 保持或略微减小$K_i$至0.3
  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}$$ 稳定条件:

  1. $K_i > 0$
  2. $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)。设计包含前馈的控制系统。

提示:考虑轨迹规划、前馈补偿和反馈控制的组合。

答案

控制策略:

  1. 轨迹规划(S曲线): - 加速段:$a(t) = a_{max}\sin(\pi t/T_a)$ - 匀速段:$v = v_{max}$ - 减速段:对称

  2. 前馈控制: $$u_{ff} = \ddot{r}/1000 + \dot{r}/100$$

  3. 反馈控制(PID): - $K_p = 20$(带宽约20 rad/s) - $K_i = 10$(消除稳态误差) - $K_d = 2$(增加阻尼)

  4. 复合控制: $$u = u_{ff} + K_pe + K_i\int e + K_d\dot{e}$$

  5. 抗饱和措施

if |u| > u_max:
    u = sat(u)
    停止积分

性能预测:

  • 跟踪误差 < 0.5μm
  • 无超调
  • 抗扰动能力强

题3.6 分析并改进某化工反应器的串级控制系统。主回路控制反应温度,副回路控制夹套冷却水流量。主过程时间常数约100秒,副过程时间常数约5秒。

提示:串级控制中,内环应比外环快5-10倍。

答案

串级控制设计:

  1. 副回路(流量控制): - 采用PI控制 - 带宽设计:10 rad/s(响应时间约0.1秒) - $K_p^{inner} = 2$,$K_i^{inner} = 20$

  2. 主回路(温度控制): - 采用PID控制 - 带宽设计:0.5 rad/s(响应时间约2秒) - $K_p^{outer} = 0.5$,$K_i^{outer} = 0.05$,$K_d^{outer} = 2$

  3. 调试顺序: - 先调试并闭合内环 - 将内环视为增益为1的环节 - 调试外环

  4. 优化措施: - 内环采用流量前馈 - 外环增加温度变化率限制 - 实施防积分饱和

  5. 故障处理: - 流量传感器故障→切换到手动模式 - 温度传感器故障→保持最后有效输出

预期改进:

  • 扰动抑制提升3倍
  • 设定值跟踪无超调
  • 对流量扰动几乎无影响

开放思考题

题3.7 比较PID控制与现代机器学习方法(如强化学习)在工业控制中的优劣。什么情况下应该选择PID?什么情况下值得尝试AI方法?

提示:考虑可解释性、安全性、调试难度、数据需求等因素。

参考思路

PID适用场景

  • 系统模型相对简单明确
  • 需要可解释性和确定性保证
  • 安全关键应用
  • 调试资源有限
  • 实时性要求高(微秒级)

AI方法适用场景

  • 高维、非线性、时变系统
  • 难以建模的复杂过程
  • 有大量历史数据
  • 可以离线训练和验证
  • 性能优化比稳定性更重要

混合方案

  • AI优化PID参数
  • PID作为安全底层,AI作为优化层
  • 分层控制:底层PID,高层AI规划

关键考虑:

  • 认证要求(航空、医疗等)
  • 故障后果
  • 维护能力
  • 长期演化

题3.8 设计一个自适应PID控制器,能够根据系统响应自动调整参数。描述你的设计思路、实现方法和预期挑战。

提示:可以考虑模糊逻辑、神经网络或基于规则的方法。

参考思路

设计方案:基于性能指标的规则调整

  1. 性能监测: - 超调量$M_p$ - 调节时间$t_s$ - 稳态误差$e_{ss}$ - 振荡次数$N$

  2. 调整规则

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
  1. 实现细节: - 缓慢调整(每次变化<10%) - 设置参数边界 - 异常检测和回滚机制 - 调整历史记录

  2. 高级特性: - 基于RLS的在线系统辨识 - 多模型切换 - 增益调度

  3. 挑战: - 稳定性保证 - 收敛速度 - 对噪声的鲁棒性 - 参数漂移 - 激励不足

  4. 验证方法: - Monte Carlo仿真 - 硬件在环测试 - 渐进式部署

3.10 常见陷阱与错误(Gotchas)

调试中的常见错误

  1. 积分饱和忽视 - 错误:未实施抗饱和导致长时间超调 - 正确:实施条件积分或反计算方法

  2. 微分噪声放大 - 错误:直接对测量信号微分 - 正确:使用滤波器或微分先行结构

  3. 采样时间选择不当 - 错误:采样太慢导致性能下降或不稳定 - 正确:采样频率至少为带宽的20倍

  4. 单位不一致 - 错误:混用弧度和角度,时间单位不统一 - 正确:建立明确的单位约定并严格遵守

  5. 忽视执行器特性 - 错误:设计时假设理想执行器 - 正确:考虑饱和、死区、速率限制

设计中的概念误区

  1. 过度依赖理论参数 - 误区:严格按照Ziegler-Nichols公式 - reality:需要根据实际响应微调

  2. 忽视模型不确定性 - 误区:基于标称模型设计 - 正确:进行鲁棒性分析和测试

  3. 性能指标选择不当 - 误区:一味追求快速响应 - 正确:平衡多个性能指标

  4. 调参顺序错误 - 误区:同时调整所有参数 - 正确:P→I→D顺序调整

  5. 忽略工程约束 - 误区:理论最优即实际最优 - 正确:考虑成本、可靠性、维护性

3.11 最佳实践检查清单

设计阶段

  • [ ] 需求分析
  • [ ] 明确性能指标(超调、调节时间、稳态误差)
  • [ ] 确定约束条件(执行器限制、采样率)
  • [ ] 识别主要扰动源

  • [ ] 建模与辨识

  • [ ] 获得系统数学模型
  • [ ] 验证模型准确性
  • [ ] 确定模型不确定性范围

  • [ ] 控制器选择

  • [ ] 评估是否需要积分作用
  • [ ] 判断是否需要微分作用
  • [ ] 考虑是否需要前馈

  • [ ] 参数设计

  • [ ] 使用多种方法初步设计
  • [ ] 仿真验证性能
  • [ ] 鲁棒性分析

实施阶段

  • [ ] 代码实现
  • [ ] 实施抗积分饱和
  • [ ] 添加微分滤波器
  • [ ] 处理模式切换(手动/自动)
  • [ ] 异常处理机制

  • [ ] 安全措施

  • [ ] 输出限幅
  • [ ] 变化率限制
  • [ ] 故障检测
  • [ ] 紧急停止

  • [ ] 初始测试

  • [ ] 开环测试
  • [ ] 小信号测试
  • [ ] 逐步增加控制权限

调试优化阶段

  • [ ] 性能测试
  • [ ] 阶跃响应测试
  • [ ] 扰动抑制测试
  • [ ] 噪声敏感性测试
  • [ ] 长期稳定性测试

  • [ ] 参数优化

  • [ ] 记录调整历史
  • [ ] 多工况测试
  • [ ] 极限条件验证

  • [ ] 文档记录

  • [ ] 设计依据文档
  • [ ] 参数选择理由
  • [ ] 测试结果记录
  • [ ] 维护指南

维护阶段

  • [ ] 监控诊断
  • [ ] 性能指标监控
  • [ ] 异常报警设置
  • [ ] 数据记录分析

  • [ ] 持续改进

  • [ ] 收集运行数据
  • [ ] 定期性能评估
  • [ ] 参数再优化
  • [ ] 技术升级评估

通过本章的学习,读者应该掌握了经典控制器设计的核心方法和实践技巧。下一章将介绍现代控制理论的状态空间方法,这将为处理更复杂的多变量系统提供强大工具。