ECxx旋转编码器如何消除抖动和杂波

hujj传感器设计与应用 2024-05-04 17:07:48 5390阅读 山东省济南市 联通


最近买了一个EC11的旋转编码器做项目,发现编码器的波形有杂波,请问有什么办法解决吗?

正常的波形应该是这样的:


实际的正转波形是这样的:


实际的反转波形是这样的:



提示:如果此问题没有解决您的需求,您可以点击 “我也要问” 在线咨询。 我也要问

若此问题存在违规行为,您可以点击 “举报”

7条回答

  • 如若
    2024-05-04 17:20:25

    消抖的核心思路:

    A脚设置为上升下降沿均会进中断,下降上升一个变换周期,判断这个周期的A脚,B脚的始末状态,来判断正反转一次。

    优点:只需要一个管脚的外部触发,另一脚单纯获取电平状态即可。

    还是要建议给AB脚各加上1颗103电容最好,避免频繁进入中断消耗资源。

    364 举报
  • 今天下雨了
    2024-05-04 17:19:39
    常有两种:

    定时等待法 。在中断服务函数的转动判断里,加一个很短的延时来实现消抖,这种方法虽然能解决抖动问题,但在编码器转动比较快时,容易漏判,不建议使用该方法1。
    状态检测法 。通过检测编码器的两个信号脚的状态变化(上升沿或下降沿)来进行消抖。例如,当A相下降沿触发中断时,在A相低电平期间死循环,直到A相恢复高电平后循环结束,然后通过检测B相在这期间产生了上升沿还是下降沿来判断正、反转12。

    555 举报
  • 阿祖_电子
    2024-05-04 17:18:40
    STM32有一个专门的编码器接口,定时器开启编码器模式,调用标准库中的TIM_EncoderInterfaceConfig()编码器函数进行参数的配置,然后通过TIM_GetCounter()函数直接读取计数值即可。编码器模式下计数器的计数方式如下图所示,有三种模式可选择。例如:第一种模式中,当TI1FP1为上升沿(Rising)时,若TI2FP2为高电平,则计数器向下计数,若TI2FP2为低电平,则计数器向上计数;而当TI1FP1为下降沿(Falling)时,若TI2FP2为高电平,则计数器向上计数,若TI2FP2为低电平,则计数器向下计数;TI2FP2的边沿触发不计数。这种计数方式下,毛刺信号的下降沿和上升沿产生的误判之间能够相互抵消。

    435 举报
  • panguoxian
    2024-05-04 17:18:06


    增加判断正、反转的条件,读取一个周期内的电平变化再进行判断。首先将最小系统板的PB0引脚与A相连接,触发方式选择上升/下降沿触发,用A相的输出信号来触发中断,然后在A相下降沿触发第一次中断后读取B相电平,紧接着A相上升沿触发第二次中断后读取B相电平,结合两次读取到的电平来判断是正转还是反转,这种检测方法和第二种方法的原理相同,即从A相的下降沿触发到上升沿触发期间,若B相电平发生了变化,则判定编码器转动,反之未转动,波形抖动时B相的电平保持不变,能够实现消抖。


    256 举报
  • 小草风清扬
    2024-05-04 17:17:23
    A相下降沿触发中断,在A相低电平期间死循环,直到A相恢复高电平后循环结束,然后通过检测B相在这期间产生了上升沿还是下降沿来判断正、反转。判断B相是上升沿还是下降沿的方法为:每次进入中断后立即保存B相的上一个状态(Last_status),同时在A相低电平期间更新B相的当前状态(Current_status),若上一个状态是高电平,而当前状态是低电平,则为下降沿;若上一个状态是低电平,而当前状态是高电平,则为上升沿。

    346 举报
  • 逛逛看看学学
    2024-05-04 17:16:18
    。在原代码中断服务函数的转动判断里,加一个很短的延时来实现消抖。但是我们一般不在中断函数里加延时,因为延时会占用CPU,对中断造成影响。这种方法虽然能解决抖动问题,但在编码器转动比较快时,容易漏判。
    367 举报
  • 囍语。
    2024-05-04 17:14:47


    当检测到到脉冲发生跳变的时候,几毫秒之内不检测脉冲就可以了,通过使用一个外部中断+定时器实现正交脉冲的滤波。用外部中断检测脉冲的下降沿,检测到下降沿后,关闭外部中断,判断当前旋转方向,打开定时器中断定时1ms,定时时间到了之后,关闭定时器中断,打开外部中断,开始接受下一个脉冲。




    521 举报
103电阻是多少
STM32 38621人阅读
Linux内核printfk打印信息怎么打开
Linux驱动 8727人阅读
ECxx旋转编码器如何消除抖动和杂波
传感器设计与应用 5390人阅读

快速提问,在线解答

1

描述需求

填写需求概要标题,补充详细需求

2

耐心等

等待网友或网站工作人员在线解答

3

巧咨询

还有疑问?及时追问回复

立即咨询