李勇,張以帥,唐廣耀,賴惠鴿
?。▽幭拇髮W(xué) 機械工程學(xué)院,寧夏 銀川 750021)
摘要:在分析了傳統(tǒng)溫濕度采集設(shè)備的基礎(chǔ)上,提出了一種以MSP430單片機為控制器,利用溫濕度傳感器DHT11實現(xiàn)對溫室環(huán)境數(shù)據(jù)進(jìn)行采集的系統(tǒng)。通過鍵盤和LCD1602液晶顯示屏實現(xiàn)人機交互,利用nRF905無線收發(fā)模塊將采集的數(shù)據(jù)發(fā)送到上位機,上位機通過VB和ACCESS實現(xiàn)對溫濕度的實時監(jiān)測和歷史數(shù)據(jù)的保存。實驗結(jié)果表明,該系統(tǒng)結(jié)構(gòu)簡單、成本較低,克服了傳統(tǒng)采集設(shè)備布線復(fù)雜、維護(hù)困難等缺陷,而且可以實現(xiàn)遠(yuǎn)程監(jiān)控。
關(guān)鍵詞:溫濕度;MSP430;LCD1602;nRF905;DHT11
0引言
在溫室大棚中,溫濕度對農(nóng)作物的生長發(fā)育過程有著至關(guān)重要的影響[12]。根據(jù)已知的科學(xué)常識將溫濕度控制在合適的范圍內(nèi)是人們一直追求的目標(biāo)。本文用MSP430單片機作為控制器,通過DHT11實現(xiàn)溫濕度的采集,將采集的數(shù)據(jù)經(jīng)過控制器處理之后顯示到LCD1602顯示屏,同時也可以用鍵盤將溫濕度設(shè)置到理想的區(qū)間,一旦實際采集到的溫濕度低于或高于設(shè)置的區(qū)間,就會啟動報警裝置來通知相關(guān)人員。同時該系統(tǒng)利用無線射頻模塊nRF905實現(xiàn)溫室環(huán)境的遠(yuǎn)程監(jiān)控[3]。由于MSP430單片機的低功耗性能[4],使得該系統(tǒng)具有較強的省電性能。
1系統(tǒng)整體設(shè)計
如圖1所示,系統(tǒng)以16位控制器MSP430為主控制器,加上顯示模塊、鍵盤模塊、數(shù)據(jù)采集模塊、報警裝置、nRF905無線通信模塊和上位機PC組成。其中,上位機軟件負(fù)責(zé)數(shù)據(jù)的保存和遠(yuǎn)程監(jiān)控。
1.1單片機主控制器
對于采集數(shù)據(jù)的處理及顯示、按鍵的不斷掃描以及同上位機的通信等功能, MSP430單片機起著極其重要的作用。MSP430是TI公司設(shè)計的一款16位超低功耗處理器,CPU采用的是16位精簡指令集[5],由于它的低功耗特性使其特別適合于通過外部電池供電的長時間工作場合。本系統(tǒng)需要實現(xiàn)快速處理溫濕度傳感器采集的數(shù)據(jù)、將處理結(jié)果顯示到顯示屏上、不斷地掃描鍵盤引起的中斷事件以及與上位機進(jìn)行通信等功能,所以選用MSP430單片機,這樣能更快地處理多事件,同時可以及時對事件做出響應(yīng)。
1.2上位機與下位機之間的通信
考慮到布線復(fù)雜、維護(hù)困難及成本等原因[6],本文選用nRF905無線收發(fā)模塊。nRF905主要負(fù)責(zé)將MSP430單片機處理后的數(shù)據(jù)發(fā)送給上位機,同時將上位機的控制指令傳到MSP430單片機來控制單片機外圍配置接口。nRF905是挪威NORDIC公司設(shè)計的一款無線收發(fā)模塊[78],主要工作在433 MHz、868 MHz等頻段,與MSP430單片機一樣,由于其在功耗方面的優(yōu)良性能和抗干擾能力強等原因使其在眾多無線模塊中脫穎而出。
1.3主控制器與DHT11之間的單總線通信
DHT11傳感器采用單總線的通信協(xié)議來讀寫數(shù)據(jù)。單總線通信就是通過一根線實現(xiàn)指令和數(shù)據(jù)的傳輸,在平時休眠狀態(tài)時該條線被上拉電阻置成高電平,一旦芯片收到初始化的指令就開始工作。芯片在傳輸數(shù)據(jù)的過程中,控制器首先讀取掛載的設(shè)備的序列號,然后通過發(fā)送讀寫指令來控制此設(shè)備。使用DHT11時,首先給DHT11發(fā)送初始化指令,使DHT11做好讀數(shù)據(jù)的準(zhǔn)備,接著直接根據(jù)DHT11的時序發(fā)送讀寫指令來實現(xiàn)對溫濕度的采集[9]。由于只掛載了一個DHT11設(shè)備,所以忽略了讀設(shè)備的序列號。
2系統(tǒng)硬件電路設(shè)計
該控制系統(tǒng)分為上位機和下位機兩部分,下位機電路主要包括溫濕度采集電路、液晶顯示電路、鍵盤電路、報警電路和nRF905收發(fā)模塊等。上位機主要是nRF905與PC的接口電路。
2.1下位機電路設(shè)計
如圖2所示,上電后,MSP430單片機作為主控器,首先發(fā)送讀數(shù)據(jù)指令給DHT11溫濕度傳感器,DHT11收到MSP430單片機發(fā)送的讀數(shù)據(jù)指令后將采集的數(shù)據(jù)傳給單片機,單片機對讀到的數(shù)據(jù)進(jìn)行處理后顯示到液晶顯示屏上,同時將數(shù)據(jù)通過nRF905無線收發(fā)模塊發(fā)送出去;在程序執(zhí)行的每個周期中,不斷掃描鍵盤電路是否被按下,如果檢測到有按鍵按下,則響應(yīng)對應(yīng)的按鍵事件。在本文中,按鍵主要是用來設(shè)置最大溫濕度和最小溫濕度。當(dāng)采集的實際溫濕度大于或者小于設(shè)置的最大溫濕度或最小溫濕度時,啟動報警電路來通知相關(guān)工作人員。
2.2上位機電路設(shè)計
如圖3所示,下位機控制器MSP430將采集的數(shù)據(jù)處理之后通過nRF905收發(fā)模塊發(fā)送出去,上位機的nRF905模塊接收到數(shù)據(jù)之后經(jīng)過89C51對數(shù)據(jù)作進(jìn)一步的處理,然后通過RS232發(fā)送到PC上。由于PC不能直接與nRF905模塊連接,所以采用89C51作為中間轉(zhuǎn)換器件,將數(shù)據(jù)先保存到89C51中,然后再通過RS232串口總線發(fā)送給PC端,同時PC端也可以將用戶的命令通過此電路傳給下位機。
3系統(tǒng)軟件設(shè)計
3.1下位機主程序流程圖
下位機程序設(shè)計主要包括DHT11溫濕度傳感器的驅(qū)圖2下位機硬件電路圖
動程序、鍵盤掃描程序、向nRF905發(fā)送數(shù)據(jù)的程序、液晶顯示程序等部分,主程序流程圖如圖4所示。系統(tǒng)上電后,主程序開始向DHT11發(fā)送讀數(shù)據(jù)指令,DHT11收到指令后將
采集的數(shù)據(jù)上傳給主控制器;主控制器將數(shù)據(jù)進(jìn)行處理之后顯示到液晶顯示屏并發(fā)送給nRF905無線收發(fā)模塊,接著掃描鍵盤是否有按下,如果有,則處理相應(yīng)的中斷事件,否則繼續(xù)給DHT11發(fā)送讀指令,重復(fù)以上過程。
3.2上位機軟件設(shè)計
上位機軟件設(shè)計包括將nRF905接收到的數(shù)據(jù)進(jìn)行顯示,同時實現(xiàn)對下位機的監(jiān)控,所以根據(jù)需求,采用VB和ACCESS實現(xiàn)上述對數(shù)據(jù)的顯示和保存等功能。VB是微軟公司開發(fā)的專門面向結(jié)構(gòu)化設(shè)計的容易讓開發(fā)者上手的程序設(shè)計語言[10],由于它良好的圖形用戶界面和對各種數(shù)據(jù)庫等接口的兼容特性,贏得了開發(fā)者青睞。如圖5所示,通過此界面可以顯示當(dāng)前的溫濕度,也可以查看歷史報表和歷史曲線等。
為了驗證該系統(tǒng)的可靠性和精度,在實驗室對該系統(tǒng)進(jìn)行了測試。結(jié)果表明,上位機能實時地接收到來自下位機的溫濕度數(shù)據(jù);上位機接收到的溫濕度數(shù)據(jù)與實驗室實際溫濕度相差不大;系統(tǒng)具有一定的可靠性,能適應(yīng)一定環(huán)境的變化要求。圖6是上位機接收到的數(shù)據(jù)形成的曲線圖。
參考文獻(xiàn)
?。?] 夏志華.基于單片機溫度控制系統(tǒng)的研究與實現(xiàn)[J].煤炭技術(shù),2013,32(2):191193
圖6溫濕度曲線圖[2] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業(yè)出版社,2009.
[3] 王海寧.基于單片機的溫度控制系統(tǒng)的研究[D].合肥:合肥工業(yè)大學(xué),2008.
?。?] 周素茵,章云,曾斌.無線通信技術(shù)在我國現(xiàn)代溫室中的應(yīng)用綜述[J].傳感器與微系統(tǒng),2001,30(2):1417.
?。?] 程世利.現(xiàn)代溫室環(huán)境控制[J].農(nóng)業(yè)裝備技術(shù),2004,30(6):79
?。?] 沈建華,楊艷琴.MSP430系列16位超低功耗單片機原理與實現(xiàn)[M].北京:北京航空航天大學(xué)出版社,2008.
?。?] 代陽.基于MSP430和RS485的分布式的風(fēng)機檢測系統(tǒng)設(shè)計[J].機電一體化,2013,19(4):6872.
?。?] 齊虹,徐志,陳沖,等.基于nRF905的短距離無線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計[J].福州大學(xué)學(xué)報,2010(1):6468.
?。?] 張葉茂,張建功,張廣洲,等.基于nRF905模塊的無線通信直流電場測量系統(tǒng)設(shè)計[J].高電壓技術(shù).2012,38(11):1014.
?。?0] 孟德欣,謝婷,王先花.VB程序設(shè)計[M].北京.清華大學(xué)出版社,2009.