DIY自行车里程计(2)

时间:12-06-02 栏目:单片机, 电子DIY, 硬件电路 作者:JH单片机 评论:1 点击: 10,280 次



自行车里程计的DIY,基本功能算出来了。周六日改装,其他时间都在上班,所以时间还是很紧的。欲罢不能啊。好吧,我说多了。下面进入主题。

材料:单片机最小系统,开关型霍尔传感器,磁钢。一些扩展的外围芯片,DS1302、DS18B20,线材,LED,还有其他若干元件(这里不再一一列举)

改装很简单,只要把硬件电路先做好,再写写程序就行。

原理:磁钢在车轮的钢丝上,霍尔传感器检测有磁钢经过(切割磁感线),就输出一个低电平,触发单片机外部中断。通过统计单片机中断次数,就可以得到车轮转过圈数,乘上车轮圆周就是路程了。

公式:S=n*Setp (n为圈数,Setp为车轮圆周长,S为路程)

 

而计算速度则比较麻烦,因为我的轮子只有一个磁钢,所以是不可能测出实时速度的。解决办法就是在规定的时间(s秒)内,统计车轮转过的圈数q,然后计算出s秒内的平均速度值,当做自行车行驶的速度。

其实,这个速度很接近实际速度的,因为你踩自行车的加速度没那么大。根据我实际测得,s的取值,3-4秒钟最佳。小了基本测不到,大了就不那么实时了。

公式:v=q*Setp/s (q为s秒内转过的圈数,Setp为车轮圆周长,v为前s秒内的平均速度值)

 

如果要测“实时”速度,必须在车轮上至少安装两个磁钢(平分车轮圆周)!根据获得经过两个磁钢之间的时间,可以算出速度值。

公式:v=(Setp/i)/t  (Setp为车轮圆周长,i为磁钢数,t为经过其中两个磁钢的时间)

 

*上面给出了3条再简单不过的公式(小学生也会算,真不太敢show出来,我还是鼓起勇气)。如果你真以为直接拿公式给单片机算,你就真的小学生了。单片机在处理浮点数(基本不能处理,需要经过算法优化)、乘法、除法的时候,那它可就累了。总不能让单片机一直不停的计算吧。这其中涉及到公式的转换,算法的优化问题。这就是本次改装难点之一。

 

好了,废话不多说,下面简单的说说硬件制作的过程。

1.这里我用了我毕设做的一个单片机系统板,里面扩展了DS1302时钟芯片,DS18B20传感器,还有集成USB转串口通信模块(方便下载单片机程序)。这个线材要够长,起码2米,一般传感器放在后车轮的,其实也可以放在前轮。

2.安装硬件,进行走线。要走的线有3根,就是霍尔传感器的供电和信号线。

其实,可以减少1根线的,而且方便以后扩展。具体做法是:将整部自行车当做地线(即是将GND连接到车身上,利用金属导电,将车身作为导线。)

 

3.安装好硬件,正在对系统板进行调试,下载程序。(写程序和调试,是个非常辛苦的过程所以必须要有耐心,所有难度的地方都在这里。)

4.测试硬件,改进线路。优化程序算法,都在测量实际参数后进行!

5.根据刹车带进行布线是最美观,走线最好的方式。这里我布了6根线(两条电源线,4条信号线)连接信号线的有霍尔传感器信号输出,刹车灯,车尾转向灯

 

6.霍尔传感器的安装,最好固定在车架的横轴上,比较稳定,而且在车架与传感器之间用弹性材料隔开,不容易随车身震动而移位。

对传感器安装还有一个要求,就是传感器所能测量的距离,大概为2-4CM(跟磁钢大小、磁通量有关)

7.磁钢的安装,最好固定在离车轴中心较近的地方,因为这里的线速度比较小,离心力也较小,磁钢不容易甩飞掉。(但不管传感器安装哪里,角速度都是一样的)

好了,硬件的改装也暂告一段落,这只是加装自行车里程计的一个小插曲。后期将要加入的安全功能也会更好玩。安全措施可以达到上公路的标准了。合适的时候,还可以跟警车的喇叭匹敌,上了公路比警车还威。

而且有一个网友提供了一个不错的点子给我,说在轮子上安装一排LED灯,效果会很好。一个炫字了得。

不管怎么说,做了再吹吧。继续期待新作……

 
关于本文作者

爱数电,爱模电;爱单片机,爱嵌入式;爱EDA,也爱DSP; 爱Altium Designer,也爱PCB;爱生活,同时也爱微博…… 一个自动化专业的学生,与志同道合者学习交流!!!

QQ 号码:594420349
腾讯微博:http://t.qq.com/kevin_753

项目合作