劉永健,何業(yè)洋,李艷宇,任佳豪,王勇
(安徽工業(yè)大學(xué)電氣與信息工程學(xué)院,安徽 馬鞍山 243032)
“農(nóng)業(yè)不舉,百業(yè)不興”,作為中國國民經(jīng)濟(jì)發(fā)展的基礎(chǔ),農(nóng)業(yè)的重要性不言而喻。改革開放以來,科技推動著現(xiàn)代農(nóng)業(yè)不斷發(fā)展,如何在傳統(tǒng)農(nóng)業(yè)生產(chǎn)的基礎(chǔ)上提升農(nóng)作物的品質(zhì)和產(chǎn)量,提高生產(chǎn)效率是現(xiàn)代農(nóng)業(yè)面臨的主要問題。設(shè)施農(nóng)業(yè)是農(nóng)業(yè)現(xiàn)代化的前提,設(shè)施農(nóng)業(yè)是指利用農(nóng)業(yè)生產(chǎn)方法在環(huán)境條件可調(diào)節(jié)控制的半封閉設(shè)施中進(jìn)行農(nóng)業(yè)生產(chǎn)的手段。智能溫室群作為設(shè)施農(nóng)業(yè)的重要組成部分,已經(jīng)廣泛應(yīng)用在現(xiàn)代農(nóng)業(yè)種植中,是實(shí)現(xiàn)高質(zhì)高效農(nóng)業(yè)生產(chǎn)的途徑之一。先進(jìn)的技術(shù)使溫室種植打破傳統(tǒng)農(nóng)業(yè)在空間和時(shí)間上的限制,提高了資源利用率,節(jié)約了種植成本[1]。
針對國家對農(nóng)業(yè)經(jīng)濟(jì)的發(fā)展要求,我們設(shè)計(jì)了一種集自動檢測、通信、控制、報(bào)警于一身的溫室監(jiān)控系統(tǒng)。該系統(tǒng)通過MCU的連接與控制,將各種傳感器監(jiān)測到的數(shù)據(jù),實(shí)時(shí)顯示在各個(gè)節(jié)點(diǎn)的顯示屏上,并通過無線通信傳送至上位機(jī),以便人們進(jìn)行實(shí)時(shí)查看。當(dāng)環(huán)境參數(shù)超過設(shè)定閾值時(shí),會有相應(yīng)紅色指示燈亮、蜂鳴器報(bào)警以及手機(jī)短信通知,從而實(shí)現(xiàn)實(shí)時(shí)處理環(huán)境的不規(guī)則變化并有效遏制變化因素對農(nóng)作物的不利影響。
系統(tǒng)采用分布式結(jié)構(gòu),設(shè)計(jì)了5個(gè)位于溫室中不同位置的采樣點(diǎn),每個(gè)監(jiān)測節(jié)點(diǎn)采用MK60FX512VLQ15為控制核心的單片機(jī)作為控制器,采用DHT11傳感器采集空氣溫濕度,濕度傳感器采集土壤濕度,CO2濃度傳感器測量空氣中的CO2濃度,硅光電池采集光照強(qiáng)度,每隔5 min對環(huán)境參數(shù)進(jìn)行一次采集并顯示在液晶屏上。當(dāng)環(huán)境參數(shù)超過設(shè)定閾值,各個(gè)節(jié)點(diǎn)的紅色指示燈亮,蜂鳴器響,手機(jī)短信進(jìn)行通知。系統(tǒng)還通過繼電器控制光源強(qiáng)度、風(fēng)扇、灑水裝置和CO2產(chǎn)生裝置。同時(shí),系統(tǒng)利用NRF24L01無線模塊,將各節(jié)點(diǎn)數(shù)據(jù)實(shí)時(shí)上傳到上位機(jī)上顯示,以實(shí)現(xiàn)溫室空氣溫濕度、土壤濕度、光照強(qiáng)度、CO2濃度的報(bào)警及控制,并能靈活根據(jù)用戶設(shè)置的環(huán)境條件要求進(jìn)行溫室內(nèi)相關(guān)區(qū)域的環(huán)境參數(shù)調(diào)節(jié)。系統(tǒng)總體設(shè)計(jì)方案如圖1所示(圖為其中一個(gè)節(jié)點(diǎn))。
圖1 系統(tǒng)總體分布方案
主控制器是整個(gè)系統(tǒng)的核心,進(jìn)行數(shù)據(jù)的采集、處理、發(fā)送等。為了達(dá)到系統(tǒng)實(shí)時(shí)快速響應(yīng)的要求,選用MK60FX512VLQ15單片機(jī)作為主控制器。MK60FX512VLQ15單片機(jī)以高性能的32位嵌入式RISC處理器ARM Cortex-M4為內(nèi)核。該內(nèi)核具有門數(shù)目少,中斷延遲短,調(diào)試成本低的特點(diǎn),具有快速中斷響應(yīng)能力,系統(tǒng)頻率高達(dá)150 MHz,晶振頻率高達(dá)50 MHz,能很好地滿足系統(tǒng)對處理器的要求[2]。
系統(tǒng)采用飛思卡爾可充電電池(7.2 V)供電,通過降壓穩(wěn)壓模塊LM2596S降壓至5 V和3.3 V給各功能模塊供電。為防止供電電流不足,分為兩路供電,兩路降壓穩(wěn)壓,以確保每部分都能正常工作。控制單元通過繼電器與220 V交流電相連,實(shí)現(xiàn)低壓控制高壓操作,避免危險(xiǎn)發(fā)生。電源模塊示意圖如圖2所示。
2.3.1 空氣溫濕度采集
DHT11溫濕度傳感器采用串行單線雙向接口,體積小,功耗低,此傳感器為4針單排引腳封裝,引腳說明見表1。該傳感器與MCU的接線方式如圖3所示[3]。
MCU的I/O與DHT11的DATA引腳相連。I/O輸出并保持一定時(shí)間(>18 ms)的低電平后,自動變成輸入狀態(tài),由于上拉電阻,I/O口與DATA數(shù)據(jù)線同時(shí)變?yōu)楦唠娖?,等待DHT11的響應(yīng)信號。當(dāng)MCU通過I/O檢測到DHT11為低電平(響應(yīng)信號)后,等待DHT11發(fā)送數(shù)據(jù)。MCU根據(jù)I/O電平變化接收40位數(shù)據(jù)。數(shù)據(jù)傳送完成后,DHT11的DATA引腳輸出低電平,然后自動變成輸入狀態(tài),上拉電阻隨之變?yōu)楦唠娖?,等待下一個(gè)外部信號的到來。數(shù)據(jù)時(shí)序圖如圖4所示。
通過DHT11采集的溫濕度數(shù)據(jù)與設(shè)定閾值進(jìn)行比較,根據(jù)比較結(jié)果啟動報(bào)警模塊??刂屏鞒倘鐖D5所示。
圖2 電源模塊示意圖
表1 DHT11引腳說明
圖3 空氣溫濕度傳感器模塊連接原理圖
圖4 數(shù)據(jù)時(shí)序圖
圖5 DHT11軟件控制流程圖
2.3.2 土壤濕度傳感器
土壤濕度傳感器是一個(gè)簡易的水分傳感器,可用于檢測土壤的水分,控制土壤的濕度。它通過電位器調(diào)節(jié)控制相應(yīng)閾值,濕度低于設(shè)定值時(shí),DO輸出高電平,高于設(shè)定值時(shí)DO輸出低電平。它內(nèi)部采用LM393芯片,可使其工作更加穩(wěn)定。其引腳說明見表2。
設(shè)計(jì)時(shí),數(shù)字量輸出DO可以與MCU直接相連,通過MCU的I/O口來檢測高低電平,由此來檢測土壤濕度;模擬量輸出AO和AD模塊相連,通過AD轉(zhuǎn)換,可以獲得土壤濕度更精確的數(shù)值。
2.3.3 CO2濃度傳感器
CO2濃度傳感器主要由LM393芯片和MG811二氧化碳?xì)怏w感應(yīng)探頭組成。雙路信號輸出,分別TTL 電平輸出的有效信號為低電平(當(dāng)為模擬量信號輸出及TTL高低電平信號輸出,模擬量輸出電壓0~2 V,濃度越低輸出電壓越高。其引腳說明見表3。
表2 土壤濕度傳感器引腳說明
表3 CO2濃度傳感器引腳說明
檢測氣體濃度超過設(shè)定值時(shí),輸出低電平信號,紅色指示燈亮,該口可直接接MCU的 I/O口)。模擬量輸出口AOUT和MCU直接相連,通過自帶的AD轉(zhuǎn)換模塊,可以獲得更精確的CO2濃度數(shù)值。
2.3.4 土壤濕度與空氣中的CO2采集
將模擬量輸出信號口接到一個(gè)I/O口上,將模擬信號傳給MCU,通過MCU自身所帶的ADC模塊進(jìn)行轉(zhuǎn)換。為得到更準(zhǔn)確的土壤濕度和空氣中的CO2濃度數(shù)據(jù),在軟件程序上采用平均值濾波,按十位精度采集兩路AD數(shù)據(jù),然后每路舍棄最值,再各取平均值得到最終數(shù)據(jù)。具體的軟件控制如下。
for(i=0;i<2;i++)
{
k = 0;
max=AD[i][0];
min=AD[i][0];
for(j=0;j<10;j++)
{
if(AD[i][j]>max)
max=AD[i][j];
if(AD[i][j] min=AD[i][j]; k+=AD[i][j]; } AD[i][9]=(k-max-min)/(8); } G_AD_WATER =AD[0][9]; G_AD_CO2=AD[1][9];} 程序中G_AD_WATER為采集的土壤濕度數(shù)據(jù),G_AD_CO2為采集的CO2濃度數(shù)據(jù)。 將實(shí)時(shí)采集的數(shù)據(jù)與設(shè)定閾值進(jìn)行比較,一旦出現(xiàn)采集數(shù)據(jù)比設(shè)定閾值大的情況,則報(bào)警模塊啟動。具體的軟件控制流程如圖6所示。 圖6 傳感器軟件控制流程圖 2.3.5 光照強(qiáng)度檢測 常見的光照強(qiáng)度檢測一般采用光電二極管或硅光電池。 光電二極管感光面積太小,靈敏度較低,響應(yīng)時(shí)間較長,而硅光電池感光面積大,壽命長,性能穩(wěn)定,光照強(qiáng)度和光電流線性特性很好。因此,本文選擇硅光電池作為光照強(qiáng)度檢測元件。 因?yàn)楣韫怆姵馗鶕?jù)光照強(qiáng)度的強(qiáng)弱相應(yīng)產(chǎn)生大小電流,所以選擇一個(gè)1 kΩ電阻與其串聯(lián),將電流特性轉(zhuǎn)變?yōu)殡妷禾匦?,這樣在通過模數(shù)轉(zhuǎn)換交由單片機(jī)處理。 SIM900A是一個(gè)專門為中國大陸市場設(shè)計(jì)的2頻的GSM/GPRS模塊,工作頻段為:EGSM 900 MHz和DCS 1 800 MHz。內(nèi)嵌TCP/IP協(xié)議,擴(kuò)展的TCP/IP AT命令使用戶能方便使用TCP/IP協(xié)議,這在用戶做數(shù)據(jù)傳輸方向的應(yīng)用時(shí)非常有用。 在本系統(tǒng)中,短信模塊SIM900A作為用戶(手機(jī))與系統(tǒng)的連接橋梁,通過串行接口與MCU相連[4],用戶(手機(jī))與系統(tǒng)連接示意圖如圖7所示,SIM900A與MCU連接示意圖如圖8所示。 圖7 用戶(手機(jī))與系統(tǒng)的連接示意圖 圖8 SIM900A與MCU連接示意圖 當(dāng)環(huán)境采集模塊采集的參數(shù)超過預(yù)定閾值,通過MK60FX512VLQ15芯片控制SIM900A模塊發(fā)送短信給事先設(shè)置好的聯(lián)系人進(jìn)行通知。 選用的液晶LCD顯示屏色彩真,而且面積足夠大,能充分顯示出處理的數(shù)據(jù)。 顯示屏用于顯示溫濕度、CO2濃度、光照強(qiáng)度等環(huán)境參數(shù)的設(shè)定閾值以及實(shí)時(shí)數(shù)據(jù)等信息,方便用戶觀察數(shù)據(jù)。具體的軟件控制如下(以空氣溫度數(shù)據(jù)顯示為例)。 LCD_FStr_CH(site_tem1, up_down[0], BLUE, WHITE);//顯示“溫”漢字 LCD_FStr_CH(site_tem2, up_down[1], BLUE, WHITE);//顯示“度”漢字 LCD_str(site_tem3, ″=″ , BLUE, WHITE); LCD_float(site_tem4, F16T, BLUE, WHITE);//空氣溫度數(shù)據(jù)顯示 程序中LCD_FStr_CH()為漢字顯示函數(shù),LCD_float()為浮點(diǎn)數(shù)顯示函數(shù),LCD_str()為字符串顯示函數(shù),site_tem1、site_tem2、site_tem3、site_tem4為坐標(biāo)信息,up_down[0]、up_down[1]為漢字對應(yīng)的點(diǎn)陣,BLUE(藍(lán)色)、WHITE(白色)為漢字顯示的顏色,F(xiàn)16T為采集的空氣溫度數(shù)據(jù)。 NRF24L01共有8個(gè)引腳,分別是IRQ、MISO、MOSI、SCK、CSN、CE、VCC、GND。其中:IRQ是外部中斷引腳;VCC是3.3 V供電腳(需要用LM2596S降壓到3.3 V);其余為控制和數(shù)據(jù)傳輸引腳[5]。NRF24L01主要通過SPI接口與MCU通信。 NRF24L01具有6個(gè)通道(通道0至通道5)可以傳輸數(shù)據(jù),因此,設(shè)置5個(gè)采集點(diǎn),各安裝1個(gè)NRF24L01,另外在上位機(jī)處也放置1個(gè)NRF24L01,用于隨時(shí)接收數(shù)據(jù),通過串口反饋給上位機(jī)。 SPI通信工作在讀狀態(tài)時(shí),CSN變低, 從機(jī)在主機(jī)SCK的頻率下開始傳輸數(shù)據(jù)。主機(jī)MOSI引腳開始發(fā)送8 bit的SPI讀命令字,同時(shí)從機(jī)通過MISO引腳將自己所處的狀態(tài)傳輸給主機(jī)的STATUS寄存器,當(dāng)狀態(tài)位發(fā)送完畢后,主機(jī)開始讀取在MISO數(shù)據(jù)線上的數(shù)據(jù)。SPI通信讀操作時(shí)序圖如圖9所示。 SPI通信中,可以一次讀取或?qū)懭攵鄠€(gè)字節(jié),順序?yàn)榈妥止?jié)在前,高字節(jié)在后,每個(gè)字節(jié)是高位在前,低位在后。 圖9 SPI通信讀操作時(shí)序圖 本系統(tǒng)采用溫濕度傳感器、CO2濃度傳感器、硅光電池采集相應(yīng)的環(huán)境參數(shù),通過液晶屏進(jìn)行實(shí)時(shí)顯示,并通過無線通信傳輸至上位機(jī)。環(huán)境參數(shù)至少有一種出現(xiàn)異常時(shí),單片機(jī)產(chǎn)生控制信號,一方面啟動報(bào)警模塊和短信模塊,蜂鳴器響,紅色指示燈亮,手機(jī)短信通知;另一方面使對應(yīng)繼電器所在的220 V交流電支路導(dǎo)通,從而實(shí)現(xiàn)終端負(fù)反饋控制:調(diào)控光源強(qiáng)度、灑水裝置、CO2產(chǎn)生裝置、風(fēng)扇等??刂品桨妇唧w流程如圖10所示。 圖10 控制方案流程圖 將5個(gè)采樣裝置分別放置在溫室的4個(gè)角以及中心點(diǎn),每個(gè)采樣點(diǎn)具有圖1所示的各個(gè)要素,能夠監(jiān)測到封閉溫室范圍內(nèi)的環(huán)境參數(shù)。 每個(gè)采樣點(diǎn)的基本單元為分布在中心位置的報(bào)警模塊、液晶屏、短信模塊以及分布在4個(gè)角的溫濕度傳感器、CO2濃度傳感器、硅光電池。這樣的分布安排可以保證每個(gè)采樣點(diǎn)的周圍環(huán)境參數(shù)采集的準(zhǔn)確性,提高應(yīng)對局部異常情況的快速反應(yīng)能力。 從局部到整體,通過各個(gè)傳感器的相互聯(lián)系與影響構(gòu)成了分布式的傳感器網(wǎng)絡(luò)。 各個(gè)傳感器的數(shù)據(jù)輸出口與MK60FX512VLQ15微處理器的眾多I/O口連接,MCU從采集傳感器處獲得各個(gè)環(huán)境參數(shù)數(shù)據(jù),其他傳感器通過接收MCU的指令完成相應(yīng)的報(bào)警、通知用戶、發(fā)送數(shù)據(jù)、顯示數(shù)據(jù)等功能。各傳感器之間必須保證互不干擾。 MCU將獲得的各環(huán)境參數(shù)數(shù)據(jù)串行存儲到各個(gè)相應(yīng)的數(shù)據(jù)數(shù)組中,按照軟件設(shè)置的發(fā)送順序,SPI通信將數(shù)據(jù)傳送給NRF24L01,再通過串口實(shí)時(shí)發(fā)送到上位機(jī)。工作人員能夠?qū)崟r(shí)方便地通過上位機(jī)看到各個(gè)采樣點(diǎn)反饋的數(shù)據(jù)。 將每次采集到的數(shù)據(jù)在MCU內(nèi)部先通過軟件與剛開始設(shè)置好的各參數(shù)的閾值進(jìn)行比較,根據(jù)比較結(jié)果分兩種情況: 第一種情況:當(dāng)某一數(shù)據(jù)超過閾值,根據(jù)相應(yīng)的單片機(jī)的控制信號,各個(gè)執(zhí)行器實(shí)現(xiàn)負(fù)反饋?zhàn)饔谩CU會根據(jù)支路發(fā)出的控制信號(高低電平),觸發(fā)相應(yīng)硬件連接線路上的繼電器變成通路,繼而通過自動控制過程產(chǎn)生負(fù)反饋。同時(shí),報(bào)警模塊和短信模塊進(jìn)入工作狀態(tài),及時(shí)通知工作人員。 第二種情況:如果數(shù)據(jù)都未超過閾值,則一切運(yùn)轉(zhuǎn)正常。 測試一:液晶顯示屏數(shù)據(jù)顯示。查看液晶顯示屏,能夠看見溫濕度、CO2濃度、光照強(qiáng)度等參數(shù)的設(shè)定閾值及其相應(yīng)的實(shí)時(shí)數(shù)據(jù)顯示在顯示屏上,并且人為地改變環(huán)境參數(shù)時(shí),數(shù)據(jù)往正確的趨勢變化。 測試二:上位機(jī)數(shù)據(jù)顯示。上位機(jī)能夠?qū)崟r(shí)顯示環(huán)境參數(shù)的數(shù)據(jù),人為改變環(huán)境參數(shù)時(shí),數(shù)據(jù)也在變化。 測試三:環(huán)境參數(shù)異常。運(yùn)用控制變量法,人為地控制某單一采集數(shù)據(jù)超過設(shè)定閾值。紅色指示燈亮,蜂鳴器響,報(bào)警模塊正常工作;用戶手機(jī)收到報(bào)警短信,短信模塊正常工作??刂茊卧械拿總€(gè)環(huán)境參數(shù)對應(yīng)的模型交流燈泡亮(代表實(shí)際的工作模型)。 如上所述,本文設(shè)計(jì)的所有功能均能實(shí)現(xiàn),且工作穩(wěn)定性很好,系統(tǒng)能夠?qū)崿F(xiàn)預(yù)期效果。 每個(gè)監(jiān)控節(jié)點(diǎn)配備一個(gè)液晶顯示屏,這樣方便人員實(shí)時(shí)監(jiān)控和了解每個(gè)節(jié)點(diǎn)的具體情況。5個(gè)節(jié)點(diǎn)與主機(jī)之間全部是通過無線方式發(fā)送數(shù)據(jù)和接收數(shù)據(jù),避免了布線的麻煩,同時(shí)減少了工作量與應(yīng)用成本。主機(jī)采集到5個(gè)節(jié)點(diǎn)的數(shù)據(jù)之后,通過串口通信將數(shù)據(jù)實(shí)時(shí)傳送給上位機(jī),實(shí)現(xiàn)了數(shù)據(jù)遠(yuǎn)程監(jiān)控,管理人員只要坐在上位機(jī)前就能知道每個(gè)節(jié)點(diǎn)的具體數(shù)據(jù)參數(shù)。本系統(tǒng)成本低,具有推廣價(jià)值和廣闊的市場應(yīng)用前景。 本系統(tǒng)結(jié)合當(dāng)下熱門的物聯(lián)網(wǎng)應(yīng)用技術(shù),通過對無線傳感網(wǎng)絡(luò)的分布式結(jié)構(gòu)的架設(shè),構(gòu)成一個(gè)經(jīng)濟(jì)高效的溫室環(huán)境監(jiān)測與控制系統(tǒng),系統(tǒng)整體運(yùn)行穩(wěn)定,對環(huán)境變化敏銳,當(dāng)溫室環(huán)境異常時(shí),控制器可有效打開相應(yīng)執(zhí)行機(jī)構(gòu)對溫室環(huán)境進(jìn)行調(diào)節(jié)。對于溫室管理人員,本系統(tǒng)有效減輕了其工作量。此外,傳統(tǒng)人工對溫室環(huán)境進(jìn)行監(jiān)測的方式具有明顯的滯后性,無法在環(huán)境變化的第一時(shí)間做出及時(shí)處理,從而造成一些不必要的經(jīng)濟(jì)損失。本系統(tǒng)可對數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示,用戶可遠(yuǎn)程實(shí)時(shí)查看系統(tǒng)狀態(tài),做到環(huán)境變化實(shí)時(shí)跟蹤,有效避免不必要的經(jīng)濟(jì)損失。因此本系統(tǒng)具有很高的實(shí)用價(jià)值。2.4 短信通知
2.5 液晶顯示
2.6 無線通信
3 控制方案
3.1 分布式傳感器網(wǎng)絡(luò)的構(gòu)建
3.2 各傳感器的功能結(jié)構(gòu)
3.3 無線通信傳輸采集數(shù)據(jù)
3.4 閾值判定及其影響
4 系統(tǒng)工作性能與運(yùn)行效果分析
5 系統(tǒng)特色
6 結(jié)語