基本上,单片机采集的是转子产生的信号,这个信号的频率与转子的转速相关.
例如说,转子或转子轴的一侧粘贴了一面小镜子,使这个小镜子能随转子一起转动,然后在旁边固定一个光源对着镜子所在的位置,这样的话,转子每转过一圈,小镜子所反射的光线就会经过一次检测元件,转子转得越快,经过检测元件的光线就会越频繁,换言之就是光线被反射到检测元件上的频率越高.
那么,现在你已经知道转子每转一圈,检测元件就会检测到一次光线了,那如何换算成具体的转速呢,实际上,只要对检测元件的两次光照时间进行检测,或对一定时间内检测元件被光线照射到几次进行计数,然后再换算就可以了.
例如,每两次光照的间隔为1秒,那么就表示每秒钟这个转子转了一圈,那么一分钟就是60圈,这就是转速了.
若你需要更精确的检测,则这个1秒钟才一次的信号显然不够,你需要每秒钟有更多个脉冲,才能实现较为精确的测量,比如可以测量到1.05圈/秒,或者0.95圈/秒.而这就需要在转子上粘贴更多的镜子.
例如说,你在转子上均匀地粘了10面镜子,而所检测到的每两次光照的间隔为20mS,那么换算下来,1000mS÷20mS÷10=5,这个5就是每秒钟的转数,换算成一般的标法,就是300转/分了.
然而,如果被检测的电动机速度更快一些,并且这些"镜子"数量更多一些,对于慢速的单片机来说,再用检测光照时间的方法就可能忙不过来了,或者是精度要打折扣了,比如说你的单片机最短要10uS才能中断一次,而被检测的电动机所传过来的"光照"信号周期只有8uS,那么你可能就检测不到这个信号了,或者检测成错误的结果.
此时,你就可以将检测方法改为检测一定时间内的信号个数,比如说你可以用一个定时器来产生100mS的定时周期,再用另一个定时器来对信号进行计数,比如这个100mS你记录到了700次信号,按上面的例子,你已经知道转子每圈会有10个信号,那就是说,这个100mS内,转子转过了70圈,这样的话,就很好计算转速了,在这个例子中,100mS是十分之一秒,那么实际的转速就是10倍×70转=700转/秒,算成一般的标法那就是700转×60秒=4200转/分了.
知道这个转速之后,要显示出来就不用再多说了吧,hoho~~
希望对你有帮助~
追问就像你举的例子,那个100ms和70圈是怎么知道的啊?它不是在单片机内部吗,知道这个转速后怎么显示啊 显示的时候不是一个数字吗 这个数字是怎么出来的啊 非常感谢 会加分的
追答那个100mS是假定的一个计时周期,也可以是50mS或150mS等等,根据实际情况来进行设定.
70圈,是因为每圈有10个信号,因此700个信号就是70圈了.
知道4200转/分这个转速后,就显示"4200"就好了.
这个4200的来历在上面都有具体的详细的说明,仔细看下就知道了啊.
至于显示,你可以用数码管,也可以用液晶屏,数码管还可以用动态刷新方式或静态方式,这个具体的显示工作是很基础的知识,随便翻一本单片机的入门书籍都会有的.