基於ZigBee遠程通信的水質監測系統設計

摘要:ZigBee由於具有低功耗、低成本、短時延、高安全和自組網等優點,被廣泛應用在各種工作領域。本文設置CC2530為通信芯片,STMF103為主控芯片作為系統的硬件電路和軟件部分,將電導率模塊、pH模塊和DS18B20溫度模塊的信息傳輸到上位機,利用ZigBee自組網可以在上位機上讀取水域不同位置的水體信息。實驗結果表明,本文製作的水質監控具有低功耗、實時性高等優點。

關鍵詞:ZigBee;水質監控;自組網

Abstract: ZigBee is widely used in various fields due to its advantages such as low power consumption, low cost, short time delay, high security and AD hoc network. In this paper, CC2530 is used as the communication chip and STMF103 as the main control chip as the hardware circuit and software part of the system. The information of conductivity module, pH module and DS18B20 temperature module is transmitted to the upper computer, and ZigBee AD hoc network can be used to read the information of water bodies at different positions in a sea area on the upper computer. The experimental results show that the water quality monitoring produced in this paper has the advantages of low power consumption and high real-time performance.

Key words: ZigBee; Water quality monitoring; Ad-hoc network

1 引言

對於較大水域其不同區域的溫度、pH和電導率等會存在差異,為了得到水體的綜合信息,因此需要機器來對水體各個區域的水質信息進行採集和上傳。對於室外水產的養殖,環境複雜多變,設備需要長時間在水中工作,這要求設備要具有較高的續航能力。同時為了確保水體信息的實時性,往往需要多個機器協同工作[1、2]。為了解決設備的續航里程和成本高等問題,本文以ZigBee作為無線通信技術,以STM32為主控芯片,將電導率模塊、pH模塊和DS18B20溫度模塊採集的水質信息傳輸到終端,利用ZigBee自組網可以在上位機上讀取到一片海域不同位置的水體信息[3、4]。

2 硬件設計

為了檢測和上傳水域的pH、溫度和電導率,採用雷磁pH複合電極E-201-C作為pH計,再通過4502AC將信號放大,把pH值轉化為模擬電壓傳給單片機。溫度檢測採用DS18B20不鏽鋼封裝模塊。電導率檢測使用的是量程為0到44000μs/cm的EC變送器。ZigBee採用DL-LN32P模塊,該模塊內部封裝了通訊協議,單片機只需通過串口發送就可以使其把數據發生出去。

STM32F103ZET6作為MCU,對各個模塊的信息進行讀取,並且通過ZigBee把數據發生出去。

基於ZigBee遠程通信的水質監測系統設計

圖1 硬件組成部分


2.1 求解pH的線性方程

液體的pH值取決於液體中氫離子的濃度,通過測量電極系統被測液構成的測量電池的電動勢,可得到被測液體氫離子活度。從傳感器電極系統中獲得的電壓信號與氫離子的活度有對應關係。依據能斯特方程,電極反應中物質從一相轉移到另一相時需要消耗能量[5],其表達式表示為:

E=E0-S×pH (1)

其中S=RT/nF=54.20+0.1984×t為理論斜率項;氣體常數R=8.14焦耳/摩×克分子;法拉第常數F=96500庫/摩;N為離子化合價,對於氫離子n=1;T=273.15;t為檢測的被測液體的攝氏溫度,E0為等電勢點的點位,E即為傳感器電極在被測液體作用下的輸出電位。

由於玻璃電極的製作工藝等原因,式(1)中的E0和S的實際值會發生改變,需要通過已知標準液對上述參數進行測定。常用的標準液為苯二甲酸氫鉀(pH=4.01)、硼砂(pH=9.18)和混合磷酸鹽(pH=6.86),根據被測液體的酸鹼度,適當地選擇兩種標準溶液。當被測液體呈酸性時,選擇pH=4.01和pH6.86的標準溶液校正;當被測液體呈鹼性時,選擇pH=6.86和pH=9.18的標準溶液進行校正;當被測液體pH使用範圍較大時或者不確定時,可以選擇pH=4.01和pH=9.18的標準溶液進行校正[6、7]。雷磁pH複合電極E-201-C的具體校正方法如下:

將電極放入混合磷酸鹽(pH=6.86)溶液中,用電壓表測試模擬輸出電壓,調節運放板上的電位器使得輸出電壓為1.7V。再將電極用蒸餾水清洗乾淨並且玻璃電極上無水滴後放入苯二甲酸氫鉀(pH=4.01)標準溶液中,記錄輸出電壓。重複上面步驟,得出硼砂(pH=9.18)標準溶液的輸出電壓。由式(1)可知模擬電壓U與pH為線性關係,可以設線性方程為:

pH=a×U+b (2)

把得到的數據帶入到,可得到pH與雷磁pH複合電極E-201-C模塊的輸出電壓關係。

3 軟件設計

軟件部分分為DS18B20溫度數據的讀取、pH模塊和電導率模塊的AD採樣和轉換、ZigBee數據發送、上位機讀取ZigBee數據等幾大模塊,圖2為軟件設計總體流程。在完成所有的初始化工作後,需要先讀取DS18B20的數據,由於DS18B20的讀取時間需要大於50ms,所以讀取數據的頻率不宜過高。為了數據的準確性,設置了每200ms讀取一次數據,共讀取5次並取平均值作為最終數據發送到上位機顯示。

基於ZigBee遠程通信的水質監測系統設計

圖2 軟件設計流程圖


3.1 pH模塊和電導率模塊

pH模塊和電導率模塊輸出的都是模擬電壓,需要通過STM32的ADC將其轉化為數字信息,讀取到的數據為0~4096範圍。pH模塊需要軟件把ADC的數值歸一化到0~3.3V後作為電壓帶入到式(2)中。由於電導率模塊輸出模擬電壓與電導率成正比,所以只需要將轉換後的數值歸一到0~44ms/cm即可[8]。但是由於式(2)中的參數a和b均受溫度影響,所以最終得到的pH值需要進行溫度補償,由式(2)可知,最終溫度補償後的pH需要乘以T0/T(T0為尋找方程時液體溫度,T為當前液體溫度)。

3.2 ZigBee模塊

DL-LN23P ZigBee模塊內部集成了通信協議,所以通過串口向其發送數據包即可。軟件上通過主控芯片的USART1外設對ZigBee進行通信,為了數據傳輸的準確,設置USAR1的中斷優先級為0。需要上位機發送FE05 90 90 XX XX FF(XX XX為目的設備地址)來得到某個ZigBee設備的信息[9、10]。

3.3 基於C#編寫的上位機

上位機作用時對串口數據進行採集並且顯示。圖3為上位機初始界面。開始時選擇好串口和波特率,在發送按鈕左邊的方框內輸入FE 05 90 90 03 00 00 FF,自動採樣週期選擇1000ms。電導率、pH和溫度的右方分佈有兩個小方框,上面和下面的分別為最大和最小值,大於最大值或小於最小值上位機都會報警。按下自動採樣後,上位機會自動繪製圖表。

基於ZigBee遠程通信的水質監測系統設計

圖3 上位機初始界面


4 系統測試

系統基於ZigBee對水質信息(電導率、pH和水溫)進行傳輸,為了檢測pH和水溫的準確,需要與電子pH計進行對比。本文搭建了ZigBee水質系統測試平臺,對製作完成的基於ZigBee通信的遠程水質監控系統進行了軟硬件調試。

將地址為0001的ZigBee模塊通過USB轉串口模塊接入電腦,打開上位機,設置好具體參數然後點擊自動採樣。如圖4所示為酸性條件下上位機實時曲線,表1為酸性條件下上位機顯示數據。通過STM32單片機的定時器計數延時約為50ms,將報警參數設置在接受到的數據之上或之下,觀察旁邊是否有小感嘆號顯示以及警報聲發出。由於數據是先壓縮為0~255區間範圍內,再由上位機解碼,所以數據會與下位機發出數據有偏差,誤差精度為0.01。

基於ZigBee遠程通信的水質監測系統設計

圖4 酸性條件下上位機實時曲線


表1 酸性條件下上位機顯示數據

基於ZigBee遠程通信的水質監測系統設計

5 小結

本文搭建了ZigBee水質檢測測試平臺,對水質檢測和通過ZigBee模塊與上位機通信進行了軟硬件的試驗,並用電子pH計進行對比以及在上位機中顯示,驗證了本文所設計的硬件和軟件部分均能正常穩定工作。同時通過測試不同溫度和pH等的液體來和電子pH計進行對比和在上位機中顯示,並且顯示延時在300ms以內,證明了該基於ZigBee通信的水質檢測系統的可行性、短延時和可靠性。

基金項目:廣東海洋大學“創新強校工程”項目(Q14580);大學生創新創業訓練計劃項目(CXXL2019262; CXXL2019268)

參考文獻:

[1] Hossein Alilou, Alireza Moghaddam Nia, Mohsen MohseniSaravi, Ali Salajegheh,Dawei Han,Bahram Bakhtiari Enayat. A novel approach for selecting sampling points locations to river water quality monitoring in data-scarce regions[J]. Journal of Hydrology, 2019, 573.

[2] 賈爍. 基於北斗衛星系統的海洋水文實時監測系統研究[D]. 海南:海南大學, 2018.

[3] 李紅傑.基於浮標的近海海洋環境監測與接入技術[D].成都:電子科技大學, 2016.

[4] 陳志坤. 東江水資源水量水質監控系統數據集成[J]. 廣東水利水電, 2018, ( 12 ) : 26 - 30.

[5] 王士明, 俞阿龍, 楊維衛, 等. 基於ZigBee的大水域水質環境監測系統設計[J]. 傳感器與微系統, 2014, ( 11 ) : 102 - 105.

[6] 李傑, 劉佳. 基於ZigBee的飲水機監控系統設計[J]. 產業與科技論壇, 2018, ( 7 ) : 59 - 60.

[7] 申偉, 杜文娟. 基於ZigBee無線傳感技術的水庫水質多參數監控系統[J]. 通信與信息處理, 2018, ( 4 ) : 40 - 43.

[8] 嚴麗平, 宋凱. 基於ZigBee與GPRS的嵌入式水質檢測系統設計[J]. 計算機工程與設計, 2011, ( 5 ) : 1638 - 1640.

[9] 張虎, 肖惠雲. 無線通訊技術在工業領域中的應用[J]. 自動化博覽, 2018 , 35 ( 11 ) : 124 - 130.

[10] 範利平, 王志堅. 融合GPRS技術的ZigBee無線網路水質檢測系統的設計[J]. 長沙大學學報, 2012, ( 26 ) : 55 - 56.

林 聰(1988-),男,廣東湛江人,講師,現任教於廣東海洋大學,研究方向為智能控制與智能自動化。

於 躍(1991-),女,吉林通化人,講師,現任教於廣東海洋大學,主要研究方向為電力電子技術、智能控制技術。

盧葉楓(1997-),男,廣東懷集人,現就讀於廣東海洋大學,研究方向為嵌入式技術。

肖賢哲(1999-),女,廣東廣州人,現就讀於廣東海洋大學,研究方向為嵌入式技術。

摘自《自動化博覽》2020年1月刊


分享到:


相關文章: