基于ZigBee的現(xiàn)場(chǎng)安全溫度在線監(jiān)控系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:研制了一套基于ZigBee技術(shù)的安全溫度在線監(jiān)控系統(tǒng)。以MCl3213射頻SoC為硬件平臺(tái),利用ZigBee2007協(xié)議棧分別組成了Star和Mesh網(wǎng)絡(luò),在上位機(jī)監(jiān)控軟件上實(shí)現(xiàn)了溫度監(jiān)控與空間定位的功能。測(cè)試表明:系統(tǒng)具有O.175℃和1.1045m的精度,功能完善,運(yùn)行穩(wěn)定,可擴(kuò)展性好。
關(guān)鍵詞:ZigB3ee;溫度監(jiān)控;空間定位
在工業(yè)生產(chǎn)及貨物存儲(chǔ)等車(chē)間現(xiàn)場(chǎng),由于溫度過(guò)高而引起的失火或爆炸造成了慘痛的人員傷亡和財(cái)產(chǎn)損失,因而迫切需要對(duì)其溫度進(jìn)行實(shí)時(shí)的監(jiān)控。傳統(tǒng)的有線傳輸不僅因鋪線等成本高,而且通信質(zhì)量及后期的維護(hù)更新升級(jí)都不佳,因此在生產(chǎn)現(xiàn)場(chǎng)的惡劣環(huán)境下不易采用。而基于IEEE 802.15.4協(xié)議的新興ZigBee短距離無(wú)線組網(wǎng)通信技術(shù),由于低功耗、低成本、短延時(shí)、大容量和高可靠等優(yōu)點(diǎn),在監(jiān)測(cè)與控制領(lǐng)域得到了廣泛的應(yīng)用。本系統(tǒng)應(yīng)用了ZigBee的無(wú)線通信技術(shù)來(lái)實(shí)現(xiàn)對(duì)生產(chǎn)現(xiàn)場(chǎng)溫度的監(jiān)測(cè),利用ZigBee的組網(wǎng)技術(shù)來(lái)獲取溫度事件的時(shí)間與地點(diǎn)信息,這樣可充分地保證現(xiàn)場(chǎng)的安全生產(chǎn)。
1 系統(tǒng)設(shè)計(jì)方案
1.1 總體設(shè)計(jì)思想
為了實(shí)現(xiàn)溫度監(jiān)測(cè)、時(shí)間記錄及空間定位3項(xiàng)功能,本系統(tǒng)采用圖1所示的設(shè)計(jì)。整個(gè)ZigBee網(wǎng)絡(luò)包含3種設(shè)備:ZigBee協(xié)調(diào)器(ZigBee Coordinator,ZC)、ZigBee路由器(ZigBee Rotlter,ZR)和ZigBee終端設(shè)備(ZigBee EndDevice,ZED)。同時(shí),應(yīng)用了兩種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):Star(星型)網(wǎng)絡(luò)和Mesh(網(wǎng)狀)網(wǎng)絡(luò)。
圖1中,位于網(wǎng)絡(luò)外圍的4個(gè)ZR是作為空間定位的參考節(jié)點(diǎn),主要起中繼器的作用,轉(zhuǎn)發(fā)來(lái)自ZED的RSSI/LQI數(shù)據(jù)至ZC以實(shí)現(xiàn)空間定位;分布在生產(chǎn)環(huán)境終端的6個(gè)攜帶溫度傳感器的ZED,主要實(shí)現(xiàn)周期性地檢測(cè)現(xiàn)場(chǎng)溫度的功能,并將溫度數(shù)據(jù)信息分別用LCD實(shí)時(shí)顯示和以無(wú)線方式傳輸出去;處在網(wǎng)絡(luò)中心的ZC是整個(gè)網(wǎng)絡(luò)的協(xié)調(diào)控制器,直接與PC機(jī)相連,能夠利用上位機(jī)VB程序提取各ZED的溫度數(shù)據(jù),并根據(jù)4個(gè)ZR的RSSI/LQI數(shù)據(jù)計(jì)算出ZED的空間位置信息。
由ZC和6個(gè)ZED組成的Star網(wǎng)絡(luò)(如圖1中帶雙箭頭的實(shí)線所示),主要將ZED采集的溫度數(shù)據(jù)無(wú)線傳輸?shù)絑C,從而實(shí)現(xiàn)溫度監(jiān)測(cè)的功能;而由ZC、ZR和ZED共同組成的。Mesh網(wǎng)絡(luò)(如圖1中的虛線和點(diǎn)畫(huà)線所示),主要是獲取并傳輸有關(guān)ZED與ZR距離的RSSI/LQI數(shù)據(jù),從而運(yùn)用基于RSSI/LQI的定位原理來(lái)實(shí)現(xiàn)空間定位的功能。由于無(wú)線和串口通信的高速率性,溫度數(shù)據(jù)從ZED傳輸至ZC再被上位機(jī)程序所提取的整個(gè)過(guò)程時(shí)間延遲非常短,因此可將上位機(jī)提取到溫度數(shù)據(jù)的那一刻作為事件發(fā)生的時(shí)間(即ZED檢測(cè)到現(xiàn)場(chǎng)溫度數(shù)據(jù)的時(shí)刻)。
1.2 溫度監(jiān)控的設(shè)計(jì)
溫度監(jiān)控應(yīng)用了組網(wǎng)技術(shù)中的Star網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),使多個(gè)ZED節(jié)點(diǎn)和單個(gè)ZC進(jìn)行雙向ZigBee無(wú)線通信,保證了數(shù)據(jù)信息的實(shí)時(shí)傳輸與獲取。其設(shè)計(jì)方案如圖2所示。
系統(tǒng)分別將6個(gè)ZED放置在不同的生產(chǎn)車(chē)間里或設(shè)備上,使ZED周期性地檢測(cè)現(xiàn)場(chǎng)環(huán)境溫度,并通過(guò)ZigBee方式將溫度數(shù)據(jù)信息傳輸至ZC;由上位機(jī)監(jiān)控軟件提取ZC接收到的溫度信息,進(jìn)行處理后實(shí)時(shí)地顯示在監(jiān)控界面上,并且通過(guò)監(jiān)控軟件自主設(shè)定安全溫度范圍等系統(tǒng)參數(shù),并傳輸給ZC和ZED,從而達(dá)到監(jiān)控的目的。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 應(yīng)用芯片簡(jiǎn)介
Freescale公司推出的MCl3213是一款可以搭建符合IEEE802.15.4標(biāo)準(zhǔn)的2.4 GHz低功耗收發(fā)器平臺(tái)的集成MCU。它通過(guò)內(nèi)部SPI連接RF和HCS08,具有低功耗、高集成度等優(yōu)點(diǎn),同時(shí)擁有豐富的外部接口資源。
LM75A是具有高速I(mǎi)2C總線接口的集成數(shù)字溫度傳感器,內(nèi)部Temp寄存器存放一個(gè)11位二進(jìn)制數(shù)的補(bǔ)碼,用來(lái)在-55~+125℃的溫度范圍內(nèi)實(shí)現(xiàn)0.125℃的精度。
FT232BL是一款USB接口轉(zhuǎn)換芯片,實(shí)現(xiàn)USB到串行UART接口的轉(zhuǎn)換,有多種電路設(shè)計(jì)方式,配合使用EEPROM可存儲(chǔ)USB VID、PID等產(chǎn)品描述信息。
LCDl602是一款內(nèi)嵌驅(qū)動(dòng)及字符的液晶顯示模塊。由于MCl3213的I/O數(shù)目的限制,其采用4線數(shù)據(jù)的連接方式,將8位數(shù)據(jù)分兩次各4位地間接傳送。
SP3220E為T(mén)TL轉(zhuǎn)RS-232的電平轉(zhuǎn)換芯片。
2.2 硬件電路設(shè)計(jì)
圖3為硬件電路的邏輯結(jié)構(gòu)圖。
針對(duì)系統(tǒng)的低功耗及低成本,根據(jù)所要實(shí)現(xiàn)的功能在圖3的基礎(chǔ)上進(jìn)行篩選。ZED、ZR、ZC分別采用不同的設(shè)計(jì)電路,其篩選組合的方式如表1所列。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 軟件設(shè)計(jì)思想
為了實(shí)現(xiàn)溫度監(jiān)控與空間定位的功能,系統(tǒng)網(wǎng)絡(luò)中的各類(lèi)設(shè)備須相互通信、協(xié)調(diào)合作。軟件設(shè)計(jì)思想如圖4所示。ZED利用攜帶的LM75A周期性地檢測(cè)生產(chǎn)現(xiàn)場(chǎng)的溫度,然后在LCDl602上實(shí)時(shí)顯示溫度信息以供現(xiàn)場(chǎng)操作,并向ZR和ZC發(fā)送溫度數(shù)據(jù);ZR主要是度量接收Z(yǔ)ED數(shù)據(jù)的RSSI/LQI值,并發(fā)送給ZC以達(dá)到對(duì)ZED空間定位的目的;ZC接收來(lái)自ZED及ZR的數(shù)據(jù),通過(guò)USB/RS-232接口與上位機(jī)VB程序及Internet,網(wǎng)絡(luò)通信,利用上位機(jī)監(jiān)控軟件或遠(yuǎn)程網(wǎng)絡(luò),集中在線對(duì)整個(gè)ZigBee網(wǎng)絡(luò)的協(xié)調(diào)和ZED生產(chǎn)現(xiàn)場(chǎng)進(jìn)行安全溫度的監(jiān)控。
3.2 溫度檢測(cè)程序的設(shè)計(jì)
LM75A內(nèi)部A/D每隔100 ms執(zhí)行一次溫度一數(shù)字的轉(zhuǎn)換,并將轉(zhuǎn)換得到的11位二進(jìn)制數(shù)的補(bǔ)碼數(shù)據(jù)存放進(jìn)Temp寄存器中,從而實(shí)現(xiàn)0.125 ℃的溫度精度。系統(tǒng)需要注意讀取LM75A溫度數(shù)據(jù)的頻率,并且應(yīng)將讀取Temp中的數(shù)據(jù)轉(zhuǎn)換成實(shí)際真實(shí)的溫度值。
若Temp數(shù)據(jù)的MSB位D10=O,則溫度是一個(gè)正數(shù):
溫度=(Temp中的數(shù)據(jù))×O.125℃ (1)
若Temp數(shù)據(jù)的MSB位D10=1,則溫度是一個(gè)負(fù)數(shù):
溫度=(Temp中的數(shù)據(jù)二進(jìn)制補(bǔ)碼)×O.125℃ (2)
為了兼顧現(xiàn)場(chǎng)顯示與遠(yuǎn)程監(jiān)控,ZED依據(jù)式(1)、(2)利用C語(yǔ)言的移位等命令獲得實(shí)際溫度值,并在LCDl602上實(shí)時(shí)顯示(當(dāng)現(xiàn)場(chǎng)溫度超過(guò)設(shè)定的安全范圍時(shí),蜂鳴器報(bào)警),而直接讀取Temp的兩個(gè)字節(jié)發(fā)送至ZigBee網(wǎng)絡(luò)中。
3.3 空間定位的實(shí)際數(shù)學(xué)模型
為了獲得LQI值與距離d之間的數(shù)學(xué)關(guān)系,系統(tǒng)需要對(duì)不同的d測(cè)量大量接收數(shù)據(jù)的LQI值。以一片開(kāi)闊的籃球場(chǎng)作為實(shí)驗(yàn)基地,利用卷尺等工具在0~64 m范圍內(nèi)測(cè)量LQI值。在相同的d距離下連續(xù)測(cè)量不同方向的60組數(shù)據(jù),并將10個(gè)最值濾波舍去,求平均值作為該距離d的LQI。然后,利用Matlab軟件對(duì)各距離下的LQI-d數(shù)值進(jìn)行一個(gè)分段對(duì)數(shù)函數(shù)的曲線擬合,求得實(shí)際數(shù)學(xué)模型。擬合曲線如圖5所示。
由于實(shí)測(cè)LQI值易受干擾,波動(dòng)性較大不穩(wěn)定,因此對(duì)ZED空間定位時(shí)在一個(gè)周期內(nèi)連續(xù)測(cè)量24組數(shù)據(jù),然后濾去4個(gè)最值求取平均值作為定位的LQI。為了提高系統(tǒng)的速度和穩(wěn)定性,定位應(yīng)用程序根據(jù)式(3)在上位機(jī)中采用VB語(yǔ)言進(jìn)行編寫(xiě),從而減輕了ZigBee網(wǎng)絡(luò)的數(shù)據(jù)處理負(fù)擔(dān)。
3.4 應(yīng)用程序的設(shè)計(jì)
無(wú)線傳感器網(wǎng)絡(luò)一般需要解決數(shù)據(jù)碰撞及網(wǎng)絡(luò)地址分配等問(wèn)題,這樣才能使整個(gè)ZigBee網(wǎng)絡(luò)穩(wěn)定工作,數(shù)據(jù)信息準(zhǔn)確傳輸。特別是以ZC為終點(diǎn)的無(wú)線通信,很可能因在同一時(shí)間內(nèi)接收多個(gè)ZR或ZED的數(shù)據(jù)而造成數(shù)據(jù)丟幀。為了使數(shù)據(jù)信息準(zhǔn)確無(wú)丟失地在ZC、ZR和ZED之間相互傳輸,系統(tǒng)采用了“時(shí)間片輪轉(zhuǎn)法”使各ZigBee設(shè)備分時(shí)發(fā)送數(shù)據(jù)。整個(gè)網(wǎng)絡(luò)中共有11個(gè)ZigBee設(shè)備,其中ZC除了短暫的發(fā)送監(jiān)控命令外,大部分時(shí)間是接收4個(gè)ZR轉(zhuǎn)發(fā)的LQI值和來(lái)自6個(gè)ZED的溫度采集數(shù)據(jù)。系統(tǒng)設(shè)定1 s為整個(gè)網(wǎng)絡(luò)的工作周期,期間ZC需接收來(lái)自ZR和ZED共10個(gè)設(shè)備的數(shù)據(jù)來(lái)實(shí)現(xiàn)溫度監(jiān)控與空間定位的功能。因此,每個(gè)ZR或ZED各有100 ms的發(fā)送時(shí)間,均須在預(yù)定的100 ms內(nèi)完成數(shù)據(jù)成功發(fā)送任務(wù)。
網(wǎng)絡(luò)地址的分配一般以通信便捷和節(jié)省字節(jié)開(kāi)銷(xiāo)為佳。在溫度監(jiān)控的Star網(wǎng)絡(luò)中,ZC須同時(shí)能夠與6個(gè)ZED的任意一個(gè)或多個(gè)進(jìn)行雙向通信;而在空間定位的Mesh網(wǎng)絡(luò)中,ZC采取主動(dòng)的廣播通信方式向各ZR發(fā)送提取LQI命令,隨后4個(gè)ZR輪流在各自的100 ms內(nèi)完成發(fā)送LQI的工作。針對(duì)這種情況,系統(tǒng)采用了以1個(gè)char(8位)類(lèi)型的字節(jié)來(lái)制定網(wǎng)絡(luò)中各設(shè)備的地址:由于各ZED需可同時(shí)工作,故用Bit0~Bit5分別對(duì)應(yīng)ZEDl~ZED6;而4個(gè)ZR是輪流在各自100 ms內(nèi)工作,所以采取Bit6、Bit7兩位的組合0O、01、10及11來(lái)對(duì)應(yīng)ZRl~ZR4。
3.5 上位機(jī)VB程序的設(shè)計(jì)
系統(tǒng)利用MCl3213的兩組SCI接口分別設(shè)計(jì)了經(jīng)SP3220E轉(zhuǎn)換的RS-232真實(shí)串口和經(jīng)FT232BL轉(zhuǎn)換的虛擬串口(此時(shí)已不是真實(shí)意義上的USB接口了),所以兩者都需以RS-232串口通信協(xié)議與PC上位機(jī)程序進(jìn)行雙向通信。具體實(shí)現(xiàn)功能如下:
①時(shí)間同步功能。使用Timer控件來(lái)給系統(tǒng)運(yùn)行提供時(shí)間刻度,以便記錄事件發(fā)生的實(shí)時(shí)時(shí)間。在監(jiān)控軟件上,既可選擇PC機(jī)的時(shí)間,也可自主設(shè)定起始運(yùn)行時(shí)間。
②空間定位功能。主要是基于定位公式編寫(xiě)程序,使各ZED的空間坐標(biāo)能夠?qū)崟r(shí)地在上位機(jī)監(jiān)控界面上顯示。
③溫度監(jiān)控功能。實(shí)現(xiàn)ZED的溫度信息傳送至ZC,被上位機(jī)提取與運(yùn)算并在監(jiān)控界面上顯示;同時(shí),通過(guò)監(jiān)控軟件配置各類(lèi)控制參數(shù),并反向發(fā)送給ZED。
④事件發(fā)生的信息記錄功能。為了保存溫度事件發(fā)生的現(xiàn)場(chǎng)信息,監(jiān)控軟件利用了CommonDiatog控件將相關(guān)信息寫(xiě)入一個(gè)txt文件中,并能自主選擇tXt保存的目錄。
4 實(shí)驗(yàn)數(shù)據(jù)分析及總結(jié)
為了驗(yàn)證性能及參數(shù)指標(biāo),選擇了一棟58 m×26 m×23.5 m的生產(chǎn)廠房作為實(shí)驗(yàn)基地,將4個(gè)ZR分別放置在A(55,O,O)、B(0,25,O)、C(O,O,20)及D(O,0,O)從而建立空間坐標(biāo)系,而將6個(gè)ZED移動(dòng)地分別放在各個(gè)車(chē)間里進(jìn)行測(cè)試采集數(shù)據(jù)。
4.1 溫度監(jiān)測(cè)
為了驗(yàn)證溫度監(jiān)控的準(zhǔn)確性及有效精度,在相應(yīng)車(chē)間內(nèi)放置了一個(gè)精度為O.1℃的工業(yè)溫度計(jì),測(cè)量到的實(shí)際溫度來(lái)作為ZED測(cè)溫的參考。測(cè)量溫度和實(shí)際溫度的比較如表2所列。
由表2可知:溫度監(jiān)控系統(tǒng)誤差小、精度高,最大絕對(duì)誤差為+O.175℃,最大相對(duì)誤差為O.738%,符合現(xiàn)場(chǎng)安全溫度監(jiān)控的要求。
表2的溫度絕對(duì)誤差都是正數(shù),說(shuō)明測(cè)量溫度均偏高。其主要原因是,LM75A是焊接在PCB板上的,芯片要正常工作就需消耗電能,內(nèi)部產(chǎn)生的熱量難以散失;同時(shí),板上元器件布局不合理,使得其他器件產(chǎn)生的熱量也傳向LM75A,所以實(shí)測(cè)溫度比現(xiàn)場(chǎng)室溫偏高。
4.2 空間定位
在監(jiān)控軟件上獲得的各ZED坐標(biāo)位置數(shù)據(jù)的同時(shí),利用皮尺等工具測(cè)量對(duì)應(yīng)的坐標(biāo)長(zhǎng)度作為空問(wèn)定位的對(duì)比??臻g定位與實(shí)際位置的關(guān)系如圖6所示。
可見(jiàn),空間定位的誤差較小,最大的定位誤差為ZED3的1.1045m,在工程的允許范圍內(nèi),達(dá)到了系統(tǒng)對(duì)溫度事件的定位目標(biāo)。利用LQI進(jìn)行空間定位,從本質(zhì)上講是基于能量法的。圖5的LQI-d曲線數(shù)據(jù)是在戶外理想狀態(tài)下測(cè)得的,而生產(chǎn)現(xiàn)場(chǎng)環(huán)境惡劣,無(wú)線通信常受到障礙物影響,因此難免有所誤差。另外,由于RF收發(fā)天線不是嚴(yán)格意義上的全向,因此在相同距離而位于不同方向時(shí)所接收的LQI值也有所差別。
結(jié)語(yǔ)
本文設(shè)計(jì)了基于ZigBee的生產(chǎn)現(xiàn)場(chǎng)安全溫度在線監(jiān)控系統(tǒng),提出了三要素(溫度監(jiān)測(cè)、時(shí)間記錄及空間定位)全方位設(shè)計(jì)理念,介紹了系統(tǒng)的硬件、軟件及上位機(jī)監(jiān)控程序的設(shè)計(jì)方法。測(cè)試表明,該監(jiān)控系統(tǒng)具有精度高、功能完善、運(yùn)行穩(wěn)定及性價(jià)比高等優(yōu)點(diǎn),有一定的實(shí)用價(jià)值。若將本系統(tǒng)的RS-232/USB進(jìn)一步擴(kuò)展到GPRS或Internet,并與生產(chǎn)現(xiàn)場(chǎng)總控制室相連,則系統(tǒng)的功能和使用范圍都將得到很大的拓寬。