1. 磁编码器是怎么测角度的?
磁编码器(Magnetic Encoder)由两部分组成:磁铁(径向或轴向充磁,安装在电机转轴上)和编码器芯片(定子侧)。芯片内部集成霍尔或 AMR/TMR 磁阻敏感单元,输出两个正交的磁场分量(x/y 或 sin/cos),最终通过反正切算出角度:
θ = atan2(y, x)
理想情况下,输出角度应严格等于转子的机械角度。但现实中,由于安装、磁铁、芯片等环节的偏差,输出角度与真实机械角之间存在随位置变化的偏差——这就是磁编码器的非线性误差。
主流磁编芯片(如 MT6816、AS5047P、TLE5012B、MA730)内部都带有 CORDIC 反正切和线性化校准单元。但芯片内校准只补偿敏感单元自身的失配,无法补偿装配(偏心、轴向间隙)和磁铁(充磁不均、谐波)引入的误差——这部分必须靠系统级校准。
2. 角度误差从哪来?
磁编码器的角度误差来源可以归纳为六类,每一类都有自己典型的谐波阶次特征:
| 误差来源 | 典型谐波阶次 | 成因与说明 |
|---|---|---|
| 磁铁偏心 | 1 次(一圈一次) | 磁铁圆心与转轴不同心,磁场分布不对称 |
| 正交误差 / 通道失配 | 2 次(一圈两次) | 芯片两通道增益、偏置、正交不完美,磁场矢量轨迹呈椭圆 |
| 充磁不均 / 方向偏 | 1 次、2 次为主 | 磁铁磁化方向偏离、磁化强度不均匀 |
| 磁场谐波 | 3 次及以上 | 磁铁本身含高次空间谐波 |
| 轴向窜动 / 端跳 | 随机构,位置相关 | 轴向间隙变化使磁场强度变化,误差波动 |
| 外部杂散磁场 / 温漂 | 低频 / 缓变 | 周围磁源干扰、温度使磁铁剩磁变化 |
工程上,偏心(1 次谐波)和正交误差(2 次谐波)占主导,二者通常贡献 80% 以上的角度误差。典型误差量级 1°~5°,取决于装配质量。
3. 角度误差对 FOC 的影响
FOC 的每一次坐标变换都依赖转子角度 θ:Clarke/Park 变换(电流反馈)和反 Park 变换(电压指令)都要用到它。角度误差会直接"带偏"整个 dq 坐标系:
- 反馈的 id/iq 与真实值不符,电流环"以为"在控制转矩,实际并不准确
- 表现为转矩脉动、电流波形畸变、效率下降,与齿槽转矩的脉动叠加在一起,难以区分
- 低速 / 位置控制最敏感:位置读数不准直接变成定位误差和跟随误差
- 角度误差还会劣化无感观测器和齿槽转矩补偿的效果(补偿建立在角度准确的前提上)
齿槽转矩是"转矩通路"的扰动,可以用前馈抵消;角度误差是"反馈通路"的误差——增大环路增益不但消不掉它,反而可能把误差放大甚至引发振荡。这类误差只能靠校准。
4. 误差的数学模型:谐波级数
磁编码器测的是机械角度,误差以机械圈为周期(磁铁+传感器的几何每转一圈重复一次),因此误差可以展开为机械角度的谐波级数:
Δθ(θmech) = Σn=1∞ An · sin(n·θmech + φn)
- n = 1:偏心(一圈一次)
- n = 2:正交误差 / 椭圆误差(一圈两次)
- n = 3 及以上:磁场谐波
这一点和上一篇的齿槽转矩完全不同:齿槽转矩以电角度为周期(一个电周期内波动 6/12/18 次),而磁编码器误差以机械圈为周期。所以校准表要覆盖 0~360° 机械角度,补偿完再乘以极对数 p 换算成电角度用于 FOC。用错周期,补偿反而帮倒忙。
5. 如何校准?四种方法对比
先澄清一个概念:零位校准(磁轴对齐)≠ 非线性校准。上电时给两相通电把转子拉到已知位置、记下编码器零位——这只能消除固定偏差(offset),位置相关的非线性(偏心、正交误差)一点都没动。要做非线性校准,需要逐点或逐谐波地标定。
方法一:高精度参考对比法(研发台架)
用光栅编码器、激光干涉仪或机械分度台作为基准,让被测磁编与基准同轴,逐角度对比读数,采集误差表。精度最高,是研发基准,但需要台架设备,不适合产线。
方法二:反电动势过零法(无需外部设备)
电机的反电动势(BEMF)与转子位置直接相关:某相 BEMF 过零时,转子电角度处于已知位置(如 0°、180°)。做法:
- 电机以很低速度旋转(开环弱电流,或由另一台电机拖动),避免饱和
- 采集三相反电动势,检测过零时刻
- 记录同一时刻的编码器读数,得到"已知电角度 ↔ 编码器读数"样本点
- 转满一圈,用这些样本拟合谐波系数或建误差表
优点:不需要外部基准;缺点:需要能稳定产生反电动势、转速低,样本点数量受极对数限制。
方法三:恒定速度积分法(产线快速标定)
让电机以恒定角速度旋转(外部转台,或假设电机自身匀速),则理想角度 = θ0 + ω·t。误差 = 编码器读数 − 理想角度(去掉直流)。转几圈取平均,就能得到一圈的误差曲线。速度快,适合产线。
方法四:电流纹波最小化自校准(在线,产品级)
角度误差会让 id/iq 之间产生耦合纹波。做法:低速匀速运行,观测 iq(或 id)中的 1 次、2 次谐波分量,用 RLS / LMS 在线辨识角度误差的谐波系数,并实时更新补偿。无需任何外部设备,可跟随温度/磨损自动调整,是产品级推荐方案。
| 方法 | 是否需要外部设备 | 精度 | 适用场景 |
|---|---|---|---|
| 高精度参考对比 | 是(光栅/分度台) | 最高 | 研发基准、出厂抽检 |
| 反电动势过零 | 否 | 较高 | 研发 / 小批量标定 |
| 恒定速度积分 | 视情况(转台可选) | 中高 | 产线快速标定 |
| 电流纹波最小化自校准 | 否 | 较高且可在线更新 | 产品量产、长期运行 |
6. 交互式演示:角度误差与补偿
下面演示磁编码器的角度误差模型。左侧是转子与编码器指针动画:橙色为真实角度,蓝色为编码器读数(偏差已放大显示);右侧是 0~360° 机械角的误差波形。你可以单独调节一次(偏心)、二次(正交)、三次谐波的幅值,看各阶谐波对误差形状的影响,以及补偿后的效果。
观察要点:
- 一次谐波(偏心)让误差在 0~360° 内"偏一边";二次谐波(正交误差)让误差在 90° 和 270° 附近出现两个峰——形状完全不同
- 只补偿 1 个谐波时,绿色残余曲线仍能看到明显的 2 次/3 次谐波;补偿谐波数越多,残余越小
- 左侧动画里蓝色指针(编码器读数)相对橙色指针(真实角度)的摆动幅度,就是这个误差的可视化——校准后两针基本重合
7. 补偿实现
7.1 补偿在 FOC 环中的位置
补偿在角度域做一次就够了:先用原始读数查误差,算出补偿后的角度,再把它喂给 Park / 反 Park 变换:
θcomp = θraw − Δθ(θraw), 之后 θelec = θcomp × p
我们不知道真实角度,只有原始读数 θraw。补偿表存的是"θraw 处的误差",所以用 θraw 查表,再减掉误差即得补偿后角度。误差较小时这种索引方式足够准。
7.2 查表补偿(C语言)
7.3 谐波补偿(C语言)
7.4 标定数据采集(恒定速度法)
8. 工程要点与常见误区
要点 1:校准不能替代装配精度
先把磁铁偏心、轴向窜动这些机械问题做好,再谈校准。校准只能补偿残余误差,过度依赖校准会掩盖机械问题,且误差大时查表/谐波都难以干净补偿。
要点 2:采样点数与平均
查表建议每 1°(360 点)或每 0.5°(720 点)机械角一点;标定时多转几圈取平均,抑制随机噪声。谐波法通常取到 3~4 阶即可覆盖 90% 以上的误差能量。
要点 3:温度会改变误差
磁铁剩磁随温度变化,偏心/谐波幅值随之漂移。工作温度范围大时,用在线自校准(方法四)或分段标定,避免标定值慢慢失配。
要点 4:先校角度,再做转矩补偿
齿槽转矩补偿、死区补偿都建立在角度准确的前提上。流程建议:先做磁编非线性校准(角度准了),再做齿槽转矩补偿(转矩准了)——顺序反了会越补越乱。
要点 5:验证方法
校准后低速匀速运行,观察 iq 纹波应明显下降、三相电流波形更接近正弦、位置环定位误差减小。用这些"行为指标"确认校准有效,而不只是看误差表本身。
误区 1:磁编码器是数字输出,所以精确
数字输出只是接口形式,角度是 atan2 算出来的,受磁场谐波、偏置、安装影响,误差照样存在。
误区 2:只校准零位(offset)就够了
磁轴对齐只消固定偏差。偏心、正交误差这类位置相关非线性依旧在,低速/位置控制的脉动和误差不会改善。
误区 3:误差表用电角度索引
磁编误差是机械圈周期,表要覆盖 0~360° 机械角度;换算电角度在补偿之后做(×极对数)。与齿槽转矩(电角度周期)完全相反,别混。
误区 4:磁编校准 = 齿槽转矩补偿
前者是反馈通路的角度误差(带偏 dq 坐标系),后者是转矩通路的扰动(叠加在电磁转矩上)。补偿位置不同、实现不同,但都会表现为转矩脉动——调试时注意区分。
误区 5:校准一次永久有效
温度、磁铁老化、机械松动、装配应力都会改变误差。产品级方案应支持周期性重标定或在线自适应。
误区 6:只补偿一次谐波就够
一次谐波(偏心)只是最大的一项,二次(正交)、三次谐波占比可能不小。先做 FFT 看误差频谱,再决定补偿到几阶,别一刀切。
9. 小结
- 磁编码器角度误差是机械圈周期的谐波叠加,1 次(偏心)、2 次(正交误差)占主导,典型 1°~5°
- 误差直接带偏 Park / 反 Park 变换,造成 id/iq 错误、转矩脉动、位置不准——反馈通路的误差不能靠增益消除,只能校准
- 校准四法:高精度参考对比、反电动势过零、恒定速度积分、电流纹波自校准;产线用恒速法,产品级用在线自校准
- 补偿两种实现:查表(机械角每 1° 或 0.5° 一点,插值)与谐波注入(1~4 阶,可在线自适应)
- 顺序:先做好装配 → 磁编非线性校准 → 齿槽转矩补偿,角度准了转矩补偿才准
下一篇我们将进入无感 FOC 观测器,看看没有编码器时,如何从反电动势和电流里"估计"出转子角度——那是角度获取的另一种路径。