3、编码器与传感器:增量式编码器、式编码器、霍尔传感器、扭矩传感器的工作原理与选型
各位工程师朋友,咱们今天聊聊关节控制里最核心的感知层——编码器和传感器。说白了,机器人关节能不能精准运动,全靠这些“眼睛”和“耳朵”。我个人习惯把传感器比作机器人的神经末梢,选错了,后面控制算法再牛也白搭。
核心观点:没有好的传感器反馈,闭环控制就是空中楼阁。选型时,精度、响应速度、抗干扰能力,一个都不能少。
3.1 增量式编码器:简单可靠,但怕掉电
增量式编码器,我最早接触是在做直流电机伺服项目时。它输出的是脉冲信号,说白了就是告诉你“我转了多少步”,但不告诉你“我现在在哪儿”。
工作原理:码盘上有均匀的刻线,通过光电或磁感应,每转过一条线就输出一个脉冲。A、B两相相差90度,用来判断方向;Z相每圈一个脉冲,用来做零点校准。
// 典型的脉冲计数逻辑(伪代码)
int pulse_count = 0;
void interrupt_handler() {
if (A_phase == HIGH && B_phase == LOW) {
pulse_count++; // 正转
} else if (A_phase == HIGH && B_phase == HIGH) {
pulse_count--; // 反转
}
}
我的经验:增量式编码器最怕上电瞬间丢步。我曾经在一个AGV项目里,机器人每次开机都要回零,就是因为编码器不知道初始位置。后来我加了个电池备份,才解决这个问题。
选型要点:
- 分辨率:常见500~5000线,通过4倍频可以提升到2000~20000脉冲/圈
- 输出类型:TTL、HTL、差分信号(长距离传输用差分)
- 机械接口:轴套式、空心轴、实心轴,注意安装同心度
避坑指南:我曾经遇到过编码器信号被电机电缆干扰,导致脉冲丢失。解决办法是:编码器线缆用屏蔽双绞线,且远离动力线至少10cm。
3.2 式编码器:一开机就知道位置
式编码器,说白了就是“自带记忆”。你想想看,机器人关节上电后,不需要回零操作,直接就能知道当前角度。这在多轴协作机器人里特别有用。
工作原理:码盘上有多个码道,每个位置对应唯一的二进制码。常见的有单圈式和多圈式。多圈内部有齿轮组或电池,能记录超过360度的圈数。
| 类型 | 分辨率 | 圈数 | 典型应用 |
|---|---|---|---|
| 单圈式 | 12~20位 | 1圈 | 机器人关节、转台 |
| 多圈式 | 12~20位 | 4096圈 | 多圈旋转机构、起重设备 |
我的建议:如果预算允许,关节控制首选多圈式编码器。虽然贵一点,但省去了每次上电回零的麻烦,而且安全性更高。我记得有个协作机器人项目,用了式编码器后,调试时间缩短了30%。
通信接口:SSI、BiSS、EnDat、CANopen。我个人习惯用BiSS,速度快、抗干扰好,适合高速关节控制。
3.3 霍尔传感器:低成本的位置检测方案
霍尔传感器,说白了就是利用磁场变化来检测位置。它成本低、体积小,在无刷直流电机(BLDC)里用得最多。
工作原理:霍尔元件感应磁场强度变化,输出高低电平。三个霍尔元件间隔120度安装,就能检测出转子的6个扇区位置,用于电机换相。
// 霍尔传感器换相逻辑(简化版)
int hall_state = (HALL_A << 2) | (HALL_B << 1) | HALL_C;
switch (hall_state) {
case 0b101: // 扇区1
PWM_A = HIGH; PWM_B = LOW; PWM_C = HIGH;
break;
case 0b001: // 扇区2
PWM_A = HIGH; PWM_B = LOW; PWM_C = LOW;
break;
// ... 其他扇区
}
我的经验:霍尔传感器精度有限,一般只有60度电角度的分辨率。如果要做高精度位置控制,建议配合编码器使用。我曾经在一个低成本AGV项目里,只用霍尔传感器做速度环,位置环用编码器,效果还不错。
选型要点:
- 开关型 vs 线性型:开关型用于换相,线性型可用于角度测量
- 温度稳定性:霍尔元件受温度影响较大,选型时注意工作温度范围
- 安装间隙:磁钢与霍尔元件的距离一般控制在1~3mm
3.4 扭矩传感器:关节的“力觉”
扭矩传感器,说白了就是让机器人知道“我用了多大力”。在力控、协作机器人里,这是必不可少的传感器。
工作原理:常见的有应变片式和磁致伸缩式。应变片贴在弹性体上,受力后电阻变化,通过电桥输出信号。磁致伸缩式则是利用磁场变化来测量扭矩。
核心参数:量程、精度、过载能力、响应带宽。关节控制一般需要1000Hz以上的采样率。
我的经验:应变片式扭矩传感器最怕过载。我曾经有个项目,操作员误操作导致传感器过载,弹性体永久变形,精度直接报废。后来我加了机械限位和软件保护,才避免类似问题。
选型对比:
| 类型 | 精度 | 响应速度 | 成本 | 适用场景 |
|---|---|---|---|---|
| 应变片式 | 0.1%~0.5% | 中 | 中 | 通用力控、协作机器人 |
| 磁致伸缩式 | 0.5%~1% | 快 | 高 | 高速、高动态响应场景 |
避坑指南:扭矩传感器的安装要特别注意同轴度。我曾经见过一个案例,安装偏差0.1mm,导致传感器输出信号有周期性误差,花了三天才排查出来。嗯,这里要注意,安装时一定要用千分表校准。
3.5 传感器选型综合指南
好了,四种传感器都讲完了。怎么选?我给大家一个简单的思路:
- 先看需求:需要位置吗?需要力控吗?预算多少?
- 再看环境:温度、湿度、振动、电磁干扰怎么样?
- 最后看接口:控制器支持什么通信协议?采样率够不够?
我的建议:对于大多数关节控制项目,我推荐“式编码器+扭矩传感器”的组合。虽然成本高一些,但调试省心、性能稳定。如果预算有限,可以用“增量式编码器+霍尔传感器”做低成本方案。
下面这张图是我总结的传感器选型决策流程,大家可以参考:
嗯,以上就是编码器与传感器的核心内容。记住,选型没有的好坏,只有适不适合。多从实际项目出发,结合成本、性能、可靠性来权衡。
最后说一句:传感器是关节控制的基础,基础不牢,地动山摇。花时间把传感器选好、装好、调好,后面的控制算法才能发挥真正的作用。