新聞中心

EEPW首頁 > 設計應用 > 基于Zigbee的溫度濕度監(jiān)測系統(tǒng)的研究

基于Zigbee的溫度濕度監(jiān)測系統(tǒng)的研究

作者: 時間:2016-10-10 來源:網絡 收藏

摘要:根據一些環(huán)境溫度濕度實時監(jiān)測的需要,采用首個符合標準的0射頻芯片,以SHT10為溫濕度傳感器來設計實現溫度濕度的數據采集與傳輸。利用TI公司的Z—Stack協(xié)議棧在IAB開發(fā)環(huán)境下,建立一個無線傳感器網絡。網絡協(xié)調器通過RS232串口與PC通信,實現對溫度濕度的無線智能監(jiān)測。
關鍵詞:;0;

在生命科學設施、計量校準實驗室和電子制造環(huán)境,溫度和濕度往往需要監(jiān)測和報警顯示,以保障產品和工藝;在農業(yè)種植、環(huán)境監(jiān)測和我們的日常生活中,要時刻關心環(huán)境變化,只有在適宜的溫度和濕度下,才能獲得更大的效益。以往的測溫測濕系統(tǒng)都是通過CAN或RS485等有線方式傳送數據,線路復雜布線困難,成本高,老化、容易受雷擊等問題影響了其可靠性。另外,像溫度、濕度傳感器這樣的設備并不需要很大的功耗和數據傳輸速率。技術彌補了低成本、低功耗和低速率無線通信市場的空缺,其成功的關鍵在于豐富而便捷的應用。
Zigbee技術有自己的無線電標準,在數千個微小的傳感器之間相互協(xié)調實現網絡通信。這些傳感器只需要很低的功耗,以接力的方式通過無線電波將數據從一個傳感器傳到另一個傳感器,它們的通信效率非常高。無需布線,可以按照需要增減溫度濕度采集節(jié)點,自組織網絡,并且節(jié)點功耗低,生命周期長,使用靈活方便。因此,采用Zigbee技術來設計系統(tǒng),具有明顯的實用價值和現實意義。

1 Zigbee技術及協(xié)議棧
Zigbee是一種新興的短距離、低速率、低成本技術,是一個由可多到65000個無線數傳模塊組成的一個無線數傳網絡平臺。Zigb ee協(xié)議棧對那些涉及Zigbee的層予以定義。IEEE 802.15.4標準定義了最下面的兩層:物理層(PHY)和介質接入控制子層(MAC)。Zigbee聯(lián)盟提供了網絡層和應用層框架的設計,其中應用層的框架包括了應用支持子層(APs)、設備對象層(ZDO)和由制造商制訂的應用對象。Zigbee支持的設備類型包括FFD(全功能設備)和RFD(半功能設備)。FFD可以和FFD和RFD通信,可以為PAN協(xié)調器,路由器和終端設備。RFD只能和FFD通信,只能作為終端設備。在IEEE802.15.4物理層和MAC層基礎上,Zigbee網絡層提供了一些功能,比如動態(tài)網絡的建立、地址、路由和發(fā)現
一跳的鄰居節(jié)點等。

2 系統(tǒng)的組成
該監(jiān)測系統(tǒng)由Zigbee協(xié)調器、Zigbee路由器、若干個SHT10溫濕度傳感器組成的樹狀網絡結構圖。其中,傳感器節(jié)點分布于需要監(jiān)測的區(qū)域,負責對數據的感知和處理,并通過無線射頻信號發(fā)射給路由器,再通過路由器的轉發(fā)將數據傳給協(xié)調器,最終通過RS232串口將數據送入監(jiān)控主機,監(jiān)控主機放在監(jiān)控室,負責數據存儲和對數據的進一步處理。Zigbee網絡中,每個設備擁有兩個地址:一個是64位IEEE物理地址,每個節(jié)點擁有全球唯一的MAC地址,另一個是所在PAN里獨有16位網絡地址,也稱短地址。網絡地址是在節(jié)點加入網絡時,由其父節(jié)點分配給它的。協(xié)調器在建立網絡后使用0x000作為自己的短地址。路由器和終端加入網絡后,使用父設備給它分配的短地址來通訊。工作人員無需到現場,通過查看網絡地址即可知道哪一點傳來的數據,這樣既方便快速又可集中查詢、管理數據。

3 硬件設計
為了便于系統(tǒng)功能擴展,節(jié)點采用模塊化設計,分為核心板、底板、傳感器模塊3個部分。核心板負責傳感器的驅動以及數據的傳輸工作。它的主控芯片是0[4],是一款真正符合IEEE802.15.4標準的片上Zigbee產品,具有超低功耗、高靈敏度、出眾的噪聲及抗干擾能力。核心板即為CC2430單片機的最小系統(tǒng)板,它將CC2430單片機的P0口、P1口和P2_0-P2_2全部引出,滿足模塊化設計的需求。由于CC2430在單個芯片上整合了ZigBee射頻(RF)前端、內存和微控制器。內部集成了大量必要的電路,因此采用較少的外圍電路即實現信號的收發(fā)功能,如圖1所示。

本文引用地址:http://m.butianyuan.cn/article/201610/306497.htm

a.jpg


底板一方面連接核心板與傳感器模塊,在傳感器與芯片之間進行數據傳輸,另一方面為整個模塊供電和節(jié)點與PC機之間通信的接口,主要由電源電路、單片機接口電路、復位電路等組成。系統(tǒng)中CC2430芯片需要的電源是3.3 V直流穩(wěn)壓電源,而我們常用的電源電壓是5 V,所以需要用DC—DC直流轉換器1117—3.3將5 V直流電轉換為3.3 V直流電,以供系統(tǒng)正常工作需求。電源模塊電路如圖2所示。

b.jpg


傳感器模塊采用溫濕度傳感器SHT10,負責采集溫度、濕度數據,其工作電壓為2.4~5.5 V,測濕精度為±4.5%RH,25℃時測溫精度為±0.5℃。由于傳感器SHT10既可以采集溫度數據也可以采集濕度數據。它用兩條串行線與處理器進行數據通信,SCK數據線負責處理器和SHT10的通訊同步;DATA三態(tài)門用于數據的讀寫。將模擬量轉換為數字量輸出,所以用戶只需按照它提供的接口將溫濕度數據讀取出來即可。數據采集完成后Zigbee無線通信芯片將數據經路由器傳輸到協(xié)調器,這樣溫濕度采集節(jié)點便完成了一次工作周期。本設計中CC2430的引腳P0_0用于連接SCK,P0_4用于連接DATA。

4 系統(tǒng)軟件設計
本系統(tǒng)軟件設計基于TI公司推出的CC2430芯片配套的Z—Stack協(xié)議棧和IAR集成開發(fā)環(huán)境。在TI免費協(xié)議棧的基礎上,通過修改其應用層來實現不同的功能。一般情況下,我們只需要添加三個文件就可以完成一個項目,一個是主文件,存放具體的任務處理函數,一個是這個主文件的頭文件,另一個是操作系統(tǒng)接口文件,專門存放任務處理函數數組tasksArr[]的文件。無需改動Z—Stack核心代碼,大大增加了項目的通用性和易移植性。我們把Coordinator、Router和End Device這三種設備一起添加到項目中,在“project==>edit configurations”中,分別建立“Coordinator”“Router”及“EndDevice”三種設備的項目設置。無線傳感器網絡代碼包括協(xié)調器代碼、路由器代碼、傳感器節(jié)點代碼。這些代碼都在同一個工程文件中,通過條件編譯的方式將代碼分成不同的功能。
4.1 協(xié)調器節(jié)點設計
在一個Zigbee中,協(xié)調器作為網絡的中心節(jié)點最先啟動。復位上電以后,首先進行系統(tǒng)初始化。完成之后,就會掃描DEFAULT_ CHANLIST指定的信道,最后選擇一個合適的信道建立網絡,等待有子節(jié)點加入時,就會發(fā)出入網響應。子節(jié)點加入網絡成功后,協(xié)調器接收到傳來的數據包,解析出數據源的短地址、溫度和濕度值并將其傳送給PC顯示出來。其流程圖如圖3所示。

c.jpg


4.2 子節(jié)點設計
路由器和終端設備啟動后,將掃描DEFAULT_CHANLIST指定的頻道。首先進行初始化,然后申請加入網絡成功之后,通過JionAsRouter= TRUE?判斷是否為路由器。如果是,則等待終端設備傳來的溫濕度數據,接收后再轉發(fā)給協(xié)調器。如果是終端設備,傳感器節(jié)點在不同工作模式下功耗大不一樣,為了降低功耗,它平時應該處于休眠模式,被喚醒后才將數據發(fā)給父節(jié)點,發(fā)送完后再次進入休眠模式。通信協(xié)議應該簡單有效,發(fā)送節(jié)點信息時使用短地址發(fā)送,使得節(jié)點的運算開銷盡量小,這樣可大大延長節(jié)點的壽命。子節(jié)點通信流程如圖4所示。

d.jpg


傳感器節(jié)點每隔一段時間采集一次溫度、濕度值,然后把數據打包傳輸給父節(jié)點,如果傳輸成功,節(jié)點進入休眠狀態(tài);如果傳輸不成功,就再重新采集數據傳輸數據,直到成功為止。溫濕度傳感器燒寫步驟:在項目的應用層(APP)中添加Humidity.c和Humidity.h文件,然后在操作系統(tǒng)接口文件OSAL_SampleApp.c中的任務數組tasksArr[]添加任務函數osalTaskAdd(Humidity_Init,Humidity_ProcessEvent,OSAL TASK_PRIORITY_LOW),最后運行程序沒有錯誤后,把程序燒寫到傳感器節(jié)點即可。
4.3 低功耗設計
為了使節(jié)點有更長的生存時間,對傳感器節(jié)點進行休眠設置。CC2430芯片采用0.18 μm CMOS工藝生產,工作時的電流損耗為27 mA;在接收和發(fā)射模式下,電流損耗分別低于27 mA和25 mA。CC2430的休眠模式和轉換到主動模式時間超短,不會產生很大的時間延遲。Z—Stack提供了兩種sleep模式,LITE和DEEP(PM2/PM3)。PM2模式比較省功耗而且可以被定時喚醒;PM3模式最省電但是只能被外部中斷喚醒。系統(tǒng)在進入低功耗模式前,必須保證沒有需要處理的消息或其他事件。當系統(tǒng)需要周期性地喚醒執(zhí)行一些事件時使用PM2模式,如果當前沒有任務那么將進入PM3模式。開啟休眠模式如下:首先確認在配置文件f8wConflg.cfg中的DRFD_RCVC_ALWAYS_ON定義為FALSE;第二步,在IAR的Optio ns->C/C++Compiler->Defined symbols中添加編譯選項POWER_SAVING;第三步,在Options->Linker->Linker command line里面把8w2430. xel改為f8w2430pm.xel;第四步,查看是否進去低功耗模式,在osal.c文件中osal_start_system()中以下部分加斷點,看是否進入。
e.jpg

5 測試結果
采用一個協(xié)調器、一個路由器和3個溫濕度傳感器節(jié)點測試,各個節(jié)點與協(xié)調器相距大約50米。首先打開電源,待協(xié)調器建立網絡之后,路由器和終端節(jié)點就開始申請加入網絡。等待底板上的信號指示燈閃爍后,就表明有節(jié)點成功加入網絡,終端節(jié)點開始周期性地采集周圍環(huán)境的溫度濕度值。采集一次數據后,指示燈熄滅,說明此時終端節(jié)點進入低功耗模式。協(xié)調器通過RS232與PC相連,通過串口調試助手顯示數據,設置波特率為115200b/s,無校驗位,8位數據位,1位停止位。某一時刻采集到各點的溫度濕度值如圖5所示(小端格式十六進制顯示)。根據SHT10數據手冊,實際溫度=0.04x溫度值-39.6,實際濕度=-4++0.648x濕度值-7.2x10-4×濕度值2,經計算實際溫度約為27.5℃,實際濕度約為51.6%RH。

f.jpg



6 結束語
文中以CC2430為核心實現了系統(tǒng)的設計,在傳感器SHT10的配合下,完成了對環(huán)境溫度濕度的無線監(jiān)測。在硬件方面為模塊化設計,具有擴展性,加上相應的傳感器可以測其他因素如光照、氣體濃度等,可以監(jiān)測更多的環(huán)境因素;軟件方面簡化通信協(xié)議,并使終端休眠,降低了其功耗,延長了節(jié)點使用壽命。在使用過程中可以通過在Zigbee協(xié)調器及路由器上添加TI公司的2.4 GHZ射頻前端CC2591來增加網絡的覆蓋范圍,或者增加GPRS模塊來進行更遠程的無線監(jiān)測。實用性高,可擴展性強,可廣泛應用在倉儲系統(tǒng)、中央空調系統(tǒng)、溫室大棚、精密儀器的實驗室和溫度濕度條件要求嚴格的環(huán)境中,市場前景廣闊。



評論


相關推薦

技術專區(qū)

關閉