1. 编码器基础:增量式与绝对式编码器原理、分辨率与精度、ABZ与UVW信号解析

做电机控制这些年,我接触过各种各样的编码器。说实话,编码器就像是电机的「眼睛」。没有它,你的位置环就是瞎的。今天咱们就把编码器的基础掰开揉碎了讲清楚。

1.1 增量式编码器:最简单的「计数器」

增量式编码器,说白了就是一个脉冲计数器。它每转一个角度,就输出一个脉冲。你数了多少个脉冲,就知道电机转了多少角度。

它的内部结构其实不复杂:一个码盘上刻着密密麻麻的透光条纹,一边是发光管,一边是接收管。码盘一转,光线时断时续,就产生了脉冲信号。

核心特点:

  • 只能知道「相对位置」——从开机那一刻开始算
  • 断电后位置丢失,必须重新找零
  • 结构简单,成本低,响应快

我记得有一次做AGV小车的项目,用的就是增量式编码器。每次断电重启,小车都得先跑回原点校准位置。客户觉得麻烦,后来换成了绝对式编码器才解决。所以选型的时候,一定要想清楚你的系统能不能接受「每次开机找零」这个动作。

1.2 绝对式编码器:自带「记忆」的编码器

绝对式编码器就不一样了。它每个位置都有一个唯一的编码值。你读到的数值,直接对应一个绝对角度。断电?没关系。重启后读到的还是那个位置。

它的码盘是多圈刻道的,每一圈代表一个二进制位。圈数越多,分辨率越高。常见的单圈绝对式编码器有12位、16位、甚至23位。

类型 输出信号 断电记忆 典型应用
增量式 脉冲(A/B/Z) 否 普通伺服、步进电机
绝对式(单圈) SSI/BiSS/EnDat 单圈内记忆 机器人关节、数控机床
绝对式(多圈) SSI/BiSS/EnDat 多圈内记忆 工业机器人、AGV

我的建议:如果你的系统需要做绝对位置闭环,或者断电后不能重新找零,直接上绝对式编码器。别为了省几十块钱给自己挖坑。

1.3 分辨率与精度:别搞混了

这两个概念,我见过太多人搞混了。包括一些做了好几年的工程师。

分辨率,是编码器能分辨的最小角度变化。比如一个2500线的增量式编码器,经过4倍频后,分辨率就是 360° / (2500 × 4) = 0.036°。说白了就是「能数多细」。

精度,是编码器输出的角度和实际角度之间的误差。它受码盘加工精度、安装偏心、温度漂移等因素影响。一个分辨率很高的编码器,精度可能并不高。

我曾经踩过的坑:有次选了一个20位的绝对式编码器,分辨率高达0.0013°,心里美滋滋。结果装上去发现,实际定位误差有0.1°。查了半天才发现,编码器的精度只有±0.05°,分辨率再高也没用。精度才是硬指标。

所以选型的时候,先看精度能不能满足你的位置环要求,再看分辨率。分辨率够用就行,不是越高越好。分辨率太高,反而会给控制器带来不必要的计算负担。

1.4 ABZ信号解析:增量式编码器的「三剑客」

增量式编码器输出三路信号:A相、B相、Z相。

  • A相和B相:相位差90°的方波信号。通过判断A和B的相位关系,就能知道电机是正转还是反转。A超前B是正转,B超前A是反转。
  • Z相:每转一圈输出一个脉冲,用来做零位参考。也叫「索引脉冲」。

实际应用中,我们通常用A、B两相的上升沿和下降沿来做4倍频。这样分辨率直接翻了4倍。比如一个2500线的编码器,4倍频后就是10000个脉冲每圈。

// 典型的ABZ信号解码伪代码
if (A上升沿) {
    if (B == HIGH) {
        方向 = 反转;
        脉冲计数--;
    } else {
        方向 = 正转;
        脉冲计数++;
    }
}
if (Z上升沿) {
    脉冲计数 = 0;  // 归零
}

实际经验:Z相信号一定要做滤波处理。我遇到过电机振动导致Z相误触发的情况,位置直接归零,整个系统乱套。加一个简单的RC低通滤波或者软件去抖,就能解决。

1.5 UVW信号解析:无刷电机的「换相信号」

UVW信号,是专门给无刷直流电机(BLDC)换相用的。它不像ABZ那样连续输出脉冲,而是每60°电角度变化一次状态。

三路信号(U、V、W)组合起来,一共6种状态。每种状态对应一个换相位置。控制器根据这6种状态,就知道该给哪两相通电了。

U V W 电角度范围 通电相
1 0 1 0° - 60° A+B-
1 0 0 60° - 120° A+C-
1 1 0 120° - 180° B+C-
0 1 0 180° - 240° B+A-
0 1 1 240° - 300° C+A-
0 0 1 300° - 360° C+B-

嗯,这里要注意:UVW信号只能给出60°的分辨率。如果你要做精确的位置环,光靠UVW是不够的。通常的做法是:用UVW做初始换相,然后用ABZ做精确定位。

1.6 知识体系总览

下面这张图,把编码器的基础知识串起来了。你可以把它当作本章的「思维导图」。

编码器基础知识体系 编码器基础 增量式编码器 绝对式编码器 ABZ信号 4倍频技术 断电丢失位置 需找零操作 SSI/BiSS协议 单圈/多圈 断电记忆位置 无需找零 分辨率 vs 精度 UVW换相信号 UVW + ABZ 联合定位 精度决定定位误差 分辨率决定控制平滑度

这张图把编码器的两大类型、关键信号、以及核心概念都串起来了。你可以看到,增量式和绝对式各有优劣,ABZ和UVW各司其职。实际项目中,往往是多种信号配合使用。

1.7 小结

编码器基础这块,我讲了增量式和绝对式的区别,分辨率和精度的差异,以及ABZ和UVW信号的具体用法。你想想看,这些东西其实都不复杂,但搞混了就会出大问题。

我个人习惯是:做项目前先把编码器的选型文档从头到尾看一遍,特别是精度参数和电气接口。别像我当年那样,装上去才发现信号电平不匹配,还得加电平转换电路,折腾了好几天。