刚接触增量式编码器的技术人员,常常会被"A相""B相""Z相"这几个术语搞得一头雾水:它们分别代表什么?为什么一定要有两相信号才能判断方向?Z相又是干什么用的?本文从原理出发,把这几个基础但关键的概念一次讲清楚。
一、A、B、Z相信号分别是什么
增量式编码器内部通过光栅盘上的透光/不透光条纹,配合光电接收元件,将机械旋转转换为电脉冲信号输出,标准型号通常会输出以下几路信号:
- A相:主输出脉冲信号,编码器每旋转一个固定角度(由线数决定),A相输出一个脉冲
- B相:与A相同频率的脉冲信号,但相位上与A相相差90°(即"正交"关系)
- Z相(也称C相/零位信号):编码器每旋转一圈,仅输出一个脉冲,用于标定"零位"或"原点"位置
简单理解:A、B相负责"测速+辨向",Z相负责"每圈定位一次原点"。

二、A、B两相如何实现测速
编码器旋转时,A相(或B相)在单位时间内输出的脉冲数量,直接反映了旋转速度的快慢——转速越快,单位时间内的脉冲数越多。控制系统通过对脉冲进行计数,并结合编码器的线数(分辨率),即可换算出实际的角速度或线速度。
举例说明:若编码器为1000线,即每转一圈输出1000个脉冲。如果控制系统在1秒内检测到2000个脉冲,说明编码器在这1秒内转动了2圈,即转速为2转/秒(120转/分钟)。
三、A、B两相如何实现辨向——核心是"相位差"
这是很多人最容易困惑的地方:为什么单独一路A相脉冲无法判断方向,必须要有A、B两相配合?
答案在于相位超前/滞后关系。由于A相与B相在物理结构上刻线位置存在固定偏移,使得两者输出的脉冲波形始终保持90°的相位差,具体表现为:
- 正转时:A相波形超前于B相(即A相先于B相出现上升沿)
- 反转时:B相波形超前于A相(即B相先于A相出现上升沿)
控制系统内部通过判断在A相(或B相)跳变的瞬间,另一相当前处于高电平还是低电平,即可唯一确定当前是正转还是反转,这种判断逻辑通常由专用的解码芯片或FPGA/单片机的正交解码模块自动完成,无需人工干预。
四、Z相信号的作用——每转一次的"原点校准"
如果说A、B相解决的是"转了多少、往哪转"的问题,那么Z相解决的就是"绝对起点在哪"的问题。
由于增量式编码器本身不具备断电记忆功能,系统上电后并不知道当前处于哪个绝对位置,只能依靠A、B相的累计计数得到"相对位置"。而Z相每转输出一次脉冲,相当于给系统提供了一个"每圈固定出现一次的参考基准点",常见应用包括:
- 回零操作:设备上电后先执行回零动作,捕捉到Z相信号即认为找到了机械原点,后续位置计算均以此为基准
- 误差校验:长期运行中,系统可利用Z相信号周期性校验累计计数是否存在漂移,及时发现计数丢失等异常
需要注意的是,并非所有增量式编码器都带Z相输出,部分简化型号仅有A、B两相,选型时如设备需要精确回零功能,应确认是否需要带Z相的型号。
五、总结
A、B、Z三相信号是增量式编码器实现测速、辨向、定位三大基础功能的核心机制:A相与B相通过脉冲频率完成测速,通过90°相位差关系完成辨向;Z相则通过每转一次的零位信号,为系统提供原点参考。理解了这三路信号的分工逻辑,再去看驱动器/PLC的编码器接线说明书和参数设置,会更容易建立清晰的整体认知。
本文由编码器之家整理编写,专注编码器技术知识分享与选型答疑。