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

请教增量编码器丢码问题 点击:3966 | 回复:34



gdblessu

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2005年9月10日
发表于:2006-07-17 11:18:00
楼主
请教各位大虾,我用c51检测增量编码器为什么总会出现丢脉冲的现象



刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2006-07-17 11:47:00
1楼
总要先说明你的情况,别人才能帮你分析吧?

gdblessu

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2005年9月10日
发表于:2006-07-17 12:23:00
2楼
我用A相接int0,B相接P3_7,在中断处理程序中判断B相高低电平,判断正反转,作脉冲计数,为什么转的快的时候会有丢脉冲现象,比如快速转5圈,脉冲个数却为900,我用的是200线增量式,51应该是能处理过来的阿。

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2006-07-17 18:01:00
3楼
建议先看一下波形,A、B相是否均匀。

红珊瑚

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:0
  • 历史总积分:18
  • 注册:2005年5月19日
发表于:2006-07-17 21:22:00
4楼
用示波仪测波形,应有5伏波形

gdblessu

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2005年9月10日
发表于:2006-07-18 09:16:00
5楼

gdblessu

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2005年9月10日
发表于:2006-07-18 09:19:00
6楼
楼上的意思是有干扰问题?我是在教研室做的实验,编码器是全新的,而且以前用的1000线的也有这个问题,不过丢的更多,很多人都遇到过类似的问题,所以应该不是波形问题

Jena

  • 精华:0帖
  • 求助:0帖
  • 帖子:64帖 | 1469回
  • 年度积分:0
  • 历史总积分:2165
  • 注册:2006年2月28日
发表于:2006-07-18 14:47:00
7楼
计数不对?
51的程序处理肯定没问题?中断计数?还是?

继续扫盲

  • 精华:1帖
  • 求助:0帖
  • 帖子:28帖 | 186回
  • 年度积分:0
  • 历史总积分:264
  • 注册:2004年11月22日
发表于:2006-07-18 15:23:00
8楼
你的处理器可能就是有忙不过来的问题,CPU处理的过来,还要看你的程序循环时间.

gdblessu

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2005年9月10日
发表于:2006-07-18 17:02:00
9楼
to Jena:是用的中断计数,我的中断程序循环用了5条语句,时间只有4us(24M晶振)

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2006-07-18 18:50:00
10楼
很多人都遇到过类似的问题,所以应该不是波形问题
这两句之间,真的有逻辑关系吗?

少女峰

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2004年11月02日
发表于:2006-07-18 21:35:00
11楼
用户程序大不大?中断处理得过来吗?我建议用硬件模块来计数更好些

少女峰

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2004年11月02日
发表于:2006-07-18 21:37:00
12楼
用户程序大不大?中断处理得过来吗?我建议用硬件模块来计数更好些

少女峰

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2004年11月02日
发表于:2006-07-18 21:37:00
13楼
用户程序大不大?中断处理得过来吗?我建议用硬件模块来计数更好些

李劲松

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 448回
  • 年度积分:0
  • 历史总积分:585
  • 注册:2005年12月11日
发表于:2006-07-18 22:43:00
14楼
根据你的描述,用的应该是标准8051内核和时序的MCU。
“用的是200线增量式,”
“中断程序循环用了5条语句,时间只有4us(24M晶振)”
设你用的是汇编,而且进入中断使用的是AJMP指令,中断不需要现场保护,则,你的中断总执行时间为:AJMP addr(2机器周期)+5条语句4us + RETI(2机器周期) + NOP(1机器周期)=4us+5机器周期=6.5us.
最大脉冲频率=153K,
"200线增量式",一圈产生200次中断,则,理论上可对最大转速为4600R/MIN的编码器计数。

李劲松

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 448回
  • 年度积分:0
  • 历史总积分:585
  • 注册:2005年12月11日
发表于:2006-07-18 22:53:00
15楼
楼主的中断处理真的只用了五条汇编语句实现计数吗?你的计数范围好像超过255,五条汇编语句似乎不可能实现65535范围内的计数,还有转动方向的判断。
但从你的描述看来,显然是中断处理来不及,一些脉冲到来时还未退出中断,导致丢数,结果就是高速丢脉冲。你的中断处理程序执行时间很可能远远超出你的计算,或者有其他更高优先级的中断被开放并执行了。
如果你有示波器,修改一下程序,进入中断的第一条语句之前插入
CLR P1.O,RETI之前插入SETB P1.0。观察P1.0(第一脚)在中断发生时的负脉冲宽度,即可测出处理程序的执行时间,注意转移分支不同执行时间亦不同。

Jena

  • 精华:0帖
  • 求助:0帖
  • 帖子:64帖 | 1469回
  • 年度积分:0
  • 历史总积分:2165
  • 注册:2006年2月28日
发表于:2006-07-19 10:03:00
16楼
不好意思,本人对细节问题并不清楚,见笑了
沙边小李和刘斑竹都是高人

gdblessu

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2005年9月10日
发表于:2006-07-19 10:41:00
17楼

gdblessu

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2005年9月10日
发表于:2006-07-19 10:56:00
18楼
to 沙边小李:我的中断子程序用的是5条c语言指令,通过medwin仿真器观察到的是用了4us,通过我的计算,与你计算的差不多,我用手转动编码器进行估算,假设10r/s,则2000脉冲/s,则500us/脉冲,考虑到正反向问题顶多除以四得到125us/脉冲,4us相对来说足够短,另外我只开了int0外部中断,可以排除其他中断影响的问题,我的qq:445286837,期待进一步探讨

gdblessu

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 12回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2005年9月10日
发表于:2006-07-19 11:12:00
19楼
这里把程序贴出来希望大家帮助解答:
void int0() interrupt 0 using 1
{
  if(P1_7==1) //B相接P1_7用来判断方向
     gCounterA++;
  else
     gCounterA--;
}
void main()
{
  IT0=1;
  EA=1;
  EX0=1;
  while(1)
  {_nop_();}  //循环等待中断
}

笨鳥慢飛

  • 精华:3帖
  • 求助:3帖
  • 帖子:15帖 | 2548回
  • 年度积分:0
  • 历史总积分:4928
  • 注册:2005年10月16日
发表于:2006-07-19 12:17:00
20楼
我司控制器也8051可做到240Khz響應 也經過市場驗證
另外會產生丟脈衝還有一問題連做編碼器廠家都不清楚 材料選用錯誤 在高頻狀態訊號失真 造成誤算 在低頻狀態下 因電器震盪 也失真 偍供作參考

热门招聘
相关主题

官方公众号

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