趙虎林 張元元 茍藏紅
(隴南師范高等??茖W(xué)校 機電工程學(xué)院,隴南 742500)
基于AT89S52系列單片機的簡易多功能液體容器,利用超聲波測距模塊和自制傳感器,可以識別液體的液位高度、液體質(zhì)量和液體濃度,并將測量結(jié)果通過LCD12864液晶顯示器呈現(xiàn),操作簡便,結(jié)果直觀明了,能夠達到使用要求[1]。
設(shè)計的簡易多功能液體容器容量為0.5 L,高度為200 mm。它是具有高度標記的透明塑料容器,可測量液體的液位和質(zhì)量等,判定液體的種類(如純凈水、白糖水、鹽水、牛奶以及白醋等),實時顯示測量數(shù)據(jù)。測試前需要使用啟動鍵啟動測試,但不得重復(fù)按啟動鍵[2]。
設(shè)計人員直接檢測液體的液位高度和質(zhì)量等參數(shù)并顯示結(jié)果。分別測量一定量(200~500 mL)的不同液體,要求液位測量誤差為±2 mm,質(zhì)量測量值誤差為±1 g。在以上測量基礎(chǔ)上,對比不同濃度的溶液[3]。
系統(tǒng)設(shè)計方案邏輯圖,如圖1所示。
考慮到檢測結(jié)果的準確性,宜采用多個傳感器測量相關(guān)參數(shù),且各傳感器數(shù)據(jù)之間互不干擾。該設(shè)計方案選用溶液種類測量模塊和超聲波測距模塊測量,電路簡單,易于實現(xiàn),可滿足設(shè)計需求。
采用AT89S52單片機作為控制核心,采用超聲波測距傳感器、稱重傳感器、自制簡單電極構(gòu)成的傳感器及信號放大電路,分別檢測液體液位、質(zhì)量和溶液種類。其中,自制簡易電極利用不同液體電導(dǎo)率不同的原理,通過測量液體單位距離的電阻值,將信號通過儀表放大器AD623放大,經(jīng)模數(shù)轉(zhuǎn)換器(Analog to Digital Converter,ADC)轉(zhuǎn)換后由單片機處理,通過LCD12864顯示結(jié)果[4]。
系統(tǒng)硬件部分主要由超聲測距模塊、稱重模塊、溶液類型判斷模塊、單片機控制核心微控制單元(Micro Controller Unit,MCU)及LCD12864顯示模塊5部分組成。
2.2.1 超聲波測距模塊
傳感器選用HC-SR04超聲波測距模塊,可實現(xiàn)2~400 cm距離的非接觸式感測功能,測距精度可達1 mm,模塊輸出信號為晶體管-晶體管邏輯(Transistor-Transistor Logic,TTL)電平。單片機可以直接讀取該信號,利用AT89S52單片機定時計數(shù)器的工作方式、定時器/計數(shù)器模式控制寄存器(Timer/Counter Mode Control Register,TMOD)中相應(yīng)定時計數(shù)器工作方式與GATE位的使用特點,將測距問題轉(zhuǎn)換為測量傳感器Echo端口脈沖寬度的問題,從而得到液位數(shù)據(jù)[5]。
2.2.2 稱重模塊
稱重模塊主要利用液體體積與質(zhì)量之間的關(guān)系,通過運算獲得液體質(zhì)量,并顯示在LCD12864上。
2.2.3 自制溶液類型傳感器模塊
自制溶液類型傳感器模塊利用不同種類液體電導(dǎo)率不同的規(guī)律,通過測量溶液的導(dǎo)電性能判斷溶液類型,具體電路如圖2所示。
2.2.4 單片機控制部分
單片機控制是該系統(tǒng)的核心部分,其中控制系統(tǒng)選用單片機AT89S52。因為單片機AT89S52包含8 kB的可編程Flash內(nèi)部存儲器和256 Byte的數(shù)據(jù)存儲器,所以系統(tǒng)無須外拓存儲器,可以有效減少系統(tǒng)的硬件電路。單片機控制部分的電路原理。
2.2.5 顯示部分
系統(tǒng)采用LCD1602液晶顯示模塊,通過軟件編程實現(xiàn)信息顯示。液晶模塊使用過程比較簡單,只需要連接數(shù)據(jù)總線,選擇通用端口和命令/數(shù)據(jù)端口即可。
系統(tǒng)使用C語言編寫軟件程序,使用Keil編譯軟件。系統(tǒng)開始后啟動超聲波測距模塊,讀取測量值,計算液位和質(zhì)量,再經(jīng)過計算得到相對電導(dǎo)率值,并通過液晶顯示器顯示實際測量數(shù)據(jù)。系統(tǒng)軟件程序流程圖,如圖3所示。
裝置采用3節(jié)7號電池供電。運行時按下單片機最小系統(tǒng)板的藍色自鎖按鈕,啟動系統(tǒng)。當(dāng)顯示器異常時,按下復(fù)位按鈕,系統(tǒng)恢復(fù)正常運行。測試開始前應(yīng)調(diào)整裝置位置,轉(zhuǎn)動超聲波測距支架,使超聲波測距模塊對準容器正中位置。此時,高度已經(jīng)標定完成,不可再調(diào)整,否則將影響液位高度和質(zhì)量顯示。
測試液位時,要求濃度對檢測結(jié)果無影響,故使用純凈水。檢測液體液位、質(zhì)量和濃度時,均采用不同濃度的NaCl溶液。其中,鹽水濃度測試使用對比法,對比本次測試濃度與前一次測試濃度。當(dāng)本次測試濃度高于前一次測試濃度時,測量結(jié)果顯示濃;當(dāng)本次測試濃度低于前一次測試濃度時,測量結(jié)果顯示淡。
由表1~表3可知,裝置基本符合設(shè)計要求。實驗表明:LCD12864顯示穩(wěn)定、清晰;該裝置不僅能夠有效測量液位高度,也能夠依據(jù)液體比重測量液體質(zhì)量,同時可比較同種溶液的不同濃度并輸出結(jié)果。但是,由于質(zhì)量傳感器存在溫漂問題,因此該裝置的穩(wěn)定性有待提高。
表1 液位測量實驗 單位:mm
表2 稱重測量實驗 單位:mm
表3 鹽水濃度比較實驗
系統(tǒng)以AT89S52單片機為核心,采用C語言編程,使用Keil軟件和Protues軟件編譯仿真設(shè)計的簡易多功能液體容器,可以識別不同液體的質(zhì)量、液位和濃度,并將分析結(jié)果輸出到LCD12846液晶顯示器顯示,使實驗結(jié)果直觀可見。然而,系統(tǒng)還存在一些問題,如傳感器的輸出特性有待提高。