李昀珅,張昊慧
(淮陰師范學院物理與電子電氣工程學院,淮安223001)
溫室大棚是我國農業生產的重要部分,隨著科技的進步與生產力的不斷發展,我們對于溫室大棚的各種環境因素的要求也日漸提高。傳統的溫室大棚溫度檢測主要分為人工檢測和有線檢測。人工檢查不僅勞動強度大,而且準確度與實時性差。有線檢測雖然提高了精度與實時性,但整個系統需要在大棚中大量布線,并且要對設備進行集中供電,硬件成本較高[1]。為此,本文基于ZigBee技術,提出了一種溫室大棚溫度檢測系統。既保證了系統的精度與實時性,又降低了硬件成本,還使系統具有較強的可擴展性與可移植性,對提高大棚經濟效益具有重要意義。
ZigBee技術是一種廣泛使用的無線網絡技術。相對于Wi-Fi與Bluetooth通信技術,ZigBee在續航、擴展性、實時性和復雜性方面優勢突出,因此在實際使用時可以有效降低人工更換電池的頻率,并且可以更方便地加入更多傳感器節點與更快地做出響應[2]。本文使用的無線通信模塊是基于CC2530芯片使用ZigBee協議實現,可以實現自組織網絡,操作簡單,抗干擾能力強。

表1 ZigBee技術與主流通信技術區別
本系統主要分為傳感器節點、匯聚節點與監控終端三部分組成。傳感器節點由DS18B20溫度傳感器、ST89C52單片機系統和ZigBee通信模塊組成。溫室內的溫度主要由溫度傳感器測量,之后將收集的數據發送到單片機,并在處理后通過ZigBee無線通信模塊發送。匯聚節點只由ZigBee通信模塊組成,負責采集各個傳感器節點的數據。監控終端由串口屏組成,與匯聚節點直接連接,可以觀察到各點溫度的實時信息與狀況、溫度變化趨勢、溫度閾值信息。這三個模塊協同工作,實現溫室溫度的遠程監控。

圖1 系統整體結構圖

圖2 傳感器節點方框圖
(1)單片機系統電路設計
本設計中的單片機系統主要包括ST89C52單片機晶振電路,復位電路。STC89C52單片機基于英特爾8052標準的新一代高性能、低功耗的單片機,與8051系列單片機兼容。由于其功耗低、性能強、價格低的優點,非常適合作為本設計的數據處理中心[3]。
(2)溫度檢測電路設計
本設計采用DS18B20作為溫度傳感器,作為數字溫度傳感器,可直接輸出數字信號。它與單片機的P2.2直接連接,無需外接A/D轉換電路,見圖3。溫度測量的范圍設定為0~120℃,分辨率為0.125℃(顯示時只保留兩位小數),誤差為±0.5攝氏度。

圖3 DS18B20連接示意圖
(3)報警電路與鍵盤電路設計
每一個溫度檢測模塊中都有獨立的報警電路,在顯示模塊中可以觀察到每個節點的溫度是否異常。當節點的溫度不在閾值范圍內時,單片機的P2.0引腳將產生低電平信號,蜂鳴器則會持續發出報警信號。本設計還使用兩個LED燈來分別表示高溫異常與低溫異常兩種狀態。它們分別與單片機的P1.0和P1.1口相連接。當溫度過高時,P1.0口輸出低電平,連接的LED燈點亮,表示高溫異常;當溫度過低時,P1.1口輸出低電平,表示低溫異常;當溫度正常時,兩個I/O將輸出高電平,LED燈將熄滅[4]。鍵盤電路采用的是四個獨立按鍵,分別對應著上限值與下限值的加減操作。當按下按鍵時,單片機的I/O端口將檢測到高電平并執行相應的功能。
在該設計中,匯聚節點與傳感器節點中的ZigBee模塊基本相同,都是基于CC2530芯片與CC2591芯片。CC2530是TI公司生產的無線通信芯片,可支持ZigBee協議,能夠方便地實現網絡的自組織,具有穩定性高、功耗低、外圍器件少等優點。CC2591是一款范圍擴展器,其功率增益在11dB左右,可以有效地擴大通信范圍[5]。本設計通信頻率為2.4GHz,最遠通信距離可達1km(天氣晴朗條件下),節點之間采用星形拓撲結構,基本滿足正常使用需求。

圖4 CC2530與CC2591連接示意圖
本設計中溫度信息與狀態信息的顯示是通過一塊400×240的串口屏實現的,它是基于ARM7系列芯片開發的,內置4MB Flash存儲空間,同時可以外接SD卡。串口屏的優點在于可通過串口直接接收并執行上 位機發出的指令,可以有效簡化終端復雜度。
本設計還包括了電壓轉換電路。此次供電模塊采用USB供電,但由于ZigBee無線通信模塊接口電壓為3.3V,因此需要采用穩壓電路。圖5是最基本的5V轉3.3V穩壓輸出,采用的是AMS1117芯片。該芯片提供過熱保護和限流功能[6]。應注意至少并聯10uF電容的在輸出端以提高穩定性和瞬態響應。

圖5 電壓轉換電路
傳感器節點是在Keil uVision軟件開發環境下用C語言編程設計。首先STC89C52通過一定延時來確保溫度傳感器的溫度轉換完成。在轉換完成之后,通過無線通信模塊發送溫度數據。若需要修改溫度閾值,則再通過串口發送修改溫度閾值指令。若溫度超過閾值,則再發送報警指令,流程圖見圖6。

圖6 溫度檢測模塊工作流程圖
本設計中ZigBee模塊主要分布于傳感器節點與匯聚節點中,采用星形拓撲結構,功能基本相同,主要負責信號的采集與轉發,區別是匯聚節點轉發處理的數據量更大,所以需要消耗更多的電量。當匯聚節點的ZigBee模塊通電后,首先進行初始化,尋找一個空閑信道并組建一個新的網絡,接著掃描周圍的傳感器節點,并等待其加入網絡。之后開始數據的采集與轉發。

圖7 匯聚節點通信流程圖

圖8 傳感器節點通信流程圖
監控終端的串口屏顯示模塊是在USART HMI開發環境下制作完成的,主要顯示的內容有:溫度信息及其變化趨勢、溫度狀態信息、溫度閾值以及其他字符,主要用到了文本、變量和曲線控件。在溫度顯示模塊主程序中,單片機以一定的時間間隔將轉換后的溫度以及閾值信息通過串口發送給屏幕顯示,從而達到刷新顯示的效果。溫度正常與異常是通過兩個相互重疊的文本實現的,溫度正常時,單片機會發送指令把溫度異常的文本設置為隱藏,溫度異常時則反之。曲線控件是由轉換后的溫度賦值給變量,從而添加到曲線中,界面見圖9與圖10。
為了驗證本系統功能,選擇在同一時間的不同地點檢測溫度,系統實際運行如圖11與圖12(兩個節點發送數據延時不同,會造成曲線長短不同)。

圖9 串口屏主界面

圖10 串口屏幕修改閾值界面

圖11 運行主界面

圖12 溫度閾值界面
本文設計一種基于STC89C52單片機的溫度檢測系統,實現了溫度的多點遠程測量、自動報警、溫度顯示等功能,用戶可以對各節點手動設定溫度上限與下限值,最終可以在顯示屏上觀察到每個節點的溫度變化趨勢。本設計具有精度高、實時性強等優點,能夠有效減少人工勞動量,有利于生產效率的提高,符合農業現代化的需求。