11 Walkthrough弱磁控制

弱磁 = 用负 Id 削等效磁链,把 BEMF 压回母线电压能买单的范围。

← 返回模块讲义

学完应能回答

主线步骤(9 步)

Step 1 / 9 · bemf-vs-vbus

BEMF 撞顶

目标
看到"高速 → BEMF → 撞母线电压"的因果链
操作
保持默认参数(Udc=310V,ψf=0.05Wb,p=6),把"目标转速"从 4200 rpm 拖到 8000 rpm,盯左下角"电压饱和"标签和电压椭圆。
观察
绿色椭圆迅速变扁变小变红,工作点(绿色实心圆)跑到椭圆外面,标签从绿色"安全工作点"变成红色"电压饱和";右侧 KPI"|V| / V_max"从 0.7 飙到 1.05。
为什么
PMSM 反电动势 BEMF = ψf·ωe 随转速线性涨;SVPWM 线性区电压上限是 V_max = Udc/√3 ≈ 179V(310V 母线)。一旦 BEMF 接近这条线,电流环就"没电压可用"——指令再大输出也加不上去,电流先饱和、再失控。这是"加电压、加 Iq 都不上速度"故障的几何根源。基速 ω_base = V_max/ψf = 179/0.05 = 3580 rad/s 电角度,对应 3580/(2π·6)·60 ≈ 5700 rpm —— 默认电机超过 5700 rpm 必弱磁。
随堂题:Udc=310V、ψf=0.05Wb、polePairs=6 的 IPM,按"BEMF 撞 V_max"几何估算基速 ω_base 约多少 rpm?
  1. 约 1800 rpm(V_max/(ψf·p·2π)·60 = 9510)
  2. 约 5700 rpm(V_max/ψf/(p·2π/60) ≈ 5697) (正确)
  3. 约 18000 rpm(EV 主驱才到这量级)
  4. 约 600 rpm(按电网 50Hz 换算)
提示:V_max = 310/√3 ≈ 179V;ω_e_base = V_max/ψf = 3580 rad/s 电;ω_m_base = ω_e/p = 597 rad/s 机械;rpm = 597·60/(2π) ≈ 5700。这条数字记住——压缩机 7200 rpm 一级能效点必弱磁,EV 18000 rpm 巡航深度弱磁。
Step 2 / 9 · inject-negative-id

注入 −Id

目标
亲手把 Id 拖到负值,看电压椭圆"长大"
操作
加载"Id 负值注入"预设。在限制图上把绿色工作点向左(−Id 方向)拖,从 0 → −3A → −5A;也可用 ← / Shift+← 微调。
观察
随着 Id 越负,红色电压椭圆边界向外扩张,工作点重新回到椭圆内,标签从红色"电压饱和"切回绿色"安全工作点";右侧"等效磁链 ψ_eff = ψf+Ld·Id"数字同步减小。
为什么
负 Id 让"等效磁链 ψf + Ld·Id"变小(Ld·Id 项变负,正好抵消一部分 ψf)。等效磁链小 → BEMF = ψ_eff·ωe 小 → 同样转速下 Vq 需求降下来,电压椭圆等价于"变大了"。这就是弱磁的几何本质:不是真把磁体削弱,而是用电流"反向产磁"抵消一部分。在 EV 主驱上 −Id 可达额定电流 60-70%;压缩机上一般不超 30-40%(受退磁阈值和铁损限制)。
工况
negative-id
随堂题:为什么是注入"负 Id"而不是"正 Id"或"负 Iq"?
  1. 负 Id 能直接增大转矩,正 Id 不能
  2. 负 Id 让等效磁链 ψf+Ld·Id 减小从而压低 BEMF;正 Id 反而增强磁链 (正确)
  3. Iq 决定速度方向,必须保持正
  4. 硬件电流采样只能测负电流
提示:d 轴定义沿转子永磁体 N 极。Id>0 是"加磁"(永磁 + 电磁同向 → ψ_eff 增大 → BEMF 更大 → 椭圆更小,恰恰是弱磁的反方向);Id<0 是"反磁"(抵消一部分永磁 → ψ_eff 减小 → BEMF 减 → 椭圆扩大)。这是弱磁的方向定义。
Step 3 / 9 · limit-geometry

两个几何边界

目标
把"电流圆 + 电压椭圆"这张图刻进脑子
操作
把转速回到 4200 rpm(恒转矩区),观察电流圆(青色虚线,半径 I_max)和电压椭圆(绿色实线,半径 V_max/ωe·1/Lq)的相对大小;然后把转速分别推到 6000、8000,再观察两图相对关系变化。
观察
低速 4200 rpm:电压椭圆比电流圆大很多 → 电流圆才是约束,工作点贴电流圆走(MTPA 区);中速 6000 rpm:两条线大致相切于一点 → 基速点;高速 8000 rpm:电压椭圆收缩到电流圆里面 → 电压椭圆变成约束,工作点只能在椭圆内沿 −Id 方向滑(FW 区)。
为什么
可行域 = 电流圆 ∩ 电压椭圆。这两个集合的"较小者"决定了你能开到多大的电流。低速 → 电流圆主导(恒转矩区);中速 → 两线相切(基速点);高速 → 椭圆主导(恒功率/弱磁区)。这张几何图是弱磁所有公式的"母图"——电压椭圆的中心位于 (−ψf/Ld, 0),半径反比于 ωe,IPM 椭圆还被 Lq/Ld 拉成扁形。EV 主驱椭圆中心离原点远(ψf 小、Ld 大),所以天然弱磁能力强;压缩机 IPM 椭圆中心靠近原点,弱磁深度有限。
Step 4 / 9 · mtpa-curve

MTPA 走廊

目标
看 MTPA 是怎么从原点延伸出来的最优轨迹
操作
看右侧"MTPA / 电压电流极限"卡片。把 Iq 从 5A 调到 8A,观察 MTPA 状态指示("是 / 偏离")和 MTPA 红线的位置;再把 Ld 改 1mH、Lq 改 1.8mH 模拟 IPM 凸极性。
观察
在表贴电机 (Ld≈Lq) 上 MTPA 几乎沿 Iq 轴;在 IPM (Lq>Ld) 上 MTPA 弯向 −Id 方向。当前工作点离 MTPA 红线越近,"MTPA:是"绿色,否则黄色"偏离"。把 Iq=8 时 MTPA 上 Id* 约 −1.5A,磁阻转矩贡献约 10-15%。
为什么
MTPA = 同电流幅值下最大转矩的轨迹。对 IPM 来说,τ = 1.5p·[ψf·Iq + (Ld−Lq)·Id·Iq],第二项是磁阻转矩,需要 Id<0 才贡献正转矩(Ld−Lq<0、Id<0 → 同号正),所以 MTPA 天然带一点负 Id。MTPA 解析解:Id* = (ψf − √(ψf² + 8(Ld−Lq)²·Iq²)) / (4(Ld−Lq))。这是"凸极电机比表贴电机省电"的根源,也是 EV/空调 90% 用 IPM 的根本理由。
随堂题:一台 SPM(表贴式,Ld=Lq)电机的 MTPA 轨迹长什么样?
  1. 沿 −Id 轴
  2. 沿 +Iq 轴(即 Id=0) (正确)
  3. 45° 直线
  4. 随转速变化的曲线
提示:Ld=Lq → (Ld−Lq)·Id·Iq = 0,磁阻转矩消失。τ = 1.5p·ψf·Iq 只跟 Iq 有关,所以最省电的策略就是"Id=0 全部给 Iq"。SPM 在低端风扇/泵类常见,但弱磁能力 = 0(椭圆中心在 −ψf/Ld 太近原点)。
Step 5 / 9 · mtpv-deep-weak

MTPV 与深度弱磁

目标
理解"再加 −Id 反而转矩下降"的拐点
操作
在 8000 rpm 下,把 Id 从 −3A 继续往左推到 −8A、−10A,看 MtpaCurveCard 上的转矩数字、电压利用率和右侧"功率 P = τ·ω"曲线。
观察
转矩 τ 先稳定后开始下降;电压利用率 |V|/V_max 从 100% 慢慢回落;到某个点(MTPV 拐点)再加 −Id,转矩跌得更快,功率 P 反而减小——已经越过了 MTPV 边界。MTPV 几何点位于电压椭圆与"恒转矩双曲线"相切处。
为什么
MTPV = Maximum Torque Per Voltage,同电压下最大转矩。当工作点已经贴着电压椭圆走,继续加 −Id 是"沿椭圆滑动",Iq 被迫减小、转矩反而跌。深度弱磁区的最优轨迹是沿电压椭圆边切线方向,不是沿电流圆——这就是 MTPV 公式的几何意义。EV 主驱 18000 rpm 巡航接近 MTPV 区,再深就得功率密度倒挂;压缩机一般在基速到 1.3×基速之间运行,碰不到 MTPV,主要约束是退磁和铁损。
Step 6 / 9 · vbus-drop

母线降压(动态约束)

目标
看母线电压如何同步收缩可行域
操作
加载"母线电压降低"工况预设。观察电压椭圆面积变化与原工作点状态。
观察
电压椭圆整体缩小(V_max ∝ Udc);原来"够用"的工作点立刻变红饱和;要恢复必须把 Iq 拉低或加更深的 −Id;电流圆 I_max 不变。
为什么
工程上电池电量下降、电网电压跌、母线电容老化都会让 Udc 减小。弱磁控制器必须实时跟踪 Udc 而不是用标称值——否则母线掉一点点,整个电压椭圆缩,控制器还以为有余量,就饱和炸了。这就是"V_max = 0.95·Udc/√3"里那个 0.95 余量的来源(给 SVPWM 死区 + 过调制 + 采样延迟留 5% buffer)。EV 上 800V 平台跌到 600V(电池低 SOC + 大功率回收)是常态,必须实时读 Udc 重算 V_max。
工况
vbus-drop
随堂题:24V 母线相比 48V 母线,电压椭圆面积变成原来的多少?
  1. 1/2
  2. 1/4 (正确)
  3. 相同
  4. 2 倍
提示:V_max ∝ Udc,椭圆半径 ∝ V_max ∝ Udc,面积 ∝ V_max² ∝ Udc²。Udc 减半 → 面积变 1/4。这就是为什么压缩机低压版本(24V 房车冰箱)比高压版本(48V)弱磁需求更早、深度更大。
Step 7 / 9 · engineering-impl

三种工程实现

目标
把仿真接回 STM32 真实实现——三种主流方案对比
操作
看下方"engineering meaning / stm32Guide"栏,对照三种主流方案:① 电压闭环 PI(误差 = V_max − |V|,输出 Id*)② 前馈解析(直接解 BEMF 抵消方程:Id* = (V_max² − (ωLq·Iq)²)^0.5/ωLd − ψf/Ld)③ 离线查表(Speed × Torque → Id*)。
观察
三种方案各有适用场景:PI 鲁棒但调参难、收敛慢;FF 快但依赖参数精度(Ld/Lq 温漂 ±20%);LUT 最快但占 Flash、电压/温度变化时表项需扫描。
为什么
压缩机变频在 5700-7200 rpm 区间约 30% 时间在弱磁区,EV 主驱巡航 80% 时间在弱磁区。生产代码里通常用"FF 给初值 + PI 修偏差"的混合方案,慢任务(1 kHz)周期算一次 Id*,喂给电流环(10-20 kHz)。STM32 弱磁 PI 骨架(1 kHz 慢任务里调用): /* Field-Weakening voltage PI: 输入 V_max−|V|, 输出 Id* */ typedef struct { float kp, ki, ts, i_term, id_min, id_max; } FW_PI_t; float fw_pi_update(FW_PI_t *p, float v_mag, float v_max) { float err = v_max - v_mag - 0.05f*v_max; /* 5% 死区,避免抖动 */ if (err > 0.0f) { /* 还没饱和 → Id 回零 */ p->i_term += p->ki * err * p->ts; if (p->i_term > 0.0f) p->i_term = 0.0f; /* Id*≤0 单边限幅 */ } else { /* 已饱和 → 注负 Id */ p->i_term += p->ki * err * p->ts; if (p->i_term < p->id_min) p->i_term = p->id_min; /* 退磁硬限 */ } float id_ref = p->kp * err + p->i_term; if (id_ref > 0.0f) id_ref = 0.0f; if (id_ref < p->id_min) id_ref = p->id_min; /* 例 −0.6·I_rated */ return id_ref; } /* 关键:id_min 必须从永磁体厂家手册取,超过会一次性退磁不可逆 */
Step 8 / 9 · two-scenarios

EV 主驱 vs 压缩机峰值

目标
对比两个真实工业场景的弱磁差异
操作
场景 A(EV 主驱巡航):把 ψf 改 0.08 Wb、Ld 0.3 mH、Lq 0.6 mH、转速 12000 rpm;场景 B(压缩机制冷峰值):把 ψf 改 0.05、Ld 1.0、Lq 1.8、转速 7200 rpm。各跑一遍,对比 Id* 比例、|V|/V_max、温升关键变量。
观察
场景 A(EV):Id* 占额定 50-70%、电流圆几乎贴满、磁阻转矩贡献 25%、铁损突增(高 ωe + 高 |I|);场景 B(压缩机):Id* 占额定 20-30%、温升受限不能更深、磁阻贡献 10-15%、铁损可控但永磁退磁阈值是硬约束(高温下 NdFeB 矫顽力降低 0.6%/℃)。
为什么
同样是 PMSM 弱磁,两种工业场景的关键约束完全不同:EV 主驱看"功率密度 + 高速效率",弱磁深度由功率管温度和系统冷却决定;压缩机看"长期稳定 + 退磁阈值",弱磁深度由永磁体反向工作磁场强度上限决定。一台压缩机 −Id 比 EV 浅是性能不足,是物理硬约束——80℃ 工况下 N42SH 永磁体反向 BH 阈值仅 −350 kA/m,对应 |H_d| = NI/2g·几何因子,超过就退磁。
随堂题:一台空调压缩机厂家手册写"−Id 不得超过 −5A",工程上这条线的物理含义是什么?
  1. 电流环带宽上限
  2. SVPWM 调制比上限
  3. 永磁体退磁阈值(高温下不可逆退磁的反向 H_d 边界) (正确)
  4. PFC 母线电容电流限
提示:−5A 不是电流圆约束(电流圆是 |I|=√(Id²+Iq²)≤I_max),而是 d 轴方向独立的硬上限——超过 → 反向磁场强度 H_d 越过永磁体 BH 曲线的"膝点"→ 一次性退磁 → ψf 永久下降 5-20% → 同 Iq 转矩变小 → 效率塌方且不可恢复。永磁体手册给的 Id_min 必须直接硬编进弱磁 PI 的限幅。
Step 9 / 9 · recap

完整轨迹回顾

目标
一气呵成画出"恒转矩 → 基速 → 弱磁 → MTPV"完整轨迹
操作
把工作点拖回 (0, 5),转速回 3000 rpm;缓慢推到 8000 rpm,按 ← 键注负 Id 直到电压饱和警告消失,再继续推到 10000 rpm 持续加 −Id 直到看见转矩开始下降。完整走一遍三段曲线。
观察
工作点画出一条"先沿 Iq 轴上升 → 到基速后向左拐 → 沿椭圆滑动 → 接近 MTPV 拐点"的完整轨迹,就是教科书里那条经典的"PMSM 最优工作曲线"。每段对应的物理约束不同:恒转矩段约束=电流圆、恒功率段约束=电压椭圆、深弱磁段约束=椭圆切线(MTPV)。
为什么
到这一步你已经能用几何直觉解释 90% 的弱磁现象。下一步是把这些理论放到真实控制器里,看它在故障注入(母线跌 / 温升 / 编码器抖)下怎么表现——12 号故障调试模块。

常见误区(5 个)

试错:母线降压但不主动弱磁

现象:电压椭圆缩到工作点外面,Vdq 命令长期撞 V_max,电流环输出饱和、Iq 实际值跌、转矩跌、速度环狂积积分

为什么:控制器认为"母线还有余量",没意识到 BEMF 已经撞顶。表现为速度跌但电压指令拉满、电流跌但还在报"过流预警"。EV 电池低 SOC 巡航场景非常常见。修复:让弱磁 PI 用实测 Udc 实时算 V_max(每个慢任务周期采一次 Udc),不要用编译期常数。

试错:Id 给正了(方向反)

现象:弱磁不仅没缓解,电压饱和警告更严重;同时永磁体被同向加磁——长期高温下也可能退磁

为什么:把"−Id 抵消磁链"做反成"+Id 增强磁链" → 等效磁链 ψf+Ld·Id 变大 → BEMF 反而更大。常见原因:编码器零位对齐错了 180°,或 Park 矩阵符号写反。修复:先看"Iq=0、Id=−5A"时电机有没有反向空转——若反向旋转或抖动,说明 d 轴定义反了,做编码器零位重新对齐。

试错:弱磁过度(−Id 超退磁阈值)

现象:短期电压饱和解除、速度上去了;长期电机退磁不可逆——磁链 ψf 永久下降 5-20%,相同 Iq 下转矩变小,效率塌方

为什么:永磁体(NdFeB)有 BH 曲线"膝点",工作温度越高膝点越靠近原点(高温下永磁体反向抗磁场能力更弱,0.6%/℃ 退磁系数)。深度弱磁 −Id 接近退磁阈值时若叠加温升 → 一次性退磁。修复:在弱磁 PI 的输出限幅 id_min 里设硬上限(厂家手册给定的 −Id 安全极限,按最高工作温度算),永远不超;同时控制板加 NTC 测永磁体表面温度,温度越高 id_min 限制越严。

试错:弱磁 PI 增益过大

现象:Id 指令在 0 和 −5A 之间反复跳,转矩同步抖动,听得到电机"嗡嗡"

为什么:弱磁 PI 输出直接是 Id*,进入电流环;电流环响应到电压后,Vdq 改变 → 弱磁 PI 输入改变 → 输出再改 Id*。两个环时常数不匹配会震荡。修复:弱磁 PI 带宽 << 电流环带宽(典型 10:1,电流环 1 kHz → 弱磁 PI 100 Hz),并加 5-10% 死区(|V|/V_max < 0.93 不动作),慢任务里调用而非 ISR 里。

试错:忽略深弱磁下的铁损突增

现象:8000 rpm 弱磁段电机温升异常快、铜损看着不大但定子轭部温度飙;效率比标称低 4-6%

为什么:铁损 P_iron ≈ k_h·f·B² + k_e·f²·B²(磁滞 + 涡流),高速 + 大 −Id 时定子内部磁场实际并未减小(−Id 只是抵消"穿过气隙耦合到 stator"的等效磁链;定子铁芯本身磁通密度反而升高)→ 高 f + 大 B → 铁损二次方上升。深度弱磁下铁损可能占总损耗 40-50%(恒转矩区只占 10-15%)。修复:标定弱磁查表时同时记录温升,把"温升 vs Id 深度"作为 MTPA→MTPV 切换的实际约束,不是只看几何;EV 平台用油冷直接喷绕组与铁芯,压缩机靠制冷剂回流冷却 stator。

下一模块引子

现在你能用几何看弱磁了。下一模块(12 故障调试)把所有学过的诊断技能串起来——过流、过压、相序错、传感器漂移、弱磁失控、退磁后效率塌方,全部用波形读懂。