PI 控制环路设计方法论 — 带宽 / 裕度 / 极点配置
本质与导读
本质 几乎所有功率电子闭环(FOC 电流环、PSFB/Buck 电压环、PFC)都是 PI 控制器,而工程 PI 设计不靠盲调 Kp/Ki 或套 Ziegler-Nichols:必须先按物理上限定带宽(三环 10× 阶梯,电流环 < fsw/5),再由被控对象传递函数做极点配置反算 Kp/Ki——带宽优先于增益,极点配置取代试错。
1. PI 调参的核心思路
PI 调参不是"调 Kp / Ki 让响应好看",而是"先决定环路带宽 → 算 Kp / Ki 实现该带宽"。带宽是物理上限 + 系统稳定性决定的,不能凭直觉。级联结构(位置环 → 速度环 → 电流环 → 电机)把这条思路具体化:三环各有自己的被控对象与目标带宽,内环带宽必须远高于外环,逐环用极点配置算出 Kp / Ki。
1.1 三环带宽分配(10× 阶梯)
外环带宽 < 内环 / 10,确保内环动态对外环表现为常数。
如果内外环带宽接近 → 环间相互振荡(内环响应变化看上去像外环在抖)。
1.2 带宽物理上限
电流环 上限由 PWM 频率决定:
电流环带宽 > fsw/5 → 控制器试图调整比开关周期更快的事件 → 噪声放大 + 不稳定。
速度环 上限由级联隔离决定(内环 / 10),不受机械极点约束:
J = 转动惯量,B = 阻尼系数。机械极点 被 PI 零点消去(§10.5 极点配置),因此它不设带宽上限;真正的上限是内环带宽的 1/10——保证内环动态对速度环表现为常数。
位置环 上限由速度环带宽决定。
1.3 选带宽的工程权衡
带宽高:
- 优点:响应快,扰动抑制好
- 缺点:噪声放大,EMI 灵敏度高,采样要求严
带宽低:
- 优点:稳定,抗噪声,采样简单
- 缺点:响应慢,负载阶跃恢复时间长
实务:取物理上限的 1/3 - 1/2(留余量给老化 / 温度漂移 / 参数变化)。
2. 极点配置法 — PI 参数推导
2.3 闭环带宽 ω_bw
PI + plant 开环:
让 PI 零点抵消 plant 极点(零极对消):
剩下开环传递函数:
闭环带宽:
2.4 PI 参数公式
设计目标 ω_bw → 算 Kp, Ki:
2.5 实战例
电机:R = 10 mΩ, L = 0.5 mH。设计 ω_bw = 1 kHz × 2π = 6280 rad/s。
- Kp = 0.5e-3 × 6280 = 3.14
- Ki = 10e-3 × 6280 = 62.8
闭环带宽 1 kHz,稳态零误差(I 项保证),动态抖动小。
3. 相位 / 增益裕度
3.1 定义
这一节先给出“定义”需要同时考虑的几个判断点,后面的条目按工程优先级展开。
- 相位裕度 PM:开环增益 = 0 dB 处,相位距 -180° 的余量
- 增益裕度 GM:开环相位 = -180° 处,增益距 0 dB 的余量
3.2 工程要求
这一节先给出“工程要求”需要同时考虑的几个判断点,后面的条目按工程优先级展开。
- PM ≥ 60°(典型,稳定且阻尼好)
- GM ≥ 6 dB(2× 增益变化也稳定)
- PM < 30° → 振荡,响应有大超调
- PM < 0° → 不稳定
3.3 单极点 PI 的 PM
零极对消后开环 L(s) = Kp / (sL),纯积分器 → 相位 -90° → PM = 90°(理想)。
但加上:
- 计算延迟 (PWM 半周期 + 计算延迟)→ 相位滞后 ω · T_delay
- 离散化(零阶保持 ZOH)→ 相位滞后 ω · Ts/2
- 滤波器(ADC 抗混叠 / EMI 滤波)→ 额外相位滞后
实际 PM = 90° - ω_bw × (T_delay + Ts/2 + T_filter) × 180°/π
例:ω_bw = 6280, T_delay = 100 µs → PM 损失 6280 × 1e-4 × 57.3° = 36° → 实际 PM ≈ 54°(刚好 OK)。
经验值:计算延迟 + ZOH ≈ 1.5 × Ts,所以 ω_bw × Ts < 0.3 rad/sample 才能保 PM > 60°。即 ω_bw < 0.3 × fsample(rad/s),等价于 fbw < 0.3/(2π) × fsample ≈ 0.05 × fsample(Hz)——采样频率必须 > 20× 带宽。
3.4 工程经验
f_sample / fbw 比值:
- 5×: 不稳定 / 振荡
- 10×: PM ≈ 30°,响应有超调
- 20×: PM ≈ 60°,健康
- 50×: PM ≈ 80°,过阻尼
EV 主驱:fsw = 10 kHz, 双采样 = 20 kHz → 电流环带宽 1 kHz(20×)是合理上限。
4. 离散化 — 数字 PI 实现
4.1 Tustin 变换(双线性 / BLT)
连续域 G(s) → 离散域 G(z):
PI 数字实现(C 代码):
// 连续: K_p + K_i/s
// 离散 Tustin:
e[n] = ref - meas;
i_acc += K_i * T_s * (e[n] + e[n-1]) / 2; // 梯形积分
out[n] = K_p * e[n] + i_acc;
e[n-1] = e[n];
4.2 后向欧拉(简化版)
这一节先说明“后向欧拉(简化版)”为什么需要形式化表达,后面的公式用于把变量关系明确写出来。
// 离散 后向欧拉 PI
e[n] = ref - meas;
i_acc += K_i * T_s * e[n];
out[n] = K_p * e[n] + i_acc;
简单,但相位精度比 Tustin 略差(在带宽 1/5 内忽略)。
4.3 增量式 vs 位置式
这一节先给出“增量式 vs 位置式”需要同时考虑的几个判断点,后面的条目按工程优先级展开。
- 位置式:输出 = Kp·e + ∫Ki·e (绝对值)
- 增量式:Δout = Kp·(e[n] - e[n-1]) + Ki·Ts·e[n]
工程实务:增量式更适合 anti-windup(直接限制 Δout 而非 iacc)。
5. Anti-Windup(积分饱和)
5.1 问题
PI 控制器输出受物理限幅(如 PWM duty 0-100%)。如果误差长期同号 → 积分项无限累加 → 解除限幅后控制器需要很久才能"放空积分项" → 大超调。
5.2 三种 Anti-Windup 方案
方案 1: Back-Calculation(反算)
out_raw = K_p * e + i_acc;
out_sat = saturate(out_raw, -MAX, +MAX);
i_acc -= K_aw * (out_raw - out_sat); // 把"溢出"部分反向作用到积分项
Kaw 典型 1/Taw, Taw = 0.5 - 1 × Ts。
方案 2: Conditional Integration(条件积分)
if (output_unsaturated || (error_sign != saturated_direction)) {
i_acc += K_i * T_s * e;
}
只有"输出未饱和" 或 "误差方向与饱和方向相反" 时才积分。
方案 3: Clamping(钳位)
i_acc += K_i * T_s * e;
i_acc = saturate(i_acc, -I_MAX, +I_MAX); // 限幅积分项本身
简单粗暴,但 IMAX 难调(太小响应慢,太大无效)。
5.3 工程选择
EV 主驱主流: 方案 1 back-calculation(平滑,对参数不敏感)。 家电 / 简单场景: 方案 3 clamping(简单)。
6. 典型环路设计
6.1 FOC 电流环(已在 topic-foc §8 给出)
这一节先给出“FOC 电流环(已在 topic-foc §8 给出)”需要同时考虑的几个判断点,后面的条目按工程优先级展开。
- 对象:R + sL(单相)
- 设计:ω_bw_current = 1-2 kHz
- Kp = L · ω_bw, Ki = R · ω_bw
- 加 dq 解耦前馈 + BEMF 前馈
6.2 速度环
被控对象:
Kt = 转矩常数, J = 转动惯量, B = 阻尼。
PI:
- ω_bw_speed = ω_bw_current / 10
- K_p_speed = J · ω_bw_speed / Kt
- K_i_speed = K_p_speed · (B / J) = B · ω_bw_speed / Kt(极点消零:零点对准机械极点 B/J,与 §10.5 一致)
6.3 PFC 电压环(已在 topic-pfc-power-factor-correction §4)
被控对象:Vbus 电容 + 平均功率传输模型。
- ω_bw_voltage < 20 Hz(避开二次纹波 100/120 Hz)
- 速度慢,但稳定性优先
6.4 PSFB / Buck 电压环
被控对象:LC 滤波器(2 阶) + 模式特性。
- 电流模式控制(PCMC):内电流环将电感等效为电流源 → 简化外电压环
- 电压模式控制(VMC):必须补偿 LC 双极点
- ω_bw_voltage = 5-20 kHz(典型)
详见 PCMC Buck 控制环。
7. Ziegler-Nichols 公式 — 何时不能用
Ziegler-Nichols 经验公式(Kp = 0.6 × K_critical, Ti = 0.5 × T_oscillation)在工程上不推荐:
- 假设 plant 是一阶 + 时延 → 功率电子大多不是
- 设计目标是"开环到达临界振荡"→ 实际 plant 进入临界振荡危险
- 给出的 PM ≈ 30°,余量小
何时可以用:
- plant 模型完全未知(纯黑盒)
- 安全可控的初步调试
- 预热阶段,后续必须用极点配置精修
EV / 工业量产 PI 设计应永远用极点配置,Ziegler-Nichols 仅在调试早期作 starting point。
8. 7 条工程陷阱(Gotcha 链)
PI 控制器的理论推导相对简洁,但工程实现中有大量"正确算法接错信号"或"台架正常、产品线失效"的陷阱。以下 7 条是 EV 主驱 FOC 电流环和功率电子电压环中高频、高代价的失效链。
G1 d/q 轴 数值不同 → 极点消零逻辑错误 → 高速谐振
极点消零后 ,与 无关——d/q 两轴 数值必须相同(62.8 V/(A·s) @1 kHz 带宽,),只有 按 等比缩放(1.88/3.77 V/A)。若代码里 d/q 轴 数值差异大(如 d 轴用 换算、q 轴用 换算),说明整定变量对应关系搞错:,而 本身含 ,两者相除后 恰好消去。诊断:在 10 kHz 正弦扫频(频率响应分析仪模式)下,d/q 环幅频曲线应在同一带宽处 −3 dB;若 d 轴带宽异常(偏窄或偏宽)而 q 轴正常,99% 是 赋值错。高速时()未消零的残余极点引发谐振,电机"哼鸣"加剧后失步。
G2 跨轴解耦前馈使用反馈电流而非预测电流 → 解耦引入噪声 → 高速 d/q 耦合加剧
dq 轴稳态解耦前馈为 ,(推导见 §11)。 应取已通过滤波、代表下一周期预期值的电流估计,而非直接用 ADC 采样值。若用采样值,ADC 量化噪声(±0.5 A 典型)经 放大:基速 1662 rad/s × 0.6 mH × 0.5 A = 0.50 V 前馈噪声,在 230 V 相电压背景下约 0.2%——但高速弱磁时 量级达 100 V,噪声放大到 ±0.5 V,折合 电流纹波 ,持续累积引发 dq 高频振荡,在 5000 rpm 以上()尤其明显。修复:用一阶 IIR 滤波后电流(时间常数 )做前馈,噪声衰减 10×。
G3 采样频率 < 20× 带宽 → PM 不够 60° → 响应震荡
相位损失三项叠加:计算延迟()、ZOH()、抗混叠滤波器():
取 ()、双采样()、、(1 阶 8 kHz 截止抗混叠):
理论 PM = 90°(纯积分开环)− 34.2° = 55.8°——合理,与 §10.4 一致。若改为单采样(),,,PM = 29°——振荡。工程准则: 时 PM 约 54°(可接受), 时 PM 约 70°(充裕)。EV 主驱双采样 20 kHz 对 1 kHz 带宽是边界,不能再往上调带宽。
G4 Anti-windup 忘接饱和输出 → 大负载阶跃后积分项"偷跑" → 超调 150%
Back-calculation anti-windup 的正确公式:
out_raw = K_p * e + i_acc;
out_sat = clamp(out_raw, -V_max, +V_max);
i_acc += K_i * T_s * e - K_aw * (out_raw - out_sat); // 正确:反算修正积分
高频错误:K_aw 接了 out_raw 而非 (out_raw - out_sat),即忘减去饱和值;此时饱和期间修正项 = out_raw(量级可达 ),反向过修正, 迅速反向累积——解除限幅后输出过冲 150%,EV 扭矩快速阶跃时表现为"解保后冲"。诊断方法:在扭矩阶跃试验中用示波器同时记录 (PI 输出前)和 ,若饱和期间 仍单调增或单调减、解除后反向飞冲,即为此 bug。
G5 离散化用后向欧拉而非 Tustin → 高频 PM 额外损失 5–10° → 带宽上限收窄
后向欧拉 在 Nyquist 频率处相位误差 ;Tustin 相位误差仅 (一阶项消去)。对 、:后向欧拉额外相位损失 ,Tustin 仅 。两种方案 PM 差 15° 以上,后向欧拉在 1 kHz 带宽时 PM 约 38°(不稳定边缘),Tustin 54°(可接受)。实务:AUTOSAR MCAL / TriCore DSP 的除法延迟已被 Tustin 折算 吸收,代码量相同,无理由用后向欧拉。
G6 速度环参数直接复制到位置环 → 外环太快 → 内外环互相激励震荡
三环 10× 阶梯是被控对象传递函数宽度的工程近似:速度环 plant ,电流环 plant ,两者带宽物理上限比约 ,即速度环/电流环 ≈ 1/12——原则上 1/10 近似成立。但位置环 plant 是纯积分 ,没有天然极点,位置环带宽必须 < 速度环 / 10(不是 / 5)。若直接套速度环 (已对机械极点整定),位置环带宽偏高 3–5×,与速度环互相激励,阶跃响应中可见 2–5 Hz 低频振荡(听感"颤抖")。修复:位置环 (纯比例),无积分(已有速度环积分消稳态误差),。
G7 数字实现中 单位接口不一致 → 整定数字正确但物理量纲错 → 静默偏差
极点消零 (单位 V/A),(单位 V/(A·s))。MCU 定点实现时常用 Q 格式:若 以 Q15(1.0 = 32768)存储但 以 Q12(1.0 = 4096)存储,且代码里两者都乘了同一个 e_curr,则 实际作用比设计值大 8×()。表现:阶跃响应超调"恰好"不振荡(大 凑巧做了类阻尼),但稳态误差异常快消除、温度升高后超调略增——指向 过大。防护:统一用浮点(TC397 TriCore 支持单精度 FPU,FOC 算法热路径用 float 不影响 6.5 μs 时序),避免 Q 格式混用;定点实现必须在单元测试用正弦扫频验算实际带宽与目标是否一致。
9. 设计流程模板
新环路设计标准流程:
- 写 plant 传递函数 G_plant(s)(物理建模)
- 决定带宽 ω_bw(物理上限 / 3,留余量)
- 极点配置算 Kp, Ki(对消 plant 主极点)
- 算理论 PM, GM(包含计算延迟 / ZOH / 滤波器)
- PM < 60° → 降低带宽 / 加补偿器
- 离散化(Tustin)
- 加 anti-windup(back-calculation 主流)
- MATLAB Simulink / SISOTOOL 验证(频域 + 时域)
- **硬件实测 Bode 图(网络分析仪)**与设计对比
- 量产前温度 + 老化漂移测试
10. 100 kW EV IPMSM 端到端 Worked Design
PI 整定不是"查公式填表",而是从电机实际参数出发的闭合推导链——每个参数都有物理来源,每步都能被频率响应仪实测核验。本节以 100 kW EV IPMSM + TC397 为实例,5 步走完完整流程。
10.1 电机参数
本设计使用与 电机控制基础 和 FOC 页一致的参数(wiki SSOT,已跨页核验)。
| 参数 | 符号 | 取值 | 来源 |
|---|---|---|---|
| 极对数 | 4(8 极) | 电机 nameplate | |
| 定子电阻 | 10 mΩ(25°C) | 绕组测量 | |
| d 轴电感 | 0.3 mH | DQ 辨识 | |
| q 轴电感 | 0.6 mH(凸极比 2) | DQ 辨识 | |
| 永磁磁链 | 0.08 Wb | 空载反电势推算 | |
| 峰值相电流 | 250 A | 逆变器额定 | |
| 母线电压 | 400 V | 电池系统 | |
| 开关频率 | 10 kHz,双采样 20 kHz | 热/EMI 权衡 | |
| 转动惯量 | 0.02 kg·m² | 样机转子 + 联轴估算 | |
| 阻尼系数 | 0.1 N·m·s/rad | 摩擦损耗估算 |
10.2 Step 1 — 电流环带宽上限
带宽上限由采样频率 / 20 决定(保证 PM ≥ 54°,见 G3):
PWM 频率约束独立检查:——1 kHz 满足。取 (= 采样上限,PWM 约束有 2× 余量)。
10.3 Step 2 — 极点消零算 ,,
d 轴电流环 plant(单相 RL 等效):
极点在 (时间常数 30 ms)。PI 零点 消去该极点,开环化简为纯积分 ,闭环带宽 :
一致性自核:,(舍入)✓。
10.4 Step 3 — PM 精确核算(含所有延迟)
相位损失明细(双采样 ):
| 延迟来源 | 时间 | 相位损失 @1kHz |
|---|---|---|
| 计算延迟(PWM 更新单周期延迟) | 50 μs | |
| ZOH(数字采样保持) | 25 μs | |
| 抗混叠 LPF(fc = 8 kHz,1 阶) | ~20 μs | |
| 合计 | 95 μs | 34.2° |
若降为单采样(),相位损失 = ,PM = 29°——不可用。双采样是本设计的 PM 保障前提,不可省。
10.5 Step 4 — 速度环整定(外环)
被控对象(电流环已闭合,等效为带宽 1 kHz 的电流源):
速度环带宽:(约 100 Hz)。
极点消零(消去 ):
10.6 Step 5 — TC397 计算时序与 FTTI 对接
TC397 FOC 计算链的时序拆分如下,验证 6.5 μs 总耗时的物理来源(per AURIX TC38x UM)。
| 步骤 | 典型耗时 | 依据 |
|---|---|---|
| EDSADC ADC 触发→就绪 | ~1.5 μs | TC38x UM EDSADC §24 |
| Clarke + Park(TriCore FPU) | ~1.0 μs | 浮点乘加指令 @300 MHz |
| 2× PI + 跨轴解耦前馈 | ~1.5 μs | d/q 各一路 + 4 次乘加 |
| 逆 Park + SVPWM | ~2.0 μs | 扇区判断 + 占空比 + 死区 |
| GTM 比较寄存器写入 | ~0.5 μs | GTM-ATOM 6 路同步 |
| 总计 | ~6.5 μs | < 50 μs 半周期,裕量 7.7× |
FTTI 对接:FOC 计算链传输延迟 = 1 个 PWM 周期 = 0.1 ms ≪ FTTI(主驱)= 200 ms(余量 2000×)。瓶颈在 SW FSM 调度周期(10–15 ms),硬件 DESAT 路径(1.2 μs)独立不受 FOC 影响。
11. 跨轴解耦前馈全推导
dq 轴电流方程含运动 EMF 交叉耦合项,在高速时量级可达数十伏,必须前馈补偿才能维持 PI 收敛。
交叉耦合项 (d 轴)和 (q 轴)在高速时量级可达数十伏,若不前馈补偿,PI 需额外带宽来压制,或在高速出现 d/q 耦合振荡。
解耦前馈策略:将交叉耦合项作为已知扰动(前向补偿),PI 输出仅需应对剩余误差:
、 为当前时刻估计电流(用滤波后电流,不用原始 ADC,见 G2)。
基速工作点数值验证:(电角速度 = 机械角速度 × ),MTPA 工作点 ,(与 topic-motor-control.md §9 一致):
无前馈时这两项完全由 PI 靠积分项吸收;有前馈后 PI 仅需应对 (< 3 V),带宽可降或裕度大幅提升。
12. 3 条 Corner 分析
C1 +125°C 高温: 升 39% → 固定时极点消零失效 → 电流环谐振风险
铜线 TCR ,从 25°C 到 125°C():
若 仍固定在 62.8(按 10 mΩ 整定),实际 ,而高温时 ——积分时间常数比 plant 时间常数长 39%,零点没有对准极点,残余极点在 。开环传递函数含未消去的实极点,PM 损失额外 ——PM 基本消零,闭环接近振荡。修复: 随温度自适应——在线估算 (稳态时 ),按 实时更新,或用电机 NTC + 铜线温度折算表。
C2 −40°C 冷态:传播延迟增加 → PM 额外损失 → 冷启动谐振
TC397 EDSADC 在低温下时钟速率固定,但比较器阈值偏移导致采样窗口偏移约 1–2 μs(per AURIX TC38x UM 低温特性);IGBT/SiC 门极驱动传播延迟在低温略增(约 +10%)。若设计点 PM = 55.8°(余量仅 5.8° 超出 50°),冷态额外相位损失 +3°,PM = 52.8°——仍 OK 但裕度进一步压缩。更大威胁:冷态润滑脂黏度升高(典型汽车黏脂 −40°C 比 25°C 黏度高 2–3 个数量级),(阻尼系数)增大 2–3×,速度环 plant 极点右移,速度环极点消零失配,可能出现低速段振荡。验证方法:在 −40°C 环境箱中做额定扭矩阶跃,记录电流环和速度环阶跃响应,确认 PM 和超调在规格内。
C3 FTTI 压缩至 50 ms(L4 场景)→ 采样带宽约束不变,SW FSM 必须压至 <25 ms
L4 自动驾驶安全需求升格 → SG-01 FTTI 从 200 ms 收到 50 ms(系统级重定义,见 扭矩安全)。FOC 计算链本身(0.1 ms)不变,但 SW FSM 调度从 10–15 ms 必须收紧:按 ISO 26262-4 典型 FDTI/FTTI ≈ 60%,SW FSM 必须 < 30 ms(余量 1.7×);若要余量 2×,SW FSM < 25 ms,需从 15 ms → 10 ms 调度周期,对 TC397 CPU 负载增加约 50%。PI 整定本身不需变(电流环带宽仍由采样率决定,与 FTTI 无关),变的是 FSM 调度和 E2E 通信分配比例。
核心要点
- 先定带宽,再算 、:带宽由物理决定(电流环 , 保 PM ≥ 54°)
- d/q 轴 必须相同:,与 无关; 按 分别缩放(G1)
- 极点消零:,,(100 kW 参考值 @1 kHz)
- PM 核算必含三项:计算延迟 + ZOH + 抗混叠滤波,合计 ~34° @双采样 20 kHz / 1 kHz 带宽,PM ≈ 56°(刚过 50°,单采样则 PM = 29°——不可用)
- 跨轴解耦前馈用预测电流(滤波后),不用原始 ADC 采样(避免 × 噪声放大,G2)
- Anti-windup:back-calculation 主流, 修正项接 差值而非原始值(G4)
- 离散化用 Tustin(BLT),高频 PM 比后向欧拉多保 15°(G5)
- 高温 升 39%(25→125°C)使极点消零失配, 需随温度自适应(C1)
- FOC 计算链 6.5 μs(TC397 @300 MHz),不是 FTTI 瓶颈;瓶颈在 SW FSM 10–15 ms 调度周期
Cross-references
- ← 索引
- FOC 磁场定向控制:电流 / 速度 / 位置三环典型
- PFC 功率因数校正:电压电流双环
- PSFB 移相全桥:VMC / PCMC 选型
- PCMC Buck 控制环:峰值电流模式典型
- 电源设计基础:控制环路通论
- 电机控制基础:电机被控对象建模
- SVPWM 调制:FOC 输出层
- 电路仿真:SISOTOOL / Simulink
- 模数转换器 ADC:采样频率与延迟