一、从 "反电动势" 到 "磁链" 的思路转换
无感 FOC 的主流做法是估计反电动势,再由其相位求角度。还有一条同样成熟、在学术界与工业界都广泛使用的路径:直接估计定子磁链,再由磁链矢量求转子角度。
![]()
麦歌恩MT6501磁编码器IC
两者在物理上等价,在工程上却差别明显。反电动势是磁链的导数(e = dψ/dt),所以由磁链求角度本质上是对反电动势做积分 —— 积分天然具有低通特性,能抑制高频噪声;但同时积分会累积直流偏置,一点点的采样偏置在长时间积分后会变成巨大的漂移。
磁链观测器的全部工程难点,就集中在这个 "积分器的直流漂移" 上。
二、电压模型的基本形式
在 α-β 坐标系下,定子磁链与电压、电流的关系为:
ψα = ∫(uα - Rsiα)dt
ψbeta = ∫(ubeta - Rsibeta)dt
其中积分项 (u - Rs*i) 就是反电动势。转子角度可由磁链矢量求出:
θ = atan2(ψbeta - Lsibeta, ψα - Lsiα) (表贴式电机可简化为 atan2 (ψbeta, ψα),需扣除电枢反应)
更严谨的形式是:永磁磁链 ψf_vec = ψs_vec - Ls*is_vec,再由 ψf_vec 的相位得到转子角。对凸极电机还要做 d-q 轴电感分解,否则会有明显角度误差。
这一方法的优点很突出:
- 低速端比反电动势法更好:因为积分对反电动势幅值的依赖被 "累积" 抵消,转速低时只是积分慢,而不是信噪比崩掉。实践上电压模型磁链法可以下探到额定转速的 3%~5%。
- 输出平滑:积分天然滤掉高频噪声,角度抖动小。
- 算力低:每周期只需几次乘加与一次 atan2(或用 PLL 替代)。
三、纯积分的两个死穴
3.1 直流漂移
采样偏置、运放失调、ADC 零点误差、死区不对称,都会在 (u - Rsi) 中留下一个微小的直流分量 d。积分后变成 dt,随时间线性增长,最终把磁链矢量拖偏,角度估计彻底失效。这个时间尺度可能是几十秒到几分钟,表现为 "运行一段时间后效率下降、电流上升、最后失步"。
3.2 初始值问题
积分需要初值。如果初值不对,磁链轨迹会整体偏移一个常矢量,角度误差呈现周期性波动(随转子旋转一周波动一次)。这在启动阶段尤其明显。
四、五种实用的改进结构
4.1 低通滤波替代纯积分(LPF)
用一阶低通 1/(s+ωc) 代替 1/s。直流漂移被抑制,代价是幅值衰减与相位滞后:在频率 ω 处,幅值衰减为 ω/sqrt (ω²+ωc²),相位滞后为 atan (ωc/ω)。
补偿办法是级联一个高通或做幅相补偿:把 LPF 的输出乘以 (s+ωc)/s 的近似,或直接按频率计算补偿增益与相位。工程上常用 "可编程低通 + 幅相补偿",ωc 取电频率的 1/5~1/10,使补偿量在常用速域内可控。
4.2 带饱和反馈的积分器
在积分器输出上引一条反馈路径,当输出超过限幅时反向灌入积分器,形成 "漏积分"(leaky integrator)。结构简单,但会引入额外的相位误差,且限幅值需要与磁链幅值匹配。
4.3 自适应补偿积分器
把磁链幅值作为观测量:理论上 |ψs| 应为常数(稳态下),若估计的幅值偏离,就说明有直流漂移,用这个偏差去修正积分器的输入偏置。这是一个闭环结构,能做到既抑漂又不明显损失相位精度。
4.4 全阶磁链观测器(龙伯格结构)
把电流与磁链作为联合状态,构造
dψ_hat/dt = u - Rsi_hat + K1(i - i_hat)
di_hat/dt = (ψ_hat - Lsi_hat)/(Lsσ) + K2*(i - i_hat)
通过增益矩阵 K1、K2 把电流误差反馈到磁链与电流估计,极点可配置,收敛速度可控。这是工业界最常用的结构之一,本质是 "用电流测量校正磁链估计",从根上解决漂移问题。
4.5 混合模型(电流模型 + 电压模型)
高速用电压模型(精度高、不依赖参数),低速用电流模型(基于 d-q 轴电流与磁链方程,依赖 Ld、Lq、ψf 但不受积分漂移影响),中间用加权过渡。加权系数随转速变化,典型过渡区间在额定转速的 10%~30%。这是 "全速域磁链观测" 的经典做法,也是无感方案做到接近零速的常用手段之一。
五、工程细节:让磁链法真正可用的五件事
第一,电流与电压的严格同步。用于积分的 u 与 i 必须来自同一控制周期、同一时刻。如果电压用了上一拍的指令而电流是本拍采样,积分项里就会出现与转速相关的误差。
第二,Rs 的准确性。电压模型对 Rs 的敏感度比反电动势法更高,因为 Rs*i 项要与 u 相减后再积分,误差会被累积。必须做温度补偿,或采用 "在线 Rs 辨识"(在稳态下用 d-q 轴电压方程反解 Rs)。
第三,逆变器非线性补偿。死区、导通压降、开关延时都会造成实际输出电压与指令不符。低速小电流时,这些误差可能占指令电压的很大比例,必须补偿,否则磁链轨迹会畸变。
第四,atan2 的实现。定点 atan2 常用查表 + 插值或 CORDIC。要注意全象限覆盖与零点附近的分辨率;也可以改用 PLL 锁定磁链矢量,避免 atan2 的噪声敏感。
第五,启动与低速切换。磁链观测器在零速无法初始化(没有反电动势,也就没有可积分的量)。启动时通常先用 "给定位置强拖" 或高频注入建立初始磁链,再切到观测器。
六、磁链法 vs 反电动势法:怎么选
维度
反电动势法(含 SMO)
磁链观测器法
有效速域下限
约 10%~15% 额定
约 3%~5% 额定(配合混合模型更低)
参数敏感性
中(Rs 影响偏置)
高(Rs、Ld/Lq、ψf 都影响)
输出平顺性
依赖滤波与 PLL
天然平滑
算力
低到中(含 atan2 或 PLL)
调试难度
中高(漂移与补偿需经验)
典型应用
风机、水泵、电动工具
压缩机、直驱、宽速域风机
判断标准很简单:如果产品的最低稳定转速要求在额定 10% 以下,磁链法(或混合模型)是更现实的选择;如果只在额定中高速运行,反电动势法更简单可靠。
七、一个常见误区:磁链幅值恒定假设
很多资料在推导时假设 |ψs| 恒定,从而用 "幅值误差" 判断漂移。但在实际电机中,磁链幅值会随温度(永磁体退磁)、随弱磁电流(id 为负时气隙磁链下降)变化。若把幅值恒定当作硬约束,会在弱磁区产生错误的角度修正。
正确做法是:把 "幅值误差" 只用于抑制低频漂移(带宽设在几赫兹),而不要让它跟随快速变化的工况;或改用 d 轴电流与 ψf 的实时模型做参考。
八、数值实现上的四个坑
第一,积分器的位数。磁链积分需要长时间累积,如果用 16 位定点,几次迭代就会饱和。应使用 32 位或更高,并在最后输出时缩放到 Q15。
第二,积分步长的确定性。若控制周期存在抖动,积分步长 Ts 实际在变化,积分结果会引入误差。要么保证周期严格恒定(硬件定时器触发),要么用实际测得的周期参与计算。
第三,atan2 的连续性。磁链矢量在过零、象限切换时,atan2 的输出会发生跳变(例如从 179 度跳到 - 179 度)。必须做角度展开(unwrap),否则 PLL 或角度跟踪会出现假跳变。
第四,补偿器的启动瞬态。带反馈的积分器在启动时会有一个收敛过程,这段时间内角度不可靠。状态机应在启动阶段给出 "角度无效" 标志,等收敛后再允许闭环。
磁链观测器把无感 FOC 的有效速域向下推了一截,代价是把 "积分漂移" 这个麻烦请进了门。它不是一个可以照抄的算法,而是一套需要与逆变器非线性、参数辨识、启动策略一起设计的系统。做好了,它在宽速域内的表现相当稳定;做不好,它会在运行几分钟后悄悄地失步。
最后要说清楚一件事:磁链观测器的性能高度依赖 "输入质量"。它看到的电压是重构出来的、电流是采样得到的,两者的误差都会被积分放大。因此在这条技术路线上,硬件层面的死区补偿、采样校准、母线电压实时测量,比算法层面的技巧更重要。很多团队在算法上反复尝试各种补偿结构却始终不理想,问题其实出在输入信号本身就不干净。先把输入端做到可信,再谈观测器的结构选择,顺序不能颠倒。还有一条实践建议:把磁链矢量的幅值与相位分别打点输出,幅值用来判断漂移与弱磁,相位用来判断角度精度。两者分开观察,比只看一个合成角度更容易定位问题出在积分还是参数上。这两路信号同时记录,也是判断 "漂移" 与 "角度误差" 是否同源的最快手段。观测器调好后,别忘了把参数与实测曲线一起归档,这是下一次复用的起点。经验留在文档里,才不会被人员流动带走。本文来自深圳市艾毕胜电子有限公司,提供麦歌恩磁性编码器芯片和无刷马达驱动板定制服务
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.