一、编码器基础:从零认识这个“位置传感器”
大家好,我是你们的老朋友。今天咱们聊聊编码器。
说实话,我入行那会儿,第一次接触编码器是在一台老式数控机床上。当时师傅丢给我一个坏掉的编码器,说:“拆开看看,搞明白它怎么工作的。”我拆开一看,里面就是一个码盘、几个发光管,还有一堆密密麻麻的刻线。嗯,这就是编码器的雏形。
编码器,说白了就是一个把机械位置(角度或直线位移)转换成电信号的传感器。你想想看,电机转了多少圈、机械臂摆到了哪个角度、传送带走了多远——这些信息,都得靠编码器来告诉控制器。
核心定义:编码器是一种将旋转或直线位移转换为数字信号的传感器,是运动控制系统的“眼睛”。
1.1 编码器分类:增量式 vs 绝对式
编码器分两大类:增量式和绝对式。这个分类,我建议你从一开始就记牢,因为选型时第一个要问的问题就是:“我要增量还是绝对?”
增量式编码器
增量式编码器,它只输出脉冲信号。电机每转一圈,它发出固定数量的脉冲。控制器通过数脉冲个数来知道位置,通过脉冲频率来知道速度。
举个例子:一个增量式编码器每转输出1000个脉冲。如果电机转了半圈,控制器就收到500个脉冲。听起来很简单对吧?
注意:增量式编码器有一个致命弱点——它不记忆位置。断电后重新上电,它不知道当前在哪儿。必须执行“回零”操作。
我曾经在一个自动化产线上吃过这个亏。设备断电后重新启动,机械臂直接撞到了限位块上。为什么?因为增量式编码器丢了位置信息。从那以后,我只要涉及安全关键场合,绝对优先考虑绝对式。
绝对式编码器
绝对式编码器就聪明多了。它每个位置都有一个唯一的二进制编码。断电再上电,它直接告诉你:“我现在在位置1234。”不需要回零,不需要找参考点。
绝对式编码器又分两种:
- 单圈绝对式:只能记录一圈内的位置。超过一圈,它就“失忆”了。
- 多圈绝对式:内部有机械齿轮或电子计数器,可以记录多圈位置。比如4096圈内,它都能记住。
我个人习惯,在伺服电机上至少用单圈绝对式。如果是机器人关节、数控机床主轴这种需要多圈记忆的,直接上多圈绝对式,省心。
1.2 编码器的主要参数
选编码器,看三个参数就够了:分辨率、精度、响应频率。我一个个说。
分辨率
分辨率,就是编码器能分辨的最小位置变化。增量式编码器的分辨率通常用“每转脉冲数”(PPR)表示。比如1000 PPR,意味着每转能分辨1/1000圈。
绝对式编码器的分辨率用“位”表示。比如17位绝对式编码器,每转有2^17 = 131072个位置。你想想看,这个分辨率有多细?
| 类型 | 分辨率表示 | 典型值 | 应用场景 |
|---|---|---|---|
| 增量式 | PPR(每转脉冲数) | 1000 ~ 10000 | 普通电机、传送带 |
| 绝对式 | 位(bit) | 12 ~ 24 bit | 伺服电机、机器人 |
我的经验:分辨率不是越高越好。分辨率太高,控制器处理不过来,反而容易丢脉冲。我一般选比系统要求高2~3倍的分辨率,留点余量就行。
精度
精度和分辨率是两码事。分辨率是“能分辨多细”,精度是“实际位置和测量位置差多少”。
举个例子:一个编码器分辨率是0.01度,但精度只有0.1度。什么意思?它能告诉你位置变化了0.01度,但实际位置可能偏差0.1度。
精度主要受码盘制造误差、安装偏心、温度漂移影响。我记得有一次,一个客户说编码器不准,我过去一看,安装孔偏了0.2mm,精度直接掉了两个数量级。嗯,安装精度往往比编码器本身精度更重要。
响应频率
响应频率,也叫最大工作频率。它决定了编码器能支持多高的转速。
公式很简单:
最大转速(RPM) = 响应频率(Hz) × 60 / 分辨率(PPR)
比如一个编码器响应频率是200 kHz,分辨率是1000 PPR,那么最大转速就是:
200000 × 60 / 1000 = 12000 RPM
这个参数在高速场合特别重要。我做过一个高速主轴项目,电机转速15000 RPM,选编码器时特意算了响应频率,最后选了300 kHz的型号,留了余量。
避坑指南:我曾经选了一个响应频率刚好的编码器,结果电机加速时编码器直接“丢步”了。为什么?因为加速过程中瞬时频率超过了额定值。所以,响应频率至少留20%余量。
1.3 知识体系总览
下面这张图,是我自己画的编码器知识体系。你把它存下来,以后选型、调试、排错,都能用上。
这张图把编码器的分类、特点、参数、应用串起来了。你从顶部往下看,先选类型,再看参数,最后匹配应用。我每次做方案,都是按这个思路来的。
1.4 小结
好了,第一章就聊到这儿。编码器基础其实不难,记住三点:
- 分类:增量式还是绝对式,决定了你的系统要不要回零。
- 参数:分辨率、精度、响应频率,三个参数缺一不可。
- 选型:别只看分辨率,精度和响应频率往往才是瓶颈。
下一章,咱们深入聊聊编码器的输出信号——A/B/Z相、SSI、BiSS、EnDat这些协议到底怎么用。到时候我会拿几个实际项目中的波形图出来,咱们一起分析。