1. 编码器基础:什么是编码器、编码器在电机控制中的作用、增量式与绝对式编码器的区别
大家好,我是你们的老朋友。咱们这门课叫《编码器换相在电机控制中的完整部署》,第一讲,得先把地基打牢。
编码器这东西,说白了就是一个传感器。它把电机转子的机械位置、转速,甚至是转向,统统变成电信号,告诉控制器。没有它,你的电机就是个瞎子,你让它转90度,它可能转过了头,也可能没到位。
我刚开始做电机驱动那会儿,总觉得编码器可有可无,开环跑跑不也挺好?直到有一次,一个机械臂项目,空载时精度还行,一加上负载,位置直接跑偏。从那以后,我再也不敢小看编码器了。
1.1 编码器在电机控制中的作用
编码器到底干了哪些活?我给大家捋一捋,其实就三件事:
- 测位置:转子现在转到哪了?是0度还是180度?这是换相的基础。
- 测速度:转子转得多快?是1000转还是3000转?这是调速的基础。
- 测转向:是正转还是反转?这在闭环控制里至关重要。
你想想看,如果没有编码器,你只能靠反电动势过零点来估算位置。但电机低速时,反电动势信号弱得可怜,估算出来的位置误差大,换相就容易出错。编码器就是那个给你“实锤”的家伙。
核心观点:编码器是电机控制中“感知层”的核心器件。没有它,你的控制算法再牛,也是盲人摸象。
1.2 增量式与绝对式编码器的区别
这是新手最容易搞混的地方。我直接给你们画个对比表,一目了然。
| 对比项 | 增量式编码器 | 绝对式编码器 |
|---|---|---|
| 输出信号 | A、B两路正交脉冲,Z相零位脉冲 | 多路并行二进制码或串行协议数据 |
| 位置记忆 | 断电丢失,上电需回零 | 断电不丢失,上电即知绝对位置 |
| 分辨率 | 取决于码盘刻线数,可做很高 | 取决于码道数,通常比增量式低 |
| 抗干扰 | 脉冲计数易受干扰,累计误差 | 抗干扰能力强,无累计误差 |
| 成本 | 低 | 高 |
| 典型应用 | 伺服电机、工业机器人关节 | 数控机床主轴、航天、雷达 |
我个人的习惯是:能用绝对式,尽量用绝对式。虽然贵一点,但省心。尤其是那些断电后不允许乱动的场合,比如机械臂的关节,你总不希望每次上电都让机械臂先“找家”吧?
增量式编码器的工作原理
增量式编码器内部有一个码盘,上面刻满了明暗相间的条纹。发光二极管照射码盘,光敏元件接收透过来的光。码盘一转,光信号就变成了一串脉冲。
它输出两路相位差90度的脉冲,叫A相和B相。通过判断A相和B相谁先谁后,就能知道转向。比如A相超前B相90度,那就是正转;反过来就是反转。
另外还有一个Z相,每转一圈输出一个脉冲,用来做零位参考。
小技巧:我曾经在调试一个高速电机时,发现编码器脉冲计数总是丢。后来发现是A、B相脉冲频率太高,MCU的输入捕获中断响应不过来。解决办法是改用正交编码器接口(QEI)硬件模块,或者降低编码器线数。
绝对式编码器的工作原理
绝对式编码器就高级多了。它的码盘上有多个同心码道,每个码道对应一位二进制数。码盘在不同位置,光敏元件读到的二进制组合就不同。这个组合直接对应一个绝对角度。
比如一个12位的绝对式编码器,一圈有4096个位置。你上电一读,就知道转子在4096个位置中的哪一个,完全不需要回零操作。
绝对式编码器的输出方式也分两种:
- 并行输出:每个码道一根线,直接输出高低电平。优点是实时性好,缺点是线多,分辨率高了之后线束太粗。
- 串行输出:通过SSI、BISS、EnDat等协议,用两根线把数据传出来。优点是线少,缺点是实时性略差,有通信延迟。
避坑指南:我曾经在一个项目中选了并行输出的绝对式编码器,12位,需要12根数据线加电源地线,一共14根线。结果电机线缆太粗,弯折几次后断线了。后来换成SSI串行协议,4根线搞定,再也没出过问题。所以,线数多不一定是好事,要考虑工程可靠性。
1.3 编码器知识体系总览
为了让大家对编码器有个整体认识,我画了一张图,把核心知识点串起来。
1.4 如何选择编码器?
这个问题没有标准答案,但我可以给你一个决策思路:
- 看精度要求:如果要求定位精度在0.1度以内,建议用绝对式。如果精度要求不高,增量式就够了。
- 看断电行为:如果设备断电后不允许移动,必须用绝对式。否则每次上电都要回零,浪费时间不说,还可能撞机。
- 看成本预算:增量式便宜,绝对式贵。如果项目预算紧张,增量式加回零逻辑也能凑合。
- 看通信接口:如果控制器有正交编码器接口(QEI),用增量式很方便。如果控制器支持SSI或BISS,用绝对式更省线。
我的建议:对于初学者,我建议先从增量式编码器入手。因为它原理简单,接口通用,调试起来也直观。等你把增量式玩透了,再上绝对式,会轻松很多。