如何设计一个自行车速度表
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/03 17:36:23
如何设计一个自行车速度表
如何设计一个自行车速度表
如何设计一个自行车速度表
现在,很多人都把骑自行车作为一项锻炼身体的运动项目,如果在自行车上加装一个里程速度表,就可以知道自己骑车的速度和行程,从而很好地控制运动量.本文介绍一种用单片机制作的自行车里程速度表,里程和速度显示可进行切换,采用三位数码管显示;最大可显示里程为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即可