2、编码器基础:增量式编码器原理、绝对式编码器原理、磁编码器与光电编码器对比

做电机控制这些年,我接触最多的传感器就是编码器。说句实话,编码器选对了,堵转检测就成功了一半。这一章咱们把编码器的底细彻底聊透。

2.1 增量式编码器:简单但有个坑

增量式编码器的工作原理,说白了就是数脉冲。码盘上刻着一圈一圈的明暗条纹,光穿过缝隙,接收器就输出高低电平。轴转一圈,输出固定数量的脉冲。

我刚开始做项目时觉得这东西太简单了——转一圈发多少个脉冲,数出来不就知道位置了吗?后来发现没那么简单。

⚠ 掉电丢位置
增量式编码器只记录相对变化。一旦掉电重启,你完全不知道轴在哪儿。必须做归零动作,或者靠外部传感器辅助定位。

增量式编码器通常输出三路信号:

  • A相、B相:相位差90°,用来判断正反转
  • Z相:每圈一个脉冲,用于归零参考

举个实际例子。我做过一个伺服项目,电机每转配2500线编码器。A、B相经过4倍频后,一圈能分辨10000个位置。堵转检测时,我监控单位时间内的脉冲增量——如果连续几个采样周期脉冲数都接近零,基本可以判定堵转。

💡 我的经验
增量式编码器做堵转检测,关键在于采样周期和脉冲阈值的匹配。采样太快,机械振动会误报;采样太慢,堵转响应滞后。我一般设1ms采样一次,连续5次脉冲数小于2就触发堵转标志。

2.2 绝对式编码器:一劳永逸的选择

绝对式编码器就不一样了。它每个位置都有唯一的编码值,掉电重启后位置信息还在。你想想看,这对堵转检测意味着什么?

绝对式编码器分两种:

  • 单圈绝对式:一圈内位置唯一,但多圈后重复
  • 多圈绝对式:记录圈数+圈内位置,真正意义上的绝对位置

我记得有个项目要求设备断电后必须记住机械臂姿态。增量式编码器做不到,最后选了多圈绝对式编码器。虽然贵了点,但省掉了每次上电归零的麻烦。

绝对式编码器的输出方式也值得注意:

接口类型 特点 适用场景
并行输出 每位一根线,实时性好 短距离、高速场合
SSI 同步串行,抗干扰强 工业现场、长距离
BiSS 高速双向通信 高端伺服、机器人
EnDat 海德汉协议,带诊断 精密加工、数控机床

做堵转检测时,绝对式编码器的优势很明显——你可以直接读取当前位置,判断轴是否在预期时间内移动了足够距离。不需要像增量式那样累积脉冲,也不怕干扰丢步。

2.3 磁编码器 vs 光电编码器:各有各的脾气

这两种编码器我都用过不少。先看一张对比表:

对比项 磁编码器 光电编码器
工作原理 检测磁场角度变化 检测光栅透光/反射
分辨率 中低(12~16位常见) 高(可达20位以上)
抗污染能力 强(油污、粉尘不影响) 弱(怕油污遮挡光路)
抗振动能力 强 一般(码盘易碎)
温度范围 宽(-40~125°C常见) 较窄(-10~70°C常见)
成本 低 高
典型应用 汽车、工业电机、家电 伺服、机器人、精密仪器

我曾经在一个粉尘很大的车间里做项目,一开始用了光电编码器。结果不到一个月,码盘上全是灰,脉冲信号乱跳。后来换成磁编码器,问题就解决了。嗯,环境适应性这块,磁编码器确实省心。

但磁编码器也有短板。它的精度受温度影响较大,而且容易受外部强磁场干扰。我遇到过一台电机旁边有大功率变压器,磁编码器读数一直飘,最后加了磁屏蔽才搞定。

🔑 堵转检测场景下的选择建议
  • 环境干净、要求高精度 → 光电编码器
  • 环境恶劣、要求可靠性 → 磁编码器
  • 需要掉电记忆位置 → 绝对式(磁或光电均可)
  • 成本敏感、精度要求不高 → 磁编码器

2.4 编码器知识体系总览

下面这张图是我自己整理的编码器知识框架,方便你快速建立整体认知:

编码器知识体系框架图 编码器 按原理分 按输出方式分 按检测技术分 增量式 绝对式 并行 串行(SSI/BiSS) 光电式 磁式 掉电丢位置 需归零 掉电记忆位置 直接读取 高精度 怕污染 耐恶劣环境 精度中等 堵转检测:关注脉冲变化率 / 位置增量 增量式→数脉冲;绝对式→读位置

2.5 堵转检测中的编码器选型要点

回到咱们课程的核心——堵转检测。编码器选型时,我建议重点关注这几个参数:

  1. 分辨率:决定了你能检测到的最小位移。堵转时轴可能只有微小抖动,分辨率不够会漏报。
  2. 响应频率:编码器能输出的最高信号频率。高速电机堵转时,需要快速捕捉脉冲变化。
  3. 抗干扰能力:工业现场电磁环境复杂,信号抖动会导致误判堵转。
  4. 机械接口:安装方式、轴径、出线方向,这些细节往往决定项目成败。

我记得有个项目,选了一款分辨率很高的光电编码器,但没注意它的最高响应频率。电机转速一上去,编码器输出直接饱和,堵转检测完全失效。后来换了响应频率更高的型号才解决。

💡 避坑指南
我曾经在选型时只看分辨率,忽略了编码器的输出延迟。对于堵转检测这种实时性要求高的场景,编码器的信号延迟必须小于控制周期的1/10。否则你读到的是"历史数据",堵转早就发生了。