李一峰 樊海紅
摘要
本文提出了一種基于無線傳感器的水質(zhì)監(jiān)測系統(tǒng)。無線傳感器監(jiān)測系統(tǒng)是傳感器、計算機(jī)和通信技術(shù)相結(jié)合的產(chǎn)物,具有數(shù)據(jù)采集、傳輸功能的無線傳感配合無人船載體協(xié)作組成。將Wi-Fi網(wǎng)絡(luò)與NRF網(wǎng)絡(luò)技術(shù)相融合,NRF雙向無線發(fā)射可克服其傳輸距離短、水環(huán)境電磁波影響通訊的缺點,從而進(jìn)一步拓展其在湖泊水質(zhì)監(jiān)測應(yīng)用的可靠性。
【關(guān)鍵詞】水質(zhì)監(jiān)測 無線傳感器 STM32
1引言
無線傳感器水質(zhì)監(jiān)測系統(tǒng)是傳感器、計算機(jī)和通信技術(shù)相結(jié)合的產(chǎn)物,具有數(shù)據(jù)采集、傳輸功能的無線傳感配合無人船載體協(xié)作組成?;赪i-Fi技術(shù)和NRF技術(shù)具有低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率和低成本等特性,尤其適合應(yīng)用于布線困難、人工難以到達(dá)的區(qū)域。將Wi-Fi網(wǎng)絡(luò)與NRF網(wǎng)絡(luò)技術(shù)相融合,NRF雙向無線發(fā)射可克服其傳輸距離短、水環(huán)境電磁波影響通訊的缺點,從而進(jìn)一步拓展其在湖泊水質(zhì)監(jiān)測應(yīng)用的可靠性。
2基于無線傳感器網(wǎng)絡(luò)的水質(zhì)監(jiān)測系統(tǒng)設(shè)計方案
2.1系統(tǒng)的功能說明
本系統(tǒng)具有以下功能:
(1)控制載體在湖面實現(xiàn)前進(jìn)、后退以及左右轉(zhuǎn)動功能;
(2)遠(yuǎn)距離接收和發(fā)送水質(zhì)監(jiān)測數(shù)據(jù);
(3)將水質(zhì)監(jiān)測數(shù)據(jù)反饋到OneNET平臺,實現(xiàn)數(shù)據(jù)分析;
(4)檢測水質(zhì)量重要的三個參數(shù):渾濁度、PH值、水溫;
(5)指示燈反饋傳感器工作狀態(tài);
(6)液晶顯示屏可顯示水質(zhì)監(jiān)測實時數(shù)據(jù);
2.2系統(tǒng)的組成說明
此監(jiān)測系統(tǒng)由以下四部分組成:驅(qū)動系統(tǒng)、控制系統(tǒng)、通訊系統(tǒng)以及水質(zhì)監(jiān)測傳感器。其內(nèi)容如下:
2.2.1驅(qū)動系統(tǒng)
驅(qū)動系統(tǒng)由兩部分組成,一是由12V蓄電池為無人船載體(載體設(shè)計圖見附錄一)供電,并通過雙電機(jī)速度和轉(zhuǎn)動方向?qū)崿F(xiàn)差速調(diào)節(jié);二是由2節(jié)18650電池為傳感器檢測模塊和通訊模塊供電。
2.2.2控制系統(tǒng)
控制載體在湖泊的運動狀態(tài)以及水質(zhì)監(jiān)測傳感器工作起停狀態(tài)。
2.2.3通訊系統(tǒng)
通過NRF和Wi-Fi技術(shù)實現(xiàn)接收板和控制板的通訊以及OneNET平臺的數(shù)據(jù)上傳。
2.2.4無線水質(zhì)監(jiān)測系統(tǒng)
分別檢測水質(zhì)的三個參數(shù)并通過雙向傳輸返回到網(wǎng)上ONENET檢測平臺。
2.3系統(tǒng)的檢測內(nèi)容
本系統(tǒng)通過三類檢測模塊組成檢測系統(tǒng)。其檢測內(nèi)容是PH值,電導(dǎo)率,溫度。表1是檢測內(nèi)容的說明。
3系統(tǒng)硬件的詳細(xì)介紹
將溫度模塊、TDs模塊、PH模塊等檢測數(shù)據(jù)通過發(fā)送模塊、接收模塊、傳輸?shù)斤@示模塊中,當(dāng)接通電源,通過顯示系統(tǒng)顯示出檢驗水質(zhì)的參數(shù)。
電路的工作原理:每個傳感器單獨為一個模塊,其通訊方式都有自己的特點。由溫度模塊通過單總線、TDs模塊通過RS232以及PH值模塊通過ADC方式得到數(shù)據(jù),然后變成了主從機(jī)之間的通信,通過程序算法,向主機(jī)發(fā)送從機(jī)信號,數(shù)據(jù)轉(zhuǎn)換和處理后,溫度值、電導(dǎo)率值以及PH值,通過液晶OLED顯示和OneNet平臺。圖l為系統(tǒng)(檢測部分)整體設(shè)計結(jié)構(gòu)圖。
3.1 STM32F103C8T6芯片的控制模塊
STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計的ARM Cortex-M3內(nèi)核。本系統(tǒng)采用了STM32F103C8T6芯片,是STM32的增強(qiáng)型子系列。廣泛用于系統(tǒng)監(jiān)控與測量等實際應(yīng)用,適合本次無線傳感器水質(zhì)監(jiān)測系統(tǒng)使用。
3.2電源模塊設(shè)計
本系統(tǒng)選擇三端穩(wěn)壓集成電路常用的LM317-5.0和LM317-3.3芯片,此芯片經(jīng)過電容濾波,此芯片輸出線性度較好的5V直流電壓來作為電源提供動力,不僅為這個系統(tǒng)中節(jié)省了資源還降低了成本。輸入12V電壓,因為芯片和溫度工作電壓為3.3V,PH值計和TDs工作電壓為5V。因此,工作電壓由12V降至SV,再由5V降至3.3V。如圖2所示。
3.3通訊模塊設(shè)計
本系統(tǒng)采用NRF24L01作為通訊模塊。NRF24L01是由NORDIC生產(chǎn)的工作在2.4GHz-2.5GHz的ISM頻段的單片無線收發(fā)器芯片。NRF具有4線SPI通訊端口,通訊速率最高可達(dá)8Mbps。其數(shù)據(jù)包每次可傳輸1~32Byte的數(shù)據(jù)。NRF24L01電路圖如圖3所示。
發(fā)射數(shù)據(jù)時,首先將母機(jī)nRF24LOl配置為發(fā)射模式:母機(jī)對子機(jī)發(fā)射信號收集的命令后,若自動應(yīng)答開啟,那么子機(jī)nRF24LOl在母機(jī)發(fā)射數(shù)據(jù)后立即進(jìn)入接收模式,接收應(yīng)答信號,即接收傳回的數(shù)據(jù)包。
接收數(shù)據(jù)時,首先將母機(jī)nRF24LOl配置為接收模式:接著延遲130Us進(jìn)入接收狀態(tài)等待數(shù)據(jù)的到來。接收數(shù)據(jù)后,若產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。若此時自動應(yīng)答開啟,接收方則同時進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號。最后接收成功時,則nRF24LOl進(jìn)入空閑模式1。因為在寫寄存器之前一定要進(jìn)入待機(jī)模式或掉電模式。
3.4傳感器模塊設(shè)計
本設(shè)計中使用了溫度、PH值、電導(dǎo)率三個檢測模塊。圖4為三個模塊的電路圖。
3.4.1溫度檢測模塊設(shè)計
DS18820數(shù)字溫度計是DALLAS公司生產(chǎn)的l-Wire,特點是線路簡單、體積小。并且其線路簡單,在一根通訊線上,可以掛許多一樣數(shù)字溫度計,使用起來十分方便。僅只用一個端口就可以實現(xiàn)通信。不需借助外部元件就可以對溫度進(jìn)行測量。
3.4.2 pH值檢測模塊設(shè)計
傳感器中的電極選為E201型pH復(fù)合電極。由pH敏感玻璃電極和銀-氯化銀參比電極復(fù)合而成,它是pH計的測量元件,用以測量水溶液中氫離子濃度的pH值。具有使用方便、易清洗、反應(yīng)快、穩(wěn)定性和重復(fù)性好、抗干擾性能強(qiáng)等特點。
3.4.3電導(dǎo)率檢測模塊設(shè)計
TDS是溶解性總固體,又稱總含鹽量,定義為水中含有各種溶解性礦物鹽類的總量,通過檢測溶解性總固體(TDS),可以分析水的總礦化度。TDS水質(zhì)檢測模塊就是一種通過測量水的電導(dǎo)率來反映水質(zhì)礦化程度。該模塊是通過測量水的電導(dǎo)率來間接的反映TDS值。水的導(dǎo)電性越好,TDS值越大。
3.5 0LED數(shù)據(jù)顯示模塊設(shè)計
OLED顯示屏使用時,通過有機(jī)電激發(fā)光二極管( OrganicLighr-EmittingDiode,OLED)。OLED數(shù)據(jù)顯示模塊在本設(shè)計中采用3.3V供電,與系統(tǒng)相匹配。SDA引腳傳輸數(shù)據(jù),SCL時序引腳。通過IIC協(xié)議向OLED發(fā)送控制指令,驅(qū)動OLED成像,實時動態(tài)變化顯示三個傳感器的采集值。
3.6功能按鍵電路
功能按鍵實現(xiàn)對無人船載體的控制以及無人船運動狀態(tài)和數(shù)據(jù)監(jiān)測狀態(tài)的切換。選擇無人船載體遙控狀態(tài)后,其中三個按鍵分別控制無人船前進(jìn)和左右運動,再按下第四個按鍵將運動狀態(tài)切換為工作狀態(tài)選擇界面。選擇傳感器數(shù)據(jù)采集狀態(tài),則傳感器工作,OLED顯示屏實時采集的數(shù)值。采用3.3V供電。原理為每一路電路,按下按鍵,電路導(dǎo)通,實現(xiàn)按鍵功能。
4軟件設(shè)計
4.1程序設(shè)計的思路和流程
本次設(shè)計采用的是KEIL4和AD軟件作為開發(fā)工具,通過C語言編寫程序。因為STM32可以調(diào)用的庫函數(shù)較多,主要編寫的程序為主程序、各傳感器還有通訊模塊部分。
以手持控制板控制系統(tǒng)工作狀態(tài)為例說明程序流程:首先,手持控制板初始化各元件。然后,開啟使能定時器1,每25ms進(jìn)行一次按鍵掃描。OLED顯示模式選擇,進(jìn)入按鍵處理函數(shù)Key_Functions。有船體遙控和數(shù)據(jù)采集兩種模式可選。當(dāng)KEY Model=l且K Check=l進(jìn)入數(shù)據(jù)采集模式,手持控制板發(fā)送6個數(shù)據(jù)包到傳感器檢測板后進(jìn)入數(shù)據(jù)接收狀態(tài),若在接收數(shù)據(jù)過程中未收到數(shù)據(jù)包則切換為發(fā)送狀態(tài)。傳感器檢測板一上電就為數(shù)據(jù)接收狀態(tài),若接收到”AA15CC”指令,則轉(zhuǎn)換為數(shù)據(jù)發(fā)送狀態(tài),采集傳感器數(shù)據(jù),并將采集到的數(shù)據(jù)發(fā)送兩次到手持控制板后,切換為數(shù)據(jù)接收狀態(tài)。當(dāng)KEY Model=5且K Check=l進(jìn)入船體控制模式,發(fā)送控制指令至傳感器檢測板。
4.2數(shù)據(jù)在OneNet平臺顯示設(shè)計
我們選擇OneNet物聯(lián)網(wǎng)平臺來作為本設(shè)計的遠(yuǎn)程數(shù)據(jù)展示平臺。通過Wi-Fi模塊和平臺建立設(shè)備連接,然后利用ESP8266進(jìn)行數(shù)據(jù)上傳。最后,通過云平臺展示采集數(shù)據(jù)。
5結(jié)束語
本設(shè)計采用C語言來編寫程序,使用STM32F3作為系統(tǒng)的核心,完成了控制、驅(qū)動、通訊和檢測的模塊設(shè)計。實現(xiàn)了在水中對水溫、PH值和渾濁度的檢測。并實現(xiàn)了無線傳感器網(wǎng)絡(luò)的通訊。最后,通過分析檢測數(shù)據(jù)得出是否符合我國湖泊水質(zhì)標(biāo)準(zhǔn),及時治理水質(zhì)污染。適用于中小型湖泊,如湖光巖水質(zhì)監(jiān)測。因其低功耗,可靠性高以及互聯(lián)網(wǎng)的普及,基于無線傳感器水質(zhì)監(jiān)測系統(tǒng)應(yīng)用越來越普遍,本文所設(shè)計的水質(zhì)檢測系統(tǒng)具有較大的應(yīng)用價值。
參考文獻(xiàn)
[1]鄒賽,劉昌明,李法平.基于無線傳感器網(wǎng)絡(luò)的水環(huán)境監(jiān)測系統(tǒng)[J].傳感器與微系統(tǒng),2010 (09):029.
[2]余威明.DS1882 0高精度多點溫度檢測顯示系統(tǒng)[J].儀表技術(shù),2 007,03: 37-39.
[3]趙麗花,樊俊青,基于無線傳感器網(wǎng)絡(luò)的水資源監(jiān)測系統(tǒng)關(guān)鍵技術(shù)研究[J]計算機(jī)與現(xiàn)代化,2008 (10).
[4]呂云峰,馬仁智,金寧,一種用于水質(zhì)監(jiān)測的WSNs節(jié)點的設(shè)計與實現(xiàn)[J],傳感器與微系統(tǒng),2011,30 (01):100-103.
[5]于海斌,曾鵬,王忠鋒,梁英,尚志軍,分布式無線傳感器網(wǎng)絡(luò)通信協(xié)議研究[J],通信學(xué)報,2 004,25 (10):102-110.