王冉 孟磊



摘 要:設計基于STC12單片機的多功能液體容器,系統利用稱重模塊、超聲波和PH值傳感器計算出容器中液體的重量、液位高度和PH值,并通過oled顯示液位和重量等數據的顯示,通過超聲波傳感器模塊測量液位高度并計算出液體體積,再利用液體的重量和體積計算出液體比重值,最后通過液體比重值和PH值判斷液體成分。文章采用透射式光電傳感器實現分辨牛奶、通過導電性分辨鹽水等功能,根據測試結果,多功能液體容器系統液位誤差小于1mm,重量誤差小于0.5g。
關鍵詞:多功能;傳感器;單片機;數據顯示
中圖分類號:TH122 ?文獻標識碼:A ?文章編號:1671-7988(2020)21-81-03
Abstract: Multifunctional liquid container, system design based on STC12 single chip using weighing module, ultrasonic and PH sensor to calculate the container liquid, the liquid level height and the weight of the PH value, and through the oled display data such as liquid level, and weight, measuring liquid level height by ultrasonic sensor module and calculate the liquid volume, using the weight and volume of liquid to calculate the liquid density value, finally through the liquid weight value and the PH value judgment. In this paper, the transmission type photoelectric sensor is used to distinguish milk and brine through electric conductivity. According to the test results, the liquid level error of the multifunctional liquid container system is less than 1mm, and the weight error is less than 0.5g.
Keywords: Multifunction; The sensor; Single chip microcomputer; According to data
CLC NO.: TH122 ?Document Code: A ?Article ID: 1671-7988(2020)21-81-03
前言
多功能液體容器包括電子稱重、液位測量、密度計算、PH值測試,可以分辨液體的種類,在化工領域有一定的應用價值[1],本文設計一種多功能液體容器,設計要求包括能夠自動測量給定液體的重量及液位,并能夠判斷出給定液體的種類(純凈水、白糖水、鹽水、牛奶以及白醋等)。
首先通過壓力傳感器采集到被測物體的重量并將其轉換成電壓信號,再次將該信號經信號處理電路進行準確的線性放大,放大后的模擬電壓信號經A/D轉換電路轉換成數字量被送入到主控電路的單片機中[2],再經過單片機控制OLED顯示,從而顯示出被測液體的重量、液位等信息。
1 系統整體結構設計
按照設計的基本要求,本系統整體結構設計如圖1所示,主要完成稱重模塊、超聲波測距模塊、激光對射模塊、OLED顯示模塊等相關模塊的設計及測試,其中稱重模塊包括數據采集、信號放大及AD轉換。OLED顯示模塊包括液體重量、液位等的顯示。
2 系統硬件電路設計
2.1 主控模塊
本系統使用STC12C5A60S2單片機最小開發系統作為主控,該系列單片機片內具有大容量的FLASH程序存儲器[3]。
2.2 稱重模塊
HX711輸入選擇開關可任意選取通道A 或通道B,與其內部的低噪聲可編程放大器相連,通道A的可編程增益為128或64。電阻應變式傳感器是一種利用電阻應變效應,將各種力學量轉換為電信號的結構型傳感器[4]。
2.3 US-015 超聲波測距模塊
本文采用US-015超聲波測距模塊其,可實現 2cm~4m 的非接觸測距功能[5],US-015超聲波測距模塊在測距過程中需要在Trig/TX管腳輸入一個10μs以上的高電平,系統便可發出8個40KHz的超聲波脈沖,然后檢測回波信號[6]。當檢測到回波信號后,通過Echo管腳輸出,其主要技術參數如表1所示。
2.4 激光對射檢測模塊
本文采用的激光對射傳感器包括發送器,接收器和檢測電路,使用時把發光器和收光器分別裝在檢測物通過路徑的兩側,檢測物通過時阻擋光路,收光器就動作輸出一個開關控制信號[7]。因為牛奶具有不透光的特點,激光對射傳感器在檢測牛奶的時候無法接收到信號,而純凈水、白醋淡鹽水等是透明的,因此可以判斷出牛奶。
2.5 PH值檢測模塊
PH值檢測采用PH值傳感器,在該傳感器內部的PH值放大器可以通過數據采集檢測有標準PH電極的電路,在PH值為7的緩沖液中,產生一個1.75V的電壓,根據液體的PH值不同可判斷液體種類[8],白醋的PH值約是2.4,而鹽水與純凈水的pH值基本一致為7左右,因此可以判斷出白醋。
2.6 OLED顯示
顯示模塊采用0.96寸的OLED顯示屏,其接口定義為(1)GND電源地;(2)VCC 電源正(3~5.5V);(3)SCL OLED的D0腳,在IIC通信中為時鐘管腳;(4)SDA OLED的D1腳,在IIC通信中為數據管腳[9]。
3 系統軟件設計
本系統根據設計要求具有以下功能:按下啟動按鈕,進行一次去皮處理后,整個系統即可自動檢測出被測物體的液位、重量等參數,并進行顯示,進一步可判斷牛奶及白醋等,程序設計流程如圖2所示。
顯示部分程序代碼如下:
void main(void)
{
char jian;
InitUART(); //串行口初始化
GapValue = 386.0; //實際測得基準值
OLED_Init();//初始化OLED
OLED_ShowCHinese(8,0,0);//多
OLED_ShowCHinese(24,0,1);//功
OLED_ShowCHinese(40,0,2);//能
OLED_ShowCHinese(56,0,3);//液
OLED_ShowCHinese(72,0,4);//體
OLED_ShowCHinese(88,0,5);//容
OLED_ShowCHinese(104,0,6);//器
OLED_ShowCHinese(0,2,7);//重
OLED_ShowCHinese(16,2,8);//量
OLED_ShowCHinese(0,4,9);//液
OLED_ShowCHinese(16,4,10);//位
while(1)
{jian = KEY_SAN();
if(jian == 0)
Get_Maopi();
if(jian == 1)
GapValue+=0.5;
celiang = Get_Weight()*100;
UartSendUlong("GapValue:",(unsigned long)GapValue*10," | ");
}
}
4 測試方案與測試結果
線路連接正常,利用砝碼對電子秤進行校準,其測試數據如表2所示,進而逐漸加入液體進行數據的測試進過反復測試及調整。本系統實現以下功能(1)液體的重量絕對誤差的絕對值≤1g;(2)液位測量絕對誤差的絕對值≤2mm;(3)可區分牛奶及白醋的液體種類。
5 總結與展望
本文通過設計多功能液體容器,實現了多種液體的重量、液位的測量以及液體種類的區分。隨著人工智能、自動控制技術的發展,工業領域的有毒有害液體的檢測將逐步實現機器代替人工,有效避免接觸有毒有害液體對人身造成的損害[10],綜合多學科的研究探索科技創新產品的實用價值。
參考文獻
[1] 張杰.模擬電路項目教程[M].北京:北京交通大學出版社.2014.
[2] 王靜霞.單片機應用技術(C語言版)(第3版)[M].北京:電子工業出版社.2015.
[3] 張彥宇.基于MSP430的高精密電子秤設計與研究[J].工業控制與應用.2019.
[4] 吳恩儀,陳凌君.基于STC89C52單片機的超聲波測距系統設計[J].機械裝備研發.2020.
[5] 魯可,張曉東,馬宏旭.基于單片機的超聲波液位檢測系統設計[J].機電工程技術,2014.
[6] 肖榮榮.液體內部壓強探究演示儀:中小學實驗與裝備,2019.
[7] 趙廣平.孫雯萍電子稱重技術現狀及發展趨勢[J].儀表技術傳感器, 2017.
[8] 羅及紅.一種高精度的電子秤設計[J].計算機測量與控制,2010.
[9] 工仲夏,馬萬國,張濤.基于單片機高精度電子天平設計[J].電子測試,2017.
[10] 楊慧英.容器液位視覺檢測方法研究[J].裝備制造技術,2018.