4. 增量式编码器工作原理与信号解析
增量式编码器是运动控制中最常见的反馈元件之一。它不直接输出绝对角度,而是通过旋转时产生的脉冲序列,让驱动器或控制器“数”出相对位移。理解它的关键,不在于记住引脚定义,而在于弄清三路信号 A、B、Z 各自承担什么角色,以及控制器如何从这些方波中还原出位置、方向和速度。
A/B/Z 三路信号的分工
增量式编码器内部通常有一个带透光/反光狭缝的码盘,配合光电或磁敏元件输出方波。最常见的输出是 A 相、B 相和 Z 相:
- A 相与 B 相:两路频率相同、相位相差 90°电角度的方波。它们共同决定“转了多少”和“往哪转”。
- Z 相(零位/参考脉冲):每转一圈只输出一个脉冲,用于建立机械零点和消除累计误差。
以常见的 1024 线增量编码器为例,其 A、B 每转各输出 1024 个完整周期。若只看 A 相上升沿计数,每转得到 1024 个计数;但正交解码会利用 A、B 的边沿组合,把每转计数提升到 4096。这就是“倍频”的直接来源。
正交解码与方向判别
正交解码的核心,是把 A、B 两路信号看成两个状态位,组成一个 2 位格雷码序列。当轴正转时,状态按 00→01→11→10→00 循环;反转时则按 00→10→11→01→00 循环。控制器在每个边沿采样 A、B 电平,与上一状态比较,就能同时得到“计数增减”和“方向”。
方向判别有一个非常实用的口诀:看 A 相上升沿时 B 相的电平。若 A 上升沿时 B 为低电平,则正转;若 B 为高电平,则反转。反过来看 B 相上升沿时 A 的电平,也能得到相反但一致的结论。工程中常用四倍频解码,即对 A、B 的上升沿和下降沿都计数,因此每个 A/B 周期产生 4 个计数。
倍频与分辨率计算
分辨率是增量式编码器最容易被误解的参数。编码器铭牌上的“线数”通常指每转 A 相或 B 相的脉冲数,而控制器最终能分辨的最小位移,取决于解码方式:
| 解码方式 | 计数边沿 | 每转计数 | 角分辨率(1024线) |
|---|---|---|---|
| 1倍频(仅A上升沿) | A↑ | 1024 | 0.352° |
| 2倍频(A↑和A↓) | A↑、A↓ | 2048 | 0.176° |
| 4倍频(A、B全部边沿) | A↑、A↓、B↑、B↓ | 4096 | 0.088° |
角分辨率计算公式为:分辨率 = 360° ÷ (线数 × 倍频数)。以 1024 线、4 倍频为例,360 ÷ 4096 ≈ 0.0879°,即约 0.088°。若换成 2500 线编码器,4 倍频后每转 10000 计数,角分辨率约 0.036°。
如果编码器安装在丝杠或齿轮齿条上,还需要把角分辨率换算成直线分辨率。例如丝杠导程 10 mm、编码器 2500 线、4 倍频,则每转 10000 计数,直线分辨率 = 10 mm ÷ 10000 = 0.001 mm,即 1 μm。这个数值直接决定了系统理论上的最小定位步距。
实际接线与信号质量检查
工程中,A/B/Z 通常以差分方式传输,如 RS-422 的 A+/A-、B+/B-、Z+/Z-。差分传输能显著抑制共模干扰,长距离或变频器附近尤其重要。若控制器只支持单端输入,可只接 A+、B+、Z+,但抗干扰能力会下降。
上电后建议先做三项检查:
- 用示波器看 A、B 波形:确认两路频率一致、相位差约 90°、无严重畸变或丢边沿。
- 手动慢转一圈,观察 Z 相:每转应只出现一个脉冲,且位置与机械零点对应。
- 验证方向:正向旋转时计数器递增,反向时递减;若相反,可在控制器中取反方向位或交换 A/B 接线。
计数溢出与 Z 相回零
增量式编码器的计数器是有限位宽的,例如 32 位计数器在 4 倍频、2500 线条件下,每转 10000 计数,约 429496 转后溢出。实际系统中更常见的是“相对位置”与“绝对位置”的配合:上电后先寻找 Z 相,把计数器清零或装载预设值,之后靠 A/B 计数维持位置。Z 相的作用就是提供一个可重复的机械参考点,让每次回零后的坐标一致。
如果设备需要多圈绝对位置,单靠增量式编码器无法实现,必须加装绝对值编码器或多圈电池备份方案。这也是选型时要区分“增量”与“绝对”的根本原因。
掌握 A/B/Z 的相位关系、正交解码的状态跳变和倍频计算,就能在调试中快速判断“计数不对、方向反了、回零不准”这类问题究竟出在信号、接线还是参数配置上。