吳曉云, 代偉
(商洛學院,電子信息與電氣工程學院, 陜西,商洛 726000)
隨著社會的不斷進步和經(jīng)濟的不斷發(fā)展,越來越多的汽車進入千家萬戶,汽車成為眾多家庭的交通工具,為人們的生活和生產(chǎn)帶來了極大的便利。讓生產(chǎn)生活進入“快車道”[1]。汽車在駕駛時,油量是必須考慮的重要因素,因此每個駕駛員時刻掌握油箱中的油量顯得尤為重要,傳統(tǒng)的油量檢測儀是三刻度的儀表,該儀表油量的顯示受油量傳感器的限制,提示效果較差[2-3]。本設(shè)計將超聲波測量技術(shù)、溫度采集技術(shù)、報警技術(shù)與油箱進行結(jié)合,設(shè)計出了一款汽車油量監(jiān)測報警系統(tǒng)。該系統(tǒng)是通過超聲波測量技術(shù)對油箱的油位高度進行采集,用戶自行設(shè)置油量的上下限,將超聲波傳感器采集的油位高度處理后得到實時油量值,同設(shè)置的油量閾值進行對比決定是否進行報警的結(jié)構(gòu)模式。可以在用戶給汽車加油階段實時顯示當前油量值,防止油量添加不足導致汽車半路拋錨或油量加入過多溢出浪費資源,污染環(huán)境[4]。本設(shè)計在滿足人們追求簡單便利的情況下,提高了人機交互能力,與傳統(tǒng)的油量監(jiān)測相比,本設(shè)計更加智能化,更符合現(xiàn)在人們的需求,為人們駕車出行或者工業(yè)生產(chǎn)等提供了一定保障。
系統(tǒng)總體設(shè)計如圖1所示,主要由硬件部分和程序控制兩部分組成。硬件部分包括主控電路、信號采集電路、電源電路、聲光報警電路、液晶顯示電路、按鍵電路等;程序控制部分為油量高度與溫度信號的采集、數(shù)據(jù)顯示等[5]。當采集的參數(shù)不滿足設(shè)定的閾值時,發(fā)出聲光報警提示。
圖1 系統(tǒng)設(shè)計框圖
系統(tǒng)主要模塊選擇LM7805CV作為穩(wěn)壓芯片,穩(wěn)壓模塊的電路如圖2所示。通過變壓器將市電220 V交流電降到9 V后用作IN輸入電壓,通過穩(wěn)壓可以得到需要的5 V直流輸出,主要為單片機、超聲波傳感器、溫度采集傳感器以及液晶顯示等供電[6]。
圖2 電源模塊原理圖
該模塊選用HC-SR04超聲波模塊,由超聲波發(fā)射器、接收器與控制電路組成,其發(fā)射端和單片機P2.1端口連接,接收端和單片機P2.2端口連接。能提供2~400 cm的非接觸式距離感測功能,測距精度可高達3 mm,盲區(qū)2 cm左右,利用單片機給控制口發(fā)送超過10 μs的高電平信號系統(tǒng)內(nèi)部會自動發(fā)送8個方波信號[7]。系統(tǒng)自測判斷有沒有收到返回的信號,如果收到返回的信號,則使得接收口產(chǎn)生高電平信號,這個高電平信號存在的時間就是超聲波測量到障礙物之間所用時間的2倍。超聲波傳播的速度c與溫度有關(guān)系,對測量要求較高的情況下可通過溫度補償以提高測量精度,如式(1)[8]。
(1)
溫度采集模塊選用DS18B20,該傳感器具有體積小、硬件開銷小、抗干擾能力強、精度高、附加功能強等優(yōu)點,可將檢測到的實時溫度轉(zhuǎn)為串行數(shù)字信號,送給單片機處理[9]。DS18B20的數(shù)據(jù)采集端與單片機P2.0端口連接。
按鍵電路中3個獨立按鍵用于連接單片機P1.4,P1.5和P1.6。程序掃描3個端口,確定K1按下執(zhí)行設(shè)置功能,K2按下執(zhí)行數(shù)值加100,K3按下數(shù)值減100。
液晶顯示選用LCD1602,其RS、RW、E端口分別與單片機的P3.4、P3.6、P3.7連接,數(shù)據(jù)傳輸端D0至D7與單片機的P0端連接。
圖3為獲取油量高度數(shù)據(jù)流程圖,按照數(shù)據(jù)表,打開超聲波傳感器模塊的觸發(fā)端,提供大于10 μs的高電平。模塊將在內(nèi)部將發(fā)出8個40 kHz的循環(huán)電平并檢測聲音,然后關(guān)閉超聲波傳感器的觸發(fā)端,檢測到響應(yīng),輸出回響信號。初始化后,程序控制發(fā)送40 kHz的超聲波信號并在傳輸開始后立即啟動定時器。傳輸完成后,單片機接收回波信號并立即產(chǎn)生中斷并停止計數(shù)[10]。
圖3 油量高度數(shù)據(jù)采集流程圖
溫度傳感器初始化流程如圖4所示,通知微控制器DS18B20已準備好在總線上運行,從微控制器發(fā)出復位脈沖并從DS18B20確認脈沖。拉低總線大于480 μs后釋放總線進入接收模式。當總線釋放時,會產(chǎn)生從低電平到高電平的上升沿,在檢測到上升沿后,延時為60 μs,然后通過將總線拉低60~240 μs產(chǎn)生響應(yīng)脈沖,并返回檢測成功標志[11]。
圖4 傳感器初始化
溫度傳感器寫操作時,先寫低位,數(shù)據(jù)線拉低延時1 us,輸出數(shù)據(jù)最低有效位,延時大于60 us,等待DS18B20獲取信號,移位數(shù)據(jù),然后拉數(shù)據(jù)線為高電平。溫度傳感器讀操作時,發(fā)送命令,跳過序列號讀取,開始溫度轉(zhuǎn)換,稍微延時后,再次初始化DS18B20,跳過讀序列號,讀取溫度高位和低位,并進行數(shù)據(jù)集成處理[12-13]。
本設(shè)計中,有綠、紅、藍3種不同顏色的LED燈和1個有源蜂鳴器。通過觀察不同LED顏色以及蜂鳴器是否發(fā)聲,可以快速確定當前的測量狀態(tài)。油箱容量v3、當前油量v4以及油量值的初始下限和上限設(shè)置為v1,v2。啟動聲光報警流程如圖5所示。
圖5 啟動聲光報警程序
將電源電路的輸出用作該系統(tǒng)的輸入,使得控制系統(tǒng)中各個模塊處于正常工作狀態(tài)。系統(tǒng)初始化界面如圖6所示。液晶顯示第一行字母v表示設(shè)置的油量閾值,左邊為閾值下限,右邊為閾值上限。液晶顯示第二行V表示實時油箱油量,百分比表示當前油量剩余百分比值,T表示當前環(huán)境溫度。當實時油箱油量V值處于閾值中時,綠燈亮,蜂鳴器不響;當實時油箱油量V值小于或等于下限時,藍燈亮,蜂鳴器響,當實時油箱油量V值大于或等于上限時,紅燈亮,蜂鳴器響;如果超聲波傳感器測量錯誤或未檢測到被測物時,紅綠藍燈均閃爍,發(fā)出響聲[14]。
圖6 系統(tǒng)實物圖
本文設(shè)計了一款汽車油量監(jiān)測報警系統(tǒng),系統(tǒng)以AT89S52單片機為核心,利用超聲波傳感器實時測量油量高度,通過溫度檢測模塊實時檢測油缸溫度,利用溫度值對超聲波傳播速度進行數(shù)值修正以提高測量精度,最后通過微處理器計算出當前油量值并將其顯示在液晶屏上,將實際油箱油量同設(shè)置的閾值進行比較,超出閾值范圍或測試錯誤發(fā)生聲光報警,達到警示作用。通過調(diào)試,整合控制參數(shù),系統(tǒng)測試數(shù)據(jù)準確、穩(wěn)定。