!=编码器A、B信号判别方向=! 点击:2519 | 回复:14



天外飞云

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 3回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2005年11月16日
发表于:2005-11-24 17:16:00
楼主
编码器A、B信号如何用一个简单的电路来判别方向呢?

急急!



glenxu

  • 精华:0帖
  • 求助:2帖
  • 帖子:28帖 | 592回
  • 年度积分:0
  • 历史总积分:1862
  • 注册:2004年1月13日
发表于:2005-11-24 17:33:00
1楼
用JK触发器即可,一个IC就搞定

如火

  • 精华:172帖
  • 求助:0帖
  • 帖子:803帖 | 5249回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-11-24 17:40:00
2楼
相位差90度,可以用很多方法判断。

c-w-h

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 76回
  • 年度积分:0
  • 历史总积分:252
  • 注册:2004年12月10日
发表于:2005-12-09 13:46:00
3楼
编码器ab相每转一格按此顺序变化 00 01 11 10

zsbs

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 145回
  • 年度积分:1
  • 历史总积分:234
  • 注册:2003年11月27日
发表于:2005-12-09 20:47:00
4楼
用D触发器(假设上升沿触发),A接CP,B接D,当A超前时,每个CP上升沿时,B(D)为0,因而D触发器的输出Q为0,若B超前,则A上升沿时,B为1,这时Q为1

天外飞云

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 3回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2005年11月16日
发表于:2005-12-15 17:26:00
5楼
zsbs兄台:
    请具体的给出原理图,谢谢!我需要一个脚输出:当A超前B时,输出为1(0),当B超前A时,输出为0(1)。


   QQ:8214098
   E-mail:tanmingzhi@epochnc.com

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2005-12-15 20:30:00
6楼
"用D触发器(假设上升沿触发),A接CP,B接D,当A超前时,每个CP上升沿时,B(D)为0,因而D触发器的输出Q为0,若B超前,则A上升沿时,B为1,这时Q为1"
这种方式会出错的,至少要同时使用A的上升沿和下降沿

zqd2005

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 104回
  • 年度积分:0
  • 历史总积分:170
  • 注册:2005年9月28日
发表于:2005-12-16 10:37:00
7楼
下面引用由刘岩利在 2005-12-15 20:30:00 发表的内容:
  "用D触发器(假设上升沿触发),A接CP,B接D,当A超前时,每个CP上升沿时,B(D)为0,因而D触发器的…
--------------------------------------------------------------------------------------------
为什么会出错,有许多应用都这样,还有我这边有个电路是将技术脉冲加一个10T500 延时500ns后,由加了一个74121 单稳态,出来脉冲宽度大概是10us的脉冲,这个脉冲最后进入计数器计数,不知道为什么这样呢???

zqd2005

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 104回
  • 年度积分:0
  • 历史总积分:170
  • 注册:2005年9月28日
发表于:2005-12-16 10:38:00
8楼
下面引用由刘岩利在 2005-12-15 20:30:00 发表的内容:
  "用D触发器(假设上升沿触发),A接CP,B接D,当A超前时,每个CP上升沿时,B(D)为0,因而D触发器的…
--------------------------------------------------------------------------------------------
为什么会出错,有许多应用都这样,还有我这边有个电路是将技术脉冲加一个10T500 延时500ns后,由加了一个74121 单稳态,出来脉冲宽度大概是10us的脉冲,这个脉冲最后进入计数器计数,不知道为什么这样呢???

@Q

  • 精华:7帖
  • 求助:0帖
  • 帖子:42帖 | 2199回
  • 年度积分:0
  • 历史总积分:4414
  • 注册:2003年2月20日
发表于:2005-12-16 11:31:00
9楼
用前面有人介绍的00,01,11,10的变化顺序判断更好些,因为上升沿或下降沿有时波形不整,容易干扰误读。

chenwanzhong

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 22回
  • 年度积分:0
  • 历史总积分:95
  • 注册:2003年8月20日
发表于:2005-12-16 13:26:00
10楼
干嘛搞那么复杂呢?示波器不好吗?

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2005-12-16 18:03:00
11楼
张庆东:
我解释一下这样为什么会错。
编码器单向转动的时候,不会错;编码器不动的时候,不会错(这是废话,当然不会错),但是在换向的时候会丢数。
举一个例子,编码器在原地颤动,向前时,A相产生上升沿,但移动量很小,B相还没有动作的时候,退回原位置,A相产生下降沿。这样,实际位置没有变、在B相没有任何变化,A相发出一个完整的脉冲,计数器会怎样动作?如果只用A相的上升沿计数,那么就查了一个脉冲。

zsbs

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 145回
  • 年度积分:1
  • 历史总积分:234
  • 注册:2003年11月27日
发表于:2005-12-16 21:32:00
12楼
刘老师说得很有道理,这一细节我也想过,而且在4倍细分时,情况更复杂(每个脉冲的上沿和下沿都计数,有人做过用GAL编程实现),但这里“天外飞云”只要用简单电路判方向,虽然有一个D触发器对小幅振动不能做出反应,但这也防止了在判断方向时,在没有发生实质性的转动时,方向信号频烦换向这种情况的发生,因而这个简单电路似乎能满足要求

还有“天外飞云”,这个不需电路图,用文字就能描述清楚了,就是编码器的A、B相脉冲分别接D触发器的CP和D端,用Q的(0,1)表示方向

zqd2005

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 104回
  • 年度积分:0
  • 历史总积分:170
  • 注册:2005年9月28日
发表于:2005-12-17 13:12:00
13楼
谢谢刘老师的解答!
 我感觉如果编码器返回的信号单纯用来显示,而不是用来闭环控制,或者对精度要求不高的情况下,用简单的D触发器鉴别方向的电路应该可以满足要求

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2005-12-17 21:05:00
14楼
"单纯用来显示,而不是用来闭环控制,或者对精度要求不高的情况下"
这个,个人认为不是精度要求高低的问题,如果用来显示位置,每次换向都丢数,这总是个大问题,除非只显示速度,或者,基本不换方向。

热门招聘
相关主题

官方公众号

智造工程师