您的位置:控制工程论坛网论坛 » 电机与运动控制 » 求助一个编码器测量角度的问题

sweect

sweect   |   当前状态:在线

总积分:5941  2024年可用积分:0

注册时间: 2007-11-07

最后登录时间: 2023-08-21

空间 发短消息加为好友

求助一个编码器测量角度的问题

sweect  发表于 2016/8/1 16:31:40      999 查看 4 回复  [上一主题]  [下一主题]

手机阅读

我用一个欧姆龙的增量式旋转编码器作为旋转台的角度测量,编码器为2000P/r,安装在减速电机的输出轴,旋转台转速为 0~5转/分钟。我编写了程序将编码器的A脉冲信号转换为角度,B信号为方向,Z信号为零位。现在遇到一个问题就是当电机频繁开停时,会造成角度测量误差,且均为正误差。编码器自身没问题,也不存在干扰,经检查发现旋转台在停止的瞬间,会有一个轻微的摆动,这就导致某一位置的脉冲重复累计,造成角度误差,严重时每转会多出几十个脉冲。请教一下,如何通过合理的程序解决这个问题。谢谢了!

1楼 0 0 回复
  • wangchen

    wangchen   |   当前状态:在线

    总积分:9908  2024年可用积分:0

    注册时间: 2010-03-25

    最后登录时间: 2023-08-10

    空间 发短消息加为好友

    wangchen   发表于 2016/8/6 22:08:18

    用AB相高速计数方式,每次到Z相清零一次
    2楼 回复本楼

    引用 wangchen 2016/8/6 22:08:18 发表于2楼的内容

  • swy

    swy   |   当前状态:在线

    总积分:8595  2024年可用积分:0

    注册时间: 2006-08-05

    最后登录时间: 2023-08-21

    空间 发短消息加为好友

    swy   发表于 2016/8/8 16:24:49

    最好把程序发出来帮你看看
    3楼 回复本楼

    引用 swy 2016/8/8 16:24:49 发表于3楼的内容

  • atmupkeep

    atmupkeep   |   当前状态:在线

    总积分:5759  2024年可用积分:0

    注册时间: 2011-05-08

    最后登录时间: 2023-08-15

    空间 发短消息加为好友

    atmupkeep   发表于 2016/8/9 14:47:49

    看了你的问题,你好象对编码器不是很明白,A相和B相是互差90度的脉冲,你的程序中可能只用了A相,这样不管正转,反转,抖动,你的角度都会增加,你应当A,B相都用,用加减计数模式,怎么转都不会有误差
    4楼 回复本楼

    引用 atmupkeep 2016/8/9 14:47:49 发表于4楼的内容

  • zhangmengmeng

    zhangmengmeng   |   当前状态:在线

    总积分:1956  2024年可用积分:0

    注册时间: 2013-12-26

    最后登录时间: 2023-08-14

    空间 发短消息加为好友

    zhangmengmeng   发表于 2016/8/10 15:07:16

    以下两段程序同步运行,此程序只输出编码器每转的脉冲个数。实际运行时若旋转台连续运行,则每转的编码器脉冲个数基本稳定在2000,若中途不断开停,则每转脉冲数会大量增加。 1、角度测量 nMaiChongShu=0 脉冲数 nZhuanJiao=0 wait(BianMaQi_Z==true) 等待Z脉冲 while true wait(BianMaQi_A==true) 等待A脉冲 if BianMaQi_B==true 根据B脉冲判断方向 nMaiChongShu=nMaiChongShu-1 else nMaiChongShu=nMaiChongShu+1 endIf wait(BianMaQi_A==false) nZhuanJiao=(360/2000)*nMaiChongShu 计算角度 endWhile 2、复位 nZA=0 while true wait(BianMaQi_Z==true) nZA=nMaiChongShu nMaiChongShu=0 脉冲数置零 print(nZA) 输出显示脉冲数 wait(BianMaQi_Z==false) endWhile
    5楼 回复本楼

    引用 zhangmengmeng 2016/8/10 15:07:16 发表于5楼的内容

总共 , 当前 /