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 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
w282529350
1楼-- · 2019-12-12 11:18
honami520 发表于 2019-4-28 14:42
就是变化不大才会问的,和设计不符合

看你描述有两个怀疑因素,捕获的时间对不对 和 j-scope采样的准确性

拿一个自己不确定的工具去测一个变量,没有实现预期效果,这.....
hill123
2楼-- · 2019-12-12 13:23
 精彩回答 2  元偷偷看……
honami520
3楼-- · 2019-12-12 18:38
帖子结束,我程序里面加了个缓冲区,保存最近20次的数值,然后调试的时候,看到的数据果然还是不一样的。鉴定结果就是
j-scope的数据刷新速度根本就很慢啊。完全不是它说的50HZ。
honami520
4楼-- · 2019-12-12 19:46
20061002838 发表于 2019-4-28 15:04
此时你就需要uc/PROBE 或者RTT了,采集原始数据,捕获时间,时间差值,脉冲差值这些,分析看是哪里出了问题 ...

你说的挺好的。还是偷懒了。因为这个设备是在另外一台电脑上面的。我要用teamview远程过去然后调试,所以我就偷懒了。
20061002838
5楼-- · 2019-12-12 21:24
honami520 发表于 2019-4-28 15:27
你说的挺好的。还是偷懒了。因为这个设备是在另外一台电脑上面的。我要用teamview远程过去然后调试,所以 ...

uc/probe可以使用以太网传输数据,实现远程调试
局域网的我测试过,公网的没有测试过
honami520
6楼-- · 2019-12-12 22:26
其实上面那个波形是假的。这个泰克示波器是新买的,不会玩。没设置好,调节时间旋钮,放大一倍就发现脉冲是连续的,缩小一倍,就变成了断断续续的了。
后来调节了示波器的参数后就连续了。被示波器坑了

一周热门 更多>