传感器基础:增量式编码器、绝对式编码器、霍尔传感器与接近开关

做运动控制这么多年,我越来越觉得传感器就是系统的「眼睛」。眼睛瞎了,再好的算法也白搭。今天咱们聊聊零点标定里最常用的几类传感器——增量式编码器、绝对式编码器、霍尔传感器和接近开关。这些家伙各有脾气,摸透了才能用好。

一、增量式编码器:简单但有个致命弱点

增量式编码器,说白了就是「数脉冲」的。它每转一圈输出固定数量的脉冲,比如1000线、2500线。你通过数脉冲个数就知道轴转了多少角度。

工作原理:码盘上刻着明暗相间的条纹,光通过条纹被接收器检测到,产生高低电平变化。A、B两相相差90度,用来判断正反转。Z相每圈一个脉冲,用来做零点参考。

核心要点:增量式编码器只能告诉你「相对位置」,不能告诉你「绝对位置」。断电再上电,位置就丢了。

我在项目中遇到过一件事:一台三轴机械手,每次开机都要先回原点。操作工嫌麻烦,直接断电重启就干活。结果呢?Z轴直接撞到硬限位,把丝杠螺母顶坏了。从那以后,我要求所有增量式编码器的设备必须做上电回零逻辑。

避坑指南:我曾经在高速场合用过增量式编码器,转速超过6000rpm时脉冲频率太高,PLC高速计数器直接丢脉冲。后来换了差分输出的编码器才解决。记住:频率 = 转速 × 线数 / 60,别超过控制器最大计数频率。

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

绝对式编码器就聪明多了。它每个位置对应唯一的二进制码,断电再上电,位置信息还在。你想想看,这省了多少回零的麻烦事。

工作原理:码盘上有多个码道,每个码道对应一位二进制数。通过读取所有码道的明暗组合,就能得到唯一的位置值。常见的有格雷码输出,因为格雷码相邻位置只变化一位,抗干扰能力强。

类型 位数 分辨率 典型应用
单圈绝对式 12-17位 4096-131072/圈 伺服电机、机器人关节
多圈绝对式 12位+12位 4096圈×4096/圈 多圈旋转轴、龙门架

我个人习惯在关键轴上用绝对式编码器。比如激光切割机的Z轴,如果断电后位置丢了,重新对焦要花好几分钟。用绝对式编码器,开机就能干活,效率提升明显。

小技巧:绝对式编码器也有坑。多圈绝对式编码器内部靠齿轮或电池记忆圈数。电池没电了,圈数信息就丢了。我建议定期检查电池电压,或者选免电池的多圈编码器。

三、霍尔传感器:简单可靠的磁感应

霍尔传感器利用霍尔效应——通电导体在磁场中会产生电势差。你放个磁铁在运动部件上,霍尔传感器靠近时输出信号变化。简单、便宜、耐用。

常见应用

  • 电机换相检测(无刷直流电机必备)
  • 气缸活塞位置检测
  • 接近开关的替代方案

我记得有一次做直线电机项目,用光栅尺做位置反馈,但光栅尺怕油污。后来在两端加了霍尔传感器做限位保护,效果出奇的好。油污对磁场没影响,可靠性高了一大截。

注意:霍尔传感器对磁场方向敏感。磁铁N极和S极靠近,输出电平可能相反。安装时一定要确认磁极方向,否则信号逻辑就反了。

四、接近开关:非接触式位置检测

接近开关分电感式和电容式两种。电感式检测金属物体,电容式检测任何导电物体(包括液体)。在零点标定中,常用电感式接近开关做机械原点检测。

关键参数

  • 检测距离:通常2-15mm,别超了
  • 响应频率:高速场合要选高频型
  • 输出类型:NPN、PNP、两线制

为什么会这样?很多新手搞不清NPN和PNP的区别。其实很简单:NPN输出低电平有效,PNP输出高电平有效。PLC输入端是漏型还是源型,决定了你选哪种。我一般习惯用PNP,因为高电平抗干扰能力强一些。

实战经验:接近开关做零点标定有个技巧——不要直接用上升沿或下降沿做零点。因为机械振动会导致信号抖动。我通常的做法是:检测到信号后,再延迟几毫秒确认,或者用软件滤波。否则零点位置一天一个样。

五、知识体系总览

下面这张图是我自己整理的传感器选型思路,你一看就明白了:

零点标定传感器选型决策树 需要位置反馈吗? 是 → 需要连续位置 否 → 只需开关信号 增量式编码器 需回零,成本低 绝对式编码器 断电记忆,成本高 霍尔传感器 磁感应,抗污染 接近开关 电感/电容式 选型建议 精度要求高 → 绝对式编码器 | 成本敏感 → 增量式+回零 限位保护 → 接近开关 | 恶劣环境 → 霍尔传感器

六、实际选型建议

说了这么多,到底怎么选?我个人的经验是:

  1. 伺服电机轴:用绝对式编码器,省去回零麻烦。现在主流伺服都标配17位以上绝对式编码器。
  2. 普通定位轴:增量式编码器+接近开关做原点,性价比最高。
  3. 限位保护:必须用接近开关或霍尔传感器,不能用编码器做软限位替代硬限位。
  4. 恶劣环境:有油污、粉尘的场合,优先选霍尔传感器或磁栅尺。

最后说一句:传感器选型没有绝对的对错,只有合不合适。我见过用几十块钱的接近开关做零点标定,精度也能到0.1mm。也见过用几万块的绝对式编码器,结果安装不对导致数据跳变。关键是把原理吃透,根据实际工况灵活选择。

嗯,传感器基础就聊到这儿。这些内容都是我在项目里一点点踩坑踩出来的,希望对你有帮助。


公众号:蓝海资料掘金营,微信deep3321