无感FOC低速破局:d轴方波高频注入HFI算法推导与实战避坑

发布时间:2026/10/27 9:22:15
无感FOC低速破局:d轴方波高频注入HFI算法推导与实战避坑 1. 无感FOC低速困境与HFI的破局逻辑1.1 为什么低速段成了无感FOC的“灯下黑”搞过永磁同步电机PMSM无感FOC的人都有一个共识中高速段靠反电动势观测转子位置基本能跑得不错但一到低速甚至零速反电动势幅值小到被噪声淹没观测器就彻底“瞎了”。我刚开始做无感FOC那会儿用隆贝格观测器在额定转速30%以上跑得很稳但一旦降到5%以下转子位置估算误差直接飙到30度以上电机开始抖动、失步甚至反转。这个问题的根源在于反电动势与转速成正比低速时信噪比太低任何基于基波模型的观测器都无能为力。那怎么办既然基波信号太弱那就主动注入一个高频信号让电机在低速段也能“被看见”。这就是高频注入HFIHigh Frequency Injection的核心思路。HFI不依赖反电动势而是利用电机的凸极效应saliency通过注入高频电压信号从高频电流响应中提取转子位置信息。这个思路的美妙之处在于凸极效应是电机结构本身决定的与转速无关所以HFI在零速和极低速下依然有效。1.2 凸极效应HFI的物理根基要理解HFI必须先吃透凸极效应。PMSM按转子结构分为表贴式SPM和内置式IPM。SPM的永磁体贴在转子表面d轴和q轴电感基本相等凸极率接近1HFI效果很差。而IPM的永磁体嵌入转子内部d轴磁路经过永磁体磁导率接近空气q轴磁路经过硅钢片磁导率高导致Ld Lq凸极率通常在1.5到3之间。这个电感差异就是HFI的“信号源”。从数学上看电机的电压方程在dq坐标系下可以写成ud Rs*id Ld*d(id)/dt - ωe*Lq*iq uq Rs*iq Lq*d(iq)/dt ωe*Ld*id ωe*ψf在低速时ωe≈0交叉耦合项和反电动势项可以忽略方程简化为ud ≈ Rs*id Ld*d(id)/dt uq ≈ Rs*iq Lq*d(iq)/dt这时候如果在d轴注入一个高频方波电压电流响应就只跟Ld有关如果在q轴注入电流响应只跟Lq有关。由于Ld≠Lq通过检测高频电流的幅值差异就能判断转子位置。这就是HFI的底层逻辑。1.3 方波注入 vs 正弦波注入为什么选方波HFI的注入信号形式有很多种正弦波、方波、脉冲序列等。早期我用正弦波注入效果还行但有几个痛点一是需要低通滤波器提取高频响应滤波器带来相位延迟影响动态性能二是正弦波注入的幅值受限信噪比不够高三是解调过程需要乘法器和滤波器计算量大。后来切换到方波注入发现优势明显。方波注入的频谱更宽能量集中在开关频率附近可以用同步采样直接提取电流响应不需要低通滤波器省掉了相位延迟。而且方波注入的幅值可以更大信噪比更高。最关键的是方波注入的解调过程极其简单只需要在方波的正半周期和负半周期分别采样电流然后做差即可。这个差值直接反映了凸极效应计算量小到可以忽略。具体来说d轴方波高频注入的基本原理是在估计的d轴d_hat上注入一个高频方波电压频率通常取开关频率的一半比如10kHz开关频率注入5kHz方波。然后在每个方波周期的正负半周期分别采样d_hat轴和q_hat轴的电流通过电流差值提取位置误差信号再送入锁相环PLL或龙贝格观测器估算转子位置和转速。2. d轴方波高频注入的算法推导全流程2.1 坐标系定义与注入信号建模推导之前先把坐标系理清楚。设实际转子位置为θe估计转子位置为θ_hat位置误差Δθ θe - θ_hat。定义实际dq坐标系和估计d_hat-q_hat坐标系。注入信号加在估计d轴d_hat上形式为u_d_hat_inj V_inj * (-1)^n其中V_inj是注入电压幅值n是方波周期计数(-1)^n表示正负交替。注入频率f_inj f_sw/2f_sw是PWM开关频率。这个方波在频域上表现为奇次谐波基波频率就是f_inj。为什么选d轴注入而不是q轴因为d轴注入时高频电流响应主要包含位置误差信息而q轴注入会引入转矩脉动。d轴注入对转矩影响小更适合低速运行。当然也有q轴注入的方案但d轴注入在工程上更常见。2.2 高频电流响应推导在估计坐标系下高频电压方程可以写成u_d_hat Rs*i_d_hat L_d_hat*d(i_d_hat)/dt L_dq_hat*d(i_q_hat)/dt u_q_hat Rs*i_q_hat L_dq_hat*d(i_d_hat)/dt L_q_hat*d(i_q_hat)/dt其中L_d_hat、L_q_hat、L_dq_hat是估计坐标系下的电感参数它们与实际dq轴电感的关系为L_d_hat L_avg L_diff*cos(2Δθ) L_q_hat L_avg - L_diff*cos(2Δθ) L_dq_hat L_diff*sin(2Δθ)这里L_avg (LdLq)/2L_diff (Lq-Ld)/2。注意对于IPMLq Ld所以L_diff 0。在高频注入下电阻压降远小于电感压降可以忽略Rs。同时注入频率远高于基波频率基波电流可以视为常数。于是方程简化为u_d_hat_inj ≈ L_d_hat*d(i_d_hat)/dt L_dq_hat*d(i_q_hat)/dt 0 ≈ L_dq_hat*d(i_d_hat)/dt L_q_hat*d(i_q_hat)/dt从第二个方程解出d(i_q_hat)/dt代入第一个方程得到d(i_d_hat)/dt u_d_hat_inj * L_q_hat / (L_d_hat*L_q_hat - L_dq_hat^2) d(i_q_hat)/dt -u_d_hat_inj * L_dq_hat / (L_d_hat*L_q_hat - L_dq_hat^2)把L_d_hat、L_q_hat、L_dq_hat的表达式代入经过三角恒等变换可以得到d(i_d_hat)/dt u_d_hat_inj * (L_avg - L_diff*cos(2Δθ)) / (Ld*Lq) d(i_q_hat)/dt -u_d_hat_inj * L_diff*sin(2Δθ) / (Ld*Lq)这个结果非常关键。可以看到d_hat轴的高频电流导数包含cos(2Δθ)项而q_hat轴的高频电流导数包含sin(2Δθ)项。当Δθ很小时sin(2Δθ)≈2Δθ所以q_hat轴的高频电流导数与位置误差成正比。这就是提取位置误差信号的依据。2.3 方波正负半周期电流差值提取方波注入的巧妙之处在于不需要对电流求导而是利用正负半周期的电流差值。设方波正半周期电压为V_inj持续时间为T_inj/2负半周期电压为-V_inj持续时间也是T_inj/2。在正半周期结束时电流变化量为Δi_d_hat_pos V_inj * T_inj/2 * (L_avg - L_diff*cos(2Δθ)) / (Ld*Lq) Δi_q_hat_pos -V_inj * T_inj/2 * L_diff*sin(2Δθ) / (Ld*Lq)在负半周期结束时电流变化量为Δi_d_hat_neg -V_inj * T_inj/2 * (L_avg - L_diff*cos(2Δθ)) / (Ld*Lq) Δi_q_hat_neg V_inj * T_inj/2 * L_diff*sin(2Δθ) / (Ld*Lq)正负半周期的电流差值正减负为Δi_d_hat_diff V_inj * T_inj * (L_avg - L_diff*cos(2Δθ)) / (Ld*Lq) Δi_q_hat_diff -V_inj * T_inj * L_diff*sin(2Δθ) / (Ld*Lq)在实际实现中我们通常在每个方波半周期的末尾采样电流然后计算相邻两个半周期的电流差值。这个差值就是上面推导的结果。注意这里假设电流在半个周期内线性变化这个假设在注入频率远高于基波频率时成立。2.4 位置误差信号提取与锁相环设计从Δi_q_hat_diff中提取位置误差信号。由于sin(2Δθ)≈2Δθ当Δθ很小时所以ε -Δi_q_hat_diff * (Ld*Lq) / (V_inj * T_inj * L_diff) ≈ 2Δθ这个ε就是位置误差信号。实际实现中不需要知道Ld、Lq、L_diff的精确值只需要知道它们的符号和大致比例因为后续的PLL会通过闭环调节消除误差。通常把ε乘以一个增益Kp然后送入PLL。PLL的结构很简单一个PI控制器加上一个积分器。PI控制器的输入是ε输出是估计转速ω_hat积分器的输入是ω_hat输出是估计位置θ_hat。PI参数的设计需要根据注入频率和电机参数来整定。我一般先用MATLAB/Simulink仿真调参然后再上实物。经验值是Kp取0.5到2之间Ki取Kp的1/100到1/10之间具体看电机惯量和注入频率。注意PLL的带宽不能太高否则会引入高频噪声也不能太低否则动态响应慢。一般取注入频率的1/10到1/5。2.5 方波注入的离散化实现细节在实际DSP实现中方波注入需要与PWM周期同步。假设PWM频率为10kHz注入方波频率为5kHz那么每个方波半周期对应一个PWM周期。具体实现步骤在每个PWM周期开始时判断当前是正半周期还是负半周期。如果是正半周期在d_hat轴电压指令上叠加V_inj如果是负半周期叠加-V_inj。在每个PWM周期结束时采样三相电流经过Clarke/Park变换得到i_d_hat和i_q_hat。计算当前半周期电流与上一个半周期电流的差值。用Δi_q_hat_diff计算位置误差信号ε。将ε送入PLL更新θ_hat和ω_hat。将θ_hat用于Park变换和SVPWM。这里有一个关键点电流采样时刻必须与方波边沿对齐。通常选择在PWM周期中点采样这样可以避开开关噪声。另外采样延迟和PWM更新延迟会影响PLL的相位裕度需要在设计时补偿。3. 从仿真到实物的完整实操记录3.1 仿真环境搭建与参数配置我一般用MATLAB/Simulink做HFI的仿真验证。搭建模型时需要包含以下模块PMSM电机模型设置Ld、Lq、Rs、ψf等参数、逆变器模型用平均模型或开关模型、HFI注入模块、电流采样模块、PLL模块、SVPWM模块。电机参数我常用一台2.2kW的IPM电机Ld5mHLq15mHRs0.5Ωψf0.1Wb极对数4。仿真步长设为1e-6秒PWM频率10kHz注入方波频率5kHz注入电压幅值20V。为什么选20V因为注入电压太小信噪比不够太大会引入额外的转矩脉动和噪声。一般取额定电压的10%到20%。对于这台电机额定电压约200V20V就是10%。仿真时先让电机在零速启动观察PLL能否锁定转子位置。我一开始调的时候PLL增益设得太大导致位置估算振荡后来把Kp降到0.8Ki降到0.01就稳定了。然后测试低速运行从0到100rpm观察位置误差。仿真结果显示稳态位置误差在5度以内动态响应时间约50ms。3.2 实物平台搭建与调试步骤实物平台我用的是TI的TMS320F28069控制板搭配一台2.2kW IPM电机和一台伺服驱动器。调试步骤先不注入高频信号用电流闭环和速度开环确认电流采样和PWM输出正常。加入方波注入但先不接PLL用示波器观察Δi_q_hat_diff波形。正常情况下应该看到与位置误差相关的正弦波形。接入PLL先用手转动转子观察θ_hat是否能跟随θe。如果跟随不上检查PLL增益和注入幅值。零速闭环启动给一个小的速度指令比如10rpm观察电机能否平稳启动。如果抖动降低PLL带宽或增大注入幅值。低速运行测试从10rpm到200rpm逐步增加速度观察位置误差和电流波形。我踩过的一个坑一开始没有考虑电流采样延迟导致PLL相位滞后电机在低速时抖动。后来在PLL中加了一个相位补偿环节问题解决。具体做法是在ε上乘以一个补偿系数或者直接在θ_hat上加上一个固定的相位偏移。3.3 关键参数整定与优化HFI的性能很大程度上取决于参数整定。以下是我总结的关键参数整定表参数典型值影响整定建议注入电压幅值10%-20%额定电压信噪比、转矩脉动从小往大调直到位置误差稳定注入频率开关频率的1/2噪声、采样精度一般取5kHz-10kHzPLL Kp0.5-2动态响应、稳定性从0.5开始逐步增大PLL KiKp/100 - Kp/10稳态误差、振荡先调Kp再调Ki电流采样延迟补偿0.5-1个PWM周期相位裕度根据实际延迟调整提示注入电压幅值不要超过额定电压的25%否则会引起明显的转矩脉动和噪声。3.4 实测波形分析与问题定位实测时我用示波器抓取了几个关键波形d_hat轴电流、q_hat轴电流、位置误差信号ε、估计位置θ_hat和实际位置θe。正常波形应该是d_hat轴电流呈方波形状q_hat轴电流呈正弦形状ε在零附近波动θ_hat平滑跟随θe。如果发现θ_hat抖动可能的原因有PLL增益太大、注入幅值太小、电流采样噪声大、PWM死区影响。我遇到过一次θ_hat抖动排查后发现是电流采样电阻的温漂导致采样偏差换了低温漂电阻后解决。还有一次是死区补偿没做好导致电流波形畸变影响了HFI的精度。4. 常见问题排查与避坑经验实录4.1 HFI低速抖动与失步的排查思路低速抖动是HFI最常见的故障。排查时我一般按以下顺序检查注入信号是否正常用示波器看d_hat轴电压指令确认方波幅值和频率正确。检查电流采样看d_hat和q_hat轴电流波形确认没有明显畸变或噪声。检查PLL看ε和θ_hat波形确认PLL没有振荡。检查电机参数确认Ld、Lq、Rs设置正确特别是Ld和Lq的差异是否足够大。检查死区补偿死区会导致电压误差影响HFI精度。如果以上都正常但电机仍然抖动可以尝试降低PLL带宽、增大注入幅值、或者改用q轴注入。我遇到过一台SPM电机凸极率只有1.1HFI效果很差最后改用其他方法。4.2 高频噪声与电磁干扰的抑制技巧HFI注入的高频信号会带来噪声和电磁干扰。抑制方法在电流采样电路上加RC低通滤波器截止频率设为注入频率的2倍以上。在PWM输出上加共模扼流圈减少高频辐射。在软件中加限幅和滤波防止噪声进入PLL。注入频率尽量避开机械共振频率。我实测下来加RC滤波和共模扼流圈后噪声明显降低位置估算更稳定。4.3 不同电机凸极率下的HFI适配策略不同电机的凸极率差异很大HFI的适配策略也不同凸极率电机类型HFI效果适配策略1.2SPM差不建议用HFI改用其他方法1.2-1.5弱凸极IPM一般增大注入幅值降低PLL带宽1.5-2.5常规IPM好标准参数即可2.5强凸极IPM很好可降低注入幅值提高PLL带宽我手头有一台凸极率1.3的电机用HFI时位置误差约10度勉强能跑后来换了一台凸极率2.0的电机位置误差降到3度以内效果立竿见影。4.4 从HFI到全速域无感FOC的切换逻辑HFI只在低速段有效中高速段还是要靠反电动势观测器。所以需要设计一个平滑切换逻辑。我一般用以下策略低速段10%额定转速HFI单独工作。过渡段10%-20%额定转速HFI和观测器加权融合权重随速度线性变化。高速段20%额定转速观测器单独工作。切换时要注意两个观测器的输出要平滑过渡避免突变。我通常用一阶低通滤波器做加权时间常数取100ms左右。实测下来切换过程平稳没有明显抖动。注意切换点不能太低否则观测器还没准备好也不能太高否则HFI的噪声已经很大。一般取10%-20%额定转速。4.5 实操心得与独家避坑清单最后分享几条我踩坑总结的经验注入方波的边沿要尽量陡峭但也要考虑EMI。我一般用PWM比较值直接生成方波边沿时间约100ns。电流采样时刻要精确对齐方波边沿误差超过1us就会影响精度。PLL的积分器要加限幅防止积分饱和。电机参数会随温度变化Ld和Lq的差异也会变化所以HFI的精度会受温度影响。高温时位置误差可能增大需要做温度补偿。调试时先用示波器看波形再用示波器看波形最后还是用示波器看波形。重要的事情说三遍。这个内容后续还可以这样扩展一是把方波注入改成伪随机注入降低噪声二是结合粒子群算法优化PLL参数三是用卷积神经网络做位置误差信号的去噪。这些方向我都试过一些效果不错有机会再细聊。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询