現(xiàn)在,很多人都把騎自行車作為一項(xiàng)鍛煉身體的運(yùn)動(dòng)項(xiàng)目,如果在自行車上加裝一個(gè)里程速度表,就可以知道自己騎車的速度和行程,從而很好地控制運(yùn)動(dòng)量。本文介紹一種用單片機(jī)制作的自行車?yán)锍趟俣缺怼@锍毯退俣蕊@示可進(jìn)行切換,采用三位數(shù)碼管顯示,最大可顯示里程為99.9km。顯示最高速度可為99.9km/h。該里程速度表也可以用在電動(dòng)自行車和速度不超過100km/h的摩托車上。
一、電路原理
電路如圖1所示。由檢測傳感器、單片機(jī)電路和數(shù)碼顯示電路等組成。
檢測傳感器由永久磁鐵和開關(guān)型霍爾集成電路UGN3020.組成。
UGN3020由霍爾元件、放大器、整形電路及集電極開路輸出電路等組成。
其功能是把磁信號轉(zhuǎn)換成電信號。圖2a是其內(nèi)部框圖?;魻栐﨟為磁敏元件,當(dāng)垂直于霍爾元件的磁場強(qiáng)度隨之變化時(shí),其兩端的電壓就會(huì)發(fā)生變化,經(jīng)放大和整形后,即可在③腳輸出脈沖電信號。其工作特性如圖2b所示。由于有一定的磁滯效應(yīng)??杀WC開關(guān)無抖動(dòng)。Bop為工作點(diǎn)“開”的磁場強(qiáng)度,Brp為釋放點(diǎn)“關(guān)”的磁場強(qiáng)度。永久磁鐵固定在車輪的輻條上,UGN3020固定在車輪的叉架上。
檢測傳感器的工作原理如下:車輪每轉(zhuǎn)一周,磁鐵經(jīng)過UGN3020一次,其③腳就輸出一個(gè)脈沖信號。UGN3020輸出的脈沖信號作為單片機(jī)AT89C2051的外中斷信號。從P3.2口輸入。單片機(jī)測量脈沖信號的個(gè)數(shù)和脈沖周期。根據(jù)脈沖信號的個(gè)數(shù)計(jì)算出里程,根據(jù)脈沖信號的周期計(jì)算出速度并送數(shù)碼管顯示。Sl用來進(jìn)行里程和速度顯示的切換,在初始狀態(tài)下顯示的是速度。數(shù)碼管DS1~DS3、VT1~VT3、R4~R13等組成顯示電路。使用共陽數(shù)碼管。P3.3~P3.5為數(shù)碼管的動(dòng)態(tài)掃描位驅(qū)動(dòng)。P1.0~P1.6作數(shù)碼段碼輸出。
二、程序設(shè)計(jì)
程序用C語言編寫,由主程序、外中斷O服務(wù)程序、11D中斷服務(wù)程序、延時(shí)子程序等模塊組成。主程序主要完成程序初始化和鍵盤處理。
外部中斷0服務(wù)程序由測量、計(jì)算、讀數(shù)等部分組成,TO中斷服務(wù)程序由計(jì)時(shí)、動(dòng)態(tài)掃描顯示、自行車停車判斷等部分組成。
從P3.2口輸入的脈沖信號作為外中斷O的中斷請求信號。采用沿觸發(fā)方式。在測量速度時(shí),由于車輪轉(zhuǎn)動(dòng)脈沖信號的頻率很低,不適宜使用計(jì)數(shù)的方式進(jìn)行測量,所以采用測脈沖周期的方法進(jìn)行測量。用脈沖信號系統(tǒng)來控制計(jì)時(shí)信號,通過計(jì)時(shí)數(shù)計(jì)算出脈沖周期,用車輪的周長除以周期便可得到自行車的行駛速度。在測量里程時(shí),用脈沖信號個(gè)數(shù)乘以車輪的周長便可獲得行駛里程。需要說明的是:脈沖信號周期和個(gè)數(shù)是同時(shí)測量的。要做的只是用按鈕開關(guān)Sl切換顯示。
本文的程序是針對車輪直徑為26英寸的自行車編寫的。
對于其他規(guī)格的自行車。
只要改寫程序spm=14904(常量1),n和sPIN=207(常量2)×c即可。為了避免使用浮點(diǎn)數(shù)。運(yùn)算結(jié)果長度是以百米為單位的,數(shù)據(jù)讀出時(shí),在第三位數(shù)加小數(shù)點(diǎn)就換算成千米了。為方便讀者制作,現(xiàn)列出各種規(guī)格的輪徑和輪周長、程序常量的對應(yīng)值見附表,供參考。
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44491瀏覽量
632027 -
里程表
+關(guān)注
關(guān)注
1文章
15瀏覽量
9853
發(fā)布評論請先 登錄
相關(guān)推薦
評論