1. 编码器基础:增量式编码器的工作原理、光栅与磁栅的区别、ABZ信号解析

各位好,我是老周。做运动控制这行十几年了,跟编码器打交道比跟老婆还多。今天咱们开篇先聊聊增量式编码器的基础,这东西看着简单,但坑不少。我见过太多工程师因为基础不牢,在零位校准上栽跟头。

1.1 增量式编码器的工作原理

说白了,增量式编码器就是个“计数器”。它不告诉你现在在哪儿,只告诉你动了多少、往哪个方向动。就像你走路时数步子,但不知道起点在哪儿——这就是为什么我们需要零位校准。

它的核心原理其实很朴素:码盘跟着轴转,传感器检测码盘上的刻度变化,然后输出脉冲。每转一圈,脉冲数固定。比如2500线的编码器,一圈就是2500个脉冲。

我习惯把增量式编码器的工作流程拆成三步:

  1. 码盘转动:码盘上有明暗相间的条纹(光栅)或磁极(磁栅),跟着电机轴一起转。
  2. 信号生成:传感器检测到码盘上的变化,产生正弦波或方波信号。
  3. 脉冲输出:经过电路整形,输出标准的TTL或HTL方波脉冲。

关键点:增量式编码器只能测相对位置,断电后位置信息丢失。每次上电都必须重新找零位——这就是咱们这门课要解决的核心问题。

我记得刚入行时,有个项目用了增量式编码器做定位,结果每次断电重启后位置都跑偏。当时我以为是编码器坏了,折腾了两天才明白——增量式编码器本来就不保存位置。嗯,从那以后我再也不敢忽略零位校准了。

1.2 光栅与磁栅的区别

光栅和磁栅,是增量式编码器里最常见的两种技术路线。很多人问我哪个好,我的回答是:看场合。

咱们直接上对比表,这样最清楚:

对比项 光栅编码器 磁栅编码器
工作原理 光通过码盘上的透光/不透光条纹,产生明暗变化 磁阻传感器检测码盘上的磁极变化
分辨率 高,可达纳米级 中等,通常微米级
抗污染能力 差,怕油污、灰尘 强,油污、灰尘影响小
抗振动能力 中等 强
温度范围 -20°C ~ 85°C -40°C ~ 125°C
成本 较高 较低
典型应用 精密机床、光刻机、测量设备 机器人关节、汽车、恶劣环境

我在项目中遇到过这样的情况:一台数控机床用了光栅编码器,车间里切削液飞溅,结果编码器三天两头报错。后来换成磁栅的,问题全解决了。你想想看,光栅靠光透过缝隙来检测,油污一糊上去,光就过不去了。磁栅不一样,它靠磁场变化,油污对它基本没影响。

我的建议:如果环境干净、要求高精度,选光栅。如果环境恶劣、有油污振动,选磁栅。别为了省几百块钱选错类型,后期维护成本会让你哭。

1.3 ABZ信号解析

增量式编码器输出三路信号:A相、B相、Z相。这三路信号怎么配合,是理解编码器的关键。

A相和B相:判断方向和位置

A相和B相是两路相位差90°的方波信号。说白了,就是A相上升沿时,B相是高电平还是低电平——这决定了电机是正转还是反转。

  • 正转:A相上升沿时,B相为低电平
  • 反转:A相上升沿时,B相为高电平

我习惯用“四倍频”技术来提高分辨率。什么意思呢?就是同时检测A相和B相的上升沿和下降沿,这样每个脉冲周期能产生4个计数。比如2500线的编码器,四倍频后就是10000个计数/圈。

注意:四倍频虽然提高了分辨率,但也会放大信号抖动。如果编码器信号质量不好,四倍频反而会让位置波动变大。我曾经在一个振动很大的设备上吃过这个亏,后来老老实实改回单倍频了。

Z相信号:零位脉冲

Z相信号是增量式编码器的“灵魂”。它每圈只输出一个脉冲,宽度通常为1个A相脉冲周期。这个脉冲对应码盘上的一个特殊位置——零位标记。

Z相的作用就是:提供一个绝对的参考点。每次上电后,我们需要让编码器转到一个已知位置,然后捕获Z相脉冲,把这个位置设为机械零位。

这里有个细节很多人忽略:Z相脉冲的位置是固定的,但安装编码器时,这个位置和机械零位不一定对齐。所以我们需要做零位校准——这就是咱们这门课的核心内容。

下面这张图能帮你直观理解ABZ信号的关系:

增量式编码器 ABZ 信号时序图 A相 B相 Z相 零位脉冲(每圈1个) A相超前B相90° → 正转 B相超前A相90° → 反转 说明:A相和B相相位差90°,用于判断旋转方向和四倍频计数。 Z相每圈输出1个脉冲,宽度等于1个A相周期,用于零位定位。

信号频率与转速的关系

这个公式你得记住:

转速(rpm) = (脉冲频率(Hz) × 60) / 编码器线数

举个例子:编码器线数2500,测得A相频率100kHz,那么转速就是 (100000 × 60) / 2500 = 2400 rpm。

我一般会在调试时先测一下这个频率,确认编码器工作正常。如果频率忽高忽低,多半是编码器安装有问题或者信号受干扰了。

调试小技巧:用示波器看A相和B相的波形,注意检查上升沿和下降沿是否陡峭。如果波形有毛刺或边沿不陡,先检查屏蔽接地,再考虑加RC滤波。我曾经遇到一个案例,编码器信号全是毛刺,最后发现是屏蔽层只接了一端——两端都接地后问题解决。

好了,这一章的基础知识就聊到这儿。ABZ信号怎么用、怎么在控制器里处理,咱们后面几章会一步步展开。记住:基础不牢,地动山摇。编码器的工作原理搞清楚了,后面的零位校准才能做得顺手。