工程笔记 / CONTROL DESIGN

手工 PI 与反算法搭建

从最基本的 PI 结构开始,一步一步接好反算反馈,分清积分限幅与输出限幅。

CSTP · SoupSky 2026.09.15基于已归档仿真

积分限幅为什么还不够

PI 的未限幅输出为 u_raw = Kp × e + xI。当比例项很大时,即使积分贡献 xI 已经受限,总输出依然可能超出执行器能力。

积分限幅只限制 xI 的范围;总输出限幅限制送往下一环节的命令。单有这两种限幅,积分状态仍可能与实际送出的控制量不匹配,导致退出饱和后恢复缓慢或超调。

反算法把“实际限幅后的输出”和“想要的输出”作差,再反馈给积分器。

目标结构

                    ┌── Kp ─────────────┐
误差 e ─────────────┤                    + ─ u_raw ─ Saturation ─ u_sat
                    └── Ki ─ (+) ─ ∫ ───┘              │
                             ↑                         │
                             └── Kb × (u_sat − u_raw) ─┘
u_raw = Kp × e + xI
u_sat = clip(u_raw, output_lower, output_upper)
积分器输入 = Ki × e + Kb × (u_sat − u_raw)
xI 由离散积分器计算,并独立施加积分限幅

这里的反算反馈位于 Ki 增益之后、积分器之前。如果把反算差值先与 e 相加再一起乘 Ki,Kb 的实际含义就变了。

  1. 在基础模型副本中打开速度 PI 子系统 ω。从误差输入分出两路:一路乘 Kp,另一路乘 Ki。
  2. Ki 路连接 Discrete-Time Integrator。保留其当前离散积分方法,采样周期设置为 1e-6。其输出就是积分贡献 xI。
  3. 用一个 Sum 将比例项和 xI 相加,得到 u_raw
  4. 在总和后放置 Saturation。速度环 Upper limit 为 30,Lower limit 为 -30,输出就是 u_sat = iq*。
  5. 增加一个 Sum,将 List of signs 设置为 +-。正端接 u_sat,负端接 u_raw。
  6. 将这个差值接入一个 Gain,增益设置为 Kb。速度环使用 1600
  7. 在 Ki 输出和积分器输入之间增加一个 ++ Sum,将 Ki × e 与反算反馈相加,再送入积分器。
  8. 打开积分器参数,启用输出限制。速度积分上限 23、下限 -23,初始状态保持当前基线设置。
  9. 保持所有其他对象与限幅不变,记录 u_raw、u_sat、xI 和转速,在阶跃时检查反算方向。

若 u_raw > 30 A,则 u_sat − u_raw < 0,反算项应压低积分。如果看到它进一步推高积分,优先检查差值正负号。

从模型已有 PI 修改时,先“查看封装内部”理解连线,不必重新拖一套模块,也不要改变自动测试使用的 ωIdIq 名称。

三个 PI 应填什么

KpKiKb总输出限幅积分贡献限幅
速度 ω1.210001600±30 A±23 A
d 电流 Id980089±323 V±160 V
q 电流 Iq123000250±323 V±160 V

Ki 和 Kb 直接填入增益框,不要先乘采样时间。离散积分器负责按其方法和采样周期累积。速度误差单位是 rpm,电流误差单位是 A,Kb 单位为 1/s。

积分限幅能直接算出来吗

可以由物理约束得到设计范围,但通常无法只用一个公式得到“最佳值”。

速度稳态时误差近零,比例贡献较小,积分器需要维持负载所需电流:

iq,steady ≈ (TL + B × ωm) / (1.5 × p × ψf)

例如 1500 rpm、15 N·m,按当前参数约需 22.39 A,±23 A 积分限幅能够覆盖这一稳态需求,但余量有限。若负载或转速范围改变,需要重新检查。

输出限幅 ±30 A 代表允许的电流命令范围;积分限幅应兼顾稳态需求、瞬态比例贡献和恢复过程。它不是越小越好,也不应该大到完全失去约束作用。

电流环积分限幅要连同电阻压降、反电势、交叉耦合与可用电压分析。当前 ±160 V 是本模型验证过的设定,不能直接作为任意电机的通用值。

怎样验证接对了

  • 不饱和时 u_sat = u_raw,反算项应接近零。
  • 正向饱和时,反算项应抑制积分继续增大;反向饱和时方向相反。
  • 在同一组 PI 增益和限幅下,仅将三个 Kb 设为 0,构成消融对照。
  • 同时看超调、精细调节、电流峰值与积分状态,不只看整段速度曲线。

发布包中的 run_report.m 已包含这一消融试验。在 实验台 可以直接查看结果。

有结果,也有边界。欢迎复现与独立验证。获取对应源码 ↗