余搏立
摘 要:文章以STM32F103VET6單片機為核心控制器設(shè)計一種簡易水情檢測系統(tǒng),該系統(tǒng)能夠?qū)崿F(xiàn)液位和溶液pH值檢測,并實時顯示狀態(tài)數(shù)據(jù),測量精度高,功耗低,性能穩(wěn)定。
關(guān)鍵詞:STM32F103VET6單片機;玻璃電極;遞推平均濾波算法
中圖分類號:TP274 文獻標志碼:A 文章編號:2095-2945(2018)20-0035-03
Abstract: In this paper, a simple water regime detection system is designed with STM32F103VET6 single chip microcomputer as the core controller. The system can detect the liquid level and pH value of solution, and display the state data in real time. The measurement accuracy is high, the power consumption is low, and the performance is stable.
Keywords: STM32F103VET6 microcontroller; glass electrode; recursive average filter algorithm
1 概述
隨著科技水平的進步與創(chuàng)新,簡易水情檢測系統(tǒng)中溶液pH值測量和液位測量邁向智能化。檢測系統(tǒng)對測量精度的要求愈加細致與嚴格。本文提出的設(shè)計方法對溶液pH值和液位高度能夠?qū)崿F(xiàn)精確測量與顯示。整個系統(tǒng)僅由3.7V電池組供電,采用TFT液晶屏顯示實時數(shù)據(jù)。
2 方案設(shè)計
2.1 總體設(shè)計
本文選用玻璃電極pH值傳感器對溶液pH值檢測,設(shè)計信號調(diào)理電路將輸出信號轉(zhuǎn)化成模擬量電壓信號,經(jīng)過控制器AD轉(zhuǎn)換成數(shù)字量信號進行處理;選用超聲波液位傳感器進行液位測量,經(jīng)串口通信傳輸控制器參與運算;測量數(shù)據(jù)經(jīng)遞推平均濾波算法處理后采用TFT液晶屏實時顯示水位測量高度、pH測量值、電池輸出電壓等狀態(tài)監(jiān)控數(shù)據(jù),構(gòu)成簡易水情檢測系統(tǒng)[1]。
本文設(shè)計的檢測系統(tǒng)分STM32單片機最小系統(tǒng)、傳感器檢測電路、A/D采樣電路、液晶顯示電路、電源模塊電路構(gòu)成。系統(tǒng)方框圖如圖1所示。
2.2 pH測量的基本原理
水溶液中氫離子的占比通過PH予以表示。根據(jù)能斯特方程,測量電極和被測量液體之間的電位差對應(yīng)于液體中氫離子的濃度[2]。能斯特方程簡化后的數(shù)學表達式如下:
公式(1)中K為理論斜率;E為指定H+濃度下電極電勢;E0為標準電極電位,溫度一定時為一常數(shù)。上式說明電極的電位變化與被測溶液的pH值成線性關(guān)系。
2.3 液位測量原理與計算
超聲波傳感器安裝位置相對于液面的高度和超聲波發(fā)出經(jīng)液面反射接收的時間差具有一一對應(yīng)關(guān)系,故可將單片機系統(tǒng)測得時間差換算成液面高度。安裝時注意將超聲波傳感器發(fā)射端正對液面。記超聲波傳感器相對液面的高度為L,單位為毫米;超聲波的傳播時間差為T,單位為秒;聲音在空氣中的傳播速度V;數(shù)學關(guān)系式如下:
3 電路設(shè)計
3.1 pH值傳感器信號調(diào)理電路
根據(jù)pH值傳感器電極輸出的電壓為信號電極與參考電極的電位差,當pH值每變化1個單位時,傳感器電極輸出為幾十毫伏,如要將毫伏數(shù)量級信號放大到伏特數(shù)量級供AD轉(zhuǎn)換,需放大幾百倍。玻璃電極的感應(yīng)端電阻很高,產(chǎn)生的干擾也被放大,進一步加大誤差。若用pH-電位平移,只需較小的電壓放大倍數(shù),即可實現(xiàn)pH值與輸出電壓之間的線性關(guān)系[3]。單電源運放能實現(xiàn)線性放大的運放有LM358,LM324,TLC4502等,由于玻璃復合電極的內(nèi)阻極高,電路測量的關(guān)鍵是選擇高輸入阻抗的運放,TLC4502具有輸入阻抗高,具有高精密低溫飄特點,故采用TLC4502。電路原理如圖2所示。
圖2(a),通過調(diào)整RW給參比電極(PH-端)賦予了一個1.1V的基準電壓值,用來保證信號電極(PH+端)電壓恒為正值,運放單電源供電也滿足要求。對于輸入1V以上的測量信號,只需放大2~3倍即可滿足單片機測量要求,如圖2(b)所示,只要合理地調(diào)整RX實現(xiàn)電極輸出電壓與pH值之間的線性關(guān)系。
設(shè)計的電極在不同pH值(標準pH計進行測量)下得到的輸出電壓如表1所示。
以當前數(shù)據(jù)為基準進行數(shù)據(jù)分析,通過圖形法導出PH線性方程:
3.2 電源電路
電源模塊采用3.7V電池組,使用XL6009升壓電路,輸出電壓經(jīng)7805穩(wěn)壓后,用于運放電路和傳感器供電。電路圖如圖3所示。
4 程序設(shè)計
系統(tǒng)的程序設(shè)計采用C語言編程。相對于匯編語言,C語言編程較簡單,包含各種頭文件,功能強大,易于理解,可讀性強,單片機進行編程實現(xiàn)各項功能,更利于操作。系統(tǒng)程序流程圖如圖4所示。
在實際A/D轉(zhuǎn)換測量中,發(fā)現(xiàn)每次采樣轉(zhuǎn)換的波動都很大,但實際用萬用表測量時電壓無波動??芍谲浖嗀/D轉(zhuǎn)換測量的結(jié)果不能直接用于計算,需進行有效的軟件濾波以排除A/D測量的誤差,經(jīng)過多種方法的調(diào)試,最終采用如下方法軟件濾波(遞推平均濾波法):確定一個采樣數(shù)據(jù)的隊列數(shù)組,可參考數(shù)組長度4~12個;將單片機A/D采樣數(shù)據(jù)存放在數(shù)組中,保持采樣數(shù)據(jù)的連續(xù)性;根據(jù)先進先出特點將下一個采樣結(jié)果置于數(shù)組末端,并刪減隊列首數(shù)據(jù),保持采樣數(shù)據(jù)隊列整體長度不變;對數(shù)組中的采樣結(jié)果經(jīng)算數(shù)平均求解,作為最終測量值。
5 測試結(jié)果與數(shù)據(jù)
在自來水加入白醋,使用本設(shè)計進行測量,溶液pH值測量結(jié)果如表2所示,液位測量如表3所示。
通過以上測量結(jié)果可知:設(shè)計的pH和液位測量儀滿足設(shè)計要求的誤差范圍(pH誤差±0.1,液位誤差±0.1mm)。
參考文獻:
[1]胡繼勝.電子技術(shù)基礎(chǔ)及應(yīng)用[M].北京:電子工業(yè)出版社,2014.
[2]李恒達.電極電勢與金屬-溶液界面電位差[J].松遼學刊(自然科學版),1999,04.
[3]張莉,夏紅,徐善軍,等.工業(yè)pH計在生產(chǎn)中的應(yīng)用[J].中國氯堿,2009,05.
[4]唐曉波.淺談水情測報系統(tǒng)設(shè)計中應(yīng)考慮的問題[J].科技創(chuàng)新與應(yīng)用,2016(33):236.
[5]張云鵬.水情測報系統(tǒng)在水庫防汛中的運用分析[J].科技創(chuàng)新與應(yīng)用,2017(28):149-150.