4. 速度与位置采样:编码器原理
做电机控制,说白了就是跟位置和速度打交道。你想想看,没有准确的反馈,电流环调得再好也是白搭。这一章我带你看看几种主流的采样方案——增量式编码器、绝对式编码器、霍尔传感器、磁编码器,还有旋转变压器。每种都有它的脾气,选对了事半功倍。
核心观点:采样精度和实时性,是速度环性能的基石。选型时别只看分辨率,还得看接口、抗干扰和成本。
4.1 增量式编码器
增量式编码器,说白了就是只告诉你“动了多少”,不告诉你“在哪”。它输出两路正交的方波信号(A、B),通过相位差判断方向,通过脉冲数算位移。
我个人习惯在低速场合用增量式,比如伺服电机的低速平稳控制。但要注意,它掉电后位置就丢了,每次上电都得找零位。
// 简单的脉冲计数逻辑(伪代码)
if (A上升沿 && B == 高电平) {
position++;
} else if (A上升沿 && B == 低电平) {
position--;
}
避坑指南:我曾经在一个项目中,编码器线缆没做屏蔽,结果高速运行时脉冲丢失严重。后来加了磁环和双绞线,问题才解决。记住,编码器信号线一定要远离功率线。
4.2 绝对式编码器
绝对式编码器就高级多了。它每个位置都有唯一的码值,上电就知道当前角度。常用的有单圈和多圈两种。
| 类型 | 分辨率 | 输出接口 | 典型应用 |
|---|---|---|---|
| 单圈绝对式 | 12~20 bit | SSI、BISS、EnDat | 机器人关节、数控机床 |
| 多圈绝对式 | 12 bit + 12 bit 圈数 | SSI、BISS | AGV、协作机器人 |
我建议在需要频繁掉电重启的场合,直接上绝对式。虽然贵点,但省去了找零位的麻烦。
4.3 霍尔传感器与磁编码器
霍尔传感器,成本低、结构简单,常用于无刷直流电机的换相。但它精度一般,做速度环有点勉强。
磁编码器就不一样了。它利用磁阻效应或霍尔效应,能实现较高的分辨率。我最近在做一个项目,用磁编码器替代了光编码器,成本降了一半,精度还够用。
注意:磁编码器对磁场干扰敏感。安装时一定要远离电机线圈和强磁体。我曾经因为没注意,导致位置跳变,排查了整整两天。
4.4 旋转变压器(Resolver)
旋转变压器,简称旋变。它是个模拟器件,输出正余弦信号。抗振动、耐高温、寿命长,是军工和汽车电子的首选。
但它的解码电路复杂,需要专门的RDC(旋变数字转换器)芯片。我刚开始接触时,总觉得它不如编码器方便。后来在高温环境下做测试,编码器频频失效,旋变纹丝不动——嗯,从那以后我对它刮目相看。
// 旋变解码简化流程
1. 激励信号:10kHz 正弦波
2. 读取 SIN 和 COS 信号
3. 通过反正切计算角度:θ = atan2(SIN, COS)
4. 软件滤波去除噪声
4.5 知识体系总览
下面这张图,帮你理清这几种传感器的关系和应用场景。
4.6 采样实战要点
不管用哪种传感器,采样环节有几个坑是绕不开的。我总结了几条经验:
- 采样频率要匹配:速度环的采样频率至少是电流环的1/10,但别低于1kHz。我一般设2~5kHz。
- 滤波不能少:尤其是增量式编码器,脉冲抖动很常见。加个一阶低通滤波,截止频率设到速度环带宽的3~5倍。
- 接口时序要严格:SSI、BISS这些协议对时序要求高。我曾经因为SPI时钟极性设反,读出来的数据全是乱的。
个人习惯:我每次换传感器型号,都会先写个简单的测试程序,把原始数据打印出来看看。确认没问题了,再集成到控制算法里。这一步能省下后面大量的调试时间。