安徽博微長安電子有限公司 韓 濤
空軍駐合肥地區軍事代表室 陳 闖
安徽博微長安電子有限公司 李石榮
基于無線傳感器網絡的智能溫度監控系統設計
安徽博微長安電子有限公司 韓 濤
空軍駐合肥地區軍事代表室 陳 闖
安徽博微長安電子有限公司 李石榮
為了在溫度控制要求較高的場合實現智能溫度控制,結合無線傳感器網絡和ZigBee等相關技術設計了一套智能溫度監控系統。系統中協調器節點的主控單元選用STM32F103ZET6 嵌入式單片機,傳感器節點的數據采集與數據收發單元選用連接溫度傳感器DS18B20的CC2530無線射頻芯片。傳感器節點將采集到的溫度信息經路由節點發送給協調器節點,由STM32F103ZET6單片機對收到的信息進行解析,然后通過串口轉發到上位機進行存儲、界面顯示和控制。結果表明:本系統可在溫度要求高的場所實現溫度實時信息無線采集、傳輸以及控制,具有體積小、功耗低、布點靈活等優點,可用于多種環境中。
無線傳感器網絡;ZigBee;STM32F103ZET6;CC2530
溫度作為重要的環境指標,與人們的日常生活、生產、工作等息息相關。在各種環境中,如何快速、便捷、精確地監測溫度變化并迅速作出響應顯得十分重要。近年來,無線傳感器網絡(WSN)的應用具有低功耗、低投入、網絡搭建自適應、網絡容量大等優點,使其被普遍使用于數據采集和監控等系統中。對于實時溫度控制要求較高的場合,如何構建無線傳感器網絡系統實現穩定、高效地進行無線環境溫度監控是本文要解決的問題。本設計采用帶有CC2530的傳感器節點將采集到的溫度信息通過路由節點轉發給協調器節點,由STM32F103ZET6單片機對收到的信息進行解析,然后由USART接口轉發到上位機進行存儲、顯示和控制。

圖1 系統總體設計框圖
根據無線溫度監控系統的低功耗、高準確度以及實時性強等特點,通過對WSN技術、ZigBee技術以及無線傳輸協議的研究,在需求分析的基礎上進行系統的總體設計。ZigBee是基于IEEE802.15.4標準的低功耗局域網協議,具有低功耗、網絡自組織以及網絡內節點容量大等優點,使得其在物聯網的眾多領域中具有其他無線通信技術難以取代的優勢,被普遍地應用于WSN領域中[1]。同時結合嵌入式開發系統的特點,進行系統的硬件設計,并結合系統功能需求設計軟件部分,然后對整個系統進行軟硬件調試,從而建立一套適用于復雜環境的實時溫度監控系統。
根據本系統的設計需求,系統共分為四個部分:傳感器節點、路由節點、協調器節點以及上位機監控中心。協調器節點負責整個網絡的建立和管理,對監控區域進行控制,并通過串口把傳感器節點傳來的數據送到上位機監控中心進行處理、控制和顯示;路由器節點主要負責數據的轉發,可實現多跳,從而擴大網絡的覆蓋范圍;傳感器節點主要采集所在環境區域的溫度信息等相關數據,并由路由器節點發送給協調器節點。系統的工作原理是:適量的傳感器節點分散安裝在被監控環境內,基于ZigBee協議的無線傳輸方式,各節點之間組成具有多跳的自適應網絡,傳感器節點將采集到的溫度信息經路由節點發送給協調器節點,最后經單片機串口將接收到的溫度信息發送給上位機監控中心對數據進行分析和存儲,最后實現系統的控制和相關信息的顯示。系統的總體設計框圖如圖1所示。

圖2 系統協調器節點電路原理圖
2.1 協調器節點
協調器節點主要由控制單元和無線收發單元兩個部分組成,其中控制單元采用STM32F103ZET6單片機為核心,它是一款具有高性能、低功耗、低成本等優點的32位基于Cortex-M3 ARM內核的MCU,集成了512KB Flash和64KB SRAM,工作頻率可以達到72MHz,片上含有豐富的PWM,USART,USB接口,ADC等片上資源,完全可以滿足本系統需求,其擁有的3個12位的ADC和12位的DMA控制器,非常適用于速度和容量要求高的分布式數據采集系統[3]。對于STM32F103ZET6要正常工作,外部需要電源電路、晶體振蕩電路、JTAG程序下載調試接口和復位電路。在移植和應用開發中,需要經常使用JTAG接口調試功能,在實際電路中預留20Pin接口供后期調試使用。
無線收發單元的核心采用CC2530無線射頻芯片,它是用于IEEE802.15.4、ZigBee和RF4CE應用的一個真正的片上系統(SoC)解決方案,由于其成本特別低,在組建網絡時可構建龐大的通信網絡節點,結合了性能強悍的射頻收發器,統一的業界增強型8051單片機,并且系統內可編程RAM達到了8KB[4]。CC2530有多種不同的工作模式,其中可以配置為睡眠模式,非常適用于功耗要求嚴格的場合。CC2530集成了TI公司行業先驅的ZigBee協議棧(Z-StackTM),為ZigBee系統提供了一個功能全面的技術方案。CC2530工作的系統只需要少量外部的輔助元器件,其設計難點是天線電路的設計和抗干擾的設計。在設計中使用了模塊化的設計方法,將CC2530射頻電路和其他電路相互獨立,同時為了節約成本和縮短研發時間,使用已有的CC2530集成電路模塊,有效傳輸距離最多可達100米。
系統協調器節點的電路原理圖如圖2所示。
2.2 傳感器節點
系統傳感器節點的設計主要采用CC253連接溫度傳感器DS18B20,實現無線采集溫度信息等數據。DS18B20是單總線式數字溫度傳感器,它具有體積小、功耗低、抗干擾性能強等優點,非常適合于多點溫度監控系統,并且能夠將采集到的溫度信息直接轉化為串行數字信號送給CC2530,其量程為-55℃~+125℃,可編程A/D轉換精度為9位~12位,可測量的溫度分辨率最小能達到0.0625℃。采用該溫度傳感器不僅不需要額外復雜的模數轉化,而且它在極端環境下仍然具有良好的穩定性和測量精度,同時還可以直觀地顯示出實時的溫度[5]。其具體電路原理圖如圖3所示。
2.3 鋰電池供電

圖3 系統傳感器節點電路原理圖

圖4 鋰電池供電電路原理圖
系統采用市場上最常見的可充電鋰離子電池作為電源對傳感器節點以及路由器節點進行單獨供電。鋰電池的額定工作電壓為3.6V,其放電曲線比較平緩,能夠確保CC2530芯片在接收和發送數據時具有非常好的線性特征。電壓轉換芯片選用Linear Technology公司的LTC3440,該芯片轉換器具有效率高、頻率固定以及降壓-升壓DC/DC等特點,并且可以利用單個電感器輸出電壓,它的輸入和輸出電壓范圍都在2.5~5.5V之間[6]。LTC3440轉換芯片在全部的工作模式下都能夠實現連續傳送,對于增加單節鋰電池或者鎳氫電池的工作時間非常有效。鋰電池的輸入電壓經過電路轉換后得到的3.3V電壓可以直接對CC2530芯片和DS18B20溫度傳感器進行供電。其具體電路原理圖如圖4所示。
系統的軟件設計主要可以分為三個部分,分別為:傳感器節點入網數據采集程序設計、協調器節點組網控制程序設計、上位機顯示和控制程序設計。
3.1 協調器節點組網控制程序設計
協調器節點程序功能是配置好STM32單片機和CC2530無線射頻單片機,其中包含單片機時鐘、GPIO、ADC、USART、中斷、定時器等的初始化,CC2530接收到數據后將數據通過串口傳給STM32單片機。為了降低功耗,當CC2530不需要進行數據收發時,將STM32F103ZET6和CC2530均配置為睡眠模式;當定時時間到時,STM32F103ZET6和CC2530均被定時器中斷喚醒,CC2530開始處于接收狀態,接收由路由節點的CC2530發過來的信息,并將信息通過USART接口轉發到STM-32F103ZET6,MCU對收到的數據進行分析處理之后,再利用USART口轉發給上位機ETX模塊進行存儲、顯示和控制;最后再將兩者配置為睡眠模式,直到下一次被定時器中斷喚醒后才繼續接收路由節點發送過來的信息,如此循環。
ZigBee網絡中的協調器節點通信程序負責啟動整個ZigBee網絡,根據實際情況選擇合適的信息組建網絡,將各傳感器節點采集到的溫度數據進行匯聚。其中ZigBee網絡的建立過程:網絡中的協調器節點最先開始啟動,參照初始配置的網絡參數搭建ZigBee網絡,網絡搭建完成后,路由器節點與傳感器節點設備啟動,自動尋找該網絡并加入到現有組建好的ZigBee網絡,入網成功后傳感器節點和路由節點會得到由協調器節點動態分配的16位ZigBee地址,并將信息放入該ZigBee網絡鄰接表中,此時網絡搭建成功,整個ZigBee網絡采用分級輪詢或者分級時隙分配進行通信,具體組網過程如圖5所示[7]。

圖5 ZigBee組網過程

圖6 傳感器節點入網數據采集程序流程圖
根據該系統所選用單片機STM32F103ZET6的開發環境為Keil uvision4,該開發環境融合了代碼的編輯、編譯、下載和調試,使得軟件研發更加簡單,同時也縮短了程序開發的周期;CC2530的開發環境為IAR Embedded Workbench for 8051 8.10 Evaluation,CC2530所使用的協議棧為TI公司的ZStack-CC2530-2.3.0-1.4.0[8]。
3.2 傳感器節點入網數據采集程序設計
傳感器節點入網和溫度信息采集程序用以實現傳感器節點加入協調器節點搭建的ZigBee網絡、DS18B20溫度傳感器的驅動、溫度測量與預處理,然后通過ZigBee網絡把處理后的數據信息經過路由節點發送給協調器節點。溫度的測量為10分鐘一次,其它時間CC2530被配置為睡眠模式。當10分鐘定時時間到后,CC2530被定時器中斷喚醒,開始進行溫度的測量,并將該數據傳送到網絡中的路由器,發送成功后CC2530再次被配置為睡眠模式。其流程圖如圖6所示。
3.3 上位機顯示控制程序設計
PC上位機開發環境采用Microsoft公司推出的Microsoft Visual Studio 2010,其中Microsoft Visual Studio 2010通過調用串口通訊控件MSComm實現上位機和下位機的通信[9]。該界面采用模塊化的設計思路,根據系統的功能將系統分為數據傳輸、數據處理和界面交互三個部分。結合本設計實例,采用VS2010開發的溫度監控界面,其中包括當前采集、歷史數據查詢、參數設置和報警控制等菜單。設計的上位機主控制界面如圖7所示。

圖7 上位機顯示和控制界面
基于無線傳感網絡的智能溫度監控系統利用無線傳感網絡技術將溫度信息實時地傳送到上位機監控中心,當某一個傳感器節點所在區域的溫度超出報警上限或下限時,上位機監控中心可通過控制加熱和制冷系統及時地調節溫度。在智能家居、智能雞舍、智能糧倉和智能溫室大棚等對實時溫度控制要求較高的場合具有很好的應用價值。
[1]高守瑋,吳燦陽.ZigBee技術實踐教程[M].北京航空航天大學出版社,2009.
[2]Epinosa-Faller F J,Rendon-Rodriguez G E.A ZigBee wireless sensor network for monitoring an aquaculture recirculating system[J].Journal of applied research and technology,2012,10,10(3):380-387.
[3]劉軍.例說STM32[M].北京:北京航空航天大學出版社,2011.
[4]李志方,鐘洪聲.IEEE802.15.4的CC2530無線數據收發設計[J].單片機與嵌入式系統應用,2011,11(07):43-45.
[5]DS18B20 Data Sheet[Z].DALLAS SEMICONDUCTOR,2001.
[6]楊樹成,楊志勇,王建佳.基于MSP430和CC2530的溫室大棚數據采集系統設計[J].電子設計工程,2014,22(5):168-171.
[7]章偉聰,俞新武,李忠成.基于CC2530和ZigBee協議棧設計無線網絡傳感器節點[J].計算機系統應用,2011,20(7).
[8]陳克濤,張海輝,張永猛.基于CC2530的無線傳感器網絡網關節點的設[J].西北農林科技大學學報(自然科學版),2014(5):183-188.
[9]李琳娜.Visual C++編程實戰寶典[M].北京:清華大學出版社,2014.
韓濤(1988—),男,安徽六安人,碩士研究生,主要從事嵌入式系統開發與雷達終端錄取方向的研究。