第一章:编码器基础——增量式与绝对式编码器原理、光电与磁编码器对比、分辨率与精度概念

大家好,我是老李。做FPGA这些年,跟编码器打交道的日子可真不少。从最开始用分立元件搭解码电路,到后来全部用FPGA搞定,这条路我走了十几年。今天咱们聊聊编码器的基础知识,这些东西看似简单,但真要在项目里用好,还是有不少门道的。

1.1 增量式编码器:最简单的测速方案

增量式编码器,说白了就是输出脉冲信号的传感器。它每转一圈,会输出固定数量的脉冲。你通过数脉冲个数,就能知道转了多少角度。

它的核心原理是这样的:码盘上刻着均匀的明暗条纹,光通过条纹被光电探测器接收,产生电信号。A相和B相两路信号相位差90度,这样就能判断正反转。我当年第一次用FPGA做解码时,就是处理这两路信号。

关键点:增量式编码器只能测相对位置。断电后位置信息就丢了,每次上电需要找零位。

我在项目中遇到过一个问题:电机高速旋转时,脉冲频率能到几兆赫兹。这时候用单片机中断去数脉冲,根本忙不过来。FPGA的优势就体现出来了——并行处理,不占CPU资源。

1.2 绝对式编码器:位置信息永不丢失

绝对式编码器就高级一些了。它每个位置都有唯一的编码值,断电后位置信息还在。你想想看,这对一些安全要求高的场合有多重要。

它的码盘是多圈结构的,每一圈代表一个二进制位。比如12位的绝对式编码器,码盘上有12圈,每圈分成2^12=4096个扇区。每个扇区对应一个唯一的12位二进制数。

常见的输出协议有SSI、BiSS、EnDat等。我建议初学者先从SSI协议入手,它最简单,时序也容易理解。

个人经验:绝对式编码器虽然贵,但在需要掉电记忆位置的场合,这笔钱不能省。我曾经在一个机器人关节项目里用了增量式,结果每次断电重启都要手动回零,客户意见很大。

1.3 光电编码器 vs 磁编码器

这两种编码器各有千秋。我做个表格,大家一目了然:

对比项 光电编码器 磁编码器
工作原理 光通过码盘产生脉冲 磁场变化感应角度
分辨率 高,可达几万线 中等,通常几千线
抗污染能力 差,怕油污灰尘 强,密封性好
工作温度 -20~85°C -40~150°C
成本 较高 较低
典型应用 精密机床、伺服电机 汽车、工业机器人

嗯,这里要注意:光电编码器分辨率高,但环境适应性差。磁编码器正好相反。我有个项目在粉尘很大的车间里,光电编码器三天两头出问题,换成磁编码器后,再也没出过故障。

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

这两个概念,我见过太多人搞混了。分辨率是编码器能分辨的最小角度变化,精度是实际位置和测量位置的偏差。

举个例子:一个3600线的增量式编码器,分辨率是360°/3600=0.1°。但它的精度可能只有0.5°。为什么?因为码盘加工误差、安装偏心、信号抖动都会影响精度。

避坑指南:我曾经选型时只看分辨率,结果买回来的编码器精度根本达不到要求。后来才明白,分辨率是理论值,精度才是实际能用的。选型时一定要看精度指标,特别是高精度定位场合。

分辨率计算公式很简单:

分辨率 = 360° / 线数
例如:1024线编码器,分辨率 = 360/1024 ≈ 0.35°

精度通常由厂家给出,单位是角分或角秒。1°=60角分,1角分=60角秒。高精度编码器能做到几角秒的精度。

1.5 知识体系图

下面这张图,是我自己总结的编码器知识体系。你把它记在脑子里,后面学解码算法时思路会清晰很多。

编码器知识体系 编码器 增量式编码器 绝对式编码器 A/B/Z 三路信号 四倍频技术 SSI/BiSS协议 格雷码输出 光电编码器 磁编码器 分辨率 vs 精度 FPGA解码核心:脉冲计数、方向判断、协议解析

1.6 小结

这一章的内容,说白了就是给编码器解码打地基。增量式编码器适合测速和相对位置,绝对式编码器适合需要掉电记忆的场合。光电和磁编码器各有适用场景,选型时别只看分辨率,精度才是硬道理。

下一章,我会带大家用FPGA实现增量式编码器的四倍频解码。到时候咱们直接上Verilog代码,手把手教你写。

我的建议:初学者可以先买一个便宜的增量式编码器,用FPGA开发板接上试试。自己动手做一遍,比看十遍书都管用。我当年就是这么过来的。

专注资料整理