吳曉云, 代偉
(商洛學院,電子信息與電氣工程學院, 陜西,商洛 726000)
隨著社會的不斷進步和經濟的不斷發展,越來越多的汽車進入千家萬戶,汽車成為眾多家庭的交通工具,為人們的生活和生產帶來了極大的便利。讓生產生活進入“快車道”[1]。汽車在駕駛時,油量是必須考慮的重要因素,因此每個駕駛員時刻掌握油箱中的油量顯得尤為重要,傳統的油量檢測儀是三刻度的儀表,該儀表油量的顯示受油量傳感器的限制,提示效果較差[2-3]。本設計將超聲波測量技術、溫度采集技術、報警技術與油箱進行結合,設計出了一款汽車油量監測報警系統。該系統是通過超聲波測量技術對油箱的油位高度進行采集,用戶自行設置油量的上下限,將超聲波傳感器采集的油位高度處理后得到實時油量值,同設置的油量閾值進行對比決定是否進行報警的結構模式。可以在用戶給汽車加油階段實時顯示當前油量值,防止油量添加不足導致汽車半路拋錨或油量加入過多溢出浪費資源,污染環境[4]。本設計在滿足人們追求簡單便利的情況下,提高了人機交互能力,與傳統的油量監測相比,本設計更加智能化,更符合現在人們的需求,為人們駕車出行或者工業生產等提供了一定保障。
系統總體設計如圖1所示,主要由硬件部分和程序控制兩部分組成。硬件部分包括主控電路、信號采集電路、電源電路、聲光報警電路、液晶顯示電路、按鍵電路等;程序控制部分為油量高度與溫度信號的采集、數據顯示等[5]。當采集的參數不滿足設定的閾值時,發出聲光報警提示。

圖1 系統設計框圖
系統主要模塊選擇LM7805CV作為穩壓芯片,穩壓模塊的電路如圖2所示。通過變壓器將市電220 V交流電降到9 V后用作IN輸入電壓,通過穩壓可以得到需要的5 V直流輸出,主要為單片機、超聲波傳感器、溫度采集傳感器以及液晶顯示等供電[6]。

圖2 電源模塊原理圖
該模塊選用HC-SR04超聲波模塊,由超聲波發射器、接收器與控制電路組成,其發射端和單片機P2.1端口連接,接收端和單片機P2.2端口連接。能提供2~400 cm的非接觸式距離感測功能,測距精度可高達3 mm,盲區2 cm左右,利用單片機給控制口發送超過10 μs的高電平信號系統內部會自動發送8個方波信號[7]。系統自測判斷有沒有收到返回的信號,如果收到返回的信號,則使得接收口產生高電平信號,這個高電平信號存在的時間就是超聲波測量到障礙物之間所用時間的2倍。超聲波傳播的速度c與溫度有關系,對測量要求較高的情況下可通過溫度補償以提高測量精度,如式(1)[8]。
(1)
溫度采集模塊選用DS18B20,該傳感器具有體積小、硬件開銷小、抗干擾能力強、精度高、附加功能強等優點,可將檢測到的實時溫度轉為串行數字信號,送給單片機處理[9]。DS18B20的數據采集端與單片機P2.0端口連接。
按鍵電路中3個獨立按鍵用于連接單片機P1.4,P1.5和P1.6。程序掃描3個端口,確定K1按下執行設置功能,K2按下執行數值加100,K3按下數值減100。
液晶顯示選用LCD1602,其RS、RW、E端口分別與單片機的P3.4、P3.6、P3.7連接,數據傳輸端D0至D7與單片機的P0端連接。
圖3為獲取油量高度數據流程圖,按照數據表,打開超聲波傳感器模塊的觸發端,提供大于10 μs的高電平。模塊將在內部將發出8個40 kHz的循環電平并檢測聲音,然后關閉超聲波傳感器的觸發端,檢測到響應,輸出回響信號。初始化后,程序控制發送40 kHz的超聲波信號并在傳輸開始后立即啟動定時器。傳輸完成后,單片機接收回波信號并立即產生中斷并停止計數[10]。

圖3 油量高度數據采集流程圖
溫度傳感器初始化流程如圖4所示,通知微控制器DS18B20已準備好在總線上運行,從微控制器發出復位脈沖并從DS18B20確認脈沖。拉低總線大于480 μs后釋放總線進入接收模式。當總線釋放時,會產生從低電平到高電平的上升沿,在檢測到上升沿后,延時為60 μs,然后通過將總線拉低60~240 μs產生響應脈沖,并返回檢測成功標志[11]。

圖4 傳感器初始化
溫度傳感器寫操作時,先寫低位,數據線拉低延時1 us,輸出數據最低有效位,延時大于60 us,等待DS18B20獲取信號,移位數據,然后拉數據線為高電平。溫度傳感器讀操作時,發送命令,跳過序列號讀取,開始溫度轉換,稍微延時后,再次初始化DS18B20,跳過讀序列號,讀取溫度高位和低位,并進行數據集成處理[12-13]。
本設計中,有綠、紅、藍3種不同顏色的LED燈和1個有源蜂鳴器。通過觀察不同LED顏色以及蜂鳴器是否發聲,可以快速確定當前的測量狀態。油箱容量v3、當前油量v4以及油量值的初始下限和上限設置為v1,v2。啟動聲光報警流程如圖5所示。

圖5 啟動聲光報警程序
將電源電路的輸出用作該系統的輸入,使得控制系統中各個模塊處于正常工作狀態。系統初始化界面如圖6所示。液晶顯示第一行字母v表示設置的油量閾值,左邊為閾值下限,右邊為閾值上限。液晶顯示第二行V表示實時油箱油量,百分比表示當前油量剩余百分比值,T表示當前環境溫度。當實時油箱油量V值處于閾值中時,綠燈亮,蜂鳴器不響;當實時油箱油量V值小于或等于下限時,藍燈亮,蜂鳴器響,當實時油箱油量V值大于或等于上限時,紅燈亮,蜂鳴器響;如果超聲波傳感器測量錯誤或未檢測到被測物時,紅綠藍燈均閃爍,發出響聲[14]。

圖6 系統實物圖
本文設計了一款汽車油量監測報警系統,系統以AT89S52單片機為核心,利用超聲波傳感器實時測量油量高度,通過溫度檢測模塊實時檢測油缸溫度,利用溫度值對超聲波傳播速度進行數值修正以提高測量精度,最后通過微處理器計算出當前油量值并將其顯示在液晶屏上,將實際油箱油量同設置的閾值進行比較,超出閾值范圍或測試錯誤發生聲光報警,達到警示作用。通過調試,整合控制參數,系統測試數據準確、穩定。