求用STM32单片机测频率的方法

2020-01-01 17:55发布

最近在做一个测频计用STM32,我目前最大只能测到50KHz,最小只到100HZ,但是题目要求10Hz~100kHz,相对误差≤0.1%,请问下通过对STM32的内部设置可以达到题目要求吗?求教求教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
26条回答
fnems
2020-01-02 12:55
本帖最后由 fnems 于 2012-4-22 12:57 编辑
10192201 发表于 2012-4-22 12:35
哎,我也不知道为什么,不过后来好点了,我把定时的时间缩短之后,高频的脉冲计数就精确多了,但是低频还 ...


“把定时的时间缩短之后,高频的脉冲计数就精确多了”,
难道说之前有溢出?

程序上是怎样的思路?

测周期法的话,比如说一个周期内测量到基准10kHz的计数480个吧。
你自己没法判断到底是480.1个还是480.9个对不。这就是传说中的舍入误差。

所以当测量值是取整得到的a的时候,不确定度就是 1/a
如果精度要求0.1%,就是说 1/a < 0.1%,须有a>1000

当这个测量值是四舍五入得到的r,那么不确定度就是0.5/r
要求精度0.1%则 r>500

- - - - - - - 华丽的分割线 - - - - - - - - -

直观的举个例子,取整计数,测出来只有一个脉冲,那么可能正好有一个,也可能差一点就两个脉冲。
这时候误差就是100%了

所以定性来讲,计数值越大越精确,越小越容易受到舍入误差的干扰

一周热门 更多>