周炳 洪家平
摘要:設(shè)計并制作了一款以AT89C52為主控制器,使用A44E霍爾傳感器進行自行車里程/速度測量的裝置。這種裝置通過檢測A44E霍爾傳感器在一定時間內(nèi)傳入單片機系統(tǒng)的脈沖數(shù),再利用軟件編程將經(jīng)過處理的信號轉(zhuǎn)換成自行車行駛的里程和速度,最后用LED顯示里程與速度。這種裝置里程和速度顯示可進行切換,也可以用于摩托車、汽車等其他機動車的儀表上。
關(guān)鍵詞:里程/速度;霍爾元件;單片機;LED顯示
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2016)24-0254-02
Abstract:Design and built a with AT89C52 as the main controller, using A44E hall sensor for bicycle mileage/speed measuring device. The device by detecting A44E hall sensor in a certain period of time the number of pulses into single chip microcomputer system, the reuse of software programming will be processed signal into bicycle mileage and speed, the LED display mileage and speed. The unit mileage and speed display can switch, also can be used in motorcycles, cars and other motor vehicles on the instrument.
Key words:mileage/speed;hall sensor;MCU;LED display
隨著人們生活水平的不斷提高,人們對日常生活用品的要求也越來越高。在滿足基本功能的前提下,人們都希望生活用品的功能能夠多樣化。比如說,自行車在能夠騎行的前提下,能夠像電動車一樣附帶測速和測距的功能儀表。自行車速度里程表正是伴隨著這個想法應運而生,并且它的發(fā)展非常迅速,功能日益多樣化,穩(wěn)定性也越來越好。
我們都知道,要想測量速度,首先要考慮并且解決的是采樣問題。這里有一個比較簡單的方法,俗稱脈沖計數(shù)法。就是當轉(zhuǎn)軸每旋轉(zhuǎn)過一周的時候,它會相應地產(chǎn)生出一個或者多個脈沖,我們把這些脈沖傳入給單片機,然后單片機經(jīng)過簡單的數(shù)學運算,即可算出具體的轉(zhuǎn)速。
常用的傳感器有很多種,而最常見的對磁敏感的傳感器有霍爾傳感器。A44E霍爾傳感器是一個3端器件,與三極管非常的相似。它使用起來非常的簡便,只要接上電源、地就可以工作,工作電壓的界限非常寬。
A44E霍爾傳感器的機械結(jié)構(gòu)也非常簡單。把霍爾傳感器固定在車輪的前叉上,然后把一粒磁鋼粘在轉(zhuǎn)軸的輪盤上。只要車輪在轉(zhuǎn)動的時候霍爾傳感器靠近過磁鋼,立馬就會有信號輸出。當車輪在不斷地旋轉(zhuǎn)時,霍爾傳感器就會不斷靠近與遠離磁鋼,因此就會不斷地有脈沖信號的產(chǎn)生。如果同時在輪盤上粘上多粒磁鋼的話,就可以實現(xiàn)每轉(zhuǎn)一周,獲得多個脈沖的輸出。這種傳感器應用非常的廣泛,穩(wěn)定性好,敏感性強。
1系統(tǒng)硬件電路設(shè)計
自行車速度里程表傳感器采用霍爾傳感器A44E,采用單片機AT89C52為控制器。具體硬件電路原理圖如圖1所示。
系統(tǒng)中單片機有兩種工作狀態(tài),端口P1.0顯示里程狀態(tài),端口P1.1顯示速度狀態(tài)。另外P1.2~P1.3端口和P1.6~ P1.7端口在低電平的時候有效,分別用來設(shè)置輪圈的大小。P3.0端口是用來進行速度和里程的切換,當P3.0端口為低電平時顯示速度,反之則顯示里程。中斷服務程序0用來對輪子圈數(shù)的計數(shù),輪子每旋轉(zhuǎn)一圈,霍爾傳感器A44E便會相應地輸出一個低電平脈沖。根據(jù)里程寄存器中的數(shù)值通過簡單的數(shù)學公式便可以計算出行駛里程數(shù)。中斷服務程序1用于控制定時器T1的啟動/停止,當輸入為1時開啟定時器。輪子圈數(shù)的計數(shù)完成后,經(jīng)過二分頻后形成控制信號。所以,定時器T1的開啟/關(guān)閉時間恰好為車輪轉(zhuǎn)一圈所花費的時間,通過簡單的數(shù)學公式便可計算出行駛速度值。
2系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計包括幾個方面,主要為主程序的設(shè)計,速度計算子程序的設(shè)計,里程計算子程序的設(shè)計,顯示子程序的設(shè)計以及中斷服務子程序的設(shè)計等。系統(tǒng)的軟件總體流程圖如圖2所示:
各個子程序的功能如下:
⑴ 初始化程序
主要完成以下工作:將部分內(nèi)存單元清零;設(shè)置輪子周長值;開中斷及定時器。
⑵ 主程序
根據(jù)單片機P3.0的端口狀態(tài),主程序來確定LED顯示器是用來顯示速度還是里程。當單片機端口P3.0端口為低電平時,LED顯示速度;當單片機端口P3.0端口為高電平時,LED顯示里程。
⑶ 里程計算子程序
單片機端口P3.2口所輸入的脈沖數(shù)通過外中斷0服務程序進行計數(shù)。每計數(shù)過一個圈脈沖數(shù),單片機就會對里程進行一次數(shù)據(jù)存儲操作。當車輪每轉(zhuǎn)一圈時,通過霍爾傳感器將圈脈沖數(shù)送入到單片機,通過定時/計數(shù)器計數(shù)出脈沖數(shù),然后通過乘法子程序便可以計算出里程數(shù)。
⑷ 速度計算子程序
輪子轉(zhuǎn)動一圈后的計時數(shù)據(jù)通過外部中斷1服務程序來處理。當標志位為1時,計數(shù)溢出,放入最大時間值;當標志位為0時,將存儲器TL1、TH1、6CH、6DH中的值放入到68H~6BH單元。定時/計數(shù)器計算出每轉(zhuǎn)一圈所花費的時間,再用車輪的周長除以時間便可以得出自行車的速度。
⑸ 顯示子程序
采用動態(tài)掃描顯示接口電路。本程序中位選通的位選信號由P2.0~P2.3信號一起組成,段選通的段選信號則由P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7信號一起組成。首先我們把將要顯示的數(shù)據(jù)送入到存儲單元中去,,然后再把數(shù)據(jù)送入到段選通所對應的地址中,最后選通某一個LED,逐步逐步地完成對LED的顯示。
3結(jié)論
我們對設(shè)計樣機進行了軟件硬件的檢測,發(fā)現(xiàn)各項技術(shù)指標均達到設(shè)計要求。此外,為了使產(chǎn)品更加的完善,我們還提出了以下改進措施:
① 在斷電后為了使之前記錄過的里程值不會清零,我們可以嘗試采用EEPROM數(shù)據(jù)存儲器。
② 裝置還可用于其他機動車上,若要記錄10萬公里以上的里程值,可以加寬LED顯示器的位數(shù)。
本系統(tǒng)硬件部分所采用的元器件大都價格低廉、使用廣泛,這就意味著本系統(tǒng)容易實現(xiàn),且成本不高。本次設(shè)計電路適用性廣泛,不僅僅可以用于自行車速度里程表,其他機動車如電動車、摩托車等都可以使用。
參考文獻:
[1] 樓然苗, 李光飛. 51系列單片機設(shè)計實例. [M].北京:北京航空航天大學出版社, 2006.
[2 松井邦彥, 梁瑞林. 傳感器應用技術(shù)141例. [M].北京:科學出版社, 2006.
[3] 李朝青. 單片機原理及接口技術(shù). [M].北京:北京航空航天大學出版社, 1994.
[4] 張洪潤, 張亞凡. 傳感器技術(shù)與應用教程. [M].北京:清華大學出版社, 2005.
[5] 張毅剛, 劉杰. MCS-51單片機原理及應用. [M]. 哈爾濱:哈爾濱工業(yè)大學出版社,2004.
[6] 黃河, 郭紀林. 單片機原理及應用. [M]. 大連:大連理工大學出版社, 2006.
[7] 劉燦軍. 實用傳感器. [M].北京:國防工業(yè)出版社, 2004.
[8] 何希才. 傳感器及其應用. [M].北京:國防工業(yè)出版社, 2001.
[9] 陳雪麗. 單片機原理及接口技術(shù). [M].北京:化學工業(yè)出版社, 2005.
[10] 李勛, 劉源, 李靜東. 單片機實用教程. [M].北京:北京航空航天大學出版社, 2006.