AB相编码器与正交解码,绝对值编码器

  • Post author:
  • Post category:其他



AB相编码器与正交解码,绝对值编码器:


一、增量式编码器:


欧姆龙的编码器一般为AB相增量式编码器,在输出方式上分为电压输出和集电极开路输出两种输出方式。其中集电极开路输出在采集脉冲是需要加一个上拉电阻。同时编码器还有一个Z相信号,即编码器机械零位信号,每当编码器转到机械零位,Z相输出一个脉冲,可用于矫正脉冲长时间的积分误差。


二、正交解码:


如果只是采集A相或B相的脉冲数,只能测量转速的大小,而不能判断旋转的方向。正交解码则能解决这个问题。



光电编码器:





AB相输出:




发光二极管发射的光通过光栅到达光敏管,引起电平变化。


如果正转,A相输出超前B相90度,如果反转A相滞后B相90度。


每转一周,索引相,即Z相经过发光二极管一次,输出一个脉冲,可作为编码器的机械零位。



1、 FTM正交解码


现在很多单片机都有FTM模块,FTM模块中则有正交解码功能。正交解码有两种模式。下面以飞思卡尔(现在为恩智浦)的K60芯片的FTM为例进行讲。


一种是AB相正交解码,


http://www.lpld.cn/wp-content/uploads/2013/11/OSKinetis-8-4.png


先介绍两个寄存器:


CNT寄存器:寄存器通过正解解码的得到的脉冲值,最后只要读取CNT的值就可以得到编码器转数(正值为正转,负值为反转)。


CNTIN寄存器:CNT计数的初始值。


AB相的电平和跳变沿决定了CNT的加数和减数。



CNT增计数时:


A上升沿,B逻辑低

B上升沿,A逻辑高

B下降沿,A逻辑低

A下降沿,B逻辑高


CNT


减计数是:


A下降沿,B逻辑低

B下降沿,A逻辑高

B上升沿,A逻辑低

A上升沿,B逻辑高



另外一种A相输出的是脉冲,B相输出方向。


http://www.lpld.cn/wp-content/uploads/2013/11/OSKinetis-8-3.png


当B相输出高电平,CNT寄存器加上A相输出的脉冲;


当B相输出低电平,CNT寄存器减去A相输出的脉冲;


而CNT的初始值由CNTIN决定,一般设置为0。



2、 D触发器:


如果单片机没有正交解码功能,可以通过D触发器来判断编码器的旋转方向。




将编码器的B相作为时钟输入到D触发器的1CLK(时钟),A相作为脉冲输入到D触发器的1D(数据位)。





B


相有上升沿时,


A


相的电平将被锁存到


Q1


引脚。这样,通过读取


Q1


引脚电平的高低,就可以判定编码器的旋转方向。当


Q


1为高电平时,


A


相超前


B


相,正转;当


Q


1为低电平时,


A


相滞后


B


相,反转;再综合单片机


PTM


的脉冲计数功能,就可以实现正交解码功能。


3、 正交解码芯片(如HCTL-2020):


也可以通过外加正交解码芯片实现正交解码功能,如何使用暂时不进行叙述。




三、绝对式编码器:





绝对式编码器的每一个位置对应一个二进制数,二进制数有每一道线的亮暗表示。例如:10位的绝对式编码器每个位置有10道线,可以表示0-1023共1024个位置。


绝对值编码器为每一个轴的位置提供一个独一无二的编码数字值。绝对编码器由机械位置决定的每个位置是唯一的,它无需记忆,无需找参考点,而且不用一直计数,什么时候需要知道位置,什么时候就去读取它的位置。这样,编码器的抗干扰特性、数据的可靠性大大提高了。



版权声明:本文为yx1302317313原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。