“编码” 是一种数学模式,是指信息传递中将信息编排送出(Encode),接收端收取编码、解码后获取信息(Decode)。
现代编码的数学模式是 0 和 1(有和无、通和断、长音和短音,高电平和低电平,等等)。例如:航海中的两船相遇的旗语、灯语,无线电发报的摩尔斯编码(长短音);再例如:音频编码器的 CD 唱片与唱机,视频编码器的 DVD、蓝光与高清电视...等等。
而旋转编码器就是要把当前的角度信息或旋转的角度变化信息“编码”送出。
相对型
相对型旋转“编码”,是指需要两次以上的编码信息与输出,通过两次以上的编码信息的比较,获得相对变化的角度值,也叫增量编码器。
其中,光电型增量编码器就是通过码盘刻线的光的通过与遮挡,来表达 1 和 0 的间隔变化,这样的一通一断的间隔性变化代表了角度的变化量,像人的脉搏,也称为脉冲输出。
这种编码角度信息必须有转动才会有信息变化与累加,就好比 CD 唱片必须有转动才会有声音。当前的角度值是要经过前面历史信息的比较与累加、记忆才能获得。
相对型旋转编码码盘
绝对型
绝对型旋转编码是指不需要读两次以上的变化信息,无需比较与累加,绝对值是与历史信息无关的,可以直接一次性读取到当前的角度位置值。
单圈绝对值编码器的位数是以 0 和 1 的编码方式的 2 的 N 次方位数来表示其分辨位置编码,8 位就有 256 个编码位置,10 位是 1024,12 位 4096,13 位 8192,14 位 16384,16 位 65536 ... 等等,目前工业市场最高位数的是德国海德汉的 25 位单圈绝对值编码器。
⚠️ 相对型的编码是“变化的角度量”,包括内部和外部的计数器计数累计与记忆,与历史计数有关系;绝对值的编码是“直接的当前角度值”,与历史计数无关。
相对型增量式编码器的编码方式是什么?
增量编码器通过输出每圈的脉冲数(PPR)对一个 360° 圆周分割,也称为分辨率。每个脉冲周期的变化代表了一定角度变化,这样预先分割角度到每个周期并读取计数周期变化的方式为“增量编码”,增量编码器输出一般是 A、B、Z 三相信号,A 和 B 的输出相差 1/4 个周期,正转是 1/4 相差,而反转是 3/4 相差,以此可以判断编码器的正反转;Z 相是每圈仅提供一个位置脉冲,以此可以设定零位值。
什么是增量编码的正逻辑与负逻辑?
增量脉冲信号的方波,在高电平的时候逻辑为1,低电平的时候逻辑为 0,这称为编码的正逻辑,反之为负逻辑。
一般 NPN 集电极开路输出形式的编码是负逻辑的。
什么是 CW 编码或者 CCW 编码?
面向编码器的轴端看,编码器转轴“顺时针”旋转,而编码数据增加的,称为 CW。面向编码器轴端,编码器转轴“逆时针”旋转,而数据增加的,称为 CCW。
什么是增量信号的正交 A、B 相?
增量编码器输出 A 相脉冲和 B 相脉冲,A 相和 B 相脉冲相差 90° 的相位差(一个周期的 1/4T),这称为“正交的 A、B 相”。正交的相位差可以提供接收设备判断编码器轴的旋转方向,正方向的旋转是 1/4T,反方向的旋转就是 3/4T,这样后续接收信号的设备可以很容易判断增量脉冲信号是“增”还是“减”累计脉冲数。
什么是增量正交 A、B 信号的四倍频?
正交的 A、B 信号相位差 90°,在一个脉冲周期内,可以通过 A 和 B 脉冲信号的上升沿和下降沿的变化,判断出 4 次变化,或者通过A信号编码逻辑的 1 和 0 和 B 信号 1 和 0 的组合解码,A 和 B 构成 2 位编码在一个脉冲周期内可以有四个分割区间,将这 4 次变化或 4 个区间解读出来,称为增量正交 A B 信号的四倍频。
增量编码器的 A、B 相位差为什么是 90° ?
这样可以较为清晰的判断旋转方向的正转(1/4差)或反转(3/4差),并有很好的容错宽度。
什么是绝对值数字编码?
以传感器内部信号获得的有和无,电学的高低电平作为 1 和 0 的编码,有 N 位的 0、1 编码(也称为二进制编码)组成的绝对值编码。数字式编码的有和无,对于各种微动因素的干扰引起的大小变化不敏感,为此抗干扰性强。目前越来越多的应用采用绝对值编码器。
绝对值数字编码的方式有哪些?
十进制码
日常生活中,我们的数字是 0~9,逢十进一,这称为“十进制”数字编码;
因 10 进制编码需要用十个阶梯的分布物理量,物理实现较不方便,编码器中很少用此编码。
纯二进制码
现代电子数字编码,一般都以通断(明暗)代表 0、1,有多位数 2 的 N 次方构成编码,最简单的就是纯二进制编码 BIN,变化的数字就是 0 和 1,逢二进一,这称为“纯二进制”数字编码,计算机电子应用中较多以此为编码;
16 进制码
以二进制 4 位一组向十进制解码 0~15,但是 10 以上不以两位数表示,而是以 A~F 表示,如 10 为 A,15 为 F,这是 16 进制的编码,便于数据寄存及辨识;
BCD 码
十进制每一位分解解码到二进制码的4位一组十个数,其 BCD 码向十进制解码后只有 0~9,而无需再考虑十进制的进位问题,一般用于人眼习惯的 7 段数码显示管;
格雷码
格雷码是二进制编码的一种,其特征是每一次递增(或递减)一个字变化,所有位数上只有其中一位发生了改变(0 与 1 的变化),并且数据终点循环到起点同样遵循这个原则,这样在一个字的变化过程中,只有一位数发生跳变,数“能”变化量最小,出错概率最低。特别适合于绝对值编码器的多码道同步读取或多位数同步输出(并行输出)中,也适合在通讯传输中;
格雷余码:
二进制编码中大部分是 2 的幂次方编码,编码总数也是 2 的幂次方,如 8 位的 256、10 位的 1024 等,在编码器的角度计算中,在角度计算中无法整除取整,有时要用到角度的整数,为此有格雷余码,在格雷码的数码中去除一部分,余下一部分编码使用,因此也称为“余格雷码”,例如 180、360、720 个编码的“余格雷码”。格雷余码向十进制解码后的十进制数不从 0 开始,需要“补码”。
其他编码
在通讯传输中,还有一些不常见的编码,是上述编码形式的变异或组合,例如曼切斯特编码等,这里就不一一叙述了。
格雷码怎么换算到纯二进制码(BIN)?
解码过程:用“0”和格雷码的最高位以“异或”比较,结果保留在(纯二进制码)最高位,再以此结果与格雷码的第二高位“异或”比较,结果保留在(纯二进制码)第二高位;再以此类推,直到最低位。
⚠️ 格雷码到纯二进制码的解码必须是全码解码,从最高位到最低位。
格雷余码怎么换算到纯二进制码?
格雷余码到纯二进制码的解码方式与格雷码的解码方式完全相同,但是解码到 BIN 码以后会发现编码不是从 0 开始的,例如 180 格雷余码是从 256 格雷码取中而来,解码后需要减去一个常数 38。
绝对值编码器安装时需要从编码零点开始找起吗?
不需要。绝对值编码器每一个编码位置都是唯一性的,任何位置都可以作为“零点” ,其他位置在安装初始化时确认与此“零点”的位置关系并永久性保存在接收设备中,使用中读取每一个唯一的编码并解码这种关系。
为什么绝对值编码器很多用格雷码?
格雷码或格雷余码的编码,在每次改变一个字的上下顺序变化中,仅改变一位的 0,1 变化,物理能变化最小,而且也不存在各个位数上同步读取的先后问题,因此其对于干扰性因素不敏感,出错概率最小,绝对值编码器的内部编码的同步读取或外部同步输出就不会存在出错问题,绝对值编码器较多用此编码。
相比较的其他编码,比如纯二进制编码或 BCD 编码,在一个字的顺序变化时,有可能发生多位上的 0,1 变化,物理能可能突变,而如果需要各位数同步读取或同步输出(例如并行输出),在响应上很难保证同步一致性,而造成读取上有的变化先读到,有的变化后读到,而出现短时错码跳变,需要锁定读取或输出,但这样响应速度就大大降低了,因此,在内部同步读取或外部同步输出(例如并行信号输出)时不能用格雷码以外的编码。
多圈绝对值编码器的编码
绝对值多圈编码器,就是在其测量范围内,不仅仅在单圈 360° 内有“绝对值编码”,而且在超过 360° 后仍然有不依赖于计数的多圈数值的唯一绝对编码。其一般与钟表式的分针、时针原理相似。
绝对值多圈编码器的数值读取必须与历史无关,不存在是否有记忆、是否有电池的问题。通电读取或不读取,停电记忆或不记忆,电池有或没有,绝对值编码的数据都在那里。如果编码器是通过内部或外部的计数器累加计数的,输出编码值与历史计数有关系,一旦历史关系丢失或出错,信息也将错误,就不能称为“绝对值”的多圈编码器,无论其是否有电池。
多圈绝对值编码器以“单圈位数 x 多圈圈数(或位数)”的方式表示其分辨率和测量圈数行程,多圈常用的是 4096 圈,少量可以达到 16384 圈、65536 圈(16 位)。
GMX425 系列的绝对值多圈编码器常规的可以达到 12 位 4096 圈,特殊需要的可以达到 16384 圈和 65536 圈。
作者:@Q
图文:mcrazy
以上内容由上海精浦提供,仅代表作者本人观点,如有吻合,纯属巧合。
点击「阅读原文」了解更多编码器相关内容。
本文作者亲自执笔整理的技术资料
「旋转编码器 100 问」 已经正式发布。
有兴趣的朋友可以在对话框内给我们留言
并留下您的称呼和联系信息
方便厂家和作者与您联系。
我是有底线的