李穎華 徐云龍 李 強(qiáng)
(1、西安明德理工學(xué)院信息工程學(xué)院,陜西 西安 710124 2、九江職業(yè)技術(shù)學(xué)院電氣工程學(xué)院,江西 九江 332007)
隨著智能化產(chǎn)業(yè)的飛速發(fā)展,許多智能電器已經(jīng)步入尋常百姓家,如智能電視、智能空調(diào)、智能廚具等。自動測定、顯示液體的液位和重量,并判別液體種類的智能容器,也是智能化生活中必不可少的。高端智能液體容器的研發(fā)在國外起步較早,當(dāng)前亟需探索本土化日用液體測量裝置,滿足操作簡單、可后續(xù)擴(kuò)展的需求。智能液體容器的控制核心是微控制器,通過重量傳感器、液位傳感器、酸堿度傳感器、電阻率傳感器、光電傳感器等采集液體數(shù)據(jù),再由主控芯片處理并實時顯示,實現(xiàn)自動測量;通過微處理器程序控制算法,識別液體種類。
多功能液體容器測量系統(tǒng)的總體結(jié)構(gòu)如圖1 所示。
本系統(tǒng)主要由五大模塊構(gòu)成:電源模塊、系統(tǒng)控制模塊、液體測量模塊、鍵盤輸入模塊和顯示模塊。選用容量1L、高22cm、有液位標(biāo)記的透明塑料容器,通過鍵盤輸入模塊啟動自動測量并顯示純凈水、白糖水、鹽水、牛奶、白醋的液位、重量及液體種類。其中,電源模塊采用7805 和7812 穩(wěn)壓塊實現(xiàn)穩(wěn)壓供電;控制模塊采用新唐N76E885 微控制器實現(xiàn)系統(tǒng)主控及信號處理;液體測量模塊利用液位傳感器、壓力傳感器、pH值傳感器、電阻傳感器等測量液體參數(shù),并通過液晶顯示模塊顯示。軟件部分采用Keil C 程序語言開發(fā)和調(diào)試。
系統(tǒng)設(shè)計要能檢測不同液體的液位、重量參數(shù),并顯示檢測結(jié)果。液體容器中分別裝載200ml~500ml 不同種類的溶液,溶液的濃度定義為質(zhì)量百分比濃度,鹽水濃度0%~30%,白醋酸度為9° 市售白醋,牛奶為市售純牛奶,白砂糖糖水濃度為10%。
溶液濃度=(溶質(zhì)質(zhì)量/溶液質(zhì)量)× 100%
測量液體重量時先去皮,測試重量m 實際值為液體凈重,液位h 實際值為容器標(biāo)記讀數(shù)。液體參數(shù)的實際值與測量值之差為測量絕對誤差,液位測量絕對誤差的絕對值≤2mm,重量測量絕對誤差的絕對值≤1g,即:
測量鹽水時,系統(tǒng)能夠區(qū)分不同濃度的鹽水,并顯示“濃鹽水”或“淡鹽水”。
本系統(tǒng)選用超聲波探頭實現(xiàn)液位測量。利用超聲波的反射特性和回波測距原理計算液位,檢測原理如圖2 所示。首先測量超聲波速度v、傳播時間t 及容器高度H,然后根據(jù)超聲波速度和傳播時間的關(guān)系,計算出被測液位h:
圖2 超聲波檢測液位原理
系統(tǒng)控制核心產(chǎn)生頻率為40kHz、持續(xù)時間為0.1ms 的周期脈沖信號,經(jīng)發(fā)射驅(qū)動電路加至超聲波探頭。當(dāng)?shù)? 個脈沖發(fā)射后,控制核心開始計數(shù),在檢測到第1 個回波脈沖的瞬間停止計數(shù),得到發(fā)射到接收的時間間隔t。信號采集的關(guān)鍵是放大傳感器輸出的弱信號,系統(tǒng)選用NE5532 實現(xiàn)運(yùn)放功能,運(yùn)放工作原理如圖3 所示,其正、負(fù)輸入端電壓分別記作u+、u_,運(yùn)放輸入信號ui,輸出信號uo,則:
圖3 放大電路
系統(tǒng)硬件電路中,以7805、7812 為主的電源模塊為單片機(jī)提供直流穩(wěn)壓電源,主控核心新唐N76E885 單片機(jī)產(chǎn)生系統(tǒng)所需的8 路PWM波,引入10 個外部中斷用于實現(xiàn)彩屏顯示和按鍵切換功能;鍵盤輸入模塊為獨立按鍵輸入;顯示模塊選用小體積、低功耗的LCD12864 液晶顯示器,其內(nèi)置128 個16× 8 點陣ASCII 字符及漢字字庫,顯示分辨率為128× 64。液晶采用并行方式顯示,數(shù)據(jù)端、控制端、RS 端、R/W 端、E 端接口方便,可顯示液位、重量、液體種類三項測量數(shù)據(jù);液體測量模塊采用液位傳感器測量液位參數(shù),用壓力傳感器測量重量參數(shù),通過電阻、壓力、pH 值、光電和超聲波五種傳感器電路測量純凈水、白糖水、鹽水、牛奶、白醋的液位及重量,并判別液體種類。系統(tǒng)硬件電路設(shè)計原理如圖4 所示。
圖4 系統(tǒng)硬件電路原理圖
硬件電路模塊化的設(shè)計簡化了軟件設(shè)計,液位測量采用微控制器內(nèi)部計數(shù)器T0 完成,系統(tǒng)軟件設(shè)計分為主程序和中斷服務(wù)子程序。主程序完成初始化、液位和重量測量、液體種類辨別、結(jié)果顯示,中斷服務(wù)子程序完成時間值讀取。系統(tǒng)軟件設(shè)計流程如圖5 所示。
圖5 程序流程圖
一鍵啟動多功能液體容器,分別檢測市售純牛奶、9° 白醋、10%和30%鹽水、純凈水、10%糖水的液位、重量、種類,并實時顯示。要求液位測量絕對誤差的絕對值≤2mm,重量測量絕對誤差的絕對值≤1g;另外,在液體檢測過程中,由于每測試一次,都需要對容器進(jìn)行清洗、烘干、移裝等操作,所以通過中斷服務(wù)子程序?qū)崿F(xiàn)用戶自由設(shè)置時間間隔,保證液體換裝時間充足。在液體容器中分別裝載200ml~500ml 不同種類的溶液,經(jīng)過反復(fù)多次檢測,確定最佳參數(shù)。任意一組的測試數(shù)據(jù)如表1 所示。
表1 所示的測試選取了五種液體,對空容器進(jìn)行清洗操作后,加裝牛奶,數(shù)據(jù)顯示34mm 液位(實際35.1mm,絕對誤差1.1mm)、液體重量顯示266.1g(實際265.5g,絕對誤差0.6g),顯示的液體名稱為“牛奶”。對容器進(jìn)行清洗、加裝液體、移除牛奶、去除殘留牛奶操作后,再依次測試白醋、鹽水、純凈水、白糖水,數(shù)據(jù)顯示的液位、重量及名稱均達(dá)到基本要求。
表1 測試數(shù)據(jù)
本系統(tǒng)檢測5kg 內(nèi)液體液位200ml~500ml,參數(shù)均符合基本要求,液位測量絕對誤差低于2mm,重量測量絕對誤差低于1g。系統(tǒng)測試時能迅速區(qū)分不同濃度的鹽水,并顯示鹽水相對濃度;能分辨純凈水、鹽水、牛奶、白醋、白糖水5 種液體的種類。系統(tǒng)設(shè)計考慮了后續(xù)進(jìn)一步優(yōu)化,液體容器通過外貼式的超聲液位傳感器對液體進(jìn)行實時監(jiān)控,可擴(kuò)展溫度測量模塊來補(bǔ)償超聲波隨溫度變化而引起的波速變化;還可擴(kuò)展報警功能,容器有液體殘留時或液體即將溢出時報警(如蜂鳴器、發(fā)光管)。