利用单片机C8051F120采集转速,转速的计算公式是什么?

n=N/(mT)是常看到的公式,N是采样时间内所计脉冲个数,m是齿数,T是采样时间,但是通过单片机定时器的值计算频率,计算过程中N都被约掉了,感觉不对啊?求哪位高人赐教啊。

很正常,单片机采集的是定时器计数值。例如定时器时钟为1MHz的情况下,两个下降沿之间计数为Q = 10000,给它个单位us,就是Q = 10000us,那就是说输入方波周期是10ms,频率是100Hz。
而你给出的公式是定采样时间数脉冲,还是上面的例子,比如采样时间是T = 1s,那1s 内,或者说T = 1000000us 内就会采集到N = 100个脉冲,也就是说 T / N = Q,实际采集过程定时器时钟和采样时间可能没这么凑巧,但T/N与定时器值是成正比的,约掉了是很正常的。
这个转速的求法应该是:设定时器自增周期为t,定时器计数值为Q,则n =1/(mQt)。
手打,望采纳。追问

请问一下,还有没有其他的公式啊?您计算转速的时候是用的什么公式啊?

请问一下,还有没有其他的公式啊?您计算转速的时候是用的什么公式啊?

追答

别的都更麻烦了吧,这个应该是最适合单片机应用的了,但是要考虑低转速处理的情况,两个齿之间时间可能会很长,直接用定时器处理会溢出,看你的需求,如果对低转速有需求,就要在定时器溢出时额外再增加计数器,两个计数器合用能计量很低的转速,如果对低速要求不高,定时器溢出时就直接置转速为零就好了,不管用哪种方法,最终都应该有个归零门限(这些小细节什么的最闹心了)。

温馨提示:答案为网友推荐,仅供参考
相似回答