王思南,徐國保,黃清文,陸國富,李廣泰,潘啟潤
(廣東海洋大學電子與信息工程學院,湛江524088)
隨著我國科學的進步與發(fā)展,人們的生活水平不斷提高,對水質的要求也越來越高。但由于人類活動的頻繁,導致水土嚴重流失、水源也被污染,河水的成分也變得越來越復雜,水質中的有害成分也相應增多,飲用水的處理難度也越來越大。所以水污染問題日漸成為影響我國經(jīng)濟社會發(fā)展的重要因素。
對于環(huán)境治理來說,水質監(jiān)控具有十分重要的意義。我們可以通過水質監(jiān)控節(jié)點得到詳細的水質數(shù)據(jù),確定該地區(qū)河水中污染物的分布情況,從而可以確定出污染的來源、污染的路徑、消長規(guī)律等,進而確定出水中污染物的變化規(guī)律,并分析出污染的原因,再評價出該污染對周圍環(huán)境和人員的影響,從而對該污染源進行相應的預防和治理[1]。
隨著無線傳感器網(wǎng)絡技術的日益完善,其應用領域也在不斷擴大。無線傳感器網(wǎng)絡(WSNs)是由大量的監(jiān)控節(jié)點構成一個適合人們使用的自治網(wǎng)絡系統(tǒng),是可以依據(jù)當時的環(huán)境來自主完成各種各樣的監(jiān)測任務的“智能”系統(tǒng)[2-3]。本文研究主要實現(xiàn)了基于ZigBee無線通信協(xié)議和STM32的多點水質在線監(jiān)測系統(tǒng),構建了ZigBee子網(wǎng)通訊模塊、STM32數(shù)據(jù)處理模塊以及上位機人機交互界面三層架構的在線監(jiān)測框架。該系統(tǒng)的作用是實現(xiàn)對監(jiān)控水域的遠程監(jiān)控,和有線監(jiān)控系統(tǒng)相比其節(jié)約大量的監(jiān)控成本,具有十分高的通用性和實用性。
該系統(tǒng)主要分為四個部分包括水質監(jiān)測節(jié)點、Zig?Bee組網(wǎng)、無線數(shù)據(jù)傳輸模塊、遠程監(jiān)控中心。每個水質監(jiān)測節(jié)點都是以STM32單片機作為最小系統(tǒng)并在其安裝多個傳感器模塊進行采集水溫、太陽能電池電壓、水質pH值、水的濁度等水質環(huán)境數(shù)據(jù),并且這些節(jié)點皆以太陽能電池板和鋰電池雙重供電,以保證系統(tǒng)的正常工作。然后通過ZigBee將每個節(jié)點組成一個網(wǎng)絡,將每個節(jié)點的數(shù)據(jù)匯總到其中一個具有GPRS模塊的主節(jié)點上,然后再通過該節(jié)點連接服務器來進行數(shù)據(jù)的發(fā)送,電腦上位機進行下載數(shù)據(jù)最后呈現(xiàn)在監(jiān)測者面前,并且數(shù)據(jù)能夠隨時或自動保存在電腦上。在上位機上,我們隨時可以通過發(fā)送特定的指令來獲取任意一個節(jié)點的水質數(shù)據(jù),通過上位機也可以設置每個節(jié)點定時發(fā)送數(shù)據(jù)。除此之外,本系統(tǒng)主節(jié)點可以定時檢查是否有節(jié)點出現(xiàn)故障并能及時反饋數(shù)據(jù)到上位機,系統(tǒng)總體框架圖如圖1所示。
圖1 總體設計框圖
該水質監(jiān)控系統(tǒng)的硬件設計主要由微處理器模塊、數(shù)據(jù)采集模塊、ZigBee無線通信模塊、GPRS模塊、太陽能供電模塊組成。其中各種傳感器的選擇都是依據(jù)低功耗、綠色、體積小的原則去選擇的。
溫度傳感器采用的是不銹鋼封裝、防水型的DS18B20傳感器。該傳感器測量的溫度范圍是-55°C~+125°C。當溫度在-10°C~+85°C 時,精度是±0.5°C。通常情況下,監(jiān)測環(huán)境的溫度我們都是以“一線總線”的數(shù)字方式進行傳輸?shù)?。這樣做的目的是提高系統(tǒng)抗干擾能力。為了防止短路,防水防潮,DS18B20溫度傳感器的芯片每個引腳都用熱縮管隔開,內部還封了膠。綜上所述,該款傳感器十分適合水質環(huán)境的溫度測量。DS18B20溫度傳感器的單總線復位時序圖如圖2所示。
圖2 DS18B20單總線復位時序圖
pH值的檢測主要采用的是pH傳感器模塊。該款傳感器模塊的工作電壓在5±0.2V,檢測的pH值濃度范圍是0-14。pH值檢測的原理主要是將測量電極與參比電極制造成一個整體,測量電極是玻璃電極,而銀氯則化為參比電極。由于被測液體的離子濃度變化會導致測量電極的電位變化,而參比電極的離子濃度是不會變的,所以電位恒定。根據(jù)能斯特方程[4],我們知道測量極電位、參比電極電位和被測液體pH值之間滿足以下公式:
其中:Ex表示的是復合電極電位(mV),E0表示的是標準電極電位(mV),R表示的是氣體常數(shù),T表示的是開氏絕對溫度,F(xiàn)表示的是法拉弟常數(shù)。
所以,我們可以通過STM32單片機獲取pH電極的輸出信號,然后通過上述公式,將這個輸出信號轉換成對應的pH值。
濁度傳感器主要是利用光學原理,通過液體溶液中的透光率和散射率來綜合判斷濁度情況,因為濁度值是一個漸變量,所以在動態(tài)環(huán)境下進行檢測時,傳感器采集的濁度值需要外接控制進行AD轉換,換算得到對應環(huán)境下的濁度情況。由于其帶有防水探頭,所以十分適合于水質環(huán)境的濁度檢測。
電壓采集使用STM32自帶的ADC模塊,STM32擁有 1~3個 ADC(STM32F101/102系列只有 1個ADC),STM32提供的ADC除了可以獨立使用外,還可以使用雙重模式(提高采樣率)。它除了具有18個通道外,還具有16個可測量的外部信號源和2個內部信號源。A/D轉換器具有幾種工作模式,分別是單次模式、連續(xù)模式、掃描模式或間斷模式。數(shù)據(jù)經(jīng)過ADC轉換后的結果可以通過左對齊或右對齊的方式存儲在16位的數(shù)據(jù)寄存器中。我們通過模擬看門狗的特性,允許應用程序檢測輸入的電壓是否超出用戶定義的高/低閾值。采集的電壓比較精準,同時STM32可以對采集到的各個數(shù)據(jù)進行處理,上傳到上位機[5]。
該系統(tǒng)的數(shù)據(jù)處理使用的是STM32F103系列的32位ARM微控制器。這系列芯片都是意法半導體(ST)公司生產(chǎn)的,其搭載的內核是Cortex-M34。該系列芯片的應用很廣,價格低廉,功能強大,安全性較高。同時該芯片還可以工作在低功耗或者睡眠模式,此時的功耗很低,很適合使用在間接傳輸數(shù)據(jù)。
STM32F103系列的芯片,它無需操作系統(tǒng),也可以像單片機一樣使用Keil C語言進行編程,極大地減少了開發(fā)者的工作量[7]。STM32F103系列的芯片工作頻率為72MHz,里面含有1個高速存儲器(高達128K字節(jié)的Flashmemory和20K字節(jié)的SRAM),豐富的I/O端口和連接到兩條APB總線的外設。最重要的是,該處理器還含有十分充足的資源,如ADC模塊、通用定時器、PWM定時器,還含有各種各樣的通信接口:如I2C、SPI、USART、USB和CAN 總線。這些資源使得該處理器可以應用在多個領域,如電機驅動、監(jiān)控系統(tǒng),等等。
ZigBee無線通信模塊采用的是DL-20無線串口透傳模塊。該模塊選用的射頻芯片是由TI公司生產(chǎn)的符合ZigBee標準協(xié)議的射頻芯片——CC2530,其不僅兼容2.4 GHz IEEE802.15.4的通訊協(xié)議,還支持Zig?Bee PRO網(wǎng)絡協(xié)議棧。我們之所以選擇這款射頻芯片的原因是:第一,它的頻段是一個全球通用的頻段;第二,這款無線傳輸模塊的頻段好,而且數(shù)據(jù)傳輸?shù)乃俣缺容^快;第三,其還允許系統(tǒng)的共存;第四,該款無線傳輸模塊的天線體積比較小,具有硬件體積小的優(yōu)勢,還滿足了一些特殊設備對狹小空間的要求。因此這芯片十分適合用作水質監(jiān)測的ZigBee無線通信模塊。組網(wǎng)的流程如圖3所示。
圖3 組網(wǎng)圖
水質監(jiān)測節(jié)點和上位機的交互主要使用的是GPRSA6模塊。該模塊的工作電壓在3.3V-4.2V之間,支持GSM/GPRS的四個頻段,包括850,900,1800,1900MHz。只要在有GPRS網(wǎng)絡的地方都能進行通訊,所以通訊距離能達到很遠。而且其尺寸小、功耗低、工作范圍廣,所以十分適合用于水質檢測。數(shù)據(jù)采集及發(fā)送的流程圖如圖4所示。
由于我們的監(jiān)控節(jié)點一般在水面上,有線供電傳輸是不太可能的,而只使用鋰電池的話,更換電池時又浪費大量的人力物力。所以我們使用了太陽能電池板和鋰電池雙重供電的方法。
太陽光照耀大地時,沒有地域的限制,無論陸地或海洋,都處處皆有。太陽能是很好的能源供給模塊,由太陽能電池板、充放電控制器、鋰電池組成。太陽能供電模塊能很好地為系統(tǒng)提供能源,通過鋰電池的充放電可以讓系統(tǒng)在晚上或者陰天也能夠正常的工作。供電模塊如圖5所示:
圖4 采集數(shù)據(jù)并發(fā)送流程圖
圖5 太陽能供電模塊的結構
上位機的設計主要通過圖形化的編程系統(tǒng),設計者可以輕松的組建監(jiān)控系統(tǒng),構建良好的人際交互界面。開發(fā)維護較為方便,簡化程序設計。而且可以輕松的保存所有的數(shù)據(jù)在電腦上,以便隨時調用出來。水質環(huán)境監(jiān)控系統(tǒng)主要對終端監(jiān)控節(jié)點進行手動或自動的控制。例如,上位機可以發(fā)送指定指令隨時獲得任意一個節(jié)點的水質數(shù)據(jù),也可以通過上位機設置每個節(jié)點定時發(fā)送數(shù)據(jù)。運行監(jiān)控軟件的主機,需要固定的IP地址或者能夠進行動態(tài)域名解析到固定域。圖6是上位機的界面圖。通過上位機還可以輕松的查看一整天的數(shù)據(jù)波形,對水質環(huán)境進行分析。
圖6 上位機界面圖
本系統(tǒng)設計是基于STM32芯片和ZigBee無線傳感網(wǎng)絡為底層節(jié)點,通過GPRS無線通信模塊和上位機進行信息的交流,最終形成一個功能十分強大的水質環(huán)境監(jiān)控系統(tǒng)。這款監(jiān)控系統(tǒng)可以通過底層的終端節(jié)點,來監(jiān)測水質的pH值、水質的濁度和水的溫度等的水質監(jiān)測數(shù)據(jù)。我們可以通過這些水質數(shù)據(jù),進行相關的行動與措施。這樣可以減少工作人員的工作量,提高工作效率,合理地利用資源。通過測試,我們的這款水質監(jiān)測軟件,其操作界面簡單、功能齊全、成本低,具有極高的應用價值。