如何读取可变磁阻传感器产生的正弦波?

问题描述 投票:0回答:1

可以使用 Rpm 传感器(可变磁阻时间)。该传感器会产生电压脉冲,该脉冲每秒会多次升高并随后升高。我需要读取这些脉冲的顶部以及之间的时间或在特定时间跨度内发生的次数来计算转速。

人们更喜欢将 Arduino 或 Raspberry Pi Pico 等微控制器与所需的任何其他硬件结合使用。然而,使用中断读取下降沿和上升沿后,并没有成功。请帮忙解决。

c++ arduino raspberry-pi-pico
1个回答
0
投票

您使用的中断方法基于阈值检测。当信号上升到给定电平以上时,引脚将其解释为“高”电平并生成中断。如果您的信号有噪声,它可能会多次跨越该电平。发生这种情况时,您无法可靠地计算频率。

要使此方法发挥作用,您必须消除此阈值检测,就像消除按钮一样。一个简单的方法是

  • 在上升沿禁用引脚中断
  • x
    毫秒后启动计时器,
    x
    是您的去抖时间。
  • 当定时器到时,增加计数器并再次启用引脚中断。

要计算频率,请启动前面描述的程序并让它运行

y
秒,然后停止该程序。您的频率将为
x / y
Hz,或
60 * x / y
rpm。

© www.soinside.com 2019 - 2024. All rights reserved.