1. 编码器基础认知
各位同学好,我是老周。做电机控制这些年,我最大的感触就是——编码器这东西,看着不起眼,但要是选错了、用错了,整个项目都得翻车。今天咱们就从最基础的东西聊起,把编码器的底裤扒干净。
1.1 什么是编码器?
编码器,说白了就是一个把机械位置转成电信号的传感器。你用手转电机轴,它就能告诉你轴现在转到哪了、转了多少圈、转得有多快。
我习惯把它比作电机的「眼睛」。没有编码器,电机就是个瞎子,你给它发指令让它转10圈,它到底转没转到你根本不知道。有了编码器,你就能实时盯着它,转多了就减点,转少了就加点——这就是闭环控制的基础。
核心定义:编码器(Encoder)是一种将角位移或直线位移转换为数字脉冲信号的传感器,是电机控制系统中最常用的反馈元件。
1.2 编码器在电机控制中的作用
编码器在电机控制里到底干哪些活?我列三个最核心的:
- 测位置:电机轴当前停在哪个角度,编码器告诉你。比如机械臂要转到30度,编码器反馈说到了,控制器就停止输出。
- 测速度:单位时间内编码器输出的脉冲数,换算一下就是转速。我做过一个项目,要求电机在0.1秒内从0加速到3000转,没有编码器反馈速度,PID根本调不出来。
- 测方向:通过两路脉冲信号的相位关系,判断电机是正转还是反转。这个在防反转、防飞车场景里特别重要。
你想想看,如果没有编码器,电机控制就只能是开环的——你发一个脉冲,电机走一步,但走没走到位你完全不知道。步进电机丢步了怎么办?伺服电机过冲了怎么办?有了编码器,这些问题才有解。
1.3 增量式与绝对式编码器的区别
这是新手最容易搞混的地方。我当年刚入行时也踩过坑,花大价钱买了绝对式编码器,结果发现项目根本用不上那么高的精度。咱们把这两个东西掰开揉碎了讲。
增量式编码器
增量式编码器输出的是脉冲信号。轴每转过一个固定角度,它就输出一个脉冲。控制器通过数脉冲个数来算位置,通过脉冲频率来算速度。
它的特点:
- 断电后位置丢失。再上电时,你不知道轴在哪儿,必须回零(找原点)。
- 结构简单,价格便宜,分辨率可以做得很高。
- 适合大多数工业应用,比如普通伺服电机、数控机床的进给轴。
我曾经踩过的坑:有一次做AGV小车的轮毂电机控制,用了增量式编码器。结果每次断电重启后,小车都不知道自己轮子转到哪了,必须走一段回零程序。后来客户投诉说每次开机都要等30秒回零,体验太差。最后换了绝对式编码器才解决。
绝对式编码器
绝对式编码器输出的是二进制码或格雷码。每个位置对应一个唯一的编码值,断电后位置信息不会丢失。再上电,直接读编码值就知道轴在哪儿,不需要回零。
它的特点:
- 断电记忆位置,上电即用。
- 结构复杂,价格贵,分辨率受位数限制。
- 适合需要断电保持位置的场景,比如机器人关节、医疗设备、航空航天。
| 对比项 | 增量式编码器 | 绝对式编码器 |
|---|---|---|
| 输出信号 | 脉冲(A/B/Z相) | 二进制码/格雷码 |
| 断电记忆 | 否,需回零 | 是,上电即用 |
| 分辨率 | 可做很高(几万线) | 受位数限制(常见12~24位) |
| 价格 | 便宜 | 贵(数倍于增量式) |
| 典型应用 | 伺服电机、数控机床 | 机器人关节、医疗设备 |
1.4 编码器的主要参数
选编码器时,有三个参数你必须看懂。看不懂?项目大概率要返工。
分辨率
分辨率指的是编码器每转一圈能输出多少个脉冲(或多少个位置值)。增量式编码器常用「线数」表示,比如2500线、5000线。绝对式编码器常用「位数」表示,比如12位(4096个位置)、17位(131072个位置)。
分辨率越高,你能检测到的角度变化就越小。举个例子:一个2500线的增量式编码器,每转输出2500个脉冲,每个脉冲对应的角度是360°/2500 = 0.144°。如果你用四倍频技术(后面会讲),分辨率还能再翻4倍,达到0.036°。
我的建议:分辨率不是越高越好。分辨率高了,脉冲频率也高,对控制器的处理能力要求就高。我见过有人给一个低速搅拌机配了17位绝对式编码器,结果控制器根本处理不过来那么多数据,白白浪费钱。够用就好。
精度
精度和分辨率是两码事。分辨率是你能「分辨」的最小角度,精度是你实际测到的角度和真实角度之间的误差。
打个比方:分辨率就像一把尺子的最小刻度是1mm,精度就像这把尺子本身准不准——如果尺子本身歪了,就算刻度再细,量出来的数也是错的。
编码器的精度主要受制造工艺、安装误差、温度漂移等因素影响。一般编码器的精度在±1~±10个脉冲当量之间。高精度的编码器会标出具体的角度误差,比如±0.01°。
最大转速
最大转速是指编码器能正常工作的最高转速。超过这个转速,编码器内部的机械结构或电子电路可能跟不上,导致丢脉冲或信号失真。
最大转速和分辨率是相互制约的。分辨率越高,每转输出的脉冲数越多,在相同转速下脉冲频率就越高。如果脉冲频率超过了编码器或控制器的最大响应频率,就会丢脉冲。
计算公式很简单:
最大脉冲频率 = 分辨率(线数) × 转速(转/秒) × 倍频数
举个例子:一个2500线的增量式编码器,工作在3000rpm(50转/秒),用4倍频:
最大脉冲频率 = 2500 × 50 × 4 = 500kHz
如果你的控制器最大只能处理200kHz的脉冲,那这个编码器在这个转速下就会丢脉冲。要么换低分辨率的编码器,要么换更高性能的控制器。
我曾经踩过的坑:有一次做高速主轴电机,选了5000线的编码器,想着分辨率高一点控制精度好。结果一跑高速,电机转速到8000rpm时,编码器信号就开始乱跳。查了半天才发现,编码器的最大响应频率只有1MHz,而实际脉冲频率已经超过1.6MHz了。最后只能降分辨率,换了2000线的编码器才搞定。
1.5 知识体系总览
下面这张图把本章的核心知识点串起来了。你可以把它当作编码器入门的「地图」,以后遇到具体问题,先回来看这张图,心里就有数了。