現有的火災報警系統,多採用有線技術進行火災感測器網路的組建。這類方案的特點是擴展性能差,布線繁瑣,影響美觀。由於採用硬線連接,線路容易老化或遭到腐蝕、鼠咬、磨損,故障發生率較高,誤報警率高。採用無線傳輸方式構建的無線火災感測器網路恰好可以避免這些問題。相對而言,無線的方式比較靈活,避免了重新布線的麻煩,網路的基礎設施不再需要掩埋在地下或隱藏在牆裡,無線網路可以適應移動或變化的需要;但是,無線通信技術在火災監控領域的應用相對還是很少。這主要是因為目前沒有一項無線通信技術適合在火災監控領域進行廣泛的推廣,而且現有一些無線通信產品的價格偏高,導致無線通信技術在火災監控中的應用停滯不前。
隨著近年來人類在微電子機械系統、無線通信、數字電子方面取得的巨大成就,使得發展低成本、低功耗、小體積、短距離通信的多功能感測器成為可能。ZigBee技術的出現就解決了這些問題。將無線ZigBee感測器網路和人工智慧結合,可以大大提高火災報警系統的可靠性。正是由於ZigBee技術具有功耗極低、系統簡單、組網方式靈活、成本低、等待時間短等性能,相對於其他無線網路技術,它更適合於組建大範圍的無線火災探測器網路。
1 ZigBee技術簡介
1.1 ZigBee技術產生背景
為了滿足小型、低成本設備無線聯網的要求,2000年12月成立了IEEE 802.15.4工作組,主要負責制定物理層和MAC層的協議,其餘協議主要參照和採用現有的標準;高層應用、測試和市場推廣等方面的工作則由成立於2002年8月的聯盟負責。聯盟由英國Invensys公司、日本三菱電氣公司、美國Motorola公司以及荷蘭Philips公司組成,如今已經吸引了上百家晶元公司、無線設備公司和開發商的加入。
1.2 ZigBee技術概述
ZigBee技術是一種近距離、低複雜度、低功耗、低數據速率、低成本的雙向無線通信技術,主要適合於自動控制和遠程控制領域,可以嵌入到各種設備中,同時支持地理定位功能。
一般而言,隨著通信距離的增大,設備的複雜度、功耗以及系統成本都在增加。相對於現有的各種無線通信技術,ZigBee技術將是功耗和成本最低的技術;但是ZigBee技術的數據速率低和通信範圍較小的特點,又決定了ZigBee技術適合於承載數據流量較小的業務。
ZigBee技術可採用的拓撲模型有星形網路結構、網狀網路結構和簇狀樹形結構(Mesh)。前兩者的結構示意圖如圖1所示。
1.3 ZigBee技術優點
ZigBee技術有以下特點:
2 系統方案設計
系統總體結構框圖如圖2所示。無線感測器將探測到的火災信號通過ZigBee無線通信方式發送至數據集中器;數據集中器將收集的數據送至火災監控中心,再由火災監控中心對這些數據進行計算處理和統計評估。火災信號判斷的原則不是簡單的非準則,而需要同時考慮其他多種因素。根據預先設定的有關規則,將這些數據轉換為適當的報警動作指標,相應地發出預報警。例如,產生少量煙,但溫度急劇上升——發出報警;產生少量煙,且溫昇平緩——發出預報警等。
圖2 系統總體結構框圖
從網路節點邏輯功能上,ZigBee設備可以分為終端設備(end device)、路由節點(router)、網路協調器(PAN coordinator);從設備的功能性上區分,可以分為全功能設備FFD(Full Function Device)和簡約功能設備RFD(Reduced Function Device)。其中,全功能設備可以充當網路協調器、路由結點或終端設備,而簡約功能設備只能充當終端設備節點。因此,從網路邏輯結構上分析,ZigBee火災報警系統內的數據集中器是ZigBee網路中的網路協調器;數據集中點是路由節點;無線感測器是終端設備,根據感測器安置的位置,也可設為路由節點。一個ZigBee網路最多支持65 535個節點,完全可以滿足需要。
3 系統硬體設計
系統主要由數據採集端和數據接收端構成。數據採集端由感測器、MCU和無線收發晶元等組成。MCU與無線收發晶元通過SPI匯流排連接,二者構成無線傳輸模塊。數據接收端使用相同的無線收發模塊,並利用RS232非同步串口與PC機通信。其功能相當於一個接入點,一方面將主機向數據採集端發送的控制信號以無線的方式發射出去,另一方面接收採集數據並上傳給主機。系統硬體結構框圖如圖3所示。
圖3 系統硬體結構框圖
系統工作原理:當感測器測試到火災信號時,由火災控制中心對這些數據進行計算處理和統計評估。火災信號判斷的原則不是簡單的非準則,而需要同時考慮其他多種因素。根據預先設定的有關規則,將這些數據轉換為適當的報警動作指標,相應地發出預報警。
主控MCU是STC89LE516AD單片機,為51內核增強型8位單片機,與Intel MCS51系列單片機完全兼容。STC89LE516AD有豐富的片上存儲功能,具有64 KB Flash和512位元組 RAM。單片機自身固化有ISP程序,通過串口下載程序。
CC2500是一款低成本、低功耗、高性能的無線收發晶元。其工作頻段為2.4 GHz的ISM頻段;具有良好的無線接收靈敏度和強大的抗干擾能力;在休眠模式時僅0.9 μA的流耗,外部中斷或RTC能喚醒系統;在待機模式時少於0.6 μA的流耗,外部中斷能喚醒系統;硬體支持CSMA/CA功能;電壓為1.8~3.6 V;在傳輸模式下,當輸出功率為-12 dBm時,電流消耗為12 mA。CC2500的接收器敏感度為-101 dBm(在10 kbps時);最大輸出功率為0 dBm,數據速率可在1.2 kbps~500 kbps之間變化;帶有2個強大的支持幾組協議的USART,以及1個MAC計時器、1個常規的16位計時器和2個8位計時器。
4 軟體設計
系統的軟體由數據採集端和數據接收端程序組成,均包括初始化程序、發射程序和接收程序。初始化程序主要是對單片機、射頻晶元、SPI等進行處理;發射程序將建立的數據包通過單片機SPI介面送至射頻發生模塊輸出;接收程序完成數據的接收並進行處理。數據採集端軟體流程如圖4所示,接收端軟體流程如圖5所示。
圖4 數據採集端軟體流程
圖5 數據接收端軟體流程
串口初始化程序如下:
void UartInit(void) {
SCON=0x50;//串口方式1,允許接收
TMOD=0x21;//定時器1工作方式2,定時器0工作方式1
TH1=TIMER1;
TL1=TIMER1;
TR1=1;//啟動定時器1
}
SPI初始化程序如下:
CpuInit(void) {
UartInit();
//TimerInit();
SpiInit();
delay(5000);
}
SPI發送程序:
INT8U SpiTxRxByte(INT8U dat) {
INT8U i,temp;
temp=0;
SCK=0;
for(i=0; i<8; i++) {
if(dat & 0x80)MOSI=1;
else MOSI=0;
dat<<=1;
SCK=1;
_nop_();
_nop_();
temp<<=1;
if(MISO)temp++;
SCK=0;
_nop_();
_nop_();
}
return temp;
}
中斷程序如下:
void Timer0ISR(void) interrupt 1 {
EA=0;
TH0+=TIMER0H;
TL0+=TIMER0L;
TimerCount++;
timer[0]++;
timer[1]++;
EA=1;
}
主程序如下:
main(void) {
INT8U arrTx[4];
CpuInit();
POWER_UP_RESET_CC2500();
halRfWriteRfSettings();
halSpiWriteBurstReg(CCxxx0_PATABLE, PaTabel, 8);
LED1=0;
LED2=0;
delay(30000);
LED1=1;
LED2=1;
delay(30000);
arrTx[0]=0xBB;
arrTx[1]=0xAA;
arrTx[2]=0x55;
arrTx[3]=0x09;
while(1) {
halRfSendPacket(arrTx,4);
LED2=0;
delay(10000);
LED2=1;
delay(10000);
}
}
結語
經實驗證明,以STC89LE516AD單片機為核心,基於ZigBee技術的火災報警系統,可以準確地進行早期的火災探測,實現火災預報警。相信通過努力,一個功能完善,基於ZigBee技術的無線火災報警系統將得到推廣和應用。
[admin via 研發互助社區 ] 基於ZigBee技術的火災報警系統設計已經有2179次圍觀
http://cocdig.com/docs/show-post-44761.html