王紀剛,袁紅兵,張相田
(南京理工大學機械工程學院,江蘇南京 210094)
目前基于傳感器的溫室現場數據信息采集模式有有線和無線兩種模式,有線模式以CAN總線通信方式和485總線為主要形式,無線通信模式又可以分為長距離無線通信(GSM/GPRS等)和短距離無線通信(藍牙/Zigbee等)兩種模式,無線通信模式由于其自身組網方便、適應性強、成本低等特點,在農業生產現場數據采集方面有巨大的發展應用空間。Zigbee技術可以實現與長距離無線通信以及短距離無線通信模式的無縫連接,實現遠程農業生產數據信息的自動采集,該技術將被測對象的各種參量通過各種傳感元件做適當轉換,或者通過數字傳感器對被測對象進行實時采集后,再經信號調理、采樣、量化、編碼、傳輸等步驟,最后送到控制器進行數據的處理或存儲[1]。
本文研究并提出一種基于Zigbee技術的溫濕度數據采集板的設計方案,該溫濕度采集板主要應用于溫室大棚中。在溫室大棚中,為了增加數據傳輸的距離和了解大棚中不同位置的溫濕度值,通過構建樹形簇狀網絡實時采集溫室中的環境數據,樹形簇狀網絡中的采集節點和路由節點都可以由溫濕度數據采集板代替,該采集板負責數據的采集、接收與轉發。本文主要介紹溫濕度數據采集板的軟硬件設計。
該硬件系統主要包括7大部分,分別為電源、ZigBee發送電路、DS1302時鐘電路、電源電壓檢測電路、DHT11溫濕度采集電路、LCD液晶顯示電路以及控制器MSP430F149單片機等,硬件系統結構框圖如圖1所示。

圖1 溫濕度數據采集板的硬件系統結構框圖
系統主要通過傳感器DHT11采集溫室大棚中的溫濕度值,并將采集到的數字數據經過單片機的相關處理得到具體的溫濕度值,將該值按照制定的協議組裝成數據幀并發送給ZigBee路由節點,然后將采集得到的溫濕度值傳入液晶顯示屏,以供溫室現場工作人員的參考。
系統的電源供電方式有兩種,一種是由電池供電,另一種是由外接電源適配器供電。外部電壓通過穩壓芯片78M05轉換為5 V,以供DHT11傳感器使用,再將5 V電壓經過SPX1117M3-3.3穩壓芯片將其轉換為3.3 V以供單片機使用。由外接電源適配器供電時,為了防止其對電池的影響,在電池的正極添加一個起隔離作用的二極管。詳細電源電路如圖2所示。

圖2 電源電路
主控制器為MSP430F149單片機,該芯片是TI公司生產的一種具有超低功耗特性的功能強大的單片機,而且具有強大的處理能力、豐富的片上外圍模塊[2]。該主控電路主要包括時鐘電路、復位電路、JTAG接口電路,其中復位電路采用阻容復位,能夠達到通電自動復位的目的。詳細電路見圖3。

圖3 主控制器電路
DHT11是一款濕溫度一體化的數字傳感器。該傳感器包括一個電阻式測濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接,而且通過單片機等微處理器簡單的電路連接就能夠實時的采集本地濕度和溫度。DHT11僅需要一個I/O口就可以與單片機進行簡單的單總線通信[3]。傳感器可以將采集得到的40 Bit數據一次性傳給單片機,數據采用校驗和方式進行校驗,有效的保證數據傳輸的準確性。DHT11功耗低,5 V電源電壓下,最大工作電流為0.5 mA。具體電路如圖4。

圖4 傳感器電路
DHT11數字濕溫度傳感器采用單總線數據格式,其數據包由5Byte(40Bit)組成,分為小數和整數部分。
數據格式:8bit濕度整數數據+8bit濕度小數數據+8bit溫度整數數據+8bit溫度小數數據+8bit校驗和,其中校驗和數據為前四個字節相加[6]。
由于使用的單片機兼容電壓為1.8-3.6 V,DHT11的輸出電壓為5 V,所以為了使兩者電壓能夠兼容,在兩者中間使用了8位的雙向電壓轉換芯片SN74VC4245,該芯片可以將5 V電壓轉換為3.3 V,也可以將3.3 V電壓轉換為5 V。
HJ12864ZW液晶屏,該液晶有串行和并行兩種數據輸出方式,它的主要功能是將采集到的溫濕度值實時的顯示出來,以供現場工作人員隨時了解溫室環境中的溫濕度情況。具體電路如圖5。

圖5 液晶顯示電路
該部分電路采用了DS1302時鐘芯片,主要用于記錄采集到的溫濕度值的時間,以便工作人員使用。DS1302的外圍電路非常簡單,X1、X2管腳外接32 K晶體提供震蕩源,VCC2管腳為主要的供電管腳,VCC1管腳為備用電源輸入,需要時可以外接鈕扣電池。DS1302工作時,VCC2與VCC1兩個管腳中,選擇電壓高的那個管腳的電源作為工作的電源,DS1302的RST、I/O、SCLK管腳主要與單片機的通用I/O口進行連接,實現數據傳輸及其控制,從而實現單片機對DS1302的讀寫操作。具體電路如圖6。

圖6 時鐘電路
當系統采用電池組供電時,電壓檢測電路用來檢測鎳鎘電池的電壓,當電壓 VCC降到5 V以下時比較器LM393輸出低電平,光耦隔離器輸出高電平,同時LED燈亮,蜂鳴器鳴響起,提示鎳鎘電池電量不足,以便提醒用戶及時更換電池,具體電路如圖7。

圖7 電源電壓檢測電路
該部分主要采用北京云天創科技公司的ZigBee模塊,模塊內置了通明轉發協議,不需要使用者再去研究復雜的Zigbee協議。另外,產品的配置除了可以使用上位機外,還可以使用AT命令,使用時只需要將其TXD、RXD分別與單片機的RXD、TXD相連接即可,具體電路圖如圖8。

圖8 ZigBee收發電路
管腳定義如下:
1)VCC電源管腳:模塊供電輸入,允許輸入直流電壓范圍為3.3 V ~3.6 V。
2)GND管腳:模塊的電源地。
3)RXD通信管腳:模塊的UART-RXD接口,數據輸入管腳,與外部控制器MCU的數據發送TXD管腳相連接,接口電平為 0 ~0.9*VCC。
4)TXD通信管腳:模塊的UART-TXD接口,數據輸出管腳,與外部控制器MCU的數據接收RXD管腳相連接,接口電平為 0 ~0.9*VCC。
5)SLP管腳(SLEEP):當管腳產生一次0→1狀態改變時,節點進入休眠,再產生一次1→0狀態改變時,節點被喚醒。
如ZigBee節點需要一直處于喚醒狀態,可直接將該管腳電平變為低電平。
6)STA管腳(STUTAS):當模塊有串口數據收發時(即有數據與串口通信時,不包括模塊在配置模式),此管腳電平變為高平(若接LED則表現為燈點亮),數據收發完畢后管腳變為低電平。
通訊協議主要用于路由節點與溫濕度采集板之間,它主要包括數據的收發,路由節點與溫濕度采集板之間的通斷情況。具體的協議如表1。

表1 數據幀格式
路由節點與溫濕度采集板之間的通訊協議如表2。

表2 路由節點與溫濕度采集板之間的通信協議格式
其中控制位分別為B1,B2。
B1H命令用于測試路由節點與溫濕度采集板之間的連接是否正常。路由節點向溫濕度采集板節點發送B1H命令,當連接正常時,溫濕度采集板收到命令B1H后,會向路由節點發送表示連接正常的0x01回復命令,具體格式如表3。

表3 B1H的返回命令0x01的通信協議格式
B2H命令用于溫濕度采集板向路由節點發送數據,當溫濕度采集板接收到路由節點發送的B2H命令,溫濕度采集板就會按照數據幀格式向路由節點發送采集到的環境數據。
CRC-16校驗采用的是累加和校驗法。
系統流程如圖9所示。

圖9 系統軟件流程
主要完成基本的程序初始化功能,具體的數據發送及路由節點與溫濕度采集板之間通斷情況的相關流程圖如圖10所示。
在數據采集系統中不止存在一個路由節點,多個采集節點可以綁定一個路由節點,一個路由節點與多個采集節點就構成了簇,為了避免不同簇之間的相互串擾,當溫濕度采集板收到路由節點廣播下發的命令后,采集節點首先判斷該命令是否來自自己的父節點(路由節點)是否滿足協議的格式,如果是來自父節點,則根據不同的命令執行不同的動作,如果不是則不需要執行任何動作,如果沒有數據上傳命令,采集節點將會定期的將傳感器的數據保存到外部存儲器中。
為了避免多個采集節點同時上傳數據而導致節點間通信干擾問題,就要求在一個簇中路由節點在一定時間內只能接收一個采集節點發送上來的數據,如果多個節點同時上傳數據,則可能導致路由節點接收到不正確的數據,所以必須為每個采集節點分配獨立的用于數據發送的時隙,這樣采集節點就可以在其他節點空閑時在自己的時隙內發送采集到的數據。
流程圖中定時器具體的定時時間可以采用上位機軟件定制,不同的采集節點定時時間不同,在允許的情況下盡量設置長的定時時間,這樣就可以最大程度的避免相鄰節點間的通信干擾。為了能夠實現所有節點同時打開定時器,在一個簇中當所有的采集節點接收到路由節點發送的數據傳輸命令B2H后,采集節點打開定時器,當定時器定時到達就向路由節點發送環境數據,同時定時器清零,繼續等待路由節點的相關命令。路由節點可以定時向采集節點發送數據上傳命令,路由節點的定時時間一定要大于采集節點中最大的定時時間。
基于MSP430F149單片機的溫濕度數據采集板的軟硬件設計方案,采用具有透明傳輸功能的ZigBee模塊。當系統采用外部電池供電時,具有電池電壓檢測功能,能夠及時提醒用戶更換電池,而且本系統通用性強,只需要將傳感器部分電路稍做改變就可以用于其他類型數據傳感器的數據采集,該溫濕度數據采集板可以應用于溫室大棚、養殖場等對環境的溫濕度具有要求的場合。

圖10 數據發送流程圖
[1]牛孝國,朱桂芝,夏寧,等.基于無線傳感器網絡的農業現場數據采集研究進展[J].中國農學通報,2009,25(24):515-519.
[2]王益祥,牛江平.遠程無線抄表系統的研究[J].自動化儀表,2011,32(3):4-7.
[3]張冬林,李鑫,戴梅,等。基于DHT11的低成本蠶室溫濕度自動控制系統的設計[J].現代農業科技,2010(18):14-15.
[4]張中華,王澤勇,高曉蓉,等.基于SHT10的便攜式數顯溫濕度檢測儀的設計[J].現代電子技術,2009(17):137-139.
[5]倪天龍.單總線傳感器DHT11在溫濕度測控中的應用[J].單片機與嵌入式系統應用,2010(6):60-62.
[6]黃小東,習友室.AT32UC3A0512無線傳輸的溫濕度檢測儀設計[J].單片機與嵌入式系統應用,2012(12):62-64.
[7]http://www.atzgb.com/download.html.