李昀珅,張昊慧
(淮陰師范學(xué)院物理與電子電氣工程學(xué)院,淮安223001)
溫室大棚是我國農(nóng)業(yè)生產(chǎn)的重要部分,隨著科技的進(jìn)步與生產(chǎn)力的不斷發(fā)展,我們對(duì)于溫室大棚的各種環(huán)境因素的要求也日漸提高。傳統(tǒng)的溫室大棚溫度檢測(cè)主要分為人工檢測(cè)和有線檢測(cè)。人工檢查不僅勞動(dòng)強(qiáng)度大,而且準(zhǔn)確度與實(shí)時(shí)性差。有線檢測(cè)雖然提高了精度與實(shí)時(shí)性,但整個(gè)系統(tǒng)需要在大棚中大量布線,并且要對(duì)設(shè)備進(jìn)行集中供電,硬件成本較高[1]。為此,本文基于ZigBee技術(shù),提出了一種溫室大棚溫度檢測(cè)系統(tǒng)。既保證了系統(tǒng)的精度與實(shí)時(shí)性,又降低了硬件成本,還使系統(tǒng)具有較強(qiáng)的可擴(kuò)展性與可移植性,對(duì)提高大棚經(jīng)濟(jì)效益具有重要意義。
ZigBee技術(shù)是一種廣泛使用的無線網(wǎng)絡(luò)技術(shù)。相對(duì)于Wi-Fi與Bluetooth通信技術(shù),ZigBee在續(xù)航、擴(kuò)展性、實(shí)時(shí)性和復(fù)雜性方面優(yōu)勢(shì)突出,因此在實(shí)際使用時(shí)可以有效降低人工更換電池的頻率,并且可以更方便地加入更多傳感器節(jié)點(diǎn)與更快地做出響應(yīng)[2]。本文使用的無線通信模塊是基于CC2530芯片使用ZigBee協(xié)議實(shí)現(xiàn),可以實(shí)現(xiàn)自組織網(wǎng)絡(luò),操作簡(jiǎn)單,抗干擾能力強(qiáng)。
表1 ZigBee技術(shù)與主流通信技術(shù)區(qū)別
本系統(tǒng)主要分為傳感器節(jié)點(diǎn)、匯聚節(jié)點(diǎn)與監(jiān)控終端三部分組成。傳感器節(jié)點(diǎn)由DS18B20溫度傳感器、ST89C52單片機(jī)系統(tǒng)和ZigBee通信模塊組成。溫室內(nèi)的溫度主要由溫度傳感器測(cè)量,之后將收集的數(shù)據(jù)發(fā)送到單片機(jī),并在處理后通過ZigBee無線通信模塊發(fā)送。匯聚節(jié)點(diǎn)只由ZigBee通信模塊組成,負(fù)責(zé)采集各個(gè)傳感器節(jié)點(diǎn)的數(shù)據(jù)。監(jiān)控終端由串口屏組成,與匯聚節(jié)點(diǎn)直接連接,可以觀察到各點(diǎn)溫度的實(shí)時(shí)信息與狀況、溫度變化趨勢(shì)、溫度閾值信息。這三個(gè)模塊協(xié)同工作,實(shí)現(xiàn)溫室溫度的遠(yuǎn)程監(jiān)控。
圖1 系統(tǒng)整體結(jié)構(gòu)圖
圖2 傳感器節(jié)點(diǎn)方框圖
(1)單片機(jī)系統(tǒng)電路設(shè)計(jì)
本設(shè)計(jì)中的單片機(jī)系統(tǒng)主要包括ST89C52單片機(jī)晶振電路,復(fù)位電路。STC89C52單片機(jī)基于英特爾8052標(biāo)準(zhǔn)的新一代高性能、低功耗的單片機(jī),與8051系列單片機(jī)兼容。由于其功耗低、性能強(qiáng)、價(jià)格低的優(yōu)點(diǎn),非常適合作為本設(shè)計(jì)的數(shù)據(jù)處理中心[3]。
(2)溫度檢測(cè)電路設(shè)計(jì)
本設(shè)計(jì)采用DS18B20作為溫度傳感器,作為數(shù)字溫度傳感器,可直接輸出數(shù)字信號(hào)。它與單片機(jī)的P2.2直接連接,無需外接A/D轉(zhuǎn)換電路,見圖3。溫度測(cè)量的范圍設(shè)定為0~120℃,分辨率為0.125℃(顯示時(shí)只保留兩位小數(shù)),誤差為±0.5攝氏度。
圖3 DS18B20連接示意圖
(3)報(bào)警電路與鍵盤電路設(shè)計(jì)
每一個(gè)溫度檢測(cè)模塊中都有獨(dú)立的報(bào)警電路,在顯示模塊中可以觀察到每個(gè)節(jié)點(diǎn)的溫度是否異常。當(dāng)節(jié)點(diǎn)的溫度不在閾值范圍內(nèi)時(shí),單片機(jī)的P2.0引腳將產(chǎn)生低電平信號(hào),蜂鳴器則會(huì)持續(xù)發(fā)出報(bào)警信號(hào)。本設(shè)計(jì)還使用兩個(gè)LED燈來分別表示高溫異常與低溫異常兩種狀態(tài)。它們分別與單片機(jī)的P1.0和P1.1口相連接。當(dāng)溫度過高時(shí),P1.0口輸出低電平,連接的LED燈點(diǎn)亮,表示高溫異常;當(dāng)溫度過低時(shí),P1.1口輸出低電平,表示低溫異常;當(dāng)溫度正常時(shí),兩個(gè)I/O將輸出高電平,LED燈將熄滅[4]。鍵盤電路采用的是四個(gè)獨(dú)立按鍵,分別對(duì)應(yīng)著上限值與下限值的加減操作。當(dāng)按下按鍵時(shí),單片機(jī)的I/O端口將檢測(cè)到高電平并執(zhí)行相應(yīng)的功能。
在該設(shè)計(jì)中,匯聚節(jié)點(diǎn)與傳感器節(jié)點(diǎn)中的ZigBee模塊基本相同,都是基于CC2530芯片與CC2591芯片。CC2530是TI公司生產(chǎn)的無線通信芯片,可支持ZigBee協(xié)議,能夠方便地實(shí)現(xiàn)網(wǎng)絡(luò)的自組織,具有穩(wěn)定性高、功耗低、外圍器件少等優(yōu)點(diǎn)。CC2591是一款范圍擴(kuò)展器,其功率增益在11dB左右,可以有效地?cái)U(kuò)大通信范圍[5]。本設(shè)計(jì)通信頻率為2.4GHz,最遠(yuǎn)通信距離可達(dá)1km(天氣晴朗條件下),節(jié)點(diǎn)之間采用星形拓?fù)浣Y(jié)構(gòu),基本滿足正常使用需求。
圖4 CC2530與CC2591連接示意圖
本設(shè)計(jì)中溫度信息與狀態(tài)信息的顯示是通過一塊400×240的串口屏實(shí)現(xiàn)的,它是基于ARM7系列芯片開發(fā)的,內(nèi)置4MB Flash存儲(chǔ)空間,同時(shí)可以外接SD卡。串口屏的優(yōu)點(diǎn)在于可通過串口直接接收并執(zhí)行上 位機(jī)發(fā)出的指令,可以有效簡(jiǎn)化終端復(fù)雜度。
本設(shè)計(jì)還包括了電壓轉(zhuǎn)換電路。此次供電模塊采用USB供電,但由于ZigBee無線通信模塊接口電壓為3.3V,因此需要采用穩(wěn)壓電路。圖5是最基本的5V轉(zhuǎn)3.3V穩(wěn)壓輸出,采用的是AMS1117芯片。該芯片提供過熱保護(hù)和限流功能[6]。應(yīng)注意至少并聯(lián)10uF電容的在輸出端以提高穩(wěn)定性和瞬態(tài)響應(yīng)。
圖5 電壓轉(zhuǎn)換電路
傳感器節(jié)點(diǎn)是在Keil uVision軟件開發(fā)環(huán)境下用C語言編程設(shè)計(jì)。首先STC89C52通過一定延時(shí)來確保溫度傳感器的溫度轉(zhuǎn)換完成。在轉(zhuǎn)換完成之后,通過無線通信模塊發(fā)送溫度數(shù)據(jù)。若需要修改溫度閾值,則再通過串口發(fā)送修改溫度閾值指令。若溫度超過閾值,則再發(fā)送報(bào)警指令,流程圖見圖6。
圖6 溫度檢測(cè)模塊工作流程圖
本設(shè)計(jì)中ZigBee模塊主要分布于傳感器節(jié)點(diǎn)與匯聚節(jié)點(diǎn)中,采用星形拓?fù)浣Y(jié)構(gòu),功能基本相同,主要負(fù)責(zé)信號(hào)的采集與轉(zhuǎn)發(fā),區(qū)別是匯聚節(jié)點(diǎn)轉(zhuǎn)發(fā)處理的數(shù)據(jù)量更大,所以需要消耗更多的電量。當(dāng)匯聚節(jié)點(diǎn)的ZigBee模塊通電后,首先進(jìn)行初始化,尋找一個(gè)空閑信道并組建一個(gè)新的網(wǎng)絡(luò),接著掃描周圍的傳感器節(jié)點(diǎn),并等待其加入網(wǎng)絡(luò)。之后開始數(shù)據(jù)的采集與轉(zhuǎn)發(fā)。
圖7 匯聚節(jié)點(diǎn)通信流程圖
圖8 傳感器節(jié)點(diǎn)通信流程圖
監(jiān)控終端的串口屏顯示模塊是在USART HMI開發(fā)環(huán)境下制作完成的,主要顯示的內(nèi)容有:溫度信息及其變化趨勢(shì)、溫度狀態(tài)信息、溫度閾值以及其他字符,主要用到了文本、變量和曲線控件。在溫度顯示模塊主程序中,單片機(jī)以一定的時(shí)間間隔將轉(zhuǎn)換后的溫度以及閾值信息通過串口發(fā)送給屏幕顯示,從而達(dá)到刷新顯示的效果。溫度正常與異常是通過兩個(gè)相互重疊的文本實(shí)現(xiàn)的,溫度正常時(shí),單片機(jī)會(huì)發(fā)送指令把溫度異常的文本設(shè)置為隱藏,溫度異常時(shí)則反之。曲線控件是由轉(zhuǎn)換后的溫度賦值給變量,從而添加到曲線中,界面見圖9與圖10。
為了驗(yàn)證本系統(tǒng)功能,選擇在同一時(shí)間的不同地點(diǎn)檢測(cè)溫度,系統(tǒng)實(shí)際運(yùn)行如圖11與圖12(兩個(gè)節(jié)點(diǎn)發(fā)送數(shù)據(jù)延時(shí)不同,會(huì)造成曲線長短不同)。
圖9 串口屏主界面
圖10 串口屏幕修改閾值界面
圖11 運(yùn)行主界面
圖12 溫度閾值界面
本文設(shè)計(jì)一種基于STC89C52單片機(jī)的溫度檢測(cè)系統(tǒng),實(shí)現(xiàn)了溫度的多點(diǎn)遠(yuǎn)程測(cè)量、自動(dòng)報(bào)警、溫度顯示等功能,用戶可以對(duì)各節(jié)點(diǎn)手動(dòng)設(shè)定溫度上限與下限值,最終可以在顯示屏上觀察到每個(gè)節(jié)點(diǎn)的溫度變化趨勢(shì)。本設(shè)計(jì)具有精度高、實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn),能夠有效減少人工勞動(dòng)量,有利于生產(chǎn)效率的提高,符合農(nóng)業(yè)現(xiàn)代化的需求。