原曉楠, 李瑞程, 柴凱昕, 邱 卓, 孫曉華
(西安交通大學(xué)電氣工程學(xué)院,西安 710049)
隨著生活條件的不斷提升,植物培養(yǎng)已經(jīng)成為越來越多人的愛好,也是在快節(jié)奏生活之下很好的減壓方式,除了家庭花園培養(yǎng)模式外,目前較為流行的還有桌上盆栽。但是,在生活節(jié)奏越來越快的時(shí)代,經(jīng)常會(huì)因時(shí)間、空間、方法等多種因素造成桌上盆栽無法獲得健康生長,這促進(jìn)了自動(dòng)澆花裝置的產(chǎn)生[1-2]。通過調(diào)研發(fā)現(xiàn),目前市場(chǎng)上存在的自動(dòng)澆花裝置存在功耗大、續(xù)航時(shí)間短、價(jià)格昂貴、受眾人群小,沒有平衡好產(chǎn)品自動(dòng)化程度與種植樂趣的關(guān)系,用戶參與感不強(qiáng),智能應(yīng)用性較低等缺點(diǎn)[3-5]。
本文基于Arduino開發(fā)板設(shè)計(jì)了智能植物培育體,通過設(shè)計(jì)“電-水-土”分離式滲透給水結(jié)構(gòu)并結(jié)合物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)植物的遠(yuǎn)程智能培養(yǎng),設(shè)計(jì)多種模式平衡培養(yǎng)智能化與用戶參與感[6],在降低系統(tǒng)功耗的前提下豐富系統(tǒng)的功能,具有很好的智能應(yīng)用性。
系統(tǒng)選擇Arduino作為主要控制芯片[7],由數(shù)據(jù)采集與處理、算法設(shè)計(jì)、系統(tǒng)控制和遠(yuǎn)程智能設(shè)計(jì)4個(gè)模塊組成,設(shè)計(jì)思路如圖1所示。通過對(duì)植物生長環(huán)境參數(shù)的采集與處理建立數(shù)據(jù)庫,并通過算法及軟件編程實(shí)現(xiàn)對(duì)植物生長環(huán)境的監(jiān)測(cè)、預(yù)判,設(shè)計(jì)給水結(jié)構(gòu)及控制電路并以Arduino作為主控平臺(tái)結(jié)合預(yù)判算法實(shí)現(xiàn)植物生長環(huán)境自主調(diào)控,應(yīng)用物聯(lián)網(wǎng)技術(shù)設(shè)計(jì)用戶端APP實(shí)現(xiàn)系統(tǒng)遠(yuǎn)程智能調(diào)控[8]。
圖1 系統(tǒng)設(shè)計(jì)思路導(dǎo)圖
植物生長環(huán)境數(shù)據(jù)采集主要包括對(duì)植物生長環(huán)境的空氣溫度、濕度和土壤濕度的采集,通過綜合對(duì)比選擇DHT11進(jìn)行空氣溫、濕度檢測(cè),具有溫、濕度同時(shí)測(cè)量、結(jié)構(gòu)簡單、抗靜電、抗干擾等諸多優(yōu)點(diǎn)。選擇Arduino Moisture Sensor進(jìn)行土壤濕度檢測(cè),傳感器檢測(cè)探頭埋在作物根部,將濕度變化轉(zhuǎn)化為電阻變化監(jiān)測(cè)土壤的濕度。
基于所選擇的傳感器設(shè)計(jì)了檢測(cè)電路,其原理如圖2所示。DHT11模塊內(nèi)部有一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接,可將采集到的信號(hào)轉(zhuǎn)換為電信號(hào)直接傳輸給Arduino進(jìn)行處理。土壤濕度傳感器的阻值會(huì)隨著土壤水分含量的變化而變化,將土壤濕度傳感器的探頭插入土壤中,設(shè)計(jì)分壓電路將電阻的變化轉(zhuǎn)換為電壓的變化傳輸給Arduino進(jìn)行處理。
圖2 檢測(cè)電路原理
檢測(cè)電路輸出的模擬信號(hào)經(jīng)由Arduino的模擬輸入引腳可完成模數(shù)轉(zhuǎn)換輸出相應(yīng)數(shù)值,選擇模擬輸入引腳并通過編程語句定義輸入引腳,用模擬信號(hào)輸入函數(shù)analogRead()獲取溫、濕度和土壤濕度信號(hào),通過多次實(shí)驗(yàn)建立植物生長環(huán)境參數(shù)數(shù)據(jù)庫。
根據(jù)實(shí)驗(yàn)數(shù)據(jù)標(biāo)定土壤干、濕程度[9],利用Matlab軟件進(jìn)行數(shù)據(jù)擬合,得到濕度與植物生長環(huán)境的函數(shù)關(guān)系曲線,將濕度值與生長環(huán)境變化一一對(duì)應(yīng)[10]。通過建模獲取的土壤濕度函數(shù)關(guān)系式為
式中:s為土壤濕度,RH;g為采集信號(hào)。
根據(jù)數(shù)據(jù)擬合得出的函數(shù)關(guān)系設(shè)計(jì)閾值實(shí)現(xiàn)對(duì)植物生長環(huán)境的預(yù)判[11]。不同類型植物具有不同的生長習(xí)性,在室內(nèi)養(yǎng)殖時(shí)對(duì)土壤濕度的要求也不盡相同[12]。一般來說,將濕度保持在60%~80%左右即可滿足生長要求。但有一些植物對(duì)濕度要求較低,若濕度一直保持較高水平,會(huì)導(dǎo)致植物根部缺氧壞死,不利于根部發(fā)育;有一些植物對(duì)濕度要求較高,土壤過干,滿足不了植株的蒸騰作用,從而影響地上部分給予根部的營養(yǎng)。通過查閱相關(guān)文獻(xiàn),按照植物對(duì)含水量的需求將其分為3種不同類型,如表1所示,為不同類型的植物提供“定制化”的澆水養(yǎng)護(hù)服務(wù)。
表1 土壤濕度閾值調(diào)整類型設(shè)計(jì)表 %
基于算法設(shè)計(jì)與閾值設(shè)計(jì)進(jìn)行程序編寫,程序流程圖如圖3所示。首先從傳感器檢測(cè)電路獲取溫、濕度和土壤濕度信號(hào)并進(jìn)行信號(hào)處理,獲取系統(tǒng)模式與狀態(tài)信息并進(jìn)行相應(yīng)的模式設(shè)置與閾值調(diào)整,將土壤濕度與閾值進(jìn)行比較,當(dāng)土壤濕度過低,啟動(dòng)給水電路,當(dāng)濕度過高,關(guān)閉給水電路。
圖3 程序設(shè)計(jì)流程
傳統(tǒng)的給水結(jié)構(gòu)一般采用水泵給水,模擬用戶手動(dòng)澆花的效果,需要額外的走線、打孔和布管,增加裝置復(fù)雜度、影響觀感的同時(shí)電路與蓄水池常常無法做到很好的隔離,且水泵體積較大,對(duì)水箱空間要求較高,自身能耗也比較高。系統(tǒng)采用滲透式給水原理設(shè)計(jì)了“水-電-土”分離的給水結(jié)構(gòu),其原理如圖4所示,將土壤、給水裝置與控制裝置分離開。
圖4 “水-電-土”分離滲透式給水結(jié)構(gòu)原理
蓄水槽開設(shè)在花盆中下部四周,在與土壤相接的內(nèi)壁處開設(shè)細(xì)小柵格,以供均勻滲透補(bǔ)水。蓄水槽上方與壓片對(duì)應(yīng)位置開給水口,在壓片的控制下給水口的開合。給水裝置分為上下兩個(gè)部分,分別置于主體與電控盒中。電控盒中的舵機(jī)轉(zhuǎn)動(dòng)控制磁鐵的上下移動(dòng),將給水口的開合轉(zhuǎn)化為彈簧彈力與磁鐵磁力的較量,當(dāng)磁力大于彈力時(shí),磁鐵吸合并帶動(dòng)上閥體關(guān)閉給水口,停止給水;當(dāng)磁力小于彈力時(shí),彈簧帶動(dòng)上閥體上移后打開給水口,開始給水。
基于以上設(shè)計(jì)原理系統(tǒng)采用Inventor Autodesk軟件進(jìn)行了機(jī)械結(jié)構(gòu)設(shè)計(jì),如圖5所示。主體部分與電控盒部分通過梯形凸臺(tái)旋轉(zhuǎn)嵌合與分離,實(shí)現(xiàn)了水與電的分離,并利用3D打印技術(shù)制作了整體結(jié)構(gòu)。
圖5 機(jī)械結(jié)構(gòu)設(shè)計(jì)
如圖6所示,系統(tǒng)的控制電路部分由舵機(jī)與磁鐵、下彈簧構(gòu)成,在托盤底座上,與閥體對(duì)應(yīng)的豎直位置,開有1個(gè)滑道,內(nèi)置下彈簧和高磁性銣磁鐵,下彈簧在停止給水時(shí)處于收縮狀態(tài),依靠磁鐵-彈簧-舵機(jī)配合來為上閥體提供動(dòng)力,從而控制給水狀態(tài)。
圖6 系統(tǒng)控制原理
當(dāng)主控芯片發(fā)出給水信號(hào)時(shí),Arduino調(diào)制PWM信號(hào)使舵機(jī)旋轉(zhuǎn)45°,松開尼龍細(xì)線帶動(dòng)彈簧控制磁鐵,開始給水;當(dāng)給水量達(dá)到植物生長所需量時(shí),再次調(diào)制PWM信號(hào)使舵機(jī)回轉(zhuǎn)45°,停止給水。為了使水能夠順利進(jìn)入滲透管道,還需要注意平衡管道內(nèi)的壓強(qiáng),因此在水槽內(nèi)部設(shè)計(jì)了一根細(xì)長的管子,連通大氣平衡氣壓。此外,由于系統(tǒng)的主要?jiǎng)恿碓从诖盆F與彈簧以及舵機(jī)翼的簡單擺動(dòng)動(dòng)作,裝置無論在靜息狀態(tài)還是工作狀態(tài)耗能都極低,符合環(huán)保節(jié)能的要求,增加花盆的待機(jī)時(shí)間,使用方便簡潔。
為了平衡好產(chǎn)品自動(dòng)化程度與種植樂趣的關(guān)系,加強(qiáng)用戶培養(yǎng)植物的參與感,系統(tǒng)根據(jù)使用場(chǎng)景及使用人群的行為與作息習(xí)慣設(shè)計(jì)了兩種可選模式[13-14]:托管模式與輔助模式,其設(shè)計(jì)原理框圖如圖7所示。
圖7 工作模式設(shè)計(jì)原理
托管模式適用于用戶受時(shí)間、空間限制無法及時(shí)照料植物的情況,可實(shí)現(xiàn)對(duì)植物的全方位監(jiān)測(cè)與管理,無需人為干預(yù)即可保證植物的正常生長,采取手機(jī)選擇觸發(fā)的方式,可實(shí)現(xiàn)模式的遠(yuǎn)程即時(shí)切換。在托管模式下,系統(tǒng)可實(shí)時(shí)監(jiān)測(cè)植物根部土壤濕度,并對(duì)植物生長狀態(tài)做出評(píng)估,根據(jù)評(píng)估結(jié)果控制自動(dòng)給水裝置,同時(shí)在托管模式下,系統(tǒng)其他輔助功能暫停使用以減少裝置耗能,更加節(jié)能環(huán)保。
輔助模式適用于用戶有條件進(jìn)行手動(dòng)植物培養(yǎng)的情況,通過手機(jī)選擇將工作模式切換為輔助模式。在輔助模式下同樣能夠?qū)崿F(xiàn)對(duì)植物狀態(tài)的實(shí)時(shí)監(jiān)測(cè),系統(tǒng)可實(shí)時(shí)監(jiān)測(cè)植物根部土壤濕度,并對(duì)植物生長狀態(tài)做出評(píng)估,并在評(píng)估結(jié)果為植物缺水狀態(tài)時(shí)通過顯示屏將相關(guān)信息發(fā)送給用戶,提醒用戶為植物手動(dòng)補(bǔ)水;若用戶忘記補(bǔ)水時(shí)啟動(dòng)自動(dòng)補(bǔ)水裝置進(jìn)行補(bǔ)救性補(bǔ)水。輔助模式下系統(tǒng)其他輔助功能以低功耗方式呈現(xiàn)。
系統(tǒng)基于物聯(lián)網(wǎng)技術(shù)結(jié)合Blinker與ESP8266 WiFi模塊實(shí)現(xiàn)遠(yuǎn)程控制功能設(shè)計(jì)。Blinker是由“點(diǎn)燈科技”提供的一種物聯(lián)網(wǎng)接入方案,提供APP端、設(shè)備端與服務(wù)器端支持,并通過云服務(wù)器進(jìn)行數(shù)據(jù)傳輸存儲(chǔ)。基于Blinker平臺(tái)可以在其APP端設(shè)計(jì)定時(shí)控制、設(shè)備接入控制、設(shè)備分享等多種功能,實(shí)現(xiàn)人機(jī)交互。利用用戶端手機(jī)APP定時(shí)向系統(tǒng)發(fā)送心跳包,系統(tǒng)收到心跳包后會(huì)返回當(dāng)前狀態(tài),每30~60 s發(fā)送一次,數(shù)據(jù)更新的時(shí)間間隔基本滿足需求。
ESP8266采用STA站點(diǎn)模式,采用透傳單鏈方式接入互聯(lián)網(wǎng),作為數(shù)據(jù)采集上傳工具,完成數(shù)據(jù)的收集和可視化[15-16],將數(shù)據(jù)通過WiFi網(wǎng)絡(luò)與監(jiān)控手機(jī)進(jìn)行遠(yuǎn)程通信。用戶通過手機(jī)APP即可遠(yuǎn)程查看植物生長環(huán)境狀況并進(jìn)行相應(yīng)控制。
系統(tǒng)設(shè)計(jì)的用戶端手機(jī)APP界面如圖8所示,最上方為調(diào)試信息,用戶可以通過點(diǎn)擊刷新鍵手動(dòng)刷新數(shù)據(jù);中部為空氣濕度、空氣溫度、土壤濕度、當(dāng)前時(shí)間與天氣等環(huán)境信息的顯示;最下側(cè)為控制按鈕,供用戶控制澆水狀況、使用模式切換等。
圖8 用戶端手機(jī)APP界面
系統(tǒng)采用了網(wǎng)絡(luò)數(shù)據(jù)爬取技術(shù)進(jìn)行了聯(lián)網(wǎng)對(duì)時(shí)、天氣預(yù)報(bào)功能的設(shè)計(jì)。聯(lián)網(wǎng)對(duì)時(shí)功能基于Blinker庫內(nèi)置的時(shí)間獲取功能實(shí)現(xiàn),通過設(shè)定時(shí)區(qū)獲得當(dāng)前北京時(shí)間和年月日周信息。天氣預(yù)報(bào)功能采用心知天氣的免費(fèi)版API產(chǎn)品,通過對(duì)心知天氣API發(fā)起請(qǐng)求,服務(wù)器響應(yīng)并返回天氣信息的Json數(shù)據(jù),使用ArduinoJson庫對(duì)接收到的Json數(shù)據(jù)進(jìn)行解析并處理得到當(dāng)前實(shí)時(shí)天氣和之后兩天的天氣預(yù)測(cè)信息。
對(duì)于輔助功能獲取的相關(guān)信息及植物生長狀態(tài)信息,系統(tǒng)進(jìn)行了終端OLED屏幕和用戶端手機(jī)APP界面雙顯示的設(shè)計(jì)。其中終端OLED顯示屏設(shè)定了5種顯示模式,依次為網(wǎng)絡(luò)時(shí)間、當(dāng)前天氣、天氣預(yù)測(cè)、植物生長情況、室內(nèi)溫濕度,顯示效果如圖9所示。同時(shí),為了降低能耗,系統(tǒng)使用SW-420高靈敏度震動(dòng)傳感器實(shí)現(xiàn)顯示屏自動(dòng)休眠功能,當(dāng)用戶希望從OLED屏幕上讀取信息時(shí),輕拍喚醒系統(tǒng)顯示即可。
圖9 輔助功能顯示效果
使用約500 g普通土壤對(duì)系統(tǒng)的植物生長環(huán)境調(diào)節(jié)性能進(jìn)行數(shù)據(jù)測(cè)試,以5 s為采樣間隔,監(jiān)測(cè)普通水泵式給水系統(tǒng)與實(shí)驗(yàn)設(shè)計(jì)系統(tǒng)的植物培養(yǎng)效果,測(cè)試曲線圖如圖10所示。測(cè)試結(jié)果表明,實(shí)驗(yàn)設(shè)計(jì)的系統(tǒng)可以實(shí)現(xiàn)更加優(yōu)質(zhì)的智能植物培養(yǎng),且滲透式給水方式與盆內(nèi)土壤廣泛接觸,對(duì)植物供水較為充足且均勻,避免了水泵灌溉式澆水的積水、板結(jié)等問題,有利于植物茁壯生長。
圖10 植物培養(yǎng)性能測(cè)試曲線
系統(tǒng)對(duì)機(jī)械結(jié)構(gòu)、控制邏輯等方面進(jìn)行了改進(jìn),給水過程只有舵機(jī)旋轉(zhuǎn)時(shí)需要電能,避免了使用水泵供水持續(xù)消耗電能的問題,降低功耗;利用SW-420高靈敏度震動(dòng)傳感器為系統(tǒng)OLED顯示屏增添自動(dòng)休眠功能,需要查看OLED屏幕信息時(shí),輕拍花盆即可喚醒,降低顯示功耗。
系統(tǒng)從多角度解決了植物的智能培養(yǎng)問題,提出了基于磁力控制的滲透式給水方式,實(shí)現(xiàn)了電-水-土分離設(shè)計(jì),杜絕水土摻混與電子元件遇水問題的同時(shí)降低了系統(tǒng)能耗,改善了植物培養(yǎng)效果。利用機(jī)械設(shè)計(jì)技術(shù)實(shí)現(xiàn)了系統(tǒng)的無螺釘嵌合式連接,可以實(shí)現(xiàn)徒手拆卸,便于檢修與維護(hù)。充分結(jié)合物聯(lián)網(wǎng)技術(shù),多種模式實(shí)現(xiàn)植物智能培養(yǎng)的同時(shí)借助網(wǎng)絡(luò)爬蟲技術(shù),使系統(tǒng)具備聯(lián)網(wǎng)對(duì)時(shí)、天氣預(yù)報(bào)等輔助功能,很好地平衡了用戶參與感與系統(tǒng)自動(dòng)化程度,解決了現(xiàn)有植物智能培養(yǎng)的問題,具有很好的推廣意義。