劉雨佳
摘 要 里程表是普遍用于遠距離連續(xù)測量物體行駛速度和距離的儀表。它包含電源、霍爾傳感器、驅(qū)動器和顯示器3部分。隨著人們對生活質(zhì)量的不斷追求,自行車也成為里程表的普遍試用對象,但是傳統(tǒng)的機械式里程表功能單一,體積較大,已經(jīng)不能夠滿足現(xiàn)在生活的需求。而以單片機為核心的里程表,不但可以增加一些功能,而且還能讓用戶清楚快捷的獲取所需信息。
關(guān)鍵詞 單片機 里程表 霍爾傳感器 超速報警
中圖分類號:TP391 文獻標識碼:A
本設(shè)計主要以AT89C51為核心,由電源穩(wěn)壓電路對系統(tǒng)供電,用霍爾傳感器感應(yīng)和測量速度,結(jié)合高精度的控制電路,實現(xiàn)了實時顯示里程和速度以及超速報警等功能。硬件部分由顯示模塊,按鍵模塊,主控模塊,報警模塊,電源模塊組成。顯示模塊選用1602字符型液晶模塊,驅(qū)動方便;主控模塊主要由單片機和霍爾傳感器組成,可實現(xiàn)傳感測速,處理信息的目的;報警模塊主要利用蜂鳴器實現(xiàn)報警;電源模塊主要利用了直流穩(wěn)壓電源為系統(tǒng)供電。軟件部分主要用C語言編寫程序,實現(xiàn)對系統(tǒng)的控制功能。
1系統(tǒng)的硬件設(shè)計
本系統(tǒng)由顯示模塊,按鍵模塊,主控模塊,報警模塊,電源模塊組成。速度和里程由開關(guān)型霍爾傳感器測量,通過按鍵模塊設(shè)置自行車輪子的周長,輪子每轉(zhuǎn)動一圈,傳感器采集信號輸送到單片機中,此時單片機的外中斷0將產(chǎn)生一次中斷,兩個相鄰下降沿信號的時間由單片機定時器1計時(設(shè)為T),可以計算出里程S=周長*所行駛的圈數(shù),速度V=里程S/時間T。
1.1主控模塊電路
AT89C51是高性能CMOS 8位單片機,其特點是它工作所需電壓比較低,且有8位中央處理器和和Flash存儲單元。本設(shè)計采用的是按鍵電平復(fù)位的方式,我們可以看到這種電路操作比較方便,而且結(jié)構(gòu)比較簡單,這樣,在設(shè)計中,當需要數(shù)據(jù)回到初始位置時,我們可以通過按鍵模塊,恢復(fù)初始設(shè)置,不用切斷電源。一般情況下,晶振頻率為12到40MHZ,考慮到既要使電路穩(wěn)定,又要確保程序存儲器存取速度快我們選擇了12MHZ的晶振頻率,同時,機器周期為1us,電容負載為30p。
1.2電源電路
首先發(fā)電機提供15V的交流電,經(jīng)過整流濾波,采用恒流方式給鎳氫電池組充電,再用7805給電池組穩(wěn)壓,給整個系統(tǒng)供電,包括霍爾傳感器和單片機系統(tǒng),我們所用的三極管為功率較高的C8050,如若經(jīng)過長時間的充電,功率過低容易被電流燒壞,在電路中我們還采用5K%R的電位器用于調(diào)節(jié)充電電流,這樣就避免電流過大燒壞元件。當然,實驗設(shè)計過程中為了簡便,我們可以不用電機。直接用4個1.5V的電池組經(jīng)7805穩(wěn)壓后得到+5V電壓給單片機系統(tǒng)和霍爾傳感器供電。
1.3霍爾傳感器
霍爾傳感器是根據(jù)霍爾效應(yīng)制作的一種磁場傳感器霍爾效應(yīng)是磁電效應(yīng)的一種?;魻栍?879年在研究金屬的導(dǎo)電機構(gòu)時發(fā)現(xiàn)的霍爾效應(yīng),它是磁電效應(yīng)的一種,也是法拉第電磁感應(yīng)定理的一種延伸。經(jīng)過他的不斷努力和探索,后來他又發(fā)現(xiàn)半導(dǎo)體、導(dǎo)電流體等也有這種效應(yīng),人們就利用這種現(xiàn)象制成的各種霍爾元件。經(jīng)過上百年的演變,人們已經(jīng)可以熟練掌握并運用霍爾原理了,例如,人們可以利用它判斷半導(dǎo)體材料的性能和參數(shù),比如導(dǎo)電性能、載流子的分布情況以及它的遷移率等等。 本設(shè)計中霍爾傳感器的作用就是產(chǎn)生脈沖信號,交由單片機處理。它是一種磁信號轉(zhuǎn)化為電信號的裝置?;魻柦咏_關(guān)的輸入量是磁感應(yīng)強度B,當B值達到一定的程度時,霍爾開關(guān)內(nèi)部的觸發(fā)器翻轉(zhuǎn),其輸出電平狀態(tài)也隨之翻轉(zhuǎn)。
1.4顯示電路
顯示模塊選用1602字符型液晶模塊,本系統(tǒng)的輸入模塊采用中斷掃描的4?矩陣鍵盤,它相對于發(fā)光二極管重量較輕,體積較小,相對于定式掃描,更是提高了MCU的使用效率。
1.5報警電路
本設(shè)計使用蜂鳴器來報警,蜂鳴器是一個單純的發(fā)聲元件,在其兩端施加方波(無源蜂鳴器)或者直流電壓(有源蜂鳴器)就可以發(fā)聲。其主要參數(shù)是工作電壓、發(fā)聲方向、外形尺寸、驅(qū)動方式(直流/方波)、工作電流、工作頻率等。這些可以根據(jù)現(xiàn)實需要來選擇。蜂鳴器的負極性的一端聯(lián)接電源負極上,另一端聯(lián)接到三極管的發(fā)射極,三極管的基級由單片機的P3.2管腳通過一個與非門來控制,當P3.2管腳為高時,與非門輸出低電平,三極管截止,蜂鳴器不發(fā)出聲音。當P3.2管腳為低時,與非門輸出高電平,三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。
2系統(tǒng)的軟件設(shè)計
開機后系統(tǒng)自檢,先設(shè)置好單車輪子的周長。 之后就可以等待自行車行駛。輪子開始轉(zhuǎn)圈后,霍爾傳感器進行進行讀取輪子圈數(shù),將脈沖信號傳送到單片機中,而后系統(tǒng)進行記錄和計算,最后液晶顯示模塊將其顯示出來。外中斷0服務(wù)的子程序用于對輸入脈沖計數(shù),這樣,就能得到輪子轉(zhuǎn)圈的數(shù)。同時系統(tǒng)會在保存圈數(shù)值的同時保存計數(shù)值,此時顯示模塊根據(jù)功能選擇顯示相應(yīng)的值。T1定時溢出中斷服務(wù)子程序用于實時統(tǒng)計記一次數(shù)的經(jīng)歷時間。本系統(tǒng)的程序關(guān)鍵部分實現(xiàn)用內(nèi)部外加中斷的方法對輸入脈沖信號進行測量。
3系統(tǒng)的測試
為了驗證系統(tǒng)能否正常工作,我在學(xué)院400m跑道處對我的畢業(yè)設(shè)計進行了系統(tǒng)測試,設(shè)置里程表的初始值C=175cm,P=42km/h,經(jīng)過跑道騎行一圈后,測得自行車的里程為S=405m,測量結(jié)果與實際路程有一定差距,但是已經(jīng)基本實現(xiàn)了預(yù)定功能。經(jīng)過實際的測量結(jié)果顯示,測量得到的值普遍存在誤差,測量值都要比準確值小。分析存在誤差的原因,一是騎行路線的選擇方面可能有誤差,二是系統(tǒng)本身在測量速度時也存在誤差,同時在測量里程時也采用了近似運算的方法。
參考文獻
[1] 周國雄.單片機應(yīng)用系統(tǒng)設(shè)計精講[M].北京:中國鐵道出版社,2011.
[2] 楊打生.單片機C51技術(shù)應(yīng)用[M].北京:北京理工大學(xué)出版社,2011.
[3] 萬隆.單片機原理與實例應(yīng)用[M].北京:清華大學(xué)出版社,2011.