如何设计一个自行车速度表

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/16 10:16:47
如何设计一个自行车速度表如何设计一个自行车速度表如何设计一个自行车速度表现在,很多人都把骑自行车作为一项锻炼身体的运动项目,如果在自行车上加装一个里程速度表,就可以知道自己骑车的速度和行程,从而很好地

如何设计一个自行车速度表
如何设计一个自行车速度表

如何设计一个自行车速度表
现在,很多人都把骑自行车作为一项锻炼身体的运动项目,如果在自行车上加装一个里程速度表,就可以知道自己骑车的速度和行程,从而很好地控制运动量.本文介绍一种用单片机制作的自行车里程速度表,里程和速度显示可进行切换,采用三位数码管显示;最大可显示里程为99.9km,显示最高速度可为99.9km/h.该里程速度表也可以用在电动自行车和速度不超过100km/h的摩托车上.
一、电路原理
电路如图1所示,由检测传感器、单片机电路和数码显示电路等组成.
检测传感器由永久磁铁和开关型霍尔集成电路UGN3020.组成.UGN3020由霍尔元件、放大器、整形电路及集电极开路输出电路等组成,其功能是把磁信号转换成电信号,图2a是其内部框图.霍尔元件H为磁敏元件,当垂直于霍尔元件的磁场强度随之变化时,其两端的电压就会发生变化,经放大和整形后,即可在③脚输出脉冲电信号.其工作特性如图2b所示.由于有一定的磁滞效应,可保证开关无抖动.B叩为工作点“开”的磁场强度,Brp为释放点“关”的磁场强度.永久磁铁固定在车轮的辐条上,UGN3020固定在车轮的叉架上.检测传感器的工作原理如下:车轮每转一周,磁铁经过UGN3020一次,其③脚就输出一个脉冲信号.UGN3020输出的脉冲信号作为单片机AT89C2051的外中断信号,从P3.2口输人.单片机测量脉冲信号的个数和脉冲周期.根据脉冲信号的个数计算出里程,根据脉冲信号的周期计算出速度并送数码管显示.S1用来进行里程和速度显示的切换,在初始状态下显示的是速度.
数码管DS1--DS3,VT1-VT3.R4-R13等组成显示电路,使用共阳数码管.P3.3-P3.5为数码管的动态扫描位驱动.PLO-P1.6作数码段码输出.
二、程序设计
程序用C语言编写,由主程序、外中断0服务程序,TO中断服务程序、延时子程序等模块组成.主程序主要完成程序初始化和键盘处理,外部中断朋及务程序由测量、计算、读数等部分组成,TO中断服务程序由计时、动态扫描显示、自行车停车判断等部分组成.
从P3.2口输人的脉冲信号作为外中断0的中断请求信号,采用沿触发方式.在测量速度时,由于车轮转动脉冲信号的频率很低,不适宜使用计数的方式进行测量,所以采用测脉冲周期的方法进行测量,用脉冲信号系统来控制计时信号,通过计时数计算出脉冲周期,用车轮的周长除以周期便可得到自行车的行驶速度.在测量里程时,用脉冲信号个数乘以车轮的周长便可获得行驶里程.需要说明的是:脉冲信号周期和个数是同时测量的,要做的只是用按钮开关S1切换显示.
本文的程序是针对车轮直径为26英寸的自行车编写的对于其他规格的自行车,只要改写程序spm=14904(常量1)In和spm=207(常量2)xc即可.为了避免使用浮点数,远算结果长度是以百米为单位的,数据读出时在第三位数加小数点就换算成千米了.为方便读者制作,现列出各种规格的轮径和轮周长、程序常量的对应值见附表,供参考.
定时器TO的中断定时时间为5ms,每中断一次计时变量n加1,因此n的单位为5ms.例如:自行车车轮转一周对应的n值为100,则对应的时间为0.5s,由此可得自行车的速度为14.9km/li.如果n的值达到1000,即5秒钟仍没有发生外部中断,即表示自行车没有前进,n也被清零,速度显示为0.读数采用三位显示,TO中断一次显示一位数,中断3次就可以刷新一次数据,即巧ms刷新一次数据.
三、安装与调试
传感器的安装与调试是一个关键.将它安装在前轮的位置,把一块小永久磁铁固定在车轮的辐条上,UGN3020作防潮密封后固定在前叉上,使得车轮转动时磁铁从它的前面经过,并使两者相遇时间隔尽量小.安装时,要使磁铁的S极面向UGN3020的正面.判定磁铁极性方法是:把磁铁的两个极分别靠近UGN3020的正面,当其③脚电平由高变低时即为正确的安装位置.传感器安装完成后,转动车轮,UGN3020的③脚应有脉冲信号输出,否则说明两者的间隔偏大,应缩小距离,直至转动时③脚有脉冲信号输出为止.一般间隔为5mm左右,如果向隔小于5mm仍无脉冲信号输出,说明磁铁的磁场强度偏小,应予以更换.
调试结束后,把里程速度表安装在车把手上,打开电源,骑动自行车,这时数码管显示的是速度,如果要显示里程,只要按一下S1,如果要回到显示速度,再按一下SI即可