1. 编码器基础:增量式编码器的工作原理、光栅与磁栅的区别、ABZ信号解析
各位好,我是老周。做运动控制这行十几年了,跟编码器打交道比跟老婆还多。今天咱们开篇先聊聊增量式编码器的基础,这东西看着简单,但坑不少。我见过太多工程师因为基础不牢,在零位校准上栽跟头。
1.1 增量式编码器的工作原理
说白了,增量式编码器就是个“计数器”。它不告诉你现在在哪儿,只告诉你动了多少、往哪个方向动。就像你走路时数步子,但不知道起点在哪儿——这就是为什么我们需要零位校准。
它的核心原理其实很朴素:码盘跟着轴转,传感器检测码盘上的刻度变化,然后输出脉冲。每转一圈,脉冲数固定。比如2500线的编码器,一圈就是2500个脉冲。
我习惯把增量式编码器的工作流程拆成三步:
- 码盘转动:码盘上有明暗相间的条纹(光栅)或磁极(磁栅),跟着电机轴一起转。
- 信号生成:传感器检测到码盘上的变化,产生正弦波或方波信号。
- 脉冲输出:经过电路整形,输出标准的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信号的关系:
信号频率与转速的关系
这个公式你得记住:
转速(rpm) = (脉冲频率(Hz) × 60) / 编码器线数
举个例子:编码器线数2500,测得A相频率100kHz,那么转速就是 (100000 × 60) / 2500 = 2400 rpm。
我一般会在调试时先测一下这个频率,确认编码器工作正常。如果频率忽高忽低,多半是编码器安装有问题或者信号受干扰了。
调试小技巧:用示波器看A相和B相的波形,注意检查上升沿和下降沿是否陡峭。如果波形有毛刺或边沿不陡,先检查屏蔽接地,再考虑加RC滤波。我曾经遇到一个案例,编码器信号全是毛刺,最后发现是屏蔽层只接了一端——两端都接地后问题解决。
好了,这一章的基础知识就聊到这儿。ABZ信号怎么用、怎么在控制器里处理,咱们后面几章会一步步展开。记住:基础不牢,地动山摇。编码器的工作原理搞清楚了,后面的零位校准才能做得顺手。