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