王 樂,王廣龍,喬中濤,高鳳岐
(軍械工程學(xué)院納米技術(shù)與微系統(tǒng)實驗室,石家莊 050003)
基于ZigBee的特種裝備貯運狀態(tài)監(jiān)測系統(tǒng)設(shè)計
王 樂,王廣龍,喬中濤,高鳳岐
(軍械工程學(xué)院納米技術(shù)與微系統(tǒng)實驗室,石家莊 050003)
設(shè)計了一種基于ZigBee技術(shù)的實時貯運狀態(tài)監(jiān)測系統(tǒng);系統(tǒng)通過MEMS傳感器實現(xiàn)特種裝備貯運狀態(tài)的采集,采用CC2530模塊實現(xiàn)數(shù)據(jù)的無線傳輸,以ARM微處理器STM32F407為核心實現(xiàn)數(shù)據(jù)的實時存儲、分析與顯示,并應(yīng)用數(shù)字濾波算法對數(shù)據(jù)進行濾波處理,提高了檢測數(shù)據(jù)的精確度;系統(tǒng)測試結(jié)果表明該系統(tǒng)對于節(jié)點信息的采集和無線傳輸具有較高的可靠性和穩(wěn)定性,具有推廣應(yīng)用價值。
ZigBee技術(shù);特種裝備;監(jiān)測系統(tǒng);無線傳感器網(wǎng)絡(luò)
特種裝備是集機械、電子、光學(xué)、計算機等多種先進技術(shù)于一體的高科技精密設(shè)備,如何對它進行維護保養(yǎng)并保持良好狀態(tài)是保持其性能的重要內(nèi)容。裝備在貯運過程中,倉庫的溫濕度變化,運輸過程中受到的振動、沖擊,搬運過程中出現(xiàn)的跌落等情況,有可能造成其內(nèi)部結(jié)構(gòu)變化或損壞甚至報廢。因此,研究并監(jiān)測其貯運過程中的狀態(tài)信息變化對保障其性能具有重要的理論意義和實用價值?,F(xiàn)有的裝備貯運監(jiān)測系統(tǒng)普遍采用有線連接方式,存在實時性差、成本高、布線、安裝、維護困難等問題[1]。ZigBee是基于IEEE802.15.4標準的低功耗局域網(wǎng)協(xié)議,是一種短距離、低復(fù)雜度、低功耗的無線通信技術(shù)[2],可以與傳感器技術(shù)、微電子制造技術(shù)、嵌入式技術(shù)、控制技術(shù)結(jié)合,建立無線傳感網(wǎng)絡(luò),適用于自動控制和遠程控制領(lǐng)域,使監(jiān)測人員擺脫復(fù)雜的布線,遠離具有一定危險性的監(jiān)測場所。本文基于ZigBee無線傳感網(wǎng)絡(luò),采用CC2530和ARM微處理器設(shè)計了裝備貯運狀態(tài)監(jiān)測系統(tǒng),實現(xiàn)了對裝備貯運過程中溫度、濕度、光照強度、壓強等狀態(tài)信息的采集,并及時推送預(yù)警信息,通過繼電器控制設(shè)備調(diào)節(jié)貯運環(huán)境,有效地實施對特種裝備的健康狀態(tài)監(jiān)測。
本系統(tǒng)主要由上位機、便攜式監(jiān)控終端和無線監(jiān)測節(jié)點三部分組成。首先,帶有各種傳感器的監(jiān)測節(jié)點將采集的溫濕度、壓力、加速度、光照等信息,通過ZigBee網(wǎng)絡(luò)發(fā)送到監(jiān)控終端中的協(xié)調(diào)器。然后,協(xié)調(diào)器通過串口將采集信息發(fā)送至ARM主控器,主控器通過對收到的數(shù)據(jù)信息進行存儲、分析將各個節(jié)點的信息在OLED屏上顯示。當(dāng)監(jiān)測節(jié)點采集到的數(shù)據(jù)超過警戒值時,監(jiān)控終端會驅(qū)動蜂鳴器報警,并根據(jù)程序設(shè)定發(fā)送控制命令到監(jiān)測節(jié)點。監(jiān)測節(jié)點根據(jù)控制指令,通過繼電器控制開關(guān)實現(xiàn)對風(fēng)機、空調(diào)、電動遮光簾等設(shè)備的控制。最后,監(jiān)控終端通過GPRS或串口將數(shù)據(jù)信息發(fā)送至上位機,上位機通過建立狀態(tài)監(jiān)測信息庫,對監(jiān)控終端采集的信息進行存儲和分類管理,并將各個監(jiān)測節(jié)點的狀態(tài)信息實時顯示,系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
2.1 無線通信模塊設(shè)計
無線通信模塊的核心芯片采用TI公司在2.4 GHz頻段推出的支持IEEE 802.15.4/ZigBee協(xié)議的CC2530芯片。其內(nèi)部集成了2.4 GHz直接序列擴頻RF收發(fā)器、增強型8051 MCU內(nèi)核、256KB FLASHROM和8 KB RAM、2個USART接口、12位分辨率A/D轉(zhuǎn)換器;硬件支持CSMA/CA、數(shù)字化的接收信號強度指示RSSI/鏈路質(zhì)量指示LQI和強大的DMA功能;可支持5種工作模式,能較好地滿足低功耗系統(tǒng)的要求[3]。
為了擴展通信距離,本系統(tǒng)采用CC2591作為射頻放大前端,它集成了PA功率放大器、LNA低噪聲放大器、開關(guān)、電感器、平衡非平衡轉(zhuǎn)換器(balun)、射頻網(wǎng)絡(luò)匹配電路等模塊,不僅可以提高發(fā)射功率,還能夠改善接收機的靈敏度,從而延長其通信距離,擴展后組網(wǎng)距離可達1 km以上。
CC2591只需要與CC2530的5個引腳相連就能工作,將CC2591的RF_P、RF_N分別與CC2530的RF_P、RF_N引腳相連,CC2591的HGM、EN、PA_EN引腳連接到CC2530的I/O端口P1_1、P1_4、P0_7[4]。CC2530通過控制HGM、EN、PA_EN引腳來控制CC2591的工作模式。
本系 統(tǒng)中STM32F407 與CC2530通信 模塊 采用 異步UART模式,通過USART0串行通信接口,無需進行電平轉(zhuǎn)換,只需使用(RXD、TXD)2根線來實現(xiàn)ZigBee模塊和單片機的通信。
2.2 便攜式監(jiān)控終端
便攜式監(jiān)控終端采用ARM微處理器STM32F407VGT6為主控器,芯片內(nèi)置FLASH存儲器和SRAM高速存儲器;提供3個12位ADC,2個DAC,12個通用16位定時器[5-6];并提供豐富的通信接口,包括3個I2C接口,3個SPI接口,4個USART,2個UART和2個CAN總線接口等,供電電壓在1.8~3.6 V,是典型的低功耗芯片,因而非常適用于電池供電的移動場合。
監(jiān)控終端除了主控芯片外,還集成了EEPROM、SD卡、北斗/GPRS、電源電路、JTAG、ZigBee、USB和RS232等模塊,并為矩陣鍵盤、OLED液晶屏提供了接口,監(jiān)測終端硬件結(jié)構(gòu)如圖2所示。
圖2 監(jiān)測終端硬件結(jié)構(gòu)圖
2.3 無線監(jiān)測節(jié)點硬件設(shè)計
無線監(jiān)測節(jié)點采用CC2530作為核心處理器進行設(shè)計,該芯片提供了豐富的I/O接口,并集成了JTAG接口方便程序的下載與調(diào)試,RS232串口和USB接口方便上位機讀取串口數(shù)據(jù),主要負責(zé)傳感器數(shù)據(jù)采集、數(shù)據(jù)簡單處理、數(shù)據(jù)無線傳輸和繼電器控制等功能。CC2530處理器先把采集的數(shù)據(jù)信號進行A/D轉(zhuǎn)換,然后經(jīng)MCU處理后,通過CC2591功放芯片發(fā)給協(xié)調(diào)器節(jié)點,監(jiān)測節(jié)點硬件結(jié)構(gòu)如圖3所示。
圖3 監(jiān)測節(jié)點硬件結(jié)構(gòu)圖
由于儲運集裝箱較多,空間狹小,布線不方便,所以監(jiān)測節(jié)點采用2節(jié)1.5 V干電池供電。為了降低監(jiān)測節(jié)點的功耗,監(jiān)測節(jié)點大部分時間處于休眠狀態(tài),由監(jiān)控終端定時發(fā)送采集指令,使其進入工作模式,在完成信息采集、繼電器控制及數(shù)據(jù)發(fā)送等工作后,再次進入休眠狀態(tài)。
根據(jù)系統(tǒng)低功耗的要求,系統(tǒng)均選用體積小、功耗低、靈敏度和精度高的MEMS傳感器。用到的幾種主要的傳感器型號及其技術(shù)指標如表1所示。
表1 傳感器選型及其主要技術(shù)指標
本系統(tǒng)軟件主要分為上位機軟件設(shè)計、便攜式監(jiān)控終端軟件設(shè)計和無線監(jiān)測節(jié)點軟件設(shè)計。其中,監(jiān)控終端的軟件設(shè)計分為兩部分,一部分基于TI公司的ZigBee 2007 PRO協(xié)議棧Z-Stack-CC2530-2.5.1a設(shè)計,實現(xiàn)ZigBee無線網(wǎng)絡(luò)的建立、維護和數(shù)據(jù)的收發(fā);另一部分在ARM編程軟件Keil μVision4開發(fā)環(huán)境下,結(jié)合STM32F4標準外設(shè)庫(CMSIS)采用C語言進行編寫,實現(xiàn)采集數(shù)據(jù)的存儲、處理、分析與顯示等功能。無線監(jiān)測節(jié)點主要實現(xiàn)傳感器數(shù)據(jù)的采集、繼電器的控制和數(shù)據(jù)的發(fā)送,這部分軟件基于Z-Stack協(xié)議棧編寫并加入了傳感器驅(qū)動程序。
Z-Stack協(xié)議棧中提供了一個名為操作系統(tǒng)抽象層OSAL的協(xié)議棧調(diào)度程序,協(xié)議棧操作的具體實現(xiàn)細節(jié)都被封裝在庫代碼中。編程時只需根據(jù)系統(tǒng)需求,編寫特定的傳感器驅(qū)動文件,應(yīng)用層代碼通過調(diào)用API接口即可,無需編寫底層驅(qū)動部分[7-8]。
3.1 便攜式監(jiān)控終端軟件設(shè)計
監(jiān)控終端軟件流程如圖4所示,其工作流程如下:
1)首先進行硬件初始化,包括Systick時鐘、I/O、URAT串口、無線驅(qū)動模塊、SPI串口,OLED屏、矩陣鍵盤、FLASH存儲器等。
2)ZigBee模塊通過調(diào)用osal_init_system()初始化操作系統(tǒng),調(diào)用osal_Start_system()啟動操作系統(tǒng),在函數(shù)MT_UartInit()中進行串口初始化,配置串口號、波特率、流控、CRC校驗位等。并在MT_UartRegister TaskID()中登記任務(wù)號。
3)協(xié)調(diào)器根據(jù)DEFAULT_CHANLIST掃描指定信道,并選擇邏輯信道,設(shè)置網(wǎng)絡(luò)PAN_ID(由ZDAPP_CONFIG _PAN_ID指定),調(diào)用NLME_Network_Formation.Request()建立ZigBee網(wǎng)絡(luò),協(xié)調(diào)器自動進入允許綁定模式(調(diào)用函數(shù)zb_AllowBind(),有節(jié)點請求加入網(wǎng)絡(luò)時為其分配16位網(wǎng)絡(luò)地址。
4)ARM主控器通過串口將鍵盤指令發(fā)送至ZigBee模塊,ZigBee模塊將指令轉(zhuǎn)發(fā)至監(jiān)測節(jié)點;收到監(jiān)測節(jié)點發(fā)送的采集數(shù)據(jù)后,調(diào)用函數(shù)Sample App_MessageMSGCB()對收到數(shù)據(jù)包進行處理,并將處理后的數(shù)據(jù)通過串口傳給ARM主控器(函數(shù)zb_Send DataConfirm())。
5)ARM主控器將采集數(shù)據(jù)進行存儲與分析,當(dāng)有傳感器數(shù)據(jù)超過警戒值時驅(qū)動報警器報警。最后,將處理后的數(shù)據(jù)在OLED液晶屏上顯示。
3.2 無線監(jiān)測節(jié)點軟件設(shè)計
監(jiān)測節(jié)點軟件流程如圖5所示,其工作流程如下:
1)程序從Zmain.c文件開始,首先進行硬件初始化,包括時鐘、I/O、傳感器驅(qū)動模塊、FLASH存儲器、無線模塊的MAC層等。
2)進行串口初始化,并在MT_UartRegi-ster TaskID()中登記任務(wù)號。
3)節(jié)點初始化完成后,會發(fā)送NLME_NETWORK_ DISCOVERY.request()尋找掃描信道,并通過zb_BindDevice()發(fā)送入網(wǎng)請求,在加入網(wǎng)絡(luò)成功后,啟動任務(wù)定時器,如果收到采集指令,調(diào)用相應(yīng)的傳感器信息采集函數(shù)讀取傳感器采集數(shù)據(jù)。若收到控制指令,則根據(jù)需求調(diào)用函數(shù)Relay_Connect()控制繼電器閉合。
4)收到數(shù)據(jù)后,調(diào)用MT_UartProcessZToolData()將數(shù)據(jù)打包,校驗,生成一個消息,發(fā)給處理數(shù)據(jù)包的任務(wù),然后協(xié)議棧通過調(diào)用函數(shù)SampleApp_Send Point ToPoint Message()將傳感器采集數(shù)據(jù)發(fā)送給監(jiān)控終端中的無線通信模塊。數(shù)據(jù)發(fā)送完成后,進入休眠模式。
3.3 上位機軟件設(shè)計
上位機軟件以Visual Studio 2010作為開發(fā)平臺,使用MFC架構(gòu),并以SQL Server 2008作為數(shù)據(jù)庫支持,通過RS232串口讀取監(jiān)控終端采集的監(jiān)測節(jié)點信息,實現(xiàn)對各個監(jiān)測節(jié)點采集數(shù)據(jù)的存儲、處理與動態(tài)顯示,監(jiān)控界面如圖6所示。
4.1 誤包率PER和接收信號強度RSSI測試
對無線傳感器網(wǎng)絡(luò)節(jié)點誤包率(Packet Error Rate,PER)和接收信號強度 (Received Signal Strength Indicator,RSSI)進行測試,PER為丟失或錯誤數(shù)據(jù)包總數(shù)與發(fā)送數(shù)據(jù)包總數(shù)的比值,RSSI為成功接收的前32個數(shù)據(jù)包的RSSI值的平均值[9-10]。自由空間RSSI理論值[11]為:
圖4 監(jiān)控終端軟件流程圖
圖5 監(jiān)測節(jié)點軟件流程圖
圖6 上位機監(jiān)控界面
實驗分別在無障礙環(huán)境(操場)和有障礙環(huán)境(監(jiān)控終端在室內(nèi),監(jiān)測節(jié)點布置在室外)進行,發(fā)射功率為0 dBm,天線增益為3 dB。布置好節(jié)點后,監(jiān)測節(jié)點每100毫秒發(fā)送1 000個包含1 000個字節(jié)的數(shù)據(jù)包到監(jiān)控終端,上位機根據(jù)收到的數(shù)據(jù)包計算PER和平均RSSI值,并通過串口調(diào)試助手將其顯示。距離與誤包率、信號強度的關(guān)系如圖7所示。
圖7 節(jié)點間距離與誤包率、信號強度關(guān)系圖
4.2 狀態(tài)信息采集與數(shù)據(jù)處理
在實際應(yīng)用中,通過傳感器采集到的原始數(shù)據(jù)由于環(huán)境等的影響可能混雜了一些干擾噪聲,通常需要濾波,從而提高監(jiān)測數(shù)據(jù)的精確度和可靠性。本文對于溫濕度、氣壓數(shù)據(jù)采用數(shù)字濾波方法。
常用的數(shù)字濾波方法主要有以下幾種:
(1)限幅濾波法。其計算公式如下:
式中,a為相鄰兩次采樣值之差最大的可能變動范圍。
(2)中位值濾波法。其計算公式如下:
(3)加權(quán)均值濾波法。其計算公式為:
式中,C0+C1+…+CN-1=1,且一般情況下C0>C1>…>CN-1>0。
(4)一階滯后濾波。計算公式為:
式中,ˉyn-1為上一次濾波的結(jié)果,a為濾波平滑系數(shù)。
對溫濕度數(shù)據(jù),本文采用限幅濾波法,以克服偶然因素引起的干擾;對氣壓數(shù)據(jù),采用中位值與算術(shù)平均值復(fù)合濾波的方法,這兩種方法相結(jié)合可以有效地濾除原始數(shù)據(jù)中隨機噪聲干擾,同時保證不造成信號細節(jié)成分的過多損失。
圖8為在實驗室內(nèi),利用氣壓傳感器和的溫濕度傳感器測得到的溫度、氣壓值及由氣壓值計算出的海拔高度值,圖中水平線為測量數(shù)據(jù)的算術(shù)平均值。圖9為利用中位值加算數(shù)平均值濾波算法處理過的數(shù)據(jù)。由圖9可以看出,使用上述算法處理之后的數(shù)據(jù)毛刺噪聲明顯減少,數(shù)據(jù)較為平滑、穩(wěn)定,同時所用的算法也較為簡單,運算量小。
本文設(shè)計了基于CC2530和ARM微處理器的狀態(tài)監(jiān)測系統(tǒng),通過對監(jiān)測節(jié)點多種狀態(tài)信息的采集,實現(xiàn)了對特種裝備的可靠實時遠程監(jiān)控。系統(tǒng)無線通信模塊采用CC2591作為射頻放大前端,擴展了網(wǎng)絡(luò)覆蓋范圍,并且對溫濕度、壓力等參數(shù)進行了數(shù)字濾波處理,提高了采集信息的可靠性和精確度。通過對通信距離測試,ZigBee模塊間可靠通信距離可達750m,滿足系統(tǒng)需求。
圖8 原始信號波形圖
圖9 濾波后輸出信號波形圖
[1]薛凌燕,李樹彥.物聯(lián)網(wǎng)技術(shù)在化工企業(yè)的應(yīng)用研究.自動化儀表[J].2015,36(3):60-61,67.
[2]陳智偉,蘇維均.基于WSNs的農(nóng)業(yè)溫室監(jiān)控系統(tǒng)的設(shè)計.傳感器與微系統(tǒng) [J].2011,30(7):82-84,87.
[3]李 眾,王鵬程.基于ZigBee、以太網(wǎng)、WiFi技術(shù)的網(wǎng)管設(shè)計[J].測控技術(shù),2015,34(3):97-101.
[4]章 潔.ZigBee技術(shù)在室內(nèi)照明控制系統(tǒng)的應(yīng)用研究[D].杭州:杭州電子科技大學(xué),2013.
[5]章偉聰,俞新武,李忠成.基于CC2530及ZigBee協(xié)議棧設(shè)計無線網(wǎng)絡(luò)傳感器節(jié)點[J].計算機系統(tǒng)應(yīng)用,2011,20(7):184-187,120.
[6]廖義奎.ARM Cortex-M4嵌入式實戰(zhàn)開發(fā)精解[M].北京:北京航空航天大學(xué)出版社,2013.
[7]劉波文.嵌入式實時操作系統(tǒng)μC/OS-II經(jīng)典實例[M].北京:北京航空航天大學(xué)出版社,2013.
[8]王小強.基于ARM的ZigBee無線傳感器網(wǎng)絡(luò)設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2013.
[9]王 風(fēng).基于CC2530的ZigBee無線傳感器網(wǎng)絡(luò)的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2012.
[10]CC2530 Software Examples User’s Guide[Z].Texas Instruments.2007.
[11]章強偉,房鼎益,陳小江.基于收包評價的無線傳感網(wǎng)絡(luò)部署.計算機應(yīng)用研究[J].2015,32(4):1175-1178.
Special Equipment Storage&Transportation Condition Monitoring System Based on ZigBee
Wang Le,Wang Guanglong,Qiao Zhongtao,Gao Fengqi
(Lab of Nanotechnology and Micro System,Ordnance Engineering College,Shijiazhuang 050003,China)
A real-time condition monitoring system based on ZigBee technology is presented.Signal acquisition of the special equipment storage state is realized through MEMS sensors,CC2530 module is implemented to achieve wireless transmission of data,ARM microprocessorSTM32F407 is used as core to achieve data acquisition,storage,processing and real-time display,and application of digital filtering algorithm for data filtering process to improve the accuracy of detection data.The experiments show that the system for signal acquisition and wireless transmission is with high reliability and stability,and has development and application value.
ZigBee technology;special equipment;monitoring system;wireless sensor networks
1671-4598(2016)08-0137-04
10.16526/j.cnki.11-4762/tp.2016.08.037
:TP274
:A
2016-03-03;
:2016-03-25。
王 樂(1993-),女,河南開封人,碩士研究生,主要從事嵌入式微系統(tǒng)開發(fā)、無線傳感網(wǎng)絡(luò)與信息融合等方向研究。
王廣龍(1964-),男,山東泗水人,教授,博士生導(dǎo)師,主要從事納米技術(shù)與微系統(tǒng)方向研究。