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