王海旭
(四川信息職業(yè)技術(shù)學(xué)院,四川 廣元 628000)
隨著國(guó)家西部大開(kāi)發(fā)以及鄉(xiāng)村振興戰(zhàn)略的提出,農(nóng)業(yè)作為立國(guó)之本、強(qiáng)國(guó)之基,農(nóng)業(yè)怎么提高智能化管理水平也逐漸成為重要的要素之一。在農(nóng)業(yè)方面,大棚環(huán)境監(jiān)測(cè)等研究正適應(yīng)這樣的要求,此類(lèi)研究主要集中在實(shí)現(xiàn)低功耗的無(wú)線(xiàn)信息收集與展示[1]。而在信號(hào)收集之外,對(duì)能否自動(dòng)調(diào)節(jié)大棚內(nèi)的一些參數(shù)也有了更高的要求。在農(nóng)業(yè)大棚的智能化管理領(lǐng)域,隨著現(xiàn)代農(nóng)作物對(duì)光照、溫度、濕度的要求日益提高,特別是一些重要的經(jīng)濟(jì)作物對(duì)以上要素又有著較高要求,其形成的規(guī)模效益也日益明顯。傳統(tǒng)的大棚已經(jīng)不能適應(yīng)對(duì)農(nóng)作物生長(zhǎng)要素的精確控制,因此,筆者提出了基于單片機(jī)控制的農(nóng)業(yè)溫室自動(dòng)調(diào)節(jié)系統(tǒng)。
在大棚用于農(nóng)業(yè)的發(fā)展過(guò)程中,一開(kāi)始只是單純地將農(nóng)作物直接栽種到大棚中,實(shí)現(xiàn)對(duì)農(nóng)作物的保溫和保持水分的作用,但這種傳統(tǒng)模式存在一些問(wèn)題。比如,傳統(tǒng)大棚雖然能夠保溫,但是對(duì)于一些對(duì)溫度要求較為嚴(yán)格的作物往往出現(xiàn)溫度過(guò)高或過(guò)低的情況,難以使農(nóng)作物在最佳環(huán)境下生長(zhǎng)。再比如,傳統(tǒng)大棚雖然能夠保持一定的水分,但是對(duì)于一些對(duì)土壤濕度要求較為嚴(yán)格的作物往往出現(xiàn)濕度過(guò)高或過(guò)低的情況,同樣難以使農(nóng)作物在最佳環(huán)境下生長(zhǎng)??紤]到單片機(jī)相比于PLC成本較低,以及單片機(jī)的其他一些優(yōu)點(diǎn),將通過(guò)單片機(jī)編程的簡(jiǎn)易性、對(duì)環(huán)境較強(qiáng)的可適性和方便的環(huán)境搭建作為設(shè)計(jì)基礎(chǔ)??紤]到傳統(tǒng)的溫室大棚難以較為準(zhǔn)確控制溫濕度和光照強(qiáng)度,提出以單片機(jī)為基礎(chǔ),以傳感器檢測(cè)溫度、濕度、光照強(qiáng)度,進(jìn)而控制風(fēng)機(jī)大小、控制澆灌閥門(mén)啟閉、控制遮陽(yáng)棚大小,達(dá)到有效且較為精確地調(diào)節(jié)溫度、濕度、光照強(qiáng)度的目的,以實(shí)現(xiàn)農(nóng)業(yè)智能化,給作物提供更好的生長(zhǎng)環(huán)境。
目前,基于單片機(jī)在溫室大棚中的應(yīng)用,可以通過(guò)物聯(lián)網(wǎng)技術(shù)進(jìn)行農(nóng)業(yè)大棚的環(huán)境監(jiān)測(cè)等[2]。而要實(shí)現(xiàn)自動(dòng)控制,單片機(jī)作為控制單元必不可少。單片機(jī)可以實(shí)現(xiàn)上述的控制設(shè)想,將51單片機(jī)作為控制系統(tǒng)的主控單元,傳感器在接收到溫度、濕度、光照強(qiáng)度等模擬量信號(hào)后,通過(guò)信號(hào)線(xiàn)傳遞給數(shù)據(jù)采集卡,該采集卡支持至少四路的模擬量輸入。通過(guò)A/D轉(zhuǎn)換接口,該采集卡可以實(shí)現(xiàn)模擬量信號(hào)的輸入、數(shù)字量信號(hào)的輸出,得到的數(shù)字量信號(hào)將作為上位機(jī)LabVIEW的輸入信號(hào),并在進(jìn)行處理后輸出到單片機(jī)作為控制信號(hào)。對(duì)于傳感器采集到的信號(hào)輸入到采集卡,包括溫度、濕度、光照強(qiáng)度在內(nèi)的三組模擬量滿(mǎn)足采集卡接口要求。采集卡將模擬量轉(zhuǎn)換為數(shù)字量之后,通過(guò)數(shù)字量輸出模塊將信號(hào)傳遞給單片機(jī)處理,從而輸出到伺服驅(qū)動(dòng)器,完成對(duì)伺服電機(jī)的驅(qū)動(dòng),進(jìn)而控制風(fēng)機(jī)風(fēng)量大小,最終達(dá)到調(diào)節(jié)溫度的目的。以風(fēng)機(jī)為例,基于單片機(jī)的溫室控制系統(tǒng)圖,如圖1所示。
圖1 基于單片機(jī)的溫室控制系統(tǒng)圖
傳感器屬于檢測(cè)環(huán)節(jié)的基本單元,如果說(shuō)51單片機(jī)相當(dāng)于人類(lèi)的中樞大腦,那傳感器就像人類(lèi)的眼睛、耳朵、鼻子等感覺(jué)器官。主要通過(guò)傳感器對(duì)模擬量的檢測(cè),然后通過(guò)A/D轉(zhuǎn)換接口將模擬量轉(zhuǎn)換為數(shù)字量,檢測(cè)的模擬量包含溫度、濕度、光照強(qiáng)度。1)通過(guò)溫度傳感器對(duì)空氣的溫度進(jìn)行檢測(cè),如果檢測(cè)值溫度高于設(shè)定值,則單片機(jī)控制器啟動(dòng)風(fēng)機(jī)對(duì)溫室進(jìn)行通風(fēng)換氣使之降溫;反之,如果檢測(cè)到的溫度低于設(shè)定值,則單片機(jī)控制器關(guān)閉風(fēng)機(jī)使溫室在光照條件下逐漸升溫。2)通過(guò)濕度傳感器對(duì)土壤的濕度進(jìn)行檢測(cè),如果檢測(cè)到的濕度高于設(shè)定值,則單片機(jī)控制器關(guān)閉控制澆灌的電磁閥門(mén),使土壤濕度在一定條件下逐漸減?。环粗?,如果檢測(cè)到的濕度低于設(shè)定值,則單片機(jī)控制器開(kāi)啟控制澆灌的電磁閥門(mén),使水流進(jìn)入土壤,使土壤濕度逐漸達(dá)到設(shè)定值。3)通過(guò)光敏傳感器對(duì)溫室的光照強(qiáng)度進(jìn)行檢測(cè),如果檢測(cè)到的光照強(qiáng)度高于設(shè)定值,則單片機(jī)控制器打開(kāi)遮陽(yáng)棚使溫室內(nèi)的光照強(qiáng)度減弱;反之,如果檢測(cè)到的光照強(qiáng)度低于設(shè)定值,則單片機(jī)控制器關(guān)閉遮陽(yáng)棚使溫室內(nèi)的光照強(qiáng)度升高[3]。
以土壤濕度控制為例闡明該系統(tǒng)原理,溫度與光照控制與此類(lèi)似不再贅述。因?yàn)橥寥罎穸鹊淖兓?,?huì)使電子式濕度傳感器從土壤中吸水而引起本身電容值、電阻值的變化,通過(guò)這種變化達(dá)到測(cè)量的目的,故可用一個(gè)濕度傳感器來(lái)檢測(cè)并確定土壤濕度。然后,把濕度傳感器檢測(cè)到的電信號(hào)傳輸?shù)絾纹瑱C(jī),在單片機(jī)中對(duì)設(shè)定的濕度值和檢測(cè)到的值進(jìn)行比較得到偏差,將偏差結(jié)果輸出,對(duì)變頻器進(jìn)行調(diào)節(jié),使其根據(jù)濕度大小輸出不同的控制信號(hào)。最后,通過(guò)該控制電信號(hào)對(duì)電控的電磁閥進(jìn)行通斷電設(shè)置,此電磁閥可采用三位電磁閥,即全開(kāi)、全閉、半開(kāi)三種狀態(tài),從而調(diào)節(jié)了灌溉水管的閥門(mén)開(kāi)度,達(dá)到調(diào)節(jié)進(jìn)水量的目的。
系統(tǒng)開(kāi)始運(yùn)行后,首先傳感器開(kāi)始通電工作,對(duì)溫度、濕度、光照強(qiáng)度進(jìn)行檢測(cè),然后將傳感器檢測(cè)到的值傳入單片機(jī),在單片機(jī)中進(jìn)行判定,判定結(jié)果有以下兩種情況:
1)當(dāng)前值和設(shè)定值一樣時(shí),程序直接返回到初始位置進(jìn)一步檢測(cè);
2)當(dāng)前值和設(shè)定值不一樣時(shí),系統(tǒng)對(duì)檢測(cè)到的值進(jìn)行運(yùn)算,將運(yùn)算后的結(jié)果即偏差轉(zhuǎn)換成模擬量輸入的電信號(hào),調(diào)節(jié)被控對(duì)象如風(fēng)機(jī),改變被控量如風(fēng)機(jī)的風(fēng)量大小。同時(shí),實(shí)時(shí)檢測(cè)溫度值,直到檢測(cè)值和設(shè)定值一樣。
系統(tǒng)根據(jù)情況進(jìn)行被控量的調(diào)節(jié),控制模擬量如溫度、濕度、光照強(qiáng)度等的大小,直到被控量恢復(fù)到設(shè)定值。如圖2所示,為溫度控制的系統(tǒng)程序流程圖,濕度與光照控制與此類(lèi)似。1)系統(tǒng)開(kāi)始正常運(yùn)行以后,溫度傳感器開(kāi)始實(shí)時(shí)檢測(cè)當(dāng)前溫度值,當(dāng)測(cè)得的溫度值符合設(shè)定值時(shí),單片機(jī)控制器判斷不需要執(zhí)行后續(xù)操作,則跳轉(zhuǎn)到程序的開(kāi)始位置,繼續(xù)檢測(cè)溫度;當(dāng)檢測(cè)到的溫度值不符合設(shè)定值時(shí),系統(tǒng)對(duì)檢測(cè)到的值進(jìn)行運(yùn)算,將運(yùn)算后的結(jié)果即偏差轉(zhuǎn)換成模擬量輸入的電信號(hào),調(diào)節(jié)被控對(duì)象如風(fēng)機(jī),系統(tǒng)將啟動(dòng)風(fēng)機(jī),開(kāi)始進(jìn)行通風(fēng)進(jìn)而改變被控量如風(fēng)機(jī)的風(fēng)量大小,實(shí)現(xiàn)對(duì)溫度的調(diào)節(jié);同時(shí),實(shí)時(shí)檢測(cè)溫度值,直到檢測(cè)值和設(shè)定值一樣后進(jìn)一步檢測(cè)溫度,判斷溫度是否符合設(shè)定值,進(jìn)行循環(huán)判斷。2)進(jìn)行濕度判斷時(shí),系統(tǒng)開(kāi)始正常運(yùn)行后,濕度傳感器開(kāi)始實(shí)時(shí)檢測(cè)濕度,當(dāng)測(cè)得的濕度符合設(shè)定值時(shí),單片機(jī)控制器判斷不需要執(zhí)行后續(xù)操作,則跳轉(zhuǎn)到程序的開(kāi)始位置,繼續(xù)檢測(cè)濕度;當(dāng)檢測(cè)的濕度值不符合設(shè)定值時(shí),系統(tǒng)將啟動(dòng)變頻器閥門(mén),開(kāi)始進(jìn)行灌溉澆水進(jìn)而對(duì)濕度進(jìn)行調(diào)節(jié);最后,通過(guò)該控制電信號(hào)對(duì)電控的電磁閥進(jìn)行通斷電設(shè)置,從而調(diào)節(jié)了灌溉水管的閥門(mén)開(kāi)度,達(dá)到調(diào)節(jié)進(jìn)水量的目的;調(diào)節(jié)后進(jìn)一步檢測(cè)土壤濕度,判斷濕度是否符合設(shè)定值,進(jìn)行循環(huán)判斷。3)進(jìn)行光照強(qiáng)度判斷時(shí),系統(tǒng)開(kāi)始正常運(yùn)行后,光敏傳感器開(kāi)始實(shí)時(shí)檢測(cè)光照強(qiáng)度,當(dāng)測(cè)得的光照強(qiáng)度符合設(shè)定值時(shí),單片機(jī)控制器判斷不需要執(zhí)行后續(xù)操作,則跳轉(zhuǎn)到程序的開(kāi)始位置,繼續(xù)檢測(cè)光照強(qiáng)度;當(dāng)檢測(cè)的光照強(qiáng)度不符合設(shè)定值時(shí),系統(tǒng)將啟動(dòng)遮光棚,開(kāi)始調(diào)節(jié)遮光棚的開(kāi)閉進(jìn)而對(duì)光照強(qiáng)度進(jìn)行調(diào)節(jié);調(diào)節(jié)后進(jìn)一步檢測(cè)光照強(qiáng)度,判斷光照強(qiáng)度是否符合設(shè)定值,進(jìn)行循環(huán)判斷[4]。
圖2 溫度控制系統(tǒng)程序流程圖
LabVIEW作為美國(guó)國(guó)家儀器公司開(kāi)發(fā)的圖形化編程語(yǔ)言,多采用圖形的形式替代了文本語(yǔ)言進(jìn)行圖形化的編程。其中VI的含義即虛擬儀器工程,也就是通過(guò)電腦上的各種圖形去代表實(shí)驗(yàn)室中各類(lèi)硬件的程序模塊。該語(yǔ)言有編程的可視化、圖形化、模塊調(diào)用的方便性等優(yōu)點(diǎn)。比如,同樣的模塊功能,用C語(yǔ)言可能要幾十甚至上百行代碼,但是通過(guò)LabVIEW的編程往往只需要直接調(diào)用模塊的內(nèi)容即可,省去了復(fù)雜的語(yǔ)言編程環(huán)節(jié)。該語(yǔ)言誕生的背景就是給測(cè)試工程師們使用的開(kāi)發(fā)語(yǔ)言,旨在幫助科學(xué)家和工程師解決問(wèn)題,提高生產(chǎn)力和創(chuàng)新力。本研究選用LabVIEW作為上位機(jī)軟件主要也是運(yùn)用其便利的圖形化編程方式和簡(jiǎn)便直觀(guān)的前后面板的顯示,將大大有利于和51單片機(jī)進(jìn)行軟硬件的結(jié)合。
該控制系統(tǒng)為了方便監(jiān)測(cè)溫濕度、光照強(qiáng)度等數(shù)據(jù),有必要進(jìn)行上位機(jī)的搭建,實(shí)現(xiàn)實(shí)時(shí)監(jiān)控或調(diào)節(jié)控制參數(shù)的目的??刂葡到y(tǒng)通過(guò)采集卡采集來(lái)自傳感器的模擬量信號(hào)后,該采集卡也保持與上位機(jī)PC的連接,該P(yáng)C軟件通過(guò)LabVIEW進(jìn)行設(shè)計(jì),主要功能包含前面板的數(shù)據(jù)監(jiān)測(cè),以及后面板的信號(hào)濾波、放大、卷積等。經(jīng)過(guò)LabVIEW設(shè)計(jì)的圖形化語(yǔ)言運(yùn)算后,通過(guò)PC連接51單片機(jī)的串口通信模塊的方式,把運(yùn)算結(jié)果傳遞給單片機(jī)[5]。
該過(guò)程的重點(diǎn)為:除了編輯基本的信號(hào)處理程序外,還需要在LabVIEW進(jìn)行調(diào)試,進(jìn)行接口函數(shù)設(shè)置,從而使PC和51單片機(jī)實(shí)現(xiàn)通信。實(shí)際上,得益于LabVIEW函數(shù)庫(kù)的強(qiáng)大,在實(shí)現(xiàn)虛擬儀器對(duì)單片機(jī)的連接過(guò)程中,LabVIEW本身所帶有的函數(shù)庫(kù)就足以實(shí)現(xiàn)與單片機(jī)的通信。由于傳感器會(huì)實(shí)時(shí)采集信號(hào)并通過(guò)采集卡傳遞給上位機(jī),只要注意庫(kù)函數(shù)連接時(shí)不用靜態(tài)連接,選擇通過(guò)虛擬儀器本身提供的動(dòng)態(tài)函數(shù)庫(kù)連接進(jìn)行上位機(jī)與單片機(jī)的通信[6]。信號(hào)檢測(cè)與處理工作原理圖如圖3所示。
圖3 信號(hào)檢測(cè)與處理工作原理圖
溫室大棚的智能化控制設(shè)計(jì),積極響應(yīng)了國(guó)家的鄉(xiāng)村振興戰(zhàn)略,有利于提高糧食安全,特別是中西部地區(qū)的開(kāi)發(fā)?,F(xiàn)如今,大棚的智能化程度有待提高,同時(shí)控制溫度、濕度、光照強(qiáng)度的智能溫室更是少見(jiàn)。而相比于PLC的大棚控制系統(tǒng),單片機(jī)有著成本低、調(diào)試方便、可移植性強(qiáng)等優(yōu)點(diǎn)。該研究為了使農(nóng)作物在更適宜的條件下生長(zhǎng),更適應(yīng)國(guó)家對(duì)于鄉(xiāng)村振興的要求,以51單片機(jī)作為控制系統(tǒng)主控單元,傳感器在接收溫度、濕度、光照強(qiáng)度等模擬量信號(hào)后,將模擬量的信號(hào)通過(guò)信號(hào)線(xiàn)傳遞給數(shù)據(jù)采集卡,數(shù)據(jù)采集卡將模擬量轉(zhuǎn)換為數(shù)字量之后,通過(guò)數(shù)字量輸出模塊將信號(hào)傳遞上位機(jī)軟件進(jìn)行處理,信號(hào)經(jīng)過(guò)上位機(jī)處理運(yùn)算后傳輸給單片機(jī)作為控制信號(hào)。當(dāng)前值和設(shè)定值一樣時(shí),程序直接返回到初始位置進(jìn)一步檢測(cè);當(dāng)前值和設(shè)定值不一樣時(shí),系統(tǒng)對(duì)檢測(cè)到的值進(jìn)行運(yùn)算,將運(yùn)算后的結(jié)果即偏差轉(zhuǎn)換成模擬量輸入的電信號(hào),調(diào)節(jié)被控對(duì)象,改變被控量大??;同時(shí)繼續(xù)實(shí)時(shí)檢測(cè)當(dāng)前值,直到檢測(cè)值和設(shè)定值一樣。進(jìn)而輸出到伺服驅(qū)動(dòng)器,完成對(duì)伺服電機(jī)的驅(qū)動(dòng),完成控制風(fēng)機(jī)風(fēng)量、灌溉裝置、遮光棚等,最終達(dá)到調(diào)節(jié)被控量的目的。該系統(tǒng)設(shè)計(jì)可操作性強(qiáng),可適應(yīng)性強(qiáng),可以較好地適應(yīng)西部山區(qū)的復(fù)雜農(nóng)業(yè)生產(chǎn)環(huán)境。