王然升



摘 要:工業生產和日常生活中經常需要實現對容器中的液體參數進行測量,如液體重量、液體液面高度、液體種類、液體濃度等,以實現生產自動化和智能化的需要。本文從2019年全國大學生電子設計競賽的K題出發對多功能液體容器進行分析與設計,本論文以STC89C52RC為單片機,利用變阻應變式壓力傳感器對液體進行稱重,利用超聲波傳感器測量液面高度、再利用PH傳感器、光電傳感器中的光電對管對液體種類進行區分,文中進行了詳細的系統分析和方案論證,以及各種傳感器的工作原理和工作方法,在生產生活中有一定的借鑒意義。
關鍵詞:STC89C52RC;超聲波傳感器;PH值傳感器
1 系統分析
本設計要求的容器需要具備一定的容量(容量≥0.5L、液位高度≥20cm),并能夠自動測量給定容器中液體的重量、液面高度,并能判別出給定液體的種類(純凈水、白糖水、鹽水、牛奶、白醋等),并要求系統能檢測出濃鹽水和淡鹽水,容器中液體重量可以利用電阻應變式壓力傳感器和AD轉換芯片進行測量,電阻應變式壓力傳感器和AD轉換芯片是構成電子稱的重要部件,設計時可以通過編程控制單片機和這兩個部件來制作一個精度較高的電子秤實現對液體的稱重。AD轉換芯片HX711是一個24位高精度芯片,專門為精密電子秤設計的,特點是具有兩路模擬通道輸入,內部集成可編程增益放大器達128倍,能夠為設計高精度的電子秤提供條件。經實驗驗證超聲波不僅遇到固體表面能發生發射,遇到液體也能發生反射,液面高度測量正是利用超聲波遇到容器內容液體表面發生發射這個特點進行測量的。液體種類的分辨需要用到多個傳感器。從外觀上看牛奶區別于其他幾種液體的特點是不透光,可以采用光電傳感器中的光電對管進行檢測,光電對管是紅外線發射二極管與光敏接收二極管的總稱,紅外線發射二極管發射紅外線如果光敏接收二極管接收不到則表明該液體是牛奶。再分析純凈水、白糖水、鹽水、白醋這四種液體的特性,其中白醋的PH值范圍為2~3,純凈水、鹽水和白糖水的PH值接近都大約為7,可以利用PH值傳感器測量液體PH值的辦法辨別出白醋來。純凈水、鹽水和糖水的區別是液體密度不同,可以利用容器中液體的重量和液位高度判斷出出液體的密度,進一步分辨出不同的液體,經過上述分析可得系統框圖如圖1所示:
2 硬件選取
系統設計中對各類單片機和各類傳感器進行了分析比較,最終確定利用具備在線編程的STC89C52RC作為該系統的單片機,此單片機是8位機,內部集成了256字節RAM和4K字節ROM,具備這些資源對于本設計來說已經夠用。
系統采用 LCD12864 作為顯示器,其特點是體積小、功耗低、不僅能顯示字符,還能顯示漢字。電阻應變式壓力傳感器用于稱重,傳感器采集到的模擬信號經24位A/D轉換器芯片HX711轉換成數字信號經單片機數據處理后就能得到被稱液體的重量,采用這種方能較好的提高系統的可靠性。US-100超聲波模塊用于測距,可實現最小2cm,最大4.5m的非接觸距離的測量,輸入電壓范圍為2.4-5.5V,靜態功耗小,自帶的溫度傳感器可以對測距結果進行檢驗,同時具有GPIO、串口等多種通信費方式,自帶看門狗,工作穩定可靠。
3 各傳感器的工作原理分析
3.1 稱重傳感器
壓力傳感器上下表面各有一個電阻應變片,每個應變片里有2個壓力電阻,一共4個壓力電阻,組成全橋式電路,這樣能夠保證所測的精度,見上圖2。
3.2 超聲波傳感器
超聲波傳感器模塊的電氣參數如表1所示:
液位高度的測量采用的是間接法。如圖3所示,設超聲波傳感器與容器底部的距離為H,這是一個預先測量值,超聲波傳感器可以測量出自身與液面的距離為L,進而計算出液面高度為h=H-L。超聲波傳感器的換能器發出高頻超聲波脈沖遇到被測液體表面被反射回來,部分反射回波被同一換能器接收,轉換成電信號。超聲波脈沖的傳播速度為聲速,從發射到接受到超聲波脈沖所需時間與換能器到液面的距離成正比。此距離值L與聲速C和傳輸時間T之間的關系表示為:L=C×T/2。
因超聲波測距要經過超聲波的反射過程,該液體容器的結構是圓柱形的,圓柱形的內壁反射的超聲波會干擾傳感器的測量結果,使測量誤差較大。在放置超聲波傳感器時要選擇合適的位置。經驗證將傳感器放在液體容易上口邊沿的位置效果較理想。
3.3 光電傳感器
紅外對管是紅外線發射管與光敏接收管的總稱。因牛奶是混合物,具有不透光的特點,紅外線發射管發射的紅外線經過牛奶后無法讓光敏接收管接收,而其他液體是透明的,光敏接受管能夠接受到紅外線,據此能判斷出牛奶。
3.4 PH值傳感器
在PH值傳感器內部的放大器是一個能通過數據采集器檢測PH電極的標準電路。傳感器連接線的末端是一個BTA插頭或5針的DIN插頭與數據采集器連接,在PH緩沖液中,它將產生一個1.75伏特的電壓。PH值每增加1,電壓增加0.25伏。白醋的PH值為2~3通過PH值傳感器得到的電壓值小于1.75伏,可以判斷該溶液為醋。
4 軟件設計思路
系統要實現的功能為:(1)顯示液面高度、液體重量、液體的濃度。(2)判斷液體的種類。(3)區分高低濃度的鹽水。(4)區分純凈水、鹽水、牛奶、白醋。(5)區分純凈水和糖水。可以基于此要求設計系統工作流程。
5 測試方案與測試結果
5.1 測試條件與儀器
測試條件:反復檢查多次,仿真電路和硬件電路必須與系統原理圖吻合,且檢查無誤,硬件電路無漏焊、虛焊現象。
儀器選擇:高精度電子稱、鋼尺。
5.2 測試過程及測試結果,見表2、表3
根據測試數據,可以得出以下結論:
(1)重量測量絕對誤差的絕對值≤1g。(2)加入液體后,可以完成水位測量并顯示,誤差≤2mm。(3)能夠區分鹽水的濃度高低,并顯示第二次測量液體的名稱。(4)能夠區分液體的種類。(5)能夠區分純凈水和糖水。
參考文獻:
[1]一種簡易多功能液體容器測量裝置的設計 電子設計 2019.
[2]張杰.模擬電路項目教程[M].北京:北京交通大學出版社.2014.
[3]王靜霞.單片機應用技術(C語言版)(第3版)[M].北京:電子工業出版社.2015.