《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于ZigBee 的多點(diǎn)溫度采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于ZigBee 的多點(diǎn)溫度采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
維庫網(wǎng)
摘要: 1引言隨著生產(chǎn)技術(shù)的提高,環(huán)境溫度指標(biāo)越來越多的影響到生產(chǎn)效率、能源消耗和生活水平。不管是...
Abstract:
Key words :

  1 引言

  隨著生產(chǎn)技術(shù)的提高, 環(huán)境溫度指標(biāo)越來越多的影響到生產(chǎn)效率、能源消耗和生活水平。不管是工業(yè)、農(nóng)業(yè)、軍事及氣象領(lǐng)域, 還是日常生活環(huán)境, 都需要對(duì)溫度進(jìn)行監(jiān)測(cè)。因而,設(shè)計(jì)可靠且實(shí)用的溫度采集系統(tǒng)顯得非常重要。

  在傳統(tǒng)的溫度采集系統(tǒng)中, 節(jié)點(diǎn)一般采用有線連接方式, 布線繁瑣, 擴(kuò)展性和可移植性較差。尤其對(duì)于廣闊空間環(huán)境中的溫度采集,如果采用有線方式其成本和功耗都比較高。而ZigBee 作為一種新興的短距離、低功耗、低成本的無線通信技術(shù), 能廣泛應(yīng)用于工業(yè)控制、消費(fèi)電子、家庭自動(dòng)化、醫(yī)療監(jiān)控各種領(lǐng)域。

  本文設(shè)計(jì)了一種基于ZigBee 無線技術(shù)的多點(diǎn)溫度采集系統(tǒng), 實(shí)現(xiàn)了主從節(jié)點(diǎn)間數(shù)據(jù)的無線傳輸, 同時(shí)上位PC 機(jī)采用串口與主節(jié)點(diǎn)通信,并建立溫度數(shù)據(jù)庫,實(shí)現(xiàn)了數(shù)據(jù)的統(tǒng)一管理。該系統(tǒng)具有擴(kuò)展性好、穩(wěn)定可靠、維護(hù)方便等特點(diǎn)。

  2 系統(tǒng)整體概述

  本文設(shè)計(jì)的溫度采集系統(tǒng)結(jié)構(gòu)如圖1 所示。系統(tǒng)采用ZigBee 星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),建立了一個(gè)主節(jié)點(diǎn),四個(gè)從節(jié)點(diǎn)的無線傳感網(wǎng)絡(luò),實(shí)現(xiàn)數(shù)據(jù)的無線傳輸。各個(gè)從節(jié)點(diǎn)連接數(shù)字溫度傳感器DS18B20 定時(shí)采集環(huán)境溫度,并通過無線傳感網(wǎng)絡(luò)將數(shù)據(jù)依次向主節(jié)點(diǎn)發(fā)送,主節(jié)點(diǎn)收到數(shù)據(jù)后通過串口傳給上位PC 機(jī),上位機(jī)將采集的數(shù)據(jù)存入數(shù)據(jù)庫, 對(duì)數(shù)據(jù)進(jìn)行分析處理, 并在監(jiān)控界面顯示溫度實(shí)時(shí)變化曲線。

 
 

圖1 溫度采集系統(tǒng)結(jié)構(gòu)圖

  3 系統(tǒng)硬件設(shè)計(jì)

  3.1 主節(jié)點(diǎn)硬件設(shè)計(jì)

  選擇CC2430 作為主節(jié)點(diǎn)的處理器,該芯片是全球首款支持ZigBee 協(xié)議的片上系統(tǒng)(SOC)解決方案,集成了一個(gè)8051MCU 內(nèi)核以及符合IEEE802.15.4 規(guī)范的2.4GHz 的無線收發(fā)器。芯片內(nèi)部有8kb 的RAM,可選32/64/128kB 的Flash 存儲(chǔ)單元,包含模擬數(shù)字轉(zhuǎn)換器、定時(shí)器、看門狗定時(shí)器、AES128 協(xié)處理器等,同時(shí)提供了2 個(gè)UART 接口以及21 個(gè)可編程I/O 引腳。該芯片具有高度集成性和豐富的硬件資源,使得外圍電路的設(shè)計(jì)變得十分簡(jiǎn)單。

  主節(jié)點(diǎn)是整個(gè)網(wǎng)絡(luò)的協(xié)調(diào)器,作為全功能設(shè)備(FullFunction Device,FFD),負(fù)責(zé)網(wǎng)絡(luò)組建和維護(hù)、溫度采集數(shù)據(jù)無線接收、與上位PC 機(jī)串口通信。因此采用CC2430-F128(128kB Flash)芯片,并在CC2430 典型應(yīng)用電路的基礎(chǔ)上擴(kuò)展串行通信接口,選用MAX3232 芯片實(shí)現(xiàn)TTL 與RS232 電平轉(zhuǎn)換。ZigBee 主節(jié)點(diǎn)的硬件電路如圖2 所示


 

圖2 ZigBee 主節(jié)點(diǎn)電路

  3.2 從節(jié)點(diǎn)硬件設(shè)計(jì)

  從節(jié)點(diǎn)主要負(fù)責(zé)溫度采集和數(shù)據(jù)無線傳輸, 可作為簡(jiǎn)化功能設(shè)備(Reduced Function Device,RFD),以降低功耗和成本。芯片采用CC2430-F32(32kB Flash),其硬件電路和主節(jié)點(diǎn)大致相同, 只是去掉了串口通信電路,同時(shí)在從節(jié)點(diǎn)芯片的I / O 口上接入多個(gè)溫度傳感器DS18B20 以實(shí)現(xiàn)多點(diǎn)溫度數(shù)據(jù)的采集。

  DS18B20 是“單總線”數(shù)字溫度傳感器,其測(cè)量溫度范圍為-55℃~+125℃,支持3~5. 5V 電壓供電, 主要由四部分組成:64 位光刻ROM、溫度傳感器、非易失性溫度報(bào)警觸發(fā)器和配置寄存器。ROM 中的64 位序列號(hào)出廠前已光刻固化,每個(gè)傳感器的序列號(hào)都是唯一的,因此可以在一根總線上掛接多個(gè)DS18B20,能極大減少I/O 口的占用。本系統(tǒng)中用DS18B20 進(jìn)行多點(diǎn)溫度采集時(shí),傳感器與從節(jié)點(diǎn)的CC2430 的連接形式如圖3 所示。

圖3 溫度傳感器節(jié)點(diǎn)連接圖

  由于ZigBee 設(shè)備功耗很低,并且能設(shè)置成定時(shí)睡眠模式以進(jìn)一步省電,而DS18B20 本身功率也非常小,所以本系統(tǒng)中的主、從各節(jié)點(diǎn)均采用2 節(jié)1.5V電池供電即可滿足實(shí)際需要。

  4 系統(tǒng)軟件設(shè)計(jì)

  4.1 溫度傳感器數(shù)據(jù)采集

  DS18B20 可設(shè)定9~12 位的分辨率,本系統(tǒng)采用12位分辨率,轉(zhuǎn)換精度為0. 0625℃,轉(zhuǎn)換溫度信號(hào)所需最長(zhǎng)時(shí)間為750ms。溫度數(shù)據(jù)由2 字節(jié)組成,以符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ),最低4 位是小數(shù)部分,中間7 位是整數(shù)部分, 1 位符號(hào)位。

  DS18B20 內(nèi)部RAM 由9 個(gè)字節(jié)的高速緩存器和E2PROM 組成,前2 個(gè)字節(jié)即為溫度數(shù)據(jù)。通過復(fù)位指令、ROM 和RAM 功能命令,即可完成對(duì)指定DS18B20溫度數(shù)據(jù)的采集和讀取, 所有讀寫操作都是通過與CC2430 的I/O 口連接的DQ 引腳完成。

  在一線制總線上串接多個(gè)DS18B20 器件時(shí),需要先發(fā)送跳過ROM 指令,將所有傳感器都進(jìn)行一次溫度轉(zhuǎn)換,之后通過匹配ROM 依次讀取每個(gè)傳感器的溫度數(shù)據(jù),實(shí)現(xiàn)對(duì)單I/O 口上的多個(gè)DS18B20 器件的操作。整個(gè)溫度采集的流程如圖4 所示。


 

圖4 DS18B20 溫度采集流程圖

  4.2 ZigBee 無線組網(wǎng)及數(shù)據(jù)通信

  ZigBee 通信協(xié)議采用分層結(jié)構(gòu),節(jié)點(diǎn)通過在不同層上的特定服務(wù)來完成所要執(zhí)行的各種任務(wù)。本系統(tǒng)采用TI 提供的ZigBee2006 協(xié)議棧Z-Stack,在IEEE 802.15.4 標(biāo)準(zhǔn)物理層(PHY)和媒體訪問控制層(MAC)基礎(chǔ)上增加了網(wǎng)絡(luò)層、應(yīng)用層和安全服務(wù)規(guī)范,是一種較好的無線傳感網(wǎng)絡(luò)組建方案。

  ZigBee 設(shè)備類型按網(wǎng)絡(luò)功能分為三種:協(xié)調(diào)器、路由器、終端。由于本系統(tǒng)采用星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),所以只存在協(xié)調(diào)器和終端兩種設(shè)備。

  本系統(tǒng)中主節(jié)點(diǎn)被初始化為網(wǎng)絡(luò)協(xié)調(diào)器。協(xié)調(diào)器包含所有的網(wǎng)絡(luò)消息, 存儲(chǔ)容量最大、計(jì)算能力最強(qiáng)。

  它的功能是發(fā)送網(wǎng)絡(luò)信標(biāo)、建立網(wǎng)絡(luò)、管理網(wǎng)絡(luò)節(jié)點(diǎn)、存儲(chǔ)網(wǎng)絡(luò)節(jié)點(diǎn)信息、收發(fā)信息。

  從節(jié)點(diǎn)被初始化為無信標(biāo)網(wǎng)絡(luò)中的終端設(shè)備。上電復(fù)位后,即開始搜索指定信道上的網(wǎng)絡(luò)協(xié)調(diào)器,并發(fā)出連接請(qǐng)求。建立連接成功后, 從節(jié)點(diǎn)將得到一個(gè)16 位的網(wǎng)絡(luò)短地址,并采用非時(shí)隙CSMA-CA 機(jī)制,通過競(jìng)爭(zhēng)取得信道使用權(quán),向主節(jié)點(diǎn)發(fā)送數(shù)據(jù)。各從節(jié)點(diǎn)每30 秒讀取一次I/O 接口上多片溫度傳感器數(shù)值, 同時(shí)開啟睡眠定時(shí)器,當(dāng)數(shù)據(jù)發(fā)送成功后該節(jié)點(diǎn)立即進(jìn)入睡眠狀態(tài),最大程度地降低功耗, 延長(zhǎng)從節(jié)點(diǎn)的電池使用時(shí)間。

  數(shù)據(jù)包的格式由從節(jié)點(diǎn)串接的DS18B20 的數(shù)量決定,每個(gè)DS18B20 傳輸?shù)臄?shù)據(jù)長(zhǎng)度定義為3 字節(jié),第1 字節(jié)為標(biāo)識(shí)符,包括從節(jié)點(diǎn)編號(hào),CC2430 的I/O 口編號(hào)以及此溫度傳感器的編號(hào), 后2 個(gè)字節(jié)為溫度采集數(shù)據(jù)。

  主節(jié)點(diǎn)收到數(shù)據(jù)包后, 對(duì)數(shù)據(jù)進(jìn)行分析處理, 把從節(jié)點(diǎn)上的每個(gè)溫度傳感器的數(shù)據(jù)采集值進(jìn)行轉(zhuǎn)換,得到實(shí)際的溫度值,然后發(fā)送給上位PC 機(jī)。主從各節(jié)點(diǎn)的組網(wǎng)及通信流程如圖5 所示。

圖5 主從節(jié)點(diǎn)組網(wǎng)通信流程圖

  4.3 PC 機(jī)串口通信及監(jiān)控

圖6 上位機(jī)軟件運(yùn)行界面

  上位機(jī)采用VB 編程語言編寫串口通信及數(shù)據(jù)庫程序,在工程中添加MSComm 控件實(shí)現(xiàn)串口傳輸和接收數(shù)據(jù)[4]。使用ADO 對(duì)象連接Access 數(shù)據(jù)庫,將當(dāng)前數(shù)據(jù)存入數(shù)據(jù)庫中,將控件Pictur eBox 作為容器,實(shí)現(xiàn)曲線圖的動(dòng)態(tài)顯示,此過程涉及到曲線、坐標(biāo)軸、格線和坐標(biāo)刻度的消隱和重繪。消隱的實(shí)現(xiàn)主要用背景色重繪曲線和網(wǎng)格線, 并覆蓋坐標(biāo)刻度數(shù)字, 重繪實(shí)時(shí)曲線和坐標(biāo)軸網(wǎng)格線通過Li n e 方法來實(shí)現(xiàn), 坐標(biāo)軸刻度、標(biāo)簽、圖標(biāo)等的標(biāo)注使用Print 方法實(shí)現(xiàn)[5]。

  當(dāng)程序開始運(yùn)行后, 打開串口, 就可將接收到的實(shí)時(shí)數(shù)據(jù)加入到各節(jié)點(diǎn)的歷史溫度數(shù)據(jù)庫,同時(shí)可以從運(yùn)行界面看到歷史溫度變化曲線。圖表中曲線的最右端為當(dāng)前溫度, 點(diǎn)擊節(jié)點(diǎn)按鈕, 然后選中指定的溫度數(shù)據(jù)框,即可查看對(duì)應(yīng)傳感器節(jié)點(diǎn)的溫度歷史數(shù)據(jù)和變化情況, 軟件運(yùn)行時(shí)的界面如圖6 所示。

  5 結(jié)束語

  本文設(shè)計(jì)了一種基于ZigBee 技術(shù)的無線溫度采集系統(tǒng),采用CC2430 芯片設(shè)計(jì)主從節(jié)點(diǎn),硬件結(jié)構(gòu)精簡(jiǎn)、體積小、能耗低, 所組成的無線傳感網(wǎng)絡(luò)具有自組織,自適應(yīng)的特點(diǎn)。通過實(shí)驗(yàn)調(diào)試,該溫度采集系統(tǒng)達(dá)到了設(shè)計(jì)要求,效果良好。鑒于無線傳感網(wǎng)絡(luò)技術(shù)具有功耗低、數(shù)據(jù)傳輸可靠、網(wǎng)絡(luò)容量大、兼容性好、實(shí)現(xiàn)成本低等諸多優(yōu)點(diǎn), 可廣泛應(yīng)用于生產(chǎn)生活的各個(gè)領(lǐng)域, 尤其適用于數(shù)字家庭、智能大廈溫度控制、小區(qū)安防監(jiān)測(cè)等, 具有較好的通用性和應(yīng)用前景。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。