旋转编码器的编程思路

时间:2017-05-09
旋转编码器应用于角度定位或测量时,通常有A、B、Z三相输出。A相和B相输出占空比为50%的方波。编码器每转一周,A相和B相输出固定数目的脉冲。当编码器正向旋转时,A相比B相超前四分之一个周期;当编码器反向旋转时,B相比A相超前四分之一个周期。A相和B相输出方波的相位差为90°。编码器每转一周,Z相输出一个脉冲。由于编码器每转一周,A相和B相输出固定数目的脉冲,则A相或B相每输出一个脉冲,表示编码器旋转了一个固定的角度。当Z相输出一个脉冲时,表示编码器旋转了一周。因此旋转编码器可以测量角位移及位移方向。
  我们通常用的是增量型编码器,可将旋转编码器的输出脉冲信号直接输入给PLC,利用PLC的高速计数器对其脉冲信号进行计数,以获得测量结果。不同型号的旋转编码器,其输出脉冲的相数也不同,有的旋转编码器输出A、B、Z三相脉冲,有的只有A、B相两相,简单的只有A相。
  编码器有5条引线,其中3条是脉冲输出线,1条是COM端线,1条是电源线(OC门输出型)。编码器的电源可以是外接电源,也可直接使用PLC的DC24V电源。电源“-”端要与编码器的COM端连接,“+ ”与编码器的电源端连接。编码器的COM端与PLC输入COM端连接,A、B、Z两相脉冲输出线直接与PLC的输入端连接,A、B为相差90度的脉冲,Z相信号在编码器旋转一圈只有一个脉冲,通常用来做零点的依据,连接时要注意PLC输入的响应时间。旋转编码器还有一条屏蔽线,使用时要将屏蔽线接地,提高抗干扰性。
  编码器-----------PLC
  A,B,Z 分别接入PLC的输入点(按速计数器HSC的规定)
  +24V------------+24V
  COM-------------  -24V-----------COM
  旋转编码器的应用电路为:
  

  其中100pF的电容为去抖动的作用,但是软件处理的时候还是加上软件去抖动,以防止误判。软件去抖动常用的就是延时和连续采样多次,在此不再详述。
  A和B输出波形为
  

  通过输出波形图可知每个运动周期的时序为


  静止状态为11或00,A异或B的结果为0(注1)
  单片机可利用定时器中断来检测A和B的状态,中断时间在5~20ms之间均可。
  当检测到A^B= 0时,表示为静止状态,记下A和B的状态。
  当检测到A^B= 1时,表示有转动,读取AB的状态,如果AB是从11到01或者是
  从00到10则为正转,反之如果AB是从11到10或者是从00到01则为反转。
  此方法比较简单可靠,可以检测转动一格又可以检测快速转动。
  注1:异或运算
  异或的运算方法是一个二进制运算,C语言中用A^B表示A异或B:
  1^1=0
  0^0=0
  1^0=1
  0^1=1
  两者相等为0,不等为1.

上一篇:模拟电路和数字电路PCB设计的区别
下一篇:三极管开关电路图原理及设计详解

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料