1. 编码器基础与换相原理

各位同学好,我是老周。做电机控制这些年,我最大的感触就是——编码器选型和换相逻辑,是整套系统的地基。地基没打好,后面FOC调得再好也白搭。今天咱们就从最基础的编码器分类讲起,把增量式和绝对式的区别、霍尔换相逻辑、六步换相和FOC换相的核心差异,一次性说透。

1.1 增量式编码器 vs 绝对式编码器

先问个问题:你上电之后,电机转子在什么位置?

增量式编码器回答不了这个问题。它只能告诉你「从上次断电到现在,我转了多少步」。绝对式编码器则不同,一上电就知道当前绝对角度。这个差异,决定了它们各自的应用场景。

对比项 增量式编码器 绝对式编码器
上电位置 未知,需回零 已知,直接读取
输出信号 A/B/Z 脉冲 SSI/BiSS/SPI 数字码
抗干扰能力 脉冲易受干扰 数字传输,抗干扰强
成本 低 高
典型应用 伺服电机、步进电机 机器人关节、高端数控
我的经验: 做工业伺服时,我习惯用增量式编码器配合霍尔传感器做上电初始定位。成本低,精度也够。但如果你做协作机器人关节,千万别省这个钱——绝对式编码器能省掉每次上电回零的麻烦,安全性高一个量级。

1.2 霍尔传感器与编码器换相逻辑

霍尔传感器,说白了就是三个开关。电机转一圈,三个霍尔输出 6 种状态组合。每个状态对应一个 60° 电角度区间。

编码器呢?它提供的是连续角度信息。精度高得多,但上电时不知道位置。所以很多方案是「霍尔粗定位 + 编码器精跟踪」——霍尔告诉控制器「转子大概在哪个扇区」,编码器再给出精确角度。

核心逻辑:

  • 霍尔:6 个状态 → 60° 分辨率 → 用于六步换相
  • 编码器:连续角度 → 0.1° 甚至更高 → 用于 FOC 换相
  • 混合方案:霍尔做初始定位,编码器做运行跟踪

我曾经在一个项目中遇到过霍尔信号抖动导致换相错乱的问题。排查了两天,最后发现是霍尔安装位置偏差了 2 度。嗯,机械公差有时候比软件bug更隐蔽。

1.3 电机换相的基本原理

换相,就是按照转子位置,切换定子绕组的通电顺序。让磁场始终「追着」转子跑。

六步换相(方波控制)

六步换相,也叫方波控制。每 60° 电角度切换一次通电状态。每次只有两相通电,第三相悬空。

优点:控制简单,硬件成本低。
缺点:转矩脉动大,低速有噪音。

// 六步换相状态表(以 BLDC 为例)
// 状态 0: A+ B- C悬空
// 状态 1: A+ B悬空 C-
// 状态 2: A悬空 B+ C-
// 状态 3: A- B+ C悬空
// 状态 4: A- B悬空 C+
// 状态 5: A悬空 B- C+

void six_step_commutation(uint8_t hall_state) {
    switch(hall_state) {
        case 0b001: set_pwm(PHASE_A_H, PHASE_B_L, PHASE_C_NONE); break;
        case 0b011: set_pwm(PHASE_A_H, PHASE_B_NONE, PHASE_C_L); break;
        case 0b010: set_pwm(PHASE_A_NONE, PHASE_B_H, PHASE_C_L); break;
        case 0b110: set_pwm(PHASE_A_L, PHASE_B_H, PHASE_C_NONE); break;
        case 0b100: set_pwm(PHASE_A_L, PHASE_B_NONE, PHASE_C_H); break;
        case 0b101: set_pwm(PHASE_A_NONE, PHASE_B_L, PHASE_C_H); break;
        default: break;
    }
}

FOC 换相(正弦波控制)

FOC 换相,也叫矢量控制。它不搞「开关切换」,而是用 SVPWM 合成任意方向的电压矢量。理论上,每 1° 甚至更细的粒度都可以换相一次。

优点:转矩平滑,效率高,噪音低。
缺点:计算量大,需要高精度角度反馈。

注意: FOC 对编码器精度要求很高。我见过有人用 2500 线的增量式编码器跑 FOC,低速时电流波形全是毛刺。后来换成 17 位绝对式编码器,问题才解决。编码器分辨率不够,FOC 就是空中楼阁。

1.4 本章知识体系

下面这张图,是我自己总结的编码器换相知识框架。你把它记在脑子里,后面每一章都会用到。

编码器换相知识体系 编码器换相知识体系 编码器分类 换相方式 增量式 绝对式 六步换相 FOC换相 霍尔传感器 编码器角度 60° 切换 连续角度 霍尔粗定位 + 编码器精跟踪 SVPWM 矢量合成 核心思路:霍尔做扇区定位,编码器做精细角度,两者互补实现平滑换相 六步换相适合低成本场景,FOC换相追求高性能

这张图把编码器分类和换相方式串在了一起。你注意看左侧的「霍尔粗定位 + 编码器精跟踪」——这是工业界最常用的混合方案。右侧的 SVPWM 矢量合成,则是 FOC 的核心。

好了,第一章就到这里。编码器基础打牢了,后面讲换相性能优化的时候,你才能理解为什么有些参数调了没用,有些参数动一下就是质变。