STM32使用定时器输入捕获测量转速遇到奇怪的现象

2019-12-11 18:31发布

最近做了一个转速测量,因为使用的是霍尔传感器,转一圈只有1个脉冲,所以用的STM32的输入捕获来采集定时器的时间。
采集2次做一个差值,得到转一圈的时间,进而得到转速。
那么问题来了,由于霍尔传感器的安装问题,用示波器看波形,输入的脉冲并不是均匀的。正常的时候应该是400ms一个脉冲,但是经常是连续2-3个脉冲后,下一个脉冲会间隔2000ms或者一个比较大的时间
才会出现。然后这样的情况还挺多,最后就是整体脉冲不均匀。

按照程序设计,400ms和2000ms的间隔,我程序的变量计数应该是区别几倍的区别。但是我用J-scope来查看这个变量的波形的时候,最后看到的几乎是一条直线。
按照最大最小值计算出来,误差最大也就2.5ms。这和实际波形不符合啊。这个j-scope采集数据说的是频率50HZ,应该远远超过我的数据变化,应该是不会漏掉的啊。

有没有人遇到过类似的情况可以来说两句的,谢谢。下面是实际波形。
1556429075(1).jpg (170.65 KB, 下载次数: 0) 下载附件 2019-4-28 13:25 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。