玩模型时,转速测量其实是很有用的一个功能,不过除了少数发烧玩家之外,一般模友不会去准备一个转速测量设备(这类设备很便宜,在淘宝上不过几十元)。 在这个多功能电显中集成转速测量,有很大的原因也是出于好玩~
转速测量从原理上说很简单,就是感应到旋转体的旋转,配合定时器计数即可,程序结构应该说是清晰明了,并无难度。可以用定时器/计数器做,也可以用外部中断做。 最麻烦的是旋转检测了~
旋转检测的方案常见有三种:
1、光感应
2、磁感应
4、接触式感应
最后一种多见于低速专用领域,用的更多的还是磁感应,道理也很简单,就是在旋转体上固定一个磁铁,然后用霍尔原件(更早期是用干簧管)检测到磁铁掠过霍尔原件的信号跳变。磁感应多用于专用领域,比如自行车啦,因为要固定磁铁,所以通用性不够强。
光感应的适用范围就光很多,有反射式和透射式两种,前者是用旋转体的反射物反射探照光线来检测,后者是用旋转体遮断探照光线来检测。显然,对于黑色旋转体,反射式就会遇到麻烦,一般需要在旋转体上加贴反射标;而对于透明旋转体,就需要加贴遮光标了。
不管怎么说,加贴的反射标或者遮光标,都比磁铁要来的轻,所以对原有旋转系统的影响是很微弱的,因此,光感应的优势还是挺明显的。不过,凡事都有两面性,光感应的设备,在强光环境下,就会遇到麻烦,强光处处可见,一个大太阳的晴天就是超强全频段光!磁感应却没有这个烦恼(强磁干扰环境在业余条件下几乎不会出现),呵呵。
优缺点说了一堆,最终还得做出选择,最终,考虑到使用方便性(我大都是用来测空模螺旋桨转速),还是选择了反射式光感应原理(投射式不容易固定)。
光线频段的选择,毫无犹豫,选择了红外频段,非可见光的干扰会略少一些。同时,红外线元器件也是业余条件下非常容易采购到的。
-------------------------------------------------------------------------------
红外测量还有两种技术方案可选:
1、不带调制的红外光检测
2、带调制的红外光检测
前者就是一个红外发射,一个红外光敏管,通过光敏管判断有没有收到发射出的红外线来判断。这个的缺点是受环境影响较大,需要进行模拟电路上或者算法上的隔直处理以及幅度处理才比较实用; 后者没有这些困扰,但它也有自己的麻烦:电路比较复杂,同时调制频率限制了最高可测范围。
-------------------------------------------------------------------------------
考虑到实用性,我选择了调制红外光方式。红外在家庭里面处处可见——我们的遥控器。我也是拆了一个DVD,得到了发射和接收的对管。这是电器常见的遥控器件,价格也很低廉,红外发射管是一个红外频段的LED而已,通过电路设计,发射调制在38k频率的ASK(幅度键控)红外线; 接收是一个模块,内部集成了相关的电路,检测到38k调制红外线就输出低电平,否则输出高电平。
我在百度上随便搜了两幅图片,一看就应该明白了。
电路是这样设计的:
1、由于电显没有自带电源,所以这个外接模块还引出了一个取电口,到模型接收机上取5V供电
2、红外接收模块的输出是OC(开漏)的,需要上拉
3、我用了一个4pin的杜邦头,除了电源和地之外,一个接到红外信号输出上(内部接到单片机的INT0),一个接到发射管的控制三极管上(内部是某个普通IO口)
实际上红外检测模块和内部的单片机连接如下:
程序的原理也比较简单:
当菜单选择了“转速检测”之后,软件将V3(P2.7)设置为推挽输出,并启动中断进行红外调制,调制采用低占空比,以节省能量(最主要是减少红外发射管的负荷与发热量):
当有桨叶掠过检测模块时,红外接收模块输出一个低电平,触发外部中断,外部中断中计数。每隔0.5秒,将中断次数保存下来,主程序中就可以计算出转速了。
需要注意的是:转速和桨叶的数量相关,所以软件里还设计了桨叶选择菜单。
**************************************************************************
现在用起来,感觉不错,这个看起来简单的东西,花了我快10个小时!主要就是在红外检测桨叶这部分上,这个,我下次再写~
文章评论(0条评论)
登录后参与讨论