1. 编码器基础与选型:增量式与绝对式编码器原理、分辨率与精度、电气接口(TTL/HTL/SSI/BiSS)、选型避坑指南
编码器这东西,说白了就是电机的「眼睛」。位置环能不能跑得稳、换相准不准,一半的功劳得归它。我刚开始做伺服驱动那会儿,总觉得算法是核心,编码器随便选一个就行。结果呢?电机低速抖得像筛子,高速又丢步。后来才明白——编码器选不对,后面全白费。
这一章咱们就把编码器的底裤扒干净。从原理到接口,从参数到实战避坑,一次说透。
1.1 增量式编码器:简单粗暴,但有个致命缺点
增量式编码器的工作原理,其实特别直白。码盘上刻着一圈一圈的明暗条纹,光透过条纹照到接收器上,就产生脉冲信号。转一圈,输出N个脉冲。你数脉冲个数,就知道转了多少角度。
但它有个问题——它不知道自己在哪。断电再上电,脉冲计数归零了,位置信息全丢。你得先让电机转到一个已知位置(比如找零位),才能继续干活。
核心要点:增量式编码器只输出相对位置变化,不输出绝对位置。每次上电必须执行「寻零」操作。
我在一个AGV项目里就吃过这个亏。增量式编码器配无刷电机,每次开机电机都要猛转一圈找零位。客户一看,说你这机器人怎么跟抽风似的?后来换了绝对式,开机即用,世界清净了。
1.2 绝对式编码器:开机就知道自己在哪
绝对式编码器就聪明多了。码盘上刻的不是明暗条纹,而是一圈一圈的格雷码(Gray Code)。每一圈代表一个二进制位,圈数越多,位数越高。读出来的二进制数直接对应唯一的角度位置。
换句话说——你不需要数脉冲,也不需要找零位。上电一瞬间,当前位置就出来了。
| 对比项 | 增量式 | 绝对式 |
|---|---|---|
| 输出信号 | A/B/Z 脉冲 | 格雷码 / 串行数据 |
| 断电记忆 | ❌ 丢失 | ✅ 保持 |
| 上电启动 | 需寻零 | 即插即用 |
| 抗干扰 | 一般(脉冲易受干扰) | 较强(数据校验) |
| 成本 | 低 | 高 |
我的建议:如果做位置环换相,尤其是多电机协同或需要断电保持位置的场景,直接上绝对式。省掉的调试时间,比省下的那点硬件成本值钱得多。
1.3 分辨率与精度:别搞混了
这两个词经常被混用,但完全是两码事。我见过不少工程师拿着高分辨率编码器,以为精度也高,结果装上去位置就是跑不准。
- 分辨率:编码器能分辨的最小角度变化。比如17位绝对式,分辨率 = 360° / 2^17 ≈ 0.0027°。说白了就是「刻度有多细」。
- 精度:实际测量值与真实值之间的偏差。它取决于码盘刻划误差、安装偏心、温度漂移等。说白了就是「刻度准不准」。
举个例子:你拿一把尺子,最小刻度是0.1mm(分辨率高),但这把尺子本身是歪的(精度低),量出来的数据照样不准。
注意:分辨率高 ≠ 精度高。选型时,精度指标(通常用角秒或arcmin表示)比分辨率更重要。位置环换相要求精度至少达到电气角度的1/10,否则换相点会偏,导致转矩波动。
1.4 电气接口:TTL、HTL、SSI、BiSS 怎么选?
接口这东西,选错了连信号都读不出来。我当年第一次用SSI接口,没注意时钟极性,折腾了两天才发现是配置问题。嗯,都是泪。
TTL 与 HTL:电平差异
- TTL(5V):差分信号,抗干扰好,适合短距离(< 10m)。常见于增量式编码器。
- HTL(10-30V):单端或差分,电压高,抗干扰更强,适合长距离(> 10m)和工业现场。
我的习惯:控制柜内用TTL,柜外走线超过5米一律用HTL。别问为什么,问就是被干扰搞怕了。
SSI 与 BiSS:串行通信
这两种都是绝对式编码器常用的串行接口。
| 接口 | 通信方式 | 速率 | 特点 |
|---|---|---|---|
| SSI | 同步串行(时钟+数据) | ~5 MHz | 简单可靠,但速率受限 |
| BiSS | 双向同步串行 | ~10 MHz | 高速、支持CRC校验、可配置 |
BiSS 是目前的主流趋势。它比 SSI 快一倍,还带 CRC 校验,数据可靠性高。我最近几个项目全用的 BiSS-C 接口,配合 FPGA 解码,位置环更新率能做到 10kHz 以上。
选型口诀:短距TTL,长距HTL;低速SSI,高速BiSS;增量省钱,绝对省心。
1.5 选型避坑指南(实战经验)
这部分是我最想说的。以下每一条,都是我用真金白银换来的教训。
- 我曾经选了一个分辨率超高的编码器(23位),结果发现控制器SPI速率跟不上,数据读不完。 后来才明白:分辨率要和控制器接口带宽匹配。算一下:23位 × 10kHz 更新率 = 230kbps,加上协议开销,至少需要 5MHz 时钟。你的控制器跑得到吗?
- 我曾经忽略编码器的机械安装公差,结果装上去偏心0.1mm,精度直接崩了。 编码器对安装同轴度要求很高,一般要求 ≤ 0.02mm。安装时一定要用千分表打一下。
- 我曾经在高温环境用了普通编码器,结果码盘热变形,位置漂移。 工业环境超过85°C,必须选宽温型号(-40°C ~ 125°C)。
- 我曾经用单端TTL信号走了15米线,结果电机一启动,位置脉冲乱跳。 长距离必须用差分信号(RS-422)或HTL。别省那两根线。
我的选型清单:
- 先定精度需求(位置环换相要求电气角度误差 < 5°)
- 再算分辨率(至少是精度要求的 5-10 倍)
- 选接口(看控制器支持和传输距离)
- 确认机械安装(同轴度、轴向窜动、防护等级)
- 最后看环境(温度、振动、油污、EMC)
1.6 知识体系总览
下面这张图,把编码器选型的核心逻辑串起来了。你照着这个流程走,基本不会踩坑。
这张图把选型的四个维度——类型、参数、接口、环境——串在了一起。你从根节点出发,沿着分支往下走,每一步都对应一个决策点。走完一遍,选型方案基本就出来了。