焦冬莉 吳必漢 靳坤
【摘 要】目前大棚種植的蔬菜在市場(chǎng)上占有很大的比例,特別是在冬季。然而大棚內(nèi)的蔬菜需要良好的生長(zhǎng)環(huán)境,這就需要對(duì)棚內(nèi)的環(huán)境進(jìn)行檢測(cè)。文中首先給出了檢測(cè)系統(tǒng)的組成及通信方式,然后設(shè)計(jì)了以STM32F103X為核心的主、從設(shè)備硬件連接,最后從軟件上描述了整個(gè)系統(tǒng)的控制流程。
【關(guān)鍵詞】STM32F103X;無(wú)線通信;環(huán)境監(jiān)測(cè)
0 引言
隨著微控制器和檢測(cè)技術(shù)的不斷發(fā)展,這些技術(shù)已經(jīng)被廣泛應(yīng)用在各個(gè)領(lǐng)域。在大棚種植蔬菜的過(guò)程中,溫度、濕度等環(huán)境信息需要實(shí)時(shí)檢測(cè),如果使用人力逐項(xiàng)檢測(cè)的話,不僅工作效率低,而且檢測(cè)結(jié)果不準(zhǔn)確,為此設(shè)計(jì)了一種集控制、檢測(cè)、通信、顯示為一體大棚環(huán)境檢測(cè)系統(tǒng)。
1 大棚環(huán)境檢測(cè)系統(tǒng)
整個(gè)控制系統(tǒng)由從設(shè)備和主設(shè)備組成,從設(shè)備負(fù)責(zé)檢測(cè)大棚的環(huán)境信息并將信息通過(guò)無(wú)線通信模塊發(fā)送至主設(shè)備;主設(shè)備接收從設(shè)備發(fā)送的環(huán)境信息并將其顯示在LCD顯示屏上。
1.1 主設(shè)備系統(tǒng)
主設(shè)備硬件結(jié)構(gòu)如圖2所示,微控制器是整個(gè)主設(shè)備的核心,其中TFT_LCD既是顯示模塊也是輸入模塊,具有實(shí)時(shí)顯示的功能。另外,通過(guò)觸摸屏可以查看大棚的環(huán)境信息。無(wú)線通信模塊用于接收和發(fā)送數(shù)據(jù),電源模塊用于主設(shè)備供電,主設(shè)備與從設(shè)備之間采用無(wú)線傳輸網(wǎng)絡(luò)。
1.2 從設(shè)備系統(tǒng)
如圖2所示,從設(shè)備中的微處理器負(fù)責(zé)接收所有傳感器發(fā)出的信號(hào)。首先對(duì)接收的原始數(shù)據(jù)進(jìn)行處理,整合傳感器傳出的信息,然后從設(shè)備通過(guò)無(wú)線通信模塊將整理好的信息發(fā)送給室內(nèi)的主設(shè)備。
1.3 通信方式
由于模塊的通信方式采用的是半雙工通信方式,可以完成點(diǎn)對(duì)點(diǎn),點(diǎn)對(duì)多點(diǎn)的通訊。但是在點(diǎn)對(duì)多點(diǎn)的通訊模式下,首先需要設(shè)1個(gè)主站,其余為從站,所有站點(diǎn)都必須設(shè)置一個(gè)唯一的地址。通信的協(xié)調(diào)由主站控制,主站采用帶地址碼的數(shù)據(jù)幀發(fā)送數(shù)據(jù)或命令,所有從站全部都能接收,并將接收到的地址碼與本機(jī)地址碼比較,地址不同則將數(shù)據(jù)丟掉,不做響應(yīng),若地址碼相同,則將接收的數(shù)據(jù)傳送出去。組網(wǎng)必須保證在任何一個(gè)瞬間,網(wǎng)中只有一個(gè)站點(diǎn)處于發(fā)送狀態(tài),以免相互干擾。
2 器件介紹及部分硬件電路
設(shè)計(jì)的控制電路主要使用以下元器件,包括STM32F103VET6、STM32F103C8T6、TFT_LCD模塊、VT-DTMSD3-433模塊、溫濕度傳感器模塊、光照強(qiáng)度傳感器和氧氣濃度傳感器。
2.1 VT-DTMSD3-433通信模塊
VT-DTMSD3-433是一款包含了CC112xRF芯片和Cortex-M3內(nèi)核的32位ARM所設(shè)計(jì)的無(wú)線通信模塊,具有UART通信接口,在硬件連接方面只需要將各個(gè)引腳與STM32的UART通信接口對(duì)應(yīng)連接即可。
2.2 TFT_LCD模塊
設(shè)計(jì)使用的顯示模塊為T(mén)FT-LCD模塊,本設(shè)計(jì)所選的微控制器自帶LCD控制器,可以將顯示模塊的數(shù)據(jù)線直接與FSMC數(shù)據(jù)線連接,并且觸摸屏控制器XPT2046帶有SPI通信接口,可以與微機(jī)控制器的SPI_1接口相連。TFT_LCD模塊與微控制器的硬件連接如圖3所示:
2.3 從設(shè)備相關(guān)模塊的硬件連接
檢測(cè)系統(tǒng)在設(shè)計(jì)上所選取的傳感器均是可以直接發(fā)出數(shù)字信號(hào)的成品傳感器,在硬件連接方面,如果微控制器上的外部總線接口數(shù)量不夠,就使用普通的IO口,通過(guò)軟件來(lái)模擬總線協(xié)議來(lái)達(dá)到與傳感器之間進(jìn)行數(shù)據(jù)傳輸?shù)哪康摹?/p>
2.4 溫濕度傳感器DHT11
溫濕度傳感器采用的是DHT11,采用單總線結(jié)構(gòu),根據(jù)其使用手冊(cè),當(dāng)傳感器與MCU之間的距離較遠(yuǎn)時(shí),需要在其數(shù)據(jù)引腳DATA上接一個(gè)阻值為5K的上拉電阻。
3 系統(tǒng)軟件設(shè)計(jì)
本次系統(tǒng)設(shè)計(jì)所選用的傳感器和通信模塊均滿足設(shè)計(jì)要求。通信模塊運(yùn)行在主從模式時(shí),主模塊從數(shù)據(jù)接口接收的數(shù)據(jù)幀必須包含從模塊的源地址,然后通過(guò)無(wú)線發(fā)射出去;當(dāng)收到無(wú)線數(shù)據(jù)后,取出地址域字節(jié)并與已配置的源地址比較,如果一致,則將數(shù)據(jù)從數(shù)據(jù)接口輸出,否則丟棄不處理。
從模塊從數(shù)據(jù)接口收到數(shù)據(jù)后,自動(dòng)加上已配置的目的地址,然后通過(guò)無(wú)線發(fā)射出去;當(dāng)收到無(wú)線數(shù)據(jù)后,取出地址域字節(jié)并與已配置的源地址比較,若一致則將數(shù)據(jù)域從數(shù)據(jù)接口輸出,否則丟棄不處理。
3.1 主設(shè)備程序設(shè)計(jì)
如圖4所示,主設(shè)備程序在運(yùn)行時(shí)首先進(jìn)行系統(tǒng)初始化,再通過(guò)無(wú)線通信模塊向從設(shè)備發(fā)送傳輸數(shù)據(jù)的命令。在接收到從設(shè)備發(fā)出的數(shù)據(jù)后,通信模塊會(huì)首先核對(duì)數(shù)據(jù)幀中的地址域字節(jié)與配置的源地址是否匹配,如果匹配,則進(jìn)行數(shù)據(jù)處理并及時(shí)的將處理好的數(shù)據(jù)顯示在LCD屏上,否則直接丟棄。主設(shè)備可以通過(guò)不斷刷新顯示的信息來(lái)達(dá)到對(duì)多個(gè)大棚進(jìn)行實(shí)時(shí)檢測(cè)的目的。
3.2 從設(shè)備程序設(shè)計(jì)
如圖4所示,從設(shè)備程序在運(yùn)行時(shí),首先進(jìn)行系統(tǒng)的初始化,然后依次讀取各個(gè)傳感器的數(shù)據(jù),并將數(shù)據(jù)整理成一定的格式存儲(chǔ)起來(lái),然后通過(guò)檢測(cè)是否有主設(shè)備發(fā)出的命令來(lái)判斷是否將整理好的數(shù)據(jù)發(fā)送給主設(shè)備,通過(guò)不斷的循環(huán)接收傳感器傳出的數(shù)據(jù)來(lái)達(dá)到及時(shí)獲取種植大棚內(nèi)部環(huán)境信息的目的。
4 結(jié)語(yǔ)
本系統(tǒng)采用了ARM微控制器對(duì)多個(gè)種植大棚內(nèi)部的環(huán)境信息進(jìn)行檢測(cè)。設(shè)計(jì)的檢測(cè)系統(tǒng)不僅可以減輕種植戶(hù)的勞動(dòng)量,提高數(shù)據(jù)檢測(cè)的準(zhǔn)確性,同時(shí)還能夠提高蔬菜的產(chǎn)量,具有很好的應(yīng)用前景。
【參考文獻(xiàn)】
[1]ARM公司.STM32F103VET6 中文手冊(cè)[S].
[2]余筱.基于ARM的環(huán)境檢測(cè)網(wǎng)絡(luò)[D].華南理工大學(xué),2012.
[3]王慧.基于ARM處理器的遠(yuǎn)程無(wú)線監(jiān)測(cè)系統(tǒng)[D].南昌大學(xué),2013.
[責(zé)任編輯:楊玉潔]