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/Z 信号与正交解码关系 t A相 B相 Z相 每转一个脉冲 90° 方向判别:A相上升沿时 B相为低 → 正转;B相为高 → 反转

倍频与分辨率计算

分辨率是增量式编码器最容易被误解的参数。编码器铭牌上的“线数”通常指每转 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+,但抗干扰能力会下降。

上电后建议先做三项检查:

  1. 用示波器看 A、B 波形:确认两路频率一致、相位差约 90°、无严重畸变或丢边沿。
  2. 手动慢转一圈,观察 Z 相:每转应只出现一个脉冲,且位置与机械零点对应。
  3. 验证方向:正向旋转时计数器递增,反向时递减;若相反,可在控制器中取反方向位或交换 A/B 接线。
注意:交换 A、B 相会改变方向判别结果,但不会改变分辨率。若发现计数方向与机械运动方向相反,优先在软件中设置方向取反,而不是随意改线,以免破坏差分对和屏蔽连续性。

计数溢出与 Z 相回零

增量式编码器的计数器是有限位宽的,例如 32 位计数器在 4 倍频、2500 线条件下,每转 10000 计数,约 429496 转后溢出。实际系统中更常见的是“相对位置”与“绝对位置”的配合:上电后先寻找 Z 相,把计数器清零或装载预设值,之后靠 A/B 计数维持位置。Z 相的作用就是提供一个可重复的机械参考点,让每次回零后的坐标一致。

如果设备需要多圈绝对位置,单靠增量式编码器无法实现,必须加装绝对值编码器或多圈电池备份方案。这也是选型时要区分“增量”与“绝对”的根本原因。

快速估算:已知线数 N、倍频 M、丝杠导程 P,则直线分辨率 = P ÷ (N × M)。例如 N=1024、M=4、P=5 mm,分辨率 = 5 ÷ 4096 ≈ 0.00122 mm,约 1.22 μm。

掌握 A/B/Z 的相位关系、正交解码的状态跳变和倍频计算,就能在调试中快速判断“计数不对、方向反了、回零不准”这类问题究竟出在信号、接线还是参数配置上。