李穎華 徐云龍 李 強
(1、西安明德理工學院信息工程學院,陜西 西安 710124 2、九江職業技術學院電氣工程學院,江西 九江 332007)
隨著智能化產業的飛速發展,許多智能電器已經步入尋常百姓家,如智能電視、智能空調、智能廚具等。自動測定、顯示液體的液位和重量,并判別液體種類的智能容器,也是智能化生活中必不可少的。高端智能液體容器的研發在國外起步較早,當前亟需探索本土化日用液體測量裝置,滿足操作簡單、可后續擴展的需求。智能液體容器的控制核心是微控制器,通過重量傳感器、液位傳感器、酸堿度傳感器、電阻率傳感器、光電傳感器等采集液體數據,再由主控芯片處理并實時顯示,實現自動測量;通過微處理器程序控制算法,識別液體種類。
多功能液體容器測量系統的總體結構如圖1 所示。
本系統主要由五大模塊構成:電源模塊、系統控制模塊、液體測量模塊、鍵盤輸入模塊和顯示模塊。選用容量1L、高22cm、有液位標記的透明塑料容器,通過鍵盤輸入模塊啟動自動測量并顯示純凈水、白糖水、鹽水、牛奶、白醋的液位、重量及液體種類。其中,電源模塊采用7805 和7812 穩壓塊實現穩壓供電;控制模塊采用新唐N76E885 微控制器實現系統主控及信號處理;液體測量模塊利用液位傳感器、壓力傳感器、pH值傳感器、電阻傳感器等測量液體參數,并通過液晶顯示模塊顯示。軟件部分采用Keil C 程序語言開發和調試。
系統設計要能檢測不同液體的液位、重量參數,并顯示檢測結果。液體容器中分別裝載200ml~500ml 不同種類的溶液,溶液的濃度定義為質量百分比濃度,鹽水濃度0%~30%,白醋酸度為9° 市售白醋,牛奶為市售純牛奶,白砂糖糖水濃度為10%。
溶液濃度=(溶質質量/溶液質量)× 100%
測量液體重量時先去皮,測試重量m 實際值為液體凈重,液位h 實際值為容器標記讀數。液體參數的實際值與測量值之差為測量絕對誤差,液位測量絕對誤差的絕對值≤2mm,重量測量絕對誤差的絕對值≤1g,即:

測量鹽水時,系統能夠區分不同濃度的鹽水,并顯示“濃鹽水”或“淡鹽水”。
本系統選用超聲波探頭實現液位測量。利用超聲波的反射特性和回波測距原理計算液位,檢測原理如圖2 所示。首先測量超聲波速度v、傳播時間t 及容器高度H,然后根據超聲波速度和傳播時間的關系,計算出被測液位h:


圖2 超聲波檢測液位原理
系統控制核心產生頻率為40kHz、持續時間為0.1ms 的周期脈沖信號,經發射驅動電路加至超聲波探頭。當第1 個脈沖發射后,控制核心開始計數,在檢測到第1 個回波脈沖的瞬間停止計數,得到發射到接收的時間間隔t。信號采集的關鍵是放大傳感器輸出的弱信號,系統選用NE5532 實現運放功能,運放工作原理如圖3 所示,其正、負輸入端電壓分別記作u+、u_,運放輸入信號ui,輸出信號uo,則:

圖3 放大電路

系統硬件電路中,以7805、7812 為主的電源模塊為單片機提供直流穩壓電源,主控核心新唐N76E885 單片機產生系統所需的8 路PWM波,引入10 個外部中斷用于實現彩屏顯示和按鍵切換功能;鍵盤輸入模塊為獨立按鍵輸入;顯示模塊選用小體積、低功耗的LCD12864 液晶顯示器,其內置128 個16× 8 點陣ASCII 字符及漢字字庫,顯示分辨率為128× 64。液晶采用并行方式顯示,數據端、控制端、RS 端、R/W 端、E 端接口方便,可顯示液位、重量、液體種類三項測量數據;液體測量模塊采用液位傳感器測量液位參數,用壓力傳感器測量重量參數,通過電阻、壓力、pH 值、光電和超聲波五種傳感器電路測量純凈水、白糖水、鹽水、牛奶、白醋的液位及重量,并判別液體種類。系統硬件電路設計原理如圖4 所示。

圖4 系統硬件電路原理圖
硬件電路模塊化的設計簡化了軟件設計,液位測量采用微控制器內部計數器T0 完成,系統軟件設計分為主程序和中斷服務子程序。主程序完成初始化、液位和重量測量、液體種類辨別、結果顯示,中斷服務子程序完成時間值讀取。系統軟件設計流程如圖5 所示。

圖5 程序流程圖
一鍵啟動多功能液體容器,分別檢測市售純牛奶、9° 白醋、10%和30%鹽水、純凈水、10%糖水的液位、重量、種類,并實時顯示。要求液位測量絕對誤差的絕對值≤2mm,重量測量絕對誤差的絕對值≤1g;另外,在液體檢測過程中,由于每測試一次,都需要對容器進行清洗、烘干、移裝等操作,所以通過中斷服務子程序實現用戶自由設置時間間隔,保證液體換裝時間充足。在液體容器中分別裝載200ml~500ml 不同種類的溶液,經過反復多次檢測,確定最佳參數。任意一組的測試數據如表1 所示。
表1 所示的測試選取了五種液體,對空容器進行清洗操作后,加裝牛奶,數據顯示34mm 液位(實際35.1mm,絕對誤差1.1mm)、液體重量顯示266.1g(實際265.5g,絕對誤差0.6g),顯示的液體名稱為“牛奶”。對容器進行清洗、加裝液體、移除牛奶、去除殘留牛奶操作后,再依次測試白醋、鹽水、純凈水、白糖水,數據顯示的液位、重量及名稱均達到基本要求。

表1 測試數據
本系統檢測5kg 內液體液位200ml~500ml,參數均符合基本要求,液位測量絕對誤差低于2mm,重量測量絕對誤差低于1g。系統測試時能迅速區分不同濃度的鹽水,并顯示鹽水相對濃度;能分辨純凈水、鹽水、牛奶、白醋、白糖水5 種液體的種類。系統設計考慮了后續進一步優化,液體容器通過外貼式的超聲液位傳感器對液體進行實時監控,可擴展溫度測量模塊來補償超聲波隨溫度變化而引起的波速變化;還可擴展報警功能,容器有液體殘留時或液體即將溢出時報警(如蜂鳴器、發光管)。