蘇繼恒 劉 翼 黨舒俊 張 旭 冉 濤
(1.綏化學院電氣工程學院 黑龍江綏化 152061;2.國網(wǎng)河南省電力公司鄭州供電公司 河南鄭州 450000;3.招商銀行股份有限公司哈爾濱分行 黑龍江哈爾濱 150010)
我國現(xiàn)階段環(huán)境數(shù)據(jù)監(jiān)測一般采用有線的數(shù)據(jù)傳輸形式,其線路投資較大,而且不利于工作人員維護,特別在面對農(nóng)村復雜多變的地理環(huán)境時,這種缺點尤為突出[1]。本裝置設計通過ZigBee技術傳輸所采集的數(shù)據(jù),其不僅克服了有線通信的缺點,還具有低功耗、成本低、可靠性高的優(yōu)點,能夠很好監(jiān)測地表環(huán)境[2]。
本裝置采用Arduino Mega2560作為下位機的核心控制器來處理溫濕度傳感器、光照傳感器、粉塵傳感器所采集到的物理量,并將其顯示ST7735S驅(qū)動的TFTLCD(薄膜晶體管液晶顯示屏)屏上,相比較于LED顯示屏還具備保護眼睛、高可靠性、不易損壞的優(yōu)點。
而ZigBee技術作為整個設計的核心,其終端以無線的方式接收以Arduino Mega2560為核心的下位機所發(fā)送的數(shù)據(jù),再打包發(fā)送至ZigBee協(xié)調(diào)器,協(xié)調(diào)器經(jīng)串口將數(shù)據(jù)發(fā)給上位機PC[3],上位機合理化解析串行數(shù)據(jù),將下位機采集的物理量保存在PC中,方便使用者通過上位機軟件分析環(huán)境物理量的變化情況。
上位機軟件采用LabVIEW作為開發(fā)工具,設計了用戶登錄界面、終端選擇界面、數(shù)據(jù)展示界面等部分。用戶登錄界面非設定的使用者不能登陸,保證了采集信息的安全;數(shù)據(jù)展示界面采用各種儀表和曲線圖顯示數(shù)據(jù),使數(shù)據(jù)簡單便于用戶理解,方便用戶的使用。此外,該界面還具有生成Excel報表的功能,方便維修調(diào)試人員對裝置進行分析。
(一)本裝置的設計目標。針對傳統(tǒng)環(huán)境監(jiān)測裝置布線繁瑣、不易擴充、功能單一等缺點,本團隊提出了一種采用無線通信方式,用于監(jiān)測環(huán)境相關物理信息的小型裝置。要求該裝置全天候自動采集所在環(huán)境的濕度、溫度、粉塵濃度、光照等4個物理信息;用戶可以通過上位機監(jiān)控軟件實時查看各個監(jiān)測裝置的信息采集情況,為用戶生產(chǎn)生活提供實時準確的環(huán)境數(shù)據(jù)。并且所有數(shù)據(jù)均可生成電子報表,用戶可以依據(jù)監(jiān)測信息,合理調(diào)整生產(chǎn)生活計劃,保證其效率的最大化。
(二)各部分方案的選擇。
1.無線通信技術的選擇。ZigBee技術是一種節(jié)點體積小、結(jié)構(gòu)簡單、低速率、低功耗的無線通信技術,底層采用的是IEEE 802.15.4協(xié)議[4]。根據(jù)不同的工作頻率,數(shù)據(jù)傳輸距離在200到1500米之間[5]。相較于Bluetooth,ZigBee更簡單、功耗及設備成本更低、長距離數(shù)據(jù)傳輸速率卻更快。而相比于2.4GHz無線通信,ZigBee技術數(shù)據(jù)傳輸方式更為多樣,傳輸頻率范圍更廣,距離也更廣。因此,本裝置的無線通信方式選取為ZigBee技術。
2.ZigBee控制核心的選擇。ZigBee的控制核心采用的是CC2530F256芯片,該芯片芯片結(jié)合了性能優(yōu)良的射頻收發(fā)器、增強型的8051單片機內(nèi)核、系統(tǒng)內(nèi)可編程閃存、8KBRAM和許多其它強大的功能于一體,因其可以滿足不同的功耗需求,而且運行模式的切換速度較快,能夠完美的實現(xiàn)數(shù)據(jù)的收發(fā)功能[6]。
3.下位機控制器的選擇。Arduino Mega2560是一塊以ATmega2560為核心的微控制器開發(fā)板,本身具有54路數(shù)字I/O端,14組可做PWM輸出,16路模擬輸入端,6路外部中斷,一個USB接口,具有256K Flash Memory,同時還有8KB SRAM和4KB EEPROM[7]。支持I2C、UART、SPI等眾多通信接口。特別適合需要多種傳感器接口和各種通信方式的裝置設計。因此,選用Arduino Mega2560為本裝置的下位機控制器。
4.傳感器的選擇。
(1)溫濕度傳感器。DHT22是一款數(shù)字式的溫濕度傳感器,包括一個電容式測濕部件和一個NTC測溫部件,采用1-Wire接口與控制器進行通信,信號輸送距離可至20米。此外該傳感器具備超快響應、抗干擾能力強、性價比極高等優(yōu)點,故本裝置用其采集多變的環(huán)境溫度和濕度。
(2)光照強度傳感器。BH1750FVI是一種光譜靈敏特性近于人體眼球的數(shù)字式光強度傳感器。其的視覺靈敏度。其輸入光范圍廣泛,受紅外線影響很小,通過自帶的降噪功能,可以實現(xiàn)穩(wěn)定的光強測量。采用I2C協(xié)議與控制器進行通信,且功耗低、抗干擾能力強,因此,用其探測較大范圍的環(huán)境光強變化。
而發(fā)生在全國各地的物流公司跑路案件也常見諸報端。河南省物流商協(xié)會的一位負責人在接受記者采訪時稱,曾是河南省重點物流建設項目的某物流園正在悄悄轉(zhuǎn)讓?!艾F(xiàn)在物流企業(yè)的日子不好過啊?!焙幽鲜∵_發(fā)物流有限公司副總經(jīng)理韓鐵強稱,物流企業(yè)的利潤已從幾年前的20%降至目前的5%左右,而物流公司越來越多,線路不全、收貨量下降,房租、人員工資一路上漲都會導致物流企業(yè)生存壓力加大?!案偁帀毫μ?,要么倒閉,要么合并,抱團取暖總比跑路強?!?/p>
(3)粉塵傳感器。DSL-03是一款數(shù)字式粉塵傳感器。內(nèi)置激光發(fā)射元件和光電接收元件,利用光散射原理,激光在粉塵顆粒上發(fā)生散射光現(xiàn)象,接收元件接受光信號,并將其轉(zhuǎn)化為電信號,再通過算法計算出粉塵濃度[8]。該傳感器采用UART通信,其波特率為9600bps。當控制器向DSL-03發(fā)送請求,傳感器應答回復后才開始傳輸數(shù)據(jù),因此,特別適用于要求數(shù)值穩(wěn)定準確、抗干擾能力強的PM2.5濃度測量。
5.上位機開發(fā)工具的選擇。本設計采用LabVIEW作為上位機軟件的開發(fā)工具。之所以采用LabVIEW,是因為LabVIEW的編程語言是圖形化編程的G語言,這樣的編程方式更加靈活方便,大大地縮短了系統(tǒng)的開發(fā)周期。同時LabVIEW又具有豐富的開發(fā)模塊和高兼容性,非常方便與下位機的結(jié)合,因此選用LabVIEW作為上位機軟件的開發(fā)工具。
(三)裝置的方案設計。如圖1所示,本裝置主要由上位機監(jiān)測軟件、ZigBee網(wǎng)絡和下位機控制器組成。ZigBee網(wǎng)絡由協(xié)調(diào)器和多個數(shù)據(jù)終端構(gòu)成,其中協(xié)調(diào)器節(jié)點主要用于組建網(wǎng)絡,終端節(jié)點主要用于接受下位機控制器所發(fā)送的數(shù)據(jù)[9]。下位機控制器負責采集環(huán)境信息,上位機負責把ZigBee網(wǎng)絡發(fā)送來的環(huán)境數(shù)據(jù)用直觀簡易的方式顯示出來,方便用戶分析。
圖1 裝置的設計方案
(一)裝置的總體硬件結(jié)構(gòu)。如圖2所示,本裝置由下位機數(shù)據(jù)處理部分、ZigBee網(wǎng)絡部分和上位機通信部分組成。下位機數(shù)據(jù)處理部分是以Arduino Mega2560為控制核心利用DHT22、BH1750FVI、DSL-03這三種不同的傳感器來獲取所在環(huán)境的濕度、溫度、光度、粉塵濃度等物理信息,再將采到的物理信息通過ZigBee網(wǎng)絡傳給上位機PC,而上位機PC則通過CH340G芯片實現(xiàn)串口轉(zhuǎn)USB的功能,進而接受ZigBee協(xié)調(diào)器中的數(shù)據(jù),以監(jiān)測所處環(huán)境的物理信息[7]。
圖2 裝置硬件結(jié)構(gòu)圖
(二)數(shù)據(jù)處理部分的硬件設計。
1.溫濕度傳感器的硬件電路。圖3所示為DHT22的電路原理圖,由于傳感器內(nèi)部含有放大和抗干擾電路,故在設計其電路圖時,只需在數(shù)據(jù)輸出引腳接一個上拉電阻,即可保證其輸出信號的可靠性。
圖3 DHT22電路原理圖
2.光照傳感器的硬件電路。圖4所示為BH1750FVI電路原理圖,由于BH1750FVI的供電電壓最大為3.6V,故選取662K3V3電壓轉(zhuǎn)化芯片,將5V電壓轉(zhuǎn)變成3.3V電壓為BH1750FVI供電,DVI為內(nèi)部寄存器的異步重制端,采用這種接法是為了保證芯片供電以后,DVI有至少1μs為低電平。而I2C端口采用上拉電阻與串聯(lián)電阻混接的方法,是為了保證3.3V與5V通信的可靠性[10]。
圖4 BH1750FVI電路原理圖
3.粉塵傳感器的硬件電路。圖5所示為粉塵傳感器的電路原理圖,由于DSL-03為集成式傳感器,不需要額外的電子原件,只需5V供電,再將傳感器的通用異步收發(fā)傳輸器引腳與下位機控制器相連即可。
圖5 DSL-03電路原理圖
(三)ZigBee控制器的硬件設計。如圖6所示,ZigBee協(xié)調(diào)器與終端電路基本相同,故不作區(qū)分,均采用CC2530F256芯片為核心的控制器電路。CC2530F256芯片包含5路DMA、基于IEEE802.5.4協(xié)議的MAC定時器和通用定時器、8路可配置分辨率的12位ADC、21個通用I/O端口、IEEE802.15.4兼容無線收發(fā)器等部分,能夠很好完成網(wǎng)絡的數(shù)據(jù)交互[10]。
圖6 ZigBee控制器電路原理圖
(四)通信部分的硬件設計。圖7所示為CH340G電路原理圖?,F(xiàn)行個人電腦已不配備COM接口,ZigBee協(xié)調(diào)器與個人電腦進行通信,可以通過串行接口轉(zhuǎn)USB電路來實現(xiàn),故本文以CH340G芯片為核心設計了串行接口轉(zhuǎn)USB電路。CH340G支持USB 2.0接口,與微軟系統(tǒng)的驅(qū)動程序完全兼容,波特率范圍是50bps~2Mbps。其電路設計十分簡單,通過晶體和電容即可完成[7]。
圖7 CH340G電路原理圖
(一)軟件程序的總體設計。圖8所示為裝置程序的總體流程圖。首先,對下位機控制器進行初始化設置;其次,檢查DHT22、BH1750FVI、DSL-03這三種不同的傳感器是否正常,如果有傳感器未響應或工作不正常,系統(tǒng)將重新設置工作參數(shù);當再次確認故障發(fā)生時,下位機控制器將信息通過ZigBee網(wǎng)絡輸送到上位機;如果系統(tǒng)正常,Arduino Mega 2560將采集溫度、適度、光照強度和粉塵濃度等物理量,統(tǒng)一處理打包后,經(jīng)ZigBee網(wǎng)絡傳輸至上位機。
圖8 裝置程序總體流程圖
(二)ZigBee數(shù)據(jù)收發(fā)子程序的設計。圖9(a)所示為ZigBee協(xié)調(diào)器子程序流程圖。首先對協(xié)調(diào)器進行初始化設置,之后開始嘗試建立網(wǎng)絡,由于本裝置采用一個協(xié)調(diào)器對應多個終端的組網(wǎng)形式,因此ZigBee模塊之間以廣播方式進行通信。在嘗試建網(wǎng)后,需要等待其他設備的反饋以檢查網(wǎng)絡的狀態(tài),若建網(wǎng)成功,則監(jiān)測上位機的命令,得到命令后嘗試與終端通信數(shù)據(jù),得到數(shù)據(jù)后通過串口發(fā)送給上位機。
圖9(a) ZigBee協(xié)調(diào)器子程序流程圖
圖9(b)所示為ZigBee終端子程序流程圖。首先對終端進行初始化設置,之后開始嘗試加入網(wǎng)絡,在嘗試入網(wǎng)后,需要等待其他設備的反饋以檢查入網(wǎng)的狀態(tài),若入網(wǎng)成功,則監(jiān)測協(xié)調(diào)器的命令,得到命令后嘗試與下位機控制器通信數(shù)據(jù),之后通過ZigBee網(wǎng)絡以無線的方式發(fā)送給協(xié)調(diào)器。
圖9(b) ZigBee終端子程序流程圖
(一)登錄界面的設計。登錄界面如圖10所示,在登錄界面中用輸入正確的用戶名和密碼后,點擊確定顯示正在登陸進度條,之后跳入終端選擇界面;如圖11所示,若輸入錯誤信息,則彈出對話框提示信息錯誤。
圖10 登錄成功
圖11 用戶名錯誤
(二)數(shù)據(jù)監(jiān)測界面的設計。用戶通過終端選擇界面點擊想要查看終端序號后,則進入數(shù)據(jù)監(jiān)測界面,如圖12所示。在選定COM接口后,可以查看裝置測量的溫濕度和光強等信息,除儀表顯示之外,粉塵濃度還支持波形顯示,利于詳細觀察。此外上位機軟件還支持數(shù)據(jù)Excel格式保存,利于用戶事后詳細分析[11]。
圖12 數(shù)據(jù)監(jiān)測界面
(一)裝置測試。為了驗證本裝置測量的溫度、濕度、光照強度、粉塵濃度的準確性,在某蔬菜溫室對本裝置進行了為期30天的實地測試。得到了如表1所示的測量效果表。實驗表明,上位機與下位機之間能夠有效地進行ZigBee無線通信來獲取環(huán)境信息數(shù)據(jù)。
表1 裝置的測量效果表
(二)誤差分析。本裝置以溫度、濕度、光照強度、粉塵濃度的準確度,以及ZigBee模塊的傳輸速率作為性能的衡量標準,經(jīng)過多次測試,發(fā)現(xiàn)上述數(shù)據(jù)與實際值相比存在部分誤差,其誤差率均在2%以下。由于本設計主要應用在農(nóng)業(yè)種植、居民庭院等對環(huán)境物理信息要求不嚴格的場景,誤差率控制2%以內(nèi)即可滿足要求,故本設計實驗誤差在允許范圍內(nèi),具體誤差產(chǎn)生的原因包括以下幾點:
1.傳感器存在零點漂移和隨機誤差的影響,短時間內(nèi)可以忽略,但長時內(nèi)會影響數(shù)據(jù)的準確度。
2.軟件上采用算術平均法雖在一定程度降低了數(shù)據(jù)誤差,但只減少了錯誤數(shù)據(jù)的比重,并沒有徹底消除,仍對精度產(chǎn)生影響。
3.在測量光照強度和粉塵濃度時,因光照傳感器安裝位置的變化和粉塵傳感器風扇的旋轉(zhuǎn)振動,也對裝置的誤差產(chǎn)生了一定影響。
4.ZigBee模塊的傳輸距離和傳輸速率之間,以及上位機接收數(shù)據(jù)的準確性間存在矛盾關系,為了確保數(shù)據(jù)的準確性,ZigBee模塊的傳輸速率與理論相比會存在的一定誤差。
本文提出的基于ZigBee技術的小型環(huán)境監(jiān)測裝置主要用于監(jiān)測溫度、濕度和光照強等物理環(huán)境信息,其ZigBee網(wǎng)絡中,單個協(xié)調(diào)器對應多個終端,協(xié)調(diào)器對各終端的采集環(huán)境信息進行收集與管理后發(fā)送至PC端,PC端通過USB轉(zhuǎn)串口的形式連接協(xié)調(diào)器,與ZigBee終端通信并獲取相關環(huán)境數(shù)據(jù),并將其顯示在通過Labview編寫的軟件上,通過上位機軟件即可遠端獲得裝置所在地的物理環(huán)境信息,從而方便用戶對當?shù)丨h(huán)境信息進行分析。