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。别省那两根线。

我的选型清单:

  1. 先定精度需求(位置环换相要求电气角度误差 < 5°)
  2. 再算分辨率(至少是精度要求的 5-10 倍)
  3. 选接口(看控制器支持和传输距离)
  4. 确认机械安装(同轴度、轴向窜动、防护等级)
  5. 最后看环境(温度、振动、油污、EMC)

1.6 知识体系总览

下面这张图,把编码器选型的核心逻辑串起来了。你照着这个流程走,基本不会踩坑。

编码器选型知识体系 编码器选型知识体系 编码器选型 类型选择 关键参数 电气接口 环境适配 增量式 绝对式 分辨率 精度 TTL/HTL SSI/BiSS 温度/振动/防护 选型核心原则 精度优先 → 分辨率匹配 → 接口兼容 → 环境适配 实战避坑要点 • 分辨率与控制器带宽匹配 • 安装同轴度 ≤ 0.02mm • 长距离必须用差分/HTL

这张图把选型的四个维度——类型、参数、接口、环境——串在了一起。你从根节点出发,沿着分支往下走,每一步都对应一个决策点。走完一遍,选型方案基本就出来了。