陳龍
摘要:本次設計以atmega2560單片機為控制核心,通過硬件電路設計實現(xiàn)對不同液體的液位、重量的檢測及種類的判別,結(jié)合軟件編寫各個模塊所對應的程序,完成電路功能的實現(xiàn),并且將各個模塊進行整合,將測試結(jié)果呈現(xiàn)在液晶顯示屏上。通過對超聲波傳感器反饋數(shù)值的計算,得到液體液位的精確數(shù)值;通過對壓力傳感器反饋數(shù)值的計算,得到液體重量的精確數(shù)值;通過對光源的檢測,實現(xiàn)對乳狀液體的判別;通過對液體電阻率的測量,判別液體的種類;通過溫度傳感器測量溫度等。
關鍵詞:液位測量;重量檢測;液體種類分辨
中圖分類號:TP212.6 文獻標識碼:A 文章編號:1007-9416(2019)09-0168-02
0 引言
智能液體測試儀用于測量液體的液位、重量及溫度,分辨液體的種類,如鹽水、糖水、純凈水、牛奶、白醋等。
1 方案設計
方案一:通過對超聲波傳感器反饋數(shù)值的計算,得到液體液位的精確數(shù)值;通過對壓力傳感器反饋數(shù)值的計算,得到液體重量的精確數(shù)值;通過對光源的檢測,實現(xiàn)對乳狀液體的判別;通過對液體電阻率的測量,判別液體的種類。以atmega2560單片機為控制核心編寫各個模塊所對應的程序,利用液晶顯示模塊實現(xiàn)各種參數(shù)的顯示。
方案二:通過對紅外測距反饋數(shù)值的計算,得到液體液位的精確數(shù)值;通過對壓力傳感器反饋數(shù)值的計算,得到液體重量的精確數(shù)值;通過對PH的測定,實現(xiàn)對液體種類的判別;軟件選擇atmega16單片機,利用C語言完成程序編寫,利用液晶顯示模塊實現(xiàn)各種參數(shù)的顯示。
方案二:采用采用紅外測距技術測量液位,但是紅外穿透能力較強,無法精準測量,方案一采用超聲波技術測量液體液位,較方案二更加精確;方案二通過對不同液體PH的對比,來確定液體種類,但是,不同濃度的鹽水PH變化較大,與其他液體PH范圍會產(chǎn)生交集,無法精準判斷,方案一對不同液體的電阻率進行測量,不同濃度鹽水電阻率偏差較小,各種液體之間不會產(chǎn)生交集,可以準確判斷液體種類。Atmega16單片機內(nèi)部無數(shù)模轉(zhuǎn)換引腳,程序冗雜,而atmega2560內(nèi)部程序自帶數(shù)模轉(zhuǎn)換裝置,且程序簡單明了,且其需要對寄存器進行操作,直接調(diào)用函數(shù),簡單快捷。綜上所述,選擇方案一可以更加精確的確定不同種類液體的各項參數(shù)。
2 系統(tǒng)設計
接通電源后,atmega2560單片機采集超聲波傳感器測得液位值、稱重傳感器測得重量值以及液體電阻率的數(shù)值,并進行計算,將最終檢測結(jié)果顯示在液晶屏上。整體設計系統(tǒng)框,如圖1所示。
2.1 電源模塊
各個模塊所需的電源由220V開關電源提供,直流12V電源經(jīng)過LM7805穩(wěn)壓模塊降壓后輸出穩(wěn)定的直流5V。為了避免開關電源出現(xiàn)故障,保障電源模塊的穩(wěn)定性,電路設計過程中采用備用電源電池組供電。在開關電源與電池組電路輸出端各串聯(lián)一個二極管,避免電源之間相互干擾,為電路提供穩(wěn)定電源。
2.2 測距模塊
采用超聲波測距的方法,利用單片機編寫程序發(fā)出控制指令,超聲波模塊發(fā)送8個40khz的方波,自動檢測是否有信號返回。如果有信號返回,超聲波模塊輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間,單片機用來檢測高電平時間,通過計算,測試距離=(高電平時間×聲音傳播速度)/2,精度可達±1mm。液位測量的方法:超聲波傳感器到杯底的高度減去超聲波傳感器到液面的高度。
2.3 稱重模塊
采用壓力傳感器測量物體重量的方法,物體放置壓力傳感器時,導體受機械變形時,其電阻值發(fā)生變化,利用電阻應變效應原理,計算所測液體的重量。通過計算,重量=電阻變化值×0.201-0.4, 精度可達±1g。液體凈重的測量方法是:液體測量值減去杯子的重量。
2.4 溫度模塊
采用DS18B20溫度傳感器測量液體溫度,通過單片機的串口采集信息,數(shù)值經(jīng)過計算,直接顯示被測液體溫度。測量溫度范圍較寬,-55℃~+125℃,精度可達0.5℃。
2.5 乳液模塊
乳狀液體對光的吸收能力較強,無法穿透,采用光源發(fā)射、接收的方法判別乳狀液體(牛奶)。利用激光的穿透力和光敏電阻接受光照不同阻值發(fā)生變化來判別是否為乳狀液體(牛奶),單片機檢測電阻值得變化,若是乳狀液體,光敏電阻阻值不發(fā)生變化。
2.6 溶液模塊
采用測量電阻率的方法,將模塊放入液體中,形成回路,不同種類液體的電解質(zhì)不同,電阻率就會產(chǎn)生相應的變化區(qū)間。各種液體之間不會產(chǎn)生交集,可以準確判斷液體種類。測量方法是探針放入液體中,單片機AD口采集液體電阻率,經(jīng)過計算處理,與各種液體電阻率區(qū)間進行對比,從而判斷出液體種類。
2.7 CPU模塊
atmega2560單片機通過對超聲波傳感器反饋數(shù)值的計算,得到液體液位的精確數(shù)值;通過對壓力傳感器反饋數(shù)值的計算,得到液體重量的精確數(shù)值;通過溫度傳感器測量溫度;通過對光源的檢測,實現(xiàn)對乳狀液體的判別;通過對液體電阻率的測量,判別液體的種類等,最終將測試結(jié)果顯示在液晶屏上。程序流程圖,如圖2所示。
2.8 液晶顯示模塊
采用12864液晶顯示屏作為顯示模塊,通電后顯示“歡迎使用多功能液體檢測儀”,按下啟動鍵后,進入功能選擇模式。測試過程中分別顯示液位高度、液體重量、溫度、液體種類。
3 系統(tǒng)測試
3.1 測量材料
食鹽,白砂糖,白醋,純牛奶,純凈水,量尺,電子稱,砝碼,量杯,攪拌器等。
3.2 測試方法
步驟一:改變超聲波傳感器的位置,進行校準。
步驟二:用電子秤與稱重傳感器分別測得不同砝碼的重量,記錄數(shù)據(jù),計算誤差值。
步驟三:連接電源,按動啟動按鍵,開始檢測該液體液位、重量等參數(shù),觀察液晶顯示模塊的顯示內(nèi)容,記錄檢測結(jié)果,并與專業(yè)測量數(shù)據(jù)進行對比。
步驟四:依次更換不同液體(純凈水、9%濃度的醋、純牛奶、鹽水),重復步驟三,并且顯示所測液體種類,記錄數(shù)據(jù)。
3.3 圖表數(shù)據(jù)
圖表數(shù)據(jù),如表1和表2所示。
4 結(jié)語
本次設計以atmega2560單片機為控制核心,實現(xiàn)對液體各項參數(shù)的監(jiān)測功能,經(jīng)過監(jiān)測實驗,各項性能指標達到了設計要求。在系統(tǒng)設計中,硬件電路設計的簡化,使系統(tǒng)的整體電路結(jié)構(gòu)更加簡單、性能更加穩(wěn)定、精確度更高;同時采用arduino程序編寫,省去了冗長的程序,節(jié)約了時間成本,大大提高了檢測效率。
參考文獻
[1] 華成英.模擬電子技術基礎(第四版)[M].北京:高等教育出版社,2006.
[2] 李永華.arduino案例實戰(zhàn)(第三版)[M].北京:清華大學出版社,2017.
Abstract:This design atmega2560 single-chip microcomputer as control core, through the design of hardware circuit implementation of different liquid level, weight detection and the types of evaluation, combining with the software write each module of the program, the realization of the function of complete circuit, and to integrate the various modules, the results appear on the LCD screen. By calculating the feedback value of ultrasonic sensor, the exact value of liquid level is obtained. The accurate value of liquid weight is obtained by calculating the feedback value of pressure sensor. Through the detection of the light source, the emulsion liquid can be distinguished. By measuring the resistivity of liquid, distinguish the type of liquid; The temperature is measured by the temperature sensor.
Key words:liquid level measurement; weight testing; liquid type discrimination