打印

旋码开关问题

[复制链接]
1547|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
爱好学习者|  楼主 | 2014-6-3 10:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人使用的旋码开关为:共三个引脚,两个引脚接到MCU的中断IO口上,一个引脚接到地上。当顺时针旋转时使用加**能,当逆时针旋转时使用减**能。但现在程序处理中,在旋转的时候按键处理不理想,各位大神,有什么好的处理方法么,指教一下?
沙发
lanmp| | 2014-6-3 12:10 | 只看该作者
去抖了么?

使用特权

评论回复
板凳
爱好学习者|  楼主 | 2014-6-3 12:40 | 只看该作者
lanmp 发表于 2014-6-3 12:10
去抖了么?

这个不知道怎么去抖啊,当快速一点旋转按钮,看示波器IO口的低电平持续的时间只有几毫秒啊

使用特权

评论回复
地板
lanmp| | 2014-6-3 13:28 | 只看该作者
几毫秒就够了阿

使用特权

评论回复
5
yewuyi| | 2014-6-3 13:43 | 只看该作者
这个的去抖要采用连续跟踪的办法。

这个东西一般都是4个脚,一个接VCC,一个GND,另外两个输出A/B相脉冲,检测A/B相脉冲的相位,则可以判断正还是反向。

自己要限定一个最高旋转速度,然后用比它高两倍以上的速度去采样A/B相信号进行判断

使用特权

评论回复
6
爱好学习者|  楼主 | 2014-6-3 13:57 | 只看该作者
yewuyi 发表于 2014-6-3 13:43
这个的去抖要采用连续跟踪的办法。

这个东西一般都是4个脚,一个接VCC,一个GND,另外两个输出A/B相脉冲, ...

连续追踪法?能指导一下具体的操作细节吗?

使用特权

评论回复
7
yewuyi| | 2014-6-3 16:41 | 只看该作者
爱好学习者 发表于 2014-6-3 13:57
连续追踪法?能指导一下具体的操作细节吗?

当检测到转动方向没有发生改变时,计算增量并执行加1功能,当检测到转动方向发生改变时,则连续判断3次转动方向确定方向已经发生变化,然后再执行减1功能。

使用特权

评论回复
8
getmore| | 2014-6-3 19:27 | 只看该作者
这个是编码器,STM32等单片机的定时器,都有编码器输入的接口,由于定时器的编码器输入是双线制的,可以计算编码器的正转和反转,同时可以有效的去抖动。如果用IO按键的方式来处理话,程序代码的效率不高,同时容易出错。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

73

帖子

0

粉丝