目录
概述
1 编码综述
2 增量式旋转编码器
2.1 功能介绍
2.2 实现原理
3 绝对式编码器
3.1 实现原理
3.2 二进制编码器
3.3 格雷码编码器
4 旋转式编码器原理
5 编码器基本参数
5.1 分辨率
5.2 精度
5.3 最大响应频率
5.4 信号输出形式
6 自制简易编码器
概述
本文只要介绍编码器的相关内容,包括编码器的分类,实现原理以及其相关的精度等内容,还介绍了,如何使用简单的对射光电传感器和码盘制作一个简易的旋转式编码器。
1 编码综述
编码器,是一种用来测量机械旋转或位移的传感器。这种传感器能够测量机械部件在旋转或直线运动时的位移位置或速度等信息,并将其转换成一系列电信号。编码器是工业中常用的传感器之一,广泛应用于工业生产当中需要对机械系统进行监视或控制的场景,包括工业控制、机器人、照相机镜头、雷达平台以及部分计算机输入设备例如轨迹球和鼠标滚轮等等。
编码器可以根据不同的方式分出很多种类型。
1)根据检测原理,可分为光学式、磁式、感应式和电容式。
2)根据内部机械结构的运动方式,可分为线性编码器和旋转编码器。
3)根据其刻度实现方法及信号输出形式,又可分为增量式、绝对式以及混合式三种。
2 增量式旋转编码器
2.1 功能介绍
增量式旋转编码器是将设备运动时的位移信息变成连续的脉冲信号,脉冲个数表示位移量的大小。只有当设备运动的时候增量式编码器才会输出信号。
编码器一般会把这些信号分为通道 A和通道 B 两组输出,并且这两组信号间有 90° 的相位差。同时采集这两组信号就可以知道设备的运动和方向。
除了通道 A、通道 B 以外,很多增量式编码器还会设置一个额外的通道 Z 输出信号,用来表示编码器特定的参考位置,传感器转一圈 Z 轴信号才会输出一个脉冲。
增量式编码器只输出设备的位置变化和运动方向,不会输出设备的绝对位置。
2.2 实现原理
增量式旋转编码器的案例
3 绝对式编码器
3.1 实现原理
绝对式旋转编码器是将设备运动时的位移信息通过二进制编码的方式变成数字量直接输出。这种编码器与增量式编码器的区别主要在内部的码盘。绝对式编码器的码盘利用若干透光和不透光的线槽组成一套二进制编码,这些二进制码与编码器转轴的每一个不同角度是唯一对应的,读取这些二进制码就能知道设备的绝对位置,所以叫它绝对式编码器。绝对式编码器一般常用自然二进制、格雷码或者 BCD 码等编码方式。
3.2 二进制编码器
绝对式编码器在总体结构上与增量式比较类似,都是由码盘、检测装置和放大整形电路构成,但是具体的码盘结构和输出信号含义不同。绝对式编码器的码盘上有很多圈线槽,被称为码道,每一条码道内部线槽数量和长度都不同。它们共同组成一套二进制编码,一条码道对应二进制数的其中一个位,通常是码盘最外侧的码道表示最低位,最内侧的码道表示最高位。码道的数量决定了二进制编码的位数,一个绝对式编码器有 N 条码道,它就能输出 N 位二进制数,且输出二进制数的总个数是 2N 个。这些二进制数与转轴的机械位置是固定的,和编码器外部因素无关,所以叫做绝对式编码器。在接收设备断电重启后绝对式编码器无需寻找参考零点。下图是一个简化版的绝对式编码器码盘,其中白色块透光表示 0,黑色块不透光表示 1。码盘上的二进制数逆时针依次增大。
自然二进制码盘
3.3 格雷码编码器
自然二进制码盘读数很方便直观, 但是它在实际应用中容易造成读数偏差很大,例如:当码盘停止旋转时,光线照射在 0000 和 1111 这两个相邻的区域之间,此时输出的二进制数可能是0000~1111 中的任何一个,此时的读数和码盘的实际位置可能就相差很远了。为了避免读数和实际位置出现巨大偏差,我们可以改进一下二进制码的排列方式,
使用格雷码形式,如下图所示:
格雷码盘有 4 个码道,同样的也能表示 16 个二进制数,但是任意相邻的两个区域之间的二进制码只有一位不同。当我们采用格雷码盘时,如果码盘停止旋转, 光线照射到码盘相邻两个区域之间,其最终输出的二进制数最多只会相差一位,此时位置的偏差范围就很小了。
格雷码
格雷码是一种二进制编码方式,在该编码中,连续的两个数字仅有一位二进制位发生变化。格雷码的主要特点是在任意两个相邻的数之间只有一个二进制位发生变化,这样可以减少在数据传输过程中的误差和干扰。格雷码的生成可以通过递归方法来实现。
具体步骤如下:
- 将n位二进制码的最右边一位写下;
- 上一步写下的二进制码的左边拿来写成一个n-1位的二进制码;
- 将生成的n-1位二进制码的最右边一位写下;
- 上一步写下的二进制码的左边拿来写成一个n-2位的二进制码;
- 重复上述步骤,直到所有的二进制码都写完。
4 旋转式编码器原理
旋转编码器的原理示意图如下图所示。旋转编码器内部大都由码盘、光电检测装置和信号处理电路等部分构成。码盘上刻了若干圈线槽,线槽等距并且可透光,当码盘旋转时就会周期性的透过和遮挡来自光电检测装置的光线,这样检测装置就会周期性的生成若干电信号。但是这些电信号通常比较微弱,需要加入一套处理电路对信号进行放大和整形,最后把信号整形为脉冲信号并向外输出。
5 编码器基本参数
5.1 分辨率
指编码器能够分辨的最小单位。对于增量式编码器,其分辨率表示为编码器转轴旋转一圈所产生的脉冲数,即脉冲数/转 (Pulse Per Revolution 或 PPR)。码盘上透光线槽的数目其实就等于分辨率,也叫多少线,较为常见的有 5-6000 线。对于绝对式编码器,内部码盘所用的位数就是它的分辨率,单位是位 (bit),具体还分单圈分辨率和多圈分辨率。
5.2 精度
首先明确一点,精度与分辨率是两个不同的概念。精度是指编码器每个读数与转轴实际位置间的最大误差,通常用角度、角分或角秒来表示。例如有些绝对式编码器参数表里会写 ±20′′,这个就表示编码器输出的读数与转轴实际位置之间存在正负 20 角秒的误差,精度由码盘刻线加工精度、转轴同心度、材料的温度特性、电路的响应时间等各方面因素共同决定。
5.3 最大响应频率
指编码器每秒输出的脉冲数,单位是 Hz。计算公式:最大响应频率 = 分辨率 * 轴转速/60。
5.4 信号输出形式
对于增量式编码器,每个通道的信号独立输出,输出电路形式通常有集电极开路输出、推挽输出差分输出等。对于绝对式编码器,由于是直接输出几十位的二进制数,为了确保传输速率和信号质量,一般采用串行输出或总线型输出,例如同步串行接口 (SSI)、 RS485、 CANopen 或EtherCAT 等,也有一部分是并行输出,输出电路形式与增量式编码器相同。
6 自制简易编码器
在实际应用中,如果对编码器的精度要求不是很高的场合,可使用对射光电传感器和码盘制作简易的光电编码器,其具体结构如下图:
图一: 对射光电传感器的安装位置
图二:码盘的安装位置