蘇繼恒 劉 翼 黨舒俊 張 旭 冉 濤
(1.綏化學院電氣工程學院 黑龍江綏化 152061;2.國網河南省電力公司鄭州供電公司 河南鄭州 450000;3.招商銀行股份有限公司哈爾濱分行 黑龍江哈爾濱 150010)
我國現階段環境數據監測一般采用有線的數據傳輸形式,其線路投資較大,而且不利于工作人員維護,特別在面對農村復雜多變的地理環境時,這種缺點尤為突出[1]。本裝置設計通過ZigBee技術傳輸所采集的數據,其不僅克服了有線通信的缺點,還具有低功耗、成本低、可靠性高的優點,能夠很好監測地表環境[2]。
本裝置采用Arduino Mega2560作為下位機的核心控制器來處理溫濕度傳感器、光照傳感器、粉塵傳感器所采集到的物理量,并將其顯示ST7735S驅動的TFTLCD(薄膜晶體管液晶顯示屏)屏上,相比較于LED顯示屏還具備保護眼睛、高可靠性、不易損壞的優點。
而ZigBee技術作為整個設計的核心,其終端以無線的方式接收以Arduino Mega2560為核心的下位機所發送的數據,再打包發送至ZigBee協調器,協調器經串口將數據發給上位機PC[3],上位機合理化解析串行數據,將下位機采集的物理量保存在PC中,方便使用者通過上位機軟件分析環境物理量的變化情況。
上位機軟件采用LabVIEW作為開發工具,設計了用戶登錄界面、終端選擇界面、數據展示界面等部分。用戶登錄界面非設定的使用者不能登陸,保證了采集信息的安全;數據展示界面采用各種儀表和曲線圖顯示數據,使數據簡單便于用戶理解,方便用戶的使用。此外,該界面還具有生成Excel報表的功能,方便維修調試人員對裝置進行分析。
(一)本裝置的設計目標。針對傳統環境監測裝置布線繁瑣、不易擴充、功能單一等缺點,本團隊提出了一種采用無線通信方式,用于監測環境相關物理信息的小型裝置。要求該裝置全天候自動采集所在環境的濕度、溫度、粉塵濃度、光照等4個物理信息;用戶可以通過上位機監控軟件實時查看各個監測裝置的信息采集情況,為用戶生產生活提供實時準確的環境數據。并且所有數據均可生成電子報表,用戶可以依據監測信息,合理調整生產生活計劃,保證其效率的最大化。
(二)各部分方案的選擇。
1.無線通信技術的選擇。ZigBee技術是一種節點體積小、結構簡單、低速率、低功耗的無線通信技術,底層采用的是IEEE 802.15.4協議[4]。根據不同的工作頻率,數據傳輸距離在200到1500米之間[5]。相較于Bluetooth,ZigBee更簡單、功耗及設備成本更低、長距離數據傳輸速率卻更快。而相比于2.4GHz無線通信,ZigBee技術數據傳輸方式更為多樣,傳輸頻率范圍更廣,距離也更廣。因此,本裝置的無線通信方式選取為ZigBee技術。
2.ZigBee控制核心的選擇。ZigBee的控制核心采用的是CC2530F256芯片,該芯片芯片結合了性能優良的射頻收發器、增強型的8051單片機內核、系統內可編程閃存、8KBRAM和許多其它強大的功能于一體,因其可以滿足不同的功耗需求,而且運行模式的切換速度較快,能夠完美的實現數據的收發功能[6]。
3.下位機控制器的選擇。Arduino Mega2560是一塊以ATmega2560為核心的微控制器開發板,本身具有54路數字I/O端,14組可做PWM輸出,16路模擬輸入端,6路外部中斷,一個USB接口,具有256K Flash Memory,同時還有8KB SRAM和4KB EEPROM[7]。支持I2C、UART、SPI等眾多通信接口。特別適合需要多種傳感器接口和各種通信方式的裝置設計。因此,選用Arduino Mega2560為本裝置的下位機控制器。
4.傳感器的選擇。
(1)溫濕度傳感器。DHT22是一款數字式的溫濕度傳感器,包括一個電容式測濕部件和一個NTC測溫部件,采用1-Wire接口與控制器進行通信,信號輸送距離可至20米。此外該傳感器具備超快響應、抗干擾能力強、性價比極高等優點,故本裝置用其采集多變的環境溫度和濕度。
(2)光照強度傳感器。BH1750FVI是一種光譜靈敏特性近于人體眼球的數字式光強度傳感器。其的視覺靈敏度。其輸入光范圍廣泛,受紅外線影響很小,通過自帶的降噪功能,可以實現穩定的光強測量。采用I2C協議與控制器進行通信,且功耗低、抗干擾能力強,因此,用其探測較大范圍的環境光強變化。
而發生在全國各地的物流公司跑路案件也常見諸報端。河南省物流商協會的一位負責人在接受記者采訪時稱,曾是河南省重點物流建設項目的某物流園正在悄悄轉讓。“現在物流企業的日子不好過啊。”河南省達發物流有限公司副總經理韓鐵強稱,物流企業的利潤已從幾年前的20%降至目前的5%左右,而物流公司越來越多,線路不全、收貨量下降,房租、人員工資一路上漲都會導致物流企業生存壓力加大。“競爭壓力太大,要么倒閉,要么合并,抱團取暖總比跑路強。”
(3)粉塵傳感器。DSL-03是一款數字式粉塵傳感器。內置激光發射元件和光電接收元件,利用光散射原理,激光在粉塵顆粒上發生散射光現象,接收元件接受光信號,并將其轉化為電信號,再通過算法計算出粉塵濃度[8]。該傳感器采用UART通信,其波特率為9600bps。當控制器向DSL-03發送請求,傳感器應答回復后才開始傳輸數據,因此,特別適用于要求數值穩定準確、抗干擾能力強的PM2.5濃度測量。
5.上位機開發工具的選擇。本設計采用LabVIEW作為上位機軟件的開發工具。之所以采用LabVIEW,是因為LabVIEW的編程語言是圖形化編程的G語言,這樣的編程方式更加靈活方便,大大地縮短了系統的開發周期。同時LabVIEW又具有豐富的開發模塊和高兼容性,非常方便與下位機的結合,因此選用LabVIEW作為上位機軟件的開發工具。
(三)裝置的方案設計。如圖1所示,本裝置主要由上位機監測軟件、ZigBee網絡和下位機控制器組成。ZigBee網絡由協調器和多個數據終端構成,其中協調器節點主要用于組建網絡,終端節點主要用于接受下位機控制器所發送的數據[9]。下位機控制器負責采集環境信息,上位機負責把ZigBee網絡發送來的環境數據用直觀簡易的方式顯示出來,方便用戶分析。

圖1 裝置的設計方案
(一)裝置的總體硬件結構。如圖2所示,本裝置由下位機數據處理部分、ZigBee網絡部分和上位機通信部分組成。下位機數據處理部分是以Arduino Mega2560為控制核心利用DHT22、BH1750FVI、DSL-03這三種不同的傳感器來獲取所在環境的濕度、溫度、光度、粉塵濃度等物理信息,再將采到的物理信息通過ZigBee網絡傳給上位機PC,而上位機PC則通過CH340G芯片實現串口轉USB的功能,進而接受ZigBee協調器中的數據,以監測所處環境的物理信息[7]。

圖2 裝置硬件結構圖
(二)數據處理部分的硬件設計。
1.溫濕度傳感器的硬件電路。圖3所示為DHT22的電路原理圖,由于傳感器內部含有放大和抗干擾電路,故在設計其電路圖時,只需在數據輸出引腳接一個上拉電阻,即可保證其輸出信號的可靠性。

圖3 DHT22電路原理圖
2.光照傳感器的硬件電路。圖4所示為BH1750FVI電路原理圖,由于BH1750FVI的供電電壓最大為3.6V,故選取662K3V3電壓轉化芯片,將5V電壓轉變成3.3V電壓為BH1750FVI供電,DVI為內部寄存器的異步重制端,采用這種接法是為了保證芯片供電以后,DVI有至少1μs為低電平。而I2C端口采用上拉電阻與串聯電阻混接的方法,是為了保證3.3V與5V通信的可靠性[10]。

圖4 BH1750FVI電路原理圖
3.粉塵傳感器的硬件電路。圖5所示為粉塵傳感器的電路原理圖,由于DSL-03為集成式傳感器,不需要額外的電子原件,只需5V供電,再將傳感器的通用異步收發傳輸器引腳與下位機控制器相連即可。

圖5 DSL-03電路原理圖
(三)ZigBee控制器的硬件設計。如圖6所示,ZigBee協調器與終端電路基本相同,故不作區分,均采用CC2530F256芯片為核心的控制器電路。CC2530F256芯片包含5路DMA、基于IEEE802.5.4協議的MAC定時器和通用定時器、8路可配置分辨率的12位ADC、21個通用I/O端口、IEEE802.15.4兼容無線收發器等部分,能夠很好完成網絡的數據交互[10]。

圖6 ZigBee控制器電路原理圖
(四)通信部分的硬件設計。圖7所示為CH340G電路原理圖。現行個人電腦已不配備COM接口,ZigBee協調器與個人電腦進行通信,可以通過串行接口轉USB電路來實現,故本文以CH340G芯片為核心設計了串行接口轉USB電路。CH340G支持USB 2.0接口,與微軟系統的驅動程序完全兼容,波特率范圍是50bps~2Mbps。其電路設計十分簡單,通過晶體和電容即可完成[7]。

圖7 CH340G電路原理圖
(一)軟件程序的總體設計。圖8所示為裝置程序的總體流程圖。首先,對下位機控制器進行初始化設置;其次,檢查DHT22、BH1750FVI、DSL-03這三種不同的傳感器是否正常,如果有傳感器未響應或工作不正常,系統將重新設置工作參數;當再次確認故障發生時,下位機控制器將信息通過ZigBee網絡輸送到上位機;如果系統正常,Arduino Mega 2560將采集溫度、適度、光照強度和粉塵濃度等物理量,統一處理打包后,經ZigBee網絡傳輸至上位機。

圖8 裝置程序總體流程圖
(二)ZigBee數據收發子程序的設計。圖9(a)所示為ZigBee協調器子程序流程圖。首先對協調器進行初始化設置,之后開始嘗試建立網絡,由于本裝置采用一個協調器對應多個終端的組網形式,因此ZigBee模塊之間以廣播方式進行通信。在嘗試建網后,需要等待其他設備的反饋以檢查網絡的狀態,若建網成功,則監測上位機的命令,得到命令后嘗試與終端通信數據,得到數據后通過串口發送給上位機。

圖9(a) ZigBee協調器子程序流程圖
圖9(b)所示為ZigBee終端子程序流程圖。首先對終端進行初始化設置,之后開始嘗試加入網絡,在嘗試入網后,需要等待其他設備的反饋以檢查入網的狀態,若入網成功,則監測協調器的命令,得到命令后嘗試與下位機控制器通信數據,之后通過ZigBee網絡以無線的方式發送給協調器。

圖9(b) ZigBee終端子程序流程圖
(一)登錄界面的設計。登錄界面如圖10所示,在登錄界面中用輸入正確的用戶名和密碼后,點擊確定顯示正在登陸進度條,之后跳入終端選擇界面;如圖11所示,若輸入錯誤信息,則彈出對話框提示信息錯誤。

圖10 登錄成功

圖11 用戶名錯誤
(二)數據監測界面的設計。用戶通過終端選擇界面點擊想要查看終端序號后,則進入數據監測界面,如圖12所示。在選定COM接口后,可以查看裝置測量的溫濕度和光強等信息,除儀表顯示之外,粉塵濃度還支持波形顯示,利于詳細觀察。此外上位機軟件還支持數據Excel格式保存,利于用戶事后詳細分析[11]。

圖12 數據監測界面
(一)裝置測試。為了驗證本裝置測量的溫度、濕度、光照強度、粉塵濃度的準確性,在某蔬菜溫室對本裝置進行了為期30天的實地測試。得到了如表1所示的測量效果表。實驗表明,上位機與下位機之間能夠有效地進行ZigBee無線通信來獲取環境信息數據。

表1 裝置的測量效果表
(二)誤差分析。本裝置以溫度、濕度、光照強度、粉塵濃度的準確度,以及ZigBee模塊的傳輸速率作為性能的衡量標準,經過多次測試,發現上述數據與實際值相比存在部分誤差,其誤差率均在2%以下。由于本設計主要應用在農業種植、居民庭院等對環境物理信息要求不嚴格的場景,誤差率控制2%以內即可滿足要求,故本設計實驗誤差在允許范圍內,具體誤差產生的原因包括以下幾點:
1.傳感器存在零點漂移和隨機誤差的影響,短時間內可以忽略,但長時內會影響數據的準確度。
2.軟件上采用算術平均法雖在一定程度降低了數據誤差,但只減少了錯誤數據的比重,并沒有徹底消除,仍對精度產生影響。
3.在測量光照強度和粉塵濃度時,因光照傳感器安裝位置的變化和粉塵傳感器風扇的旋轉振動,也對裝置的誤差產生了一定影響。
4.ZigBee模塊的傳輸距離和傳輸速率之間,以及上位機接收數據的準確性間存在矛盾關系,為了確保數據的準確性,ZigBee模塊的傳輸速率與理論相比會存在的一定誤差。
本文提出的基于ZigBee技術的小型環境監測裝置主要用于監測溫度、濕度和光照強等物理環境信息,其ZigBee網絡中,單個協調器對應多個終端,協調器對各終端的采集環境信息進行收集與管理后發送至PC端,PC端通過USB轉串口的形式連接協調器,與ZigBee終端通信并獲取相關環境數據,并將其顯示在通過Labview編寫的軟件上,通過上位機軟件即可遠端獲得裝置所在地的物理環境信息,從而方便用戶對當地環境信息進行分析。