STM32、外部中断、旋转编码器

2019-07-21 01:35发布

现在小弟需要用STM32的外部中断处理旋转编码器返回来的信号,判断方向并进行计数。由于经常不能复位(Ac=0,Bc=0),所以加了Tim进行复位操作。
现在还是出现快速转动时会出现于往预期的反方向计数。
查了好久了。
麻烦各位帮忙看看问题出在哪,或者是有什么更好的处理方法(PS:只能使用外部中断)










友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
21条回答
brucewoo
2019-07-21 04:37
Acuity 发表于 2018-12-24 23:47
外部中断不好处理,会丢脉冲。另外在中断函数延时,大忌啊,还延时这么长。。。。
用定时器的正交编码功能 ...

刚好最近在实验定时器的编码器输入功能,使用的是几块钱的机械式旋转编码器。
我发现快速旋转时一样会出现CNT值往相反方向计数的情况。
估计是由于机械触点抖动造成的。
请问这种情况在定时器设置里有没有途径避免或改善?或只能在电路上消抖来改善?
如果用光电编码器或磁性编码器,还会有这种情况吗?(只用过几块钱的机械编码器)

一周热门 更多>