ZigBee技術(shù)在工業(yè)控制領域的應用研究
ZigBee 是一種新興的短距離、低功率、低速率無線接入技術(shù),工作于無須注冊的2.4GHz ISM 頻段,傳輸速率為10~250kb/s,傳輸距離為10~75m。
它看起來更接近于藍牙,但比藍牙更為簡單,具有更低的傳輸速率和功率消耗,大多數(shù)時間處于睡眠模式,尤其適用于那些不需要實時傳輸或連續(xù)更新的場合,如工業(yè)控制領域和傳感器網(wǎng)絡。ZigBee聯(lián)盟在制定ZigBee標準時,采用了 IEEE802. 15. 4協(xié)議作為其物理層和媒體接入層規(guī)范。在其基礎之上,ZigBee聯(lián)盟制定了數(shù)據(jù)鏈路層(DLL)、網(wǎng)絡層(NWK)和應用編程接口(API)規(guī)范,并負責高層應用、測試和市場推廣等方面的工作。
ZigBee技術(shù)的主要特點
● 低功耗。在低耗電待機模式下,2節(jié)5號干電池可支持1個節(jié)點工作6~24個月,甚至更長,這是ZigBee的突出優(yōu)勢。相比較,藍牙能工作數(shù)周、WiFi可工作數(shù)小時。
● 低成本。通過大幅簡化協(xié)議(不到藍牙的1/10) ,降低了對通信控制器的要求。按預測分析,以8051的8位微控制器測算,全功能的主節(jié)點需要32KB代碼,子功能節(jié)點少至4KB代碼,而且ZigBee免協(xié)議專利費。每塊芯片的價格大約為2美元。
● 低速率。ZigBee工作在20~250kb/s的較低速率,分別提供250kb/s(2.4GHz)、40kb/s(915MHz)和20kb/s(868MHz) 的原始數(shù)據(jù)吞吐率,滿足低速率傳輸數(shù)據(jù)的應用需求。
● 近距離。傳輸范圍一般介于10~100m之間,在增加RF發(fā)射功率后,亦可增加到1~3km。這指的是相鄰節(jié)點間的距離。如果通過路由和節(jié)點間通信的接力,傳輸距離將可以更遠。
● 短時延。ZigBee的響應速度較快,一般從睡眠轉(zhuǎn)入工作狀態(tài)只需15ms,節(jié)點連接進入網(wǎng)絡只需30ms,進一步節(jié)省了電能。相比較,藍牙需要3~10s、WiFi需要3s。
● 高容量。ZigBee可采用星狀、片狀和網(wǎng)狀網(wǎng)絡結(jié)構(gòu),由一個主節(jié)點管理若干子節(jié)點,最多一個主節(jié)點可管理254個子節(jié)點;同時主節(jié)點還可由上一層網(wǎng)絡節(jié)點管理,最多可組成65000個節(jié)點的大網(wǎng)。
● 高安全。ZigBee提供了三級安全模式,包括無安全設定、使用接入控制清單(ACL)防止非法獲取數(shù)據(jù)以及采用高級加密標準(AES128)的對稱密碼,以靈活確定其安全屬性。
● 免執(zhí)照頻段。采用直接序列擴頻在工業(yè)科學醫(yī)療(ISM)頻段,2.4GHz(全球)、915MHz(美國)和868MHz(歐洲) 。
PIC18F4620和CC2420簡介
PIC18F4620和CC2420是本文設計中最為關鍵的兩個部件。PIC18F4620微控制器具有豐富的片上存儲功能,具有64 KB Flash和3968字節(jié)RAM的存儲空間;而且該微控制器具有多種省電模式供選擇。除了具有豐富的片上存儲功能和多種省電模式以外,18F4620微控制器還具有13個10位A/D轉(zhuǎn)換器、多個I/O數(shù)據(jù)線。可以很容易用軟件對其進行編程和仿真,這些接口同時還可以用作與傳感單元的接口。
CC2420射頻收發(fā)器工作在2.4GHz ISM公用頻道。它有33個16位配置寄存器、15個命令選通寄存器、1個128字節(jié)的RX RAM、1個128字節(jié)的TX RAM、1個112字節(jié)的安全信息存儲器。一些主要特點:具有16個信道;典型的發(fā)射功率為0dBm,最大發(fā)射功率達到3.6dBm;采用DSSS擴頻通信技術(shù),最大速率為250 kbps;在分組錯誤率為1%的情況下,其接收靈敏度達到-95dBm(典型值)。
ZigBee無線平臺簡介
整個系統(tǒng)按照運行流程可分成三部分:傳感感器終端(多個)、路由節(jié)點(可選)、中心數(shù)據(jù)管理終端。
圖2 系統(tǒng)示意圖
我們可以在傳感器終端加裝不同的傳感器來實現(xiàn)對所需數(shù)據(jù)的監(jiān)控,從而發(fā)揮ZigBee平臺的作用。中心數(shù)據(jù)管理終端由中心節(jié)點和PC機組成,二者之間可以通過RS232實現(xiàn)數(shù)據(jù)通信。
平臺采用了Microchip公司提供的開放協(xié)議棧,通過設計修改其應用層代碼來實現(xiàn)所需的功能。
通常,ZigBee節(jié)點的IEEE64位地址是由用戶自己定義的, 它們被寫在節(jié)點的EEPROM中。而每個終端節(jié)點入網(wǎng)后,中心節(jié)點會分配給它一個16位網(wǎng)絡短地址。對于初次使用的終端節(jié)點,可以經(jīng)過與中心節(jié)點綁定過程從而讓終端節(jié)點的地址信息出現(xiàn)在中心節(jié)點的綁定表中,使數(shù)據(jù)的收發(fā)更加穩(wěn)定。對于較小的網(wǎng)絡,由于直接發(fā)送給中心節(jié)點,也可以直接使用0x00作為目標地址。
ZigBee在工業(yè)控制中的應用方案研究
1 ZigBee工廠消防監(jiān)控方案
目前,大型工業(yè)綜合廠房集生產(chǎn)車間、倉庫于一體,其消防具有空間大、線路要求高等特點;而老廠房有線消防系統(tǒng)改造的成本較高,尤其在一些化工生產(chǎn)廠房和庫房,工藝操作的要求給布線增加了困難。本方案為解決這類問題提供了一條途徑。
①系統(tǒng)整體設計
整個系統(tǒng)分成兩部分:無線煙感器終端(多個)和中心數(shù)據(jù)管理終端。無線煙感器終端是檢測發(fā)送煙霧數(shù)據(jù)的集成設備,它在檢測到一定濃度的煙霧后在本地報警,同時通過無線網(wǎng)絡傳輸給管理終端;中心數(shù)據(jù)管理終端將無線煙感器終端中發(fā)送的數(shù)據(jù)接收后,通過軟件在PC機上給管理人員報警并顯示火警相應位置,還可以通過設置加入一些其他的處理功能。
圖3 煙感終端結(jié)構(gòu)圖
●無線煙感器終端
在用戶端無線煙感器加裝通訊模塊形成終端設備,實現(xiàn)數(shù)據(jù)的采集和無線傳輸?;赯igBee的低功耗特點,該終端采用9V電池供電。
● 中心數(shù)據(jù)管理終端
其主要功能包括接收無線煙感器終端數(shù)據(jù)并報警及存儲,對數(shù)據(jù)做出一定的處理以及根據(jù)客戶需求打印各種報表。
②系統(tǒng)軟硬件結(jié)構(gòu)
系統(tǒng)核心部分為無線收發(fā)模塊,煙霧傳感器直接與單片機I/O口相連,出現(xiàn)火情時由煙感中的繼電器電平變化引發(fā)單片機中斷,從而通過射頻芯片CC2420向中心報告。單片機與PC機通過MAX322實現(xiàn)串口通訊。
圖4 中心數(shù)據(jù)管理終端
● 單片機程序設計
我們在程序中設定了每個不同的終端節(jié)點在遇到火情時發(fā)送各自特定的代碼給中心節(jié)點,中心節(jié)點收到后再交給上位機進行識別。ZigBee規(guī)范中通信部分的消息幀有KVP和Message兩種方式,由于發(fā)送的代碼比較簡單而且量很少,所以采用KVP格式進行發(fā)送。KVP幀格式定義如圖5所示。
中心節(jié)點的單片機程序調(diào)用APLGet( )函數(shù),在接收到終端節(jié)點發(fā)來的數(shù)據(jù)后,將其通過串口發(fā)送給上位機,串口的主要函數(shù)如下:
void ConsoleInit(void)
{ OpenUSART(USART_TX_INT_OFF&USART_RX_ INT_ON&USART_ASYNCH_MODE & USART_EIGHT_BIT & USART _CONT_RX & USART_BRGH _HIGH,SPBRG_VAL );
}
void ConsolePut(BYTE c)
{ while( !ConsoleIsPutReady() );
TXREG = c;
}
void ConsolePutROMString(ROM char* str)
{
BYTE c;
while( c = *str++ )
ConsolePut(c);
while( !ConsoleIsPutReady() );
}
圖5 KVP幀格式
● 上位機程序設計
上位機程序主要負責從串口接收中心節(jié)點模塊發(fā)來的數(shù)據(jù),并做出相應動作,如報警并識別出火情位置,并可進行一定的處理(如開啟水閥等)。軟件由VB編寫。
它可以實現(xiàn)的功能有:1.設定通信端口。2.顯示房間狀態(tài)。3.顯示歷史記錄。通過設定通信端口可以選擇當前空閑的串口,顯示房間狀態(tài)可以顯示哪個房間或哪個位置發(fā)生了火情,顯示歷史記錄可以顯示曾經(jīng)發(fā)生過報警的房間號和時間。
軟件安裝后,用戶可以根據(jù)實際情況選擇樓層數(shù)和房間數(shù),并和終端節(jié)點相對應。還可以存儲起火原因,便于遇到突發(fā)事件時的相關人員做出處理。
2 ZigBee傾斜度測量應用方案
在現(xiàn)代工業(yè)生產(chǎn),安裝和建筑等許多領域,經(jīng)常需要測量傾斜度,這就需要傾斜測量裝置。我們可以利用ZigBee平臺來方便的實現(xiàn)測試點的遠程監(jiān)控,同時也方便測試點的安裝。
這里采用了飛思卡爾新推出的MMA7260 加速度傳感器來測量傾斜。它是一種低功耗三軸電容式微機械傳感器,有1.5g、2g、4g、6g四種量程可以選擇。封裝為QFN16腳,采用 2.2~3.6V寬電壓電源,而且支持休眠,符合ZigBee對低功耗的要求,很適合在ZigBee平臺上使用。由于數(shù)據(jù)量相對較大,我采用了格式更為靈活的MSG格式,其幀格式定義如圖6。
圖6 MSG幀格式
MMA7260自帶了溫度補償和濾波,只需簡單處理即可將其輸出的三路(XYZ軸)加速度模擬量接入到PIC18單片機自帶的10位A/D轉(zhuǎn)換模塊中。
數(shù)據(jù)由RS-232由節(jié)點傳入到PC機后,采用了NI公司的labview軟件進行處理,它的G語言操作非常友好,可以方便的對數(shù)據(jù)進行轉(zhuǎn)化和計算,然后顯示在虛擬的儀器界面上。
如果有必要,可以在某個軸上加入報警,超過門限值時對操作員進行提示,甚至直接給設備發(fā)出指令。
結(jié)語
消防監(jiān)控和傾斜測量只是ZigBee 技術(shù)在工控領域的兩個簡單應用,它具有很強的實際應用價值。該模塊也可以很方便的移植到其他的無線應用中去。