1. 编码器基础:增量式与绝对式编码器原理、分辨率与精度概念、常见接口类型
各位工程师朋友,咱们开始第一讲。编码器这东西,说白了就是电机的「眼睛」。没有它,你那个 SVPWM 控制算法再漂亮,也是瞎转。我最早接触编码器是在一个伺服项目上,当时选型没太在意,结果调试时电机老是抖,查了三天才发现是编码器分辨率不够。嗯,从那以后我对编码器就格外上心。
1.1 增量式编码器:简单但有个「健忘症」
增量式编码器的工作原理,其实挺直观的。它内部有一个码盘,上面刻满了明暗相间的条纹。电机一转,光栅透过条纹产生脉冲信号。你数一数脉冲个数,就知道转了多少角度。
但它有个致命弱点——它不记得绝对位置。断电再上电,它从零开始。你得先让电机回一次原点,才能知道当前在哪儿。我有个项目就吃过这个亏:设备突然断电,重新上电后机械臂直接撞到限位,就是因为没做回零逻辑。
- 输出信号:A、B 两相正交脉冲(判断方向),Z 相零位脉冲(每圈一个)
- 断电丢失位置,上电需回零
- 结构简单,成本低,适合速度控制
1.2 绝对式编码器:自带「记忆」的聪明家伙
绝对式编码器就不一样了。它每个位置都有唯一的二进制编码,断电再上电,位置信息还在。你想想看,这对工业现场有多重要?尤其是那些不允许回零的场合,比如机器人关节、数控机床主轴。
绝对式编码器分两种:单圈和多圈。单圈的只能记一圈内的位置,多圈的还能记转了多少圈。我个人习惯,只要预算允许,优先选多圈绝对式。为什么?因为省心。你不需要额外电池来保持圈数计数,系统设计简单很多。
1.3 分辨率与精度:别搞混了
这两个概念,我见过太多人搞混了。咱们一次说清楚。
| 概念 | 定义 | 通俗理解 |
|---|---|---|
| 分辨率 | 编码器能检测到的最小角度变化 | 「刻度有多细」 |
| 精度 | 实际位置与测量位置的偏差 | 「量得有多准」 |
举个例子:一个 17 位绝对式编码器,分辨率是 360° / 2^17 ≈ 0.0027°。但它的精度可能只有 ±0.01°。为什么?因为码盘刻划误差、安装偏心、温度漂移都会影响精度。分辨率高不代表精度高,这个坑我踩过。
1.4 常见接口类型:ABZ、SSI、BiSS-C
接口决定了你怎么把编码器的数据读回来。选错了接口,硬件设计要重来,很麻烦。
ABZ 接口(增量式标配)
A、B 两相脉冲,相位差 90°,用来判断正反转。Z 相每圈一个脉冲,用于回零校准。这种接口简单,但高速时脉冲频率很高,对控制器捕获能力有要求。我一般用在 3000rpm 以下的场合。
SSI 接口(绝对式经典)
同步串行接口,时钟+数据两根线。主设备发时钟,编码器在时钟上升沿或下降沿逐位输出位置数据。SSI 抗干扰能力强,传输距离远(可达 100 米)。但它有个缺点:数据更新率受时钟频率限制。我曾经在一个需要 10kHz 位置更新率的项目上,SSI 就有点吃力了。
BiSS-C 接口(高速绝对式新贵)
BiSS-C 是 SSI 的升级版,全双工通信,数据速率更高(可达 10MHz 以上)。它支持传感器和控制器之间的实时双向通信,还能读取编码器的温度、报警等附加信息。我个人非常推荐在伺服驱动项目中使用 BiSS-C,尤其是需要高动态响应的场合。
| 接口 | 类型 | 最大速率 | 传输距离 | 推荐场景 |
|---|---|---|---|---|
| ABZ | 增量式 | ~几 MHz(脉冲频率) | 10m 以内 | 通用速度/位置控制 |
| SSI | 绝对式 | ~1-2 MHz(时钟) | 100m | 长距离、中等速度 |
| BiSS-C | 绝对式 | ~10 MHz(时钟) | 50m | 高动态伺服、机器人 |
1.5 知识体系总览
下面这张图把本章的核心知识点串起来了。你可以把它当作编码器选型时的检查清单。
这张图把编码器的两大分类、各自特点、以及三种主流接口的关系都画清楚了。你选型的时候,从上往下捋一遍,基本不会漏掉关键点。