首页 上一页 1 2 下一页 尾页

如何去掉旋转编码器的错误脉冲 点击:2303 | 回复:21



wzg1234

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2008-07-25 08:22:40
楼主

旋转编码器在转动时会产生两路脉冲,周期是一样的,只是脉冲B比脉冲A晚四分之一个周期,

但是有个不足的地方就是,如是编码器停在脉冲A跳变的临界点附近时,如果编码器出现抖动,

就会出现在脉冲B的一个周期内,脉冲A在不停地跳变,发出错误的脉冲,请问有什么方法可以解

决这个问题吗

 




波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2008-07-25 09:09:18
1楼
在这情况也是码盘的正常工作状态,在合理的4倍频鉴相电路处理后,进行可逆计数,则表现为计数值的来回加减1。

wzg1234

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2008-07-25 10:08:27
2楼
波恩版主没有看清楚,是错误脉冲,正常情况是A来一个脉冲,B也来一个脉冲,但是抖动时,在B脉冲一个周期内,A来了多个脉冲

沧海一黍

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 856回
  • 年度积分:0
  • 历史总积分:1192
  • 注册:2006年6月09日
发表于:2008-07-25 10:27:07
3楼
在临界点附近出现抖动,编码器的抖动是来自电机么?

wzg1234

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2008-07-25 11:12:31
4楼

不,是设备自身的抖动造成的,是独立的旋转编码器,不是伺服电机的

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2008-07-25 13:58:07
5楼
to 楼主:不是我没有看清楚,请看下图(摘自TI的文档)
图中鼠标光标停留区域为码盘反向瞬间的区域,图中恰好是B脉冲不动,而A脉冲从刚越过上升沿(对应一个4倍频脉冲)转为反向越过下降沿(也对应一个4倍频脉冲),此下降沿对应的角位置恰好就是刚才越过的那个上升沿所对应的,即为同一角位置,只是由于瞬间反向,才有了朝一个反向微动是上升沿,朝另一个反向微动又变成下降沿的现象,如果由于某种外部作用使得码盘始终在这个角位置附近来回微震的化,就会在B脉冲不变的前提下,A脉冲不停地来回反转,因此说码盘的这种信号输出模式仍属于自身的正常工作模式,反复出现的A脉冲的跳变也并非错误脉冲,如果码盘信号的后续接收电路是标准的4倍频辨向+可逆计数结构,则足以应对这种局部微动所导致的信号切变,其计数结果表现为在n和n+1之间来回变。

wzg1234

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2008-07-25 15:12:24
6楼

我的问题是,当脉冲A产生下降沿时,就去判断B的高低,如果是高,则计数器加1,如果B是低,则计数器减1,并没有四倍频的问题

所以编码器抖动时,由B脉冲电平不变,所以A每来一个下降沿,我的记数器就会加1(或是减1),多次抖动,就造成计数器不断增加(减少)

现在就是想在B同一个周期内,不对A的下降沿产生中断(我用的是51单片机)

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2008-07-25 18:51:57
7楼
这不是什么“错误脉冲”是而是“正常信号脉冲”。至于您的问题,是因为计数方式错误。

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2008-07-26 11:02:43
8楼
同意刘版主的结论!即便是必须沿用51,也应该有更好的解决办法,只是本人不熟悉51的资源。如果有可能的话,就用CPLD搭一个4倍频电路,实现倍频和辨向,再以51的可逆计数器(是否有?)计数,此问题当可以解决。

wzg1234

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2008-07-26 18:48:52
9楼

51的用法是将AB两路脉冲引进来,在脉冲A的下降沿时,去判断B是高电平还是低电平,来决定是加1还是减1

辨向就是通过B的高低电平来决定的,所以当在B是高电平时,如果A在临界点抖动,产生了多个下降沿,就会产生多个加1(或者是减1)

zhangxing

  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 73回
  • 年度积分:0
  • 历史总积分:429
  • 注册:2005年8月29日
发表于:2008-07-26 19:08:06
10楼
图片真好哈,斑竹辛苦

@Q

  • 精华:7帖
  • 求助:0帖
  • 帖子:42帖 | 2199回
  • 年度积分:0
  • 历史总积分:4414
  • 注册:2003年2月20日
发表于:2008-07-27 10:04:44
11楼

一。此在通电工作中,并不是“错误脉冲”,有两个办法,一是先通过A/B判向,再加减;二是可通过逻辑,判断加减。以A,B的变化正逻辑来看,高电平为1,低电平为0,那么,在一个变化周期中,A与B的组合为:00,01,11,10;然后再00。。。此为两位的格雷码,如果反转,变化也反过来,我建议自己动动脑筋,用逻辑就可以实现正反转的加减了,也可以按此做4倍频。



二。此在编码器通电的瞬间,的确是错误的信号, 因为前面的逻辑是记忆的,或者在通电瞬间是不够判向的,这就是增量编码器的“零点累计误差”。

 

欢迎去看看我的关于编码器的博客:http://blog.gkong.com/blog.asp?name=gemple

李劲松

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 448回
  • 年度积分:0
  • 历史总积分:585
  • 注册:2005年12月11日
发表于:2008-07-27 23:35:34
12楼

以下是我的一个成熟产品中所用的电路原理图,是一个倍频鉴相电路,输出代表旋转方向的方向信号和4倍频后的脉冲信号,上升沿有效,不过这个电路仍然要送硬件计数电路,在你所说的"干扰"脉冲到来时,方向信号会快速变化,单片机采用软件来捕捉该变化是不可靠的。希望能对你有所帮助,

李劲松

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 448回
  • 年度积分:0
  • 历史总积分:585
  • 注册:2005年12月11日
发表于:2008-07-27 23:37:45
13楼

右边被自动截掉了,再发一次

CHENNET

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 105回
  • 年度积分:0
  • 历史总积分:269
  • 注册:2004年4月20日
发表于:2008-08-11 17:02:32
14楼
51单片机?

vesgine

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 90回
  • 年度积分:0
  • 历史总积分:513
  • 注册:2005年8月29日
发表于:2008-08-11 22:05:15
15楼
回复内容:
对: 波恩 关于 to 楼主:不是我没有看清楚,请看下图(摘自TI的文档)
图中鼠标光标停留区域为码盘反向瞬间的区域,图中恰好是B脉冲不动,而A脉冲从刚越过上升沿(对应一个4倍频脉冲)转为反向越过下降沿(也对应一个4倍频脉冲),此下降沿对应的角位置恰好就是刚才越过的那个上升沿所对应的,即为同一角位置,只是由于瞬间反向,才有了朝一个反向微动是上升沿,朝另一个反向微动又变成下降沿的现象,如果由于某种外部作用使得码盘始终在这个角位置附近来回微震的化,就会在B脉冲不变的前提下,A脉冲不停地来回反转,因此说码盘的这种信号输出模式仍属于自身的正常工作模式,反复出现的A脉冲的跳变也并非错误脉冲,如果码盘信号的后续接收电路是标准的4倍频辨向+可逆计数结构,则足以应对这种局部微动所导致的信号切变,其计数结果表现为在n和n+1之间来回变。
内容的回复:

能否说下是哪篇TI文档,我也学习学习,多谢!

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2008-08-12 08:56:40
16楼
spru790b(TMS320x28xx, 28xxx Enhanced Quadrature Encoder Pulse (eQEP) Reference Guide.pdf)

vesgine

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 90回
  • 年度积分:0
  • 历史总积分:513
  • 注册:2005年8月29日
发表于:2008-08-13 08:24:37
17楼
回复内容:
对:波恩 关于spru790b(TMS320x28xx, 28xxx Enhanced Quadrature Encoder Pulse (eQEP) Reference Guide.pdf) 内容的回复:

多谢!

波恩

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

呵呵!希望对你有帮助~

伏牛

  • 精华:1帖
  • 求助:0帖
  • 帖子:26帖 | 176回
  • 年度积分:0
  • 历史总积分:515
  • 注册:2005年6月26日
发表于:2008-08-16 19:14:51
19楼

在B相的下降沿设置一标志如SETB F0,在A相下降沿计数时若F0=1执行辨向计数,同时清零F0;在A相下降沿时若F0=0,则不计数。

伏牛

  • 精华:1帖
  • 求助:0帖
  • 帖子:26帖 | 176回
  • 年度积分:0
  • 历史总积分:515
  • 注册:2005年6月26日
发表于:2008-08-16 19:19:34
20楼
在脉冲数很少的编码器中很容易出这种情况。

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页