1. 编码器基础与分类
做电机控制这些年,我接触过各种各样的编码器。说实话,选错编码器类型,后面调试起来真是欲哭无泪。这一章咱们先把四种最常用的位置传感器掰开揉碎讲清楚。
核心观点:没有最好的编码器,只有最合适的。增量式、绝对式、旋变、霍尔——每种都有它的脾气。
1.1 增量式编码器原理
增量式编码器,说白了就是只告诉你「动了多少」,不告诉你「在哪儿」。它内部有个码盘,上面刻满了明暗相间的条纹。光透过缝隙照到光敏管上,就产生了脉冲。
我习惯把增量式编码器比作一把尺子——它能量长度,但不知道起点在哪。每次上电,你必须先找一下参考零位。
我的经验:增量式编码器最怕断电。有一次客户反馈设备重启后位置跑偏,查了半天,原来是没做上电回零。从那以后,我设计的系统都会强制要求上电找零流程。
典型的增量式编码器输出两路信号:A相和B相,相位差90°。通过判断谁先跳变,就能知道正反转。Z相是零位脉冲,每转一圈输出一个。
| 信号 | 功能 | 典型频率 |
|---|---|---|
| A相 | 主计数脉冲 | 最高可达MHz级 |
| B相 | 方向判别(滞后A相90°) | 与A相同频 |
| Z相 | 零位参考(每圈1个脉冲) | 与转速成正比 |
分辨率怎么算?举个例子:码盘刻线2500线,经过4倍频后,每圈就是10000个脉冲。嗯,这里要注意,4倍频不是编码器自己做的,是你在控制器里用A、B相的上升沿和下降沿拼出来的。
// 增量式编码器脉冲计数示例(伪代码)
int count = 0;
void encoder_irq() {
if (A_rising && B_high) count++; // 正转
if (A_rising && B_low) count--; // 反转
}
1.2 绝对式编码器原理
绝对式编码器就高级多了。它每个位置都有唯一的编码值,上电就知道自己在哪。你想想看,这省了多少麻烦。
我最早接触绝对式编码器是在一台进口数控机床上。当时觉得这玩意儿真神奇,断电再开机,位置一点不差。后来拆开研究,发现码盘上是一圈圈同心码道,每圈代表一个二进制位。
避坑指南:绝对式编码器分单圈和多圈。单圈的只能记一圈内的位置,多圈的用齿轮或电池来记圈数。我曾经遇到过选型时没注意,用了单圈编码器做多圈应用,结果每次转超过一圈就乱套。
绝对式编码器的输出格式常见有两种:
- 并行输出:每位一根线,实时性高,但线缆多
- 串行输出:SSI、BISS、EnDat等协议,线少但有时延
分辨率由位数决定。17位的编码器,一圈有2^17 = 131072个位置。我个人的习惯是,伺服系统至少用17位以上,普通定位用13位就够了。
1.3 旋转变压器原理
旋转变压器,简称旋变。它本质上是个小变压器,转子转的时候,定子上的感应电压会跟着变。
说实话,旋变这东西精度不如光学编码器,但它皮实。我在做电动汽车项目时,电机要工作在120°C的环境下,光学编码器根本扛不住,最后还是上了旋变。
旋变的工作原理是这样的:
- 励磁绕组通入高频正弦波(通常10kHz)
- 转子旋转改变磁路耦合
- 两相输出绕组产生正余弦信号
- RDC(旋变数字转换器)解算出角度
关键参数:旋变的极对数必须与电机极对数匹配。我见过有人把4对极的旋变装到8对极的电机上,结果角度算出来永远差一倍,电机抖得像筛子。
旋变的输出是模拟量,需要专门的RDC芯片来解码。常用的RDC有ADI的AD2S1200系列,分辨率可以设到12~16位。
// 旋变解码角度计算(简化)
theta = atan2(sin_signal, cos_signal);
// 注意:需要做相位补偿和偏移校正
1.4 霍尔传感器原理
霍尔传感器,成本最低,精度也最低。它利用霍尔效应,检测磁场方向,输出开关量信号。
无刷直流电机(BLDC)里,通常装3个霍尔,间隔120°或60°。每个霍尔输出高或低,组合起来就是6个状态,对应6个扇区。
| 霍尔状态 (H1 H2 H3) | 对应扇区 | 导通相 |
|---|---|---|
| 101 | 扇区1 | A+ B- |
| 100 | 扇区2 | A+ C- |
| 110 | 扇区3 | B+ C- |
| 010 | 扇区4 | B+ A- |
| 011 | 扇区5 | C+ A- |
| 001 | 扇区6 | C+ B- |
我的经验:霍尔安装位置偏差是常见故障源。如果霍尔安装角度偏了,换相时序就会错,电机效率下降,噪音变大。我曾经用示波器抓霍尔波形,发现边沿位置不对,重新调整安装座后才解决。
霍尔传感器的分辨率很低,每圈只有6个位置信息。所以它只适合做换相,不适合做精确的速度或位置控制。如果你需要平滑控制,还得配合其他传感器。
注意:霍尔传感器对磁场强度敏感。如果磁钢退磁或者安装间隙过大,霍尔可能检测不到信号。我遇到过一台老设备,霍尔输出一直为低,换了霍尔片没用,最后发现是转子磁钢掉了两块。
好了,四种传感器的基础原理就讲到这里。每种都有它的应用场景,没有绝对的优劣。选型的时候,多想想你的工况——温度、振动、精度要求、成本预算,综合考虑才能选对。