伺服电机编码器计数问题!!!!!!! 点击:1858 | 回复:7



zhenjiahf

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 40回
  • 年度积分:0
  • 历史总积分:47
  • 注册:2008年10月12日
发表于:2008-10-31 12:03:42
楼主
有用过伺服电机编码器的朋友吗,我用的松下A4伺服,内置17位增量式编码器,输出3路差分方波信号,电机编码器输出信号为 0A+.OA-.OB+.OB-.OZ+OZ-,六组差分信号,这六组信号经过差分芯片AM26LS32将差分信号转化为单极性信号OA.OB.OC.,请问如果要计算电机的旋转角度,如何进行计数呢,是把OA.OB.OC三路信号都进行计数还是只需要计一路脉冲呢



波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2008-10-31 13:04:36
1楼

如果正是17位增量式编码器,肯定不会走脉冲,而是直接走协议了。

如果是脉冲,则处理A/B两相正交脉冲可获得增量角度,配合Z信号可定一圈内的绝对角度。

zhenjiahf

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 40回
  • 年度积分:0
  • 历史总积分:47
  • 注册:2008年10月12日
发表于:2008-10-31 14:25:57
2楼
走协议?什么意思啊,具体说下啊

zhushanqiao

  • 精华:0帖
  • 求助:1帖
  • 帖子:41帖 | 1120回
  • 年度积分:0
  • 历史总积分:6233
  • 注册:2004年11月26日
发表于:2008-10-31 15:39:06
3楼
走协议就是通过通讯方式来传输信号,等信号到达伺服以后再通过伺服进行计算。松下的我没用过,但是通信方式的会有差分信号出来 吗?

htqsunny

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 5回
  • 年度积分:0
  • 历史总积分:38
  • 注册:2008年10月31日
发表于:2008-10-31 21:28:25
4楼

推荐做法:先将OA、OB脉冲四倍频(类似于DSP的QEP计数模块),具体实现的时候只需要记住OA、OB的每个脉冲跳变即可实现四倍频,同时要辩相,一般我们定义OA超前OB为电机旋转正方向,此时脉冲累加,否则为负方向,脉冲累减。知道了脉冲个数就好办了,如果松下伺服输出的脉冲个数为一圈2500个,由于我们四倍频了,故实际到我们这里就应该是10000个没圈,根据这个脉冲你就可以知道电机的相对位置。根据OC信号,你可以知道电机的绝对位置,一般定义OC出现的时刻就是电机转子的零位,因此每次检测到OC出现,就应该认为绝对位置出现,这样可以清除累积误差。根据收到的脉冲数,采用M法测速也可以计算出实际电机的转速。

上面的做法是伺服驱动器的通用做法,原理以及可行性都没有问题。

鹿工

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 68回
  • 年度积分:0
  • 历史总积分:140
  • 注册:2007年9月12日
发表于:2008-10-31 21:31:29
5楼

应该是控制端子会输出ABZ的信号,可能不是编码器输出的.编码器输出编码到驱动器,经过处理后,驱动器是可以输出ABZ信号的,是用于给控制系统的.如果您只考虑一个方向的角度(电机只往一个方向转),是可以只记一个信号的A或B,但如果是电机正反转都有,那就得有辩向处理了,AB都要记.如果要精确回原点,那就要配合Z相脉冲了.

zhenjiahf

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 40回
  • 年度积分:0
  • 历史总积分:47
  • 注册:2008年10月12日
发表于:2008-11-01 18:11:05
6楼
谢谢朋友们!              

onlylm2008

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 211回
  • 年度积分:0
  • 历史总积分:579
  • 注册:2008年11月01日
发表于:2008-11-01 23:58:49
7楼
17bit 不会是AB正交的信号,应是串行数据 + 通讯协议。
可用示波器看看信号边转动马达

热门招聘
相关主题

官方公众号

智造工程师