張兆鶴
(西北民族大學(xué)電氣工程學(xué)院,甘肅蘭州,730106)
在農(nóng)業(yè)生產(chǎn)領(lǐng)域,溫室大棚是非常重要的基礎(chǔ)設(shè)施,在信息化技術(shù)的強(qiáng)勢推動(dòng)下,溫室智能化控制已成為一種時(shí)代潮流。通過文獻(xiàn)資料及研究成果梳理與總結(jié)發(fā)現(xiàn),以荷蘭、日本等為代表的發(fā)達(dá)國家在很早就掌握了先進(jìn)且成熟的溫室工程技術(shù),不僅農(nóng)業(yè)技術(shù)處于國際領(lǐng)先水平,而且綜合環(huán)境管理水平也普遍較高,所以農(nóng)作物產(chǎn)量一直穩(wěn)定增長。
縱觀我國,大部分溫室仍采用傳統(tǒng)操控方式,不僅未形成標(biāo)準(zhǔn)且完善的制度體系,而且生產(chǎn)效率也比較低下。即便市場上推出了一些智能溫控系統(tǒng),受限于高昂價(jià)格未實(shí)現(xiàn)進(jìn)一步推廣與應(yīng)用,導(dǎo)致當(dāng)前的控制水平和配套設(shè)施無法切實(shí)滿足生產(chǎn)需求。對(duì)此,我國先后多次引入西方先進(jìn)技術(shù),但由于國情及環(huán)境差異,不僅未取得理想效果,還產(chǎn)生了巨大經(jīng)濟(jì)投入。所以,利用現(xiàn)有技術(shù)自主研發(fā)一套控制精準(zhǔn)、運(yùn)行可靠的智能溫室系統(tǒng)就顯得極其重要。
為從源頭上解決上述問題,筆者決定在本課題研究中開發(fā)出一套以STM32為核心的溫室智能控制系統(tǒng),以溫濕度、光照和二氧化碳作為密切監(jiān)管的環(huán)境參數(shù),倘若當(dāng)前的環(huán)境參數(shù)不利于植物生長,就通過系統(tǒng)調(diào)整打造出適宜植物生長的積極環(huán)境。由于每種植物的生長環(huán)境不同,所以需根據(jù)植物生長習(xí)性設(shè)置預(yù)期的環(huán)境參數(shù)值,即通過上位機(jī)對(duì)環(huán)境變化情況進(jìn)行實(shí)時(shí)監(jiān)控,通過閾值設(shè)置實(shí)現(xiàn)參數(shù)自動(dòng)調(diào)整,從而達(dá)到遠(yuǎn)程監(jiān)控的目的。由此一來,既能夠提高工作效率,減少人力資源投入,還能確保農(nóng)作物健康、快速生長。
擬定開發(fā)的這套系統(tǒng)由兩部分構(gòu)成,一是上位機(jī),二是下位機(jī)。就前者來說,它是利用C語言編寫的程序軟件,以用來建立接口,由此便可通過RS232總線與計(jì)算機(jī)保持實(shí)時(shí)交互。它主要負(fù)責(zé)數(shù)據(jù)采集、參數(shù)設(shè)置、開關(guān)控制等;而后者是利用STM32芯片開發(fā)的控制平臺(tái),通過連接外設(shè)來實(shí)現(xiàn)參數(shù)設(shè)置、數(shù)據(jù)顯示、開關(guān)控制等相關(guān)功能。在此平臺(tái)下,可實(shí)現(xiàn)真正意義上的智能化、實(shí)時(shí)性控制。
本系統(tǒng)將當(dāng)前頗受程序人員青睞與認(rèn)可的STM32單片機(jī)作為主控器。實(shí)際上,它集成了多重優(yōu)勢為一身,不僅數(shù)據(jù)處理功能強(qiáng)大,而且還提供了大量接口資源,可輕松實(shí)現(xiàn)功能拓展、維護(hù)升級(jí)。仔細(xì)觀察下(圖1)可進(jìn)一步發(fā)現(xiàn),本系統(tǒng)按照下述流程進(jìn)行操作:
圖1 總體設(shè)計(jì)流程圖
(1)各大傳感器實(shí)時(shí)收集環(huán)境參數(shù),并將獲取的監(jiān)測數(shù)據(jù)傳送至STM32進(jìn)行處理。
(2)通過觸摸屏對(duì)植物生長環(huán)境參數(shù)進(jìn)行實(shí)時(shí)調(diào)控。當(dāng)溫室現(xiàn)場參數(shù)與設(shè)置參數(shù)不一致時(shí),處理器就會(huì)下達(dá)命令要求執(zhí)行器投入工作,比如溫度、CO2濃度、濕度等都可以通過特定開關(guān)元件進(jìn)行調(diào)控,在遇到突發(fā)情況時(shí),也可基于手動(dòng)模式通過觸摸屏進(jìn)行控制。
(3)STM32處理器將處理的環(huán)境參數(shù)反饋至PC端,主機(jī)軟件就會(huì)將這些數(shù)據(jù)以界面方式來呈現(xiàn),并繪制出相應(yīng)的變化曲線圖。它通過歷史數(shù)據(jù)分析,觸發(fā)上位機(jī)進(jìn)行溫室參數(shù)設(shè)置,并將該信息反饋到處理器,以驅(qū)動(dòng)執(zhí)行器投入運(yùn)行,從而實(shí)現(xiàn)遠(yuǎn)程控制。
(4)除新增的功能強(qiáng)化型外設(shè)接口外,STM32互連系列還提供與其它STM32微控制器相同的標(biāo)準(zhǔn)接口,這種外設(shè)共用性提升了整個(gè)產(chǎn)品家族的應(yīng)用靈活性,使開發(fā)人員可以在多個(gè)設(shè)計(jì)中重復(fù)使用同一個(gè)軟件。新STM32的標(biāo)準(zhǔn)外設(shè)包括10個(gè)定時(shí)器、兩個(gè)12位1-Msample/s 模數(shù)轉(zhuǎn)換器、兩個(gè)12位數(shù)模轉(zhuǎn)換器、兩個(gè)I2C接口、五個(gè)USART接口和三個(gè)SPI端口。
(5)新系列微控制器還沿續(xù)了低電壓和節(jié)能兩大優(yōu)點(diǎn)。2.0V~3.6V的工作電壓范圍兼容主流的電池技術(shù),如鋰電池和鎳氫電池,封裝還設(shè)有一個(gè)電池工作模式專用引腳Vbat。以72MHz頻率從閃存執(zhí)行代碼,低功耗模式共有四種,可將電流消耗降至兩微安。從低功耗模式快速啟動(dòng)也同樣節(jié)省電能;啟動(dòng)電路使用STM32內(nèi)部生成的8MHz信號(hào),將微控制器從停止模式喚醒用時(shí)小于6微秒。
由于筆者開發(fā)的這套系統(tǒng)以溫濕度、光照、二氧化碳為監(jiān)控對(duì)象,所以專門部署了與各項(xiàng)參數(shù)的相對(duì)應(yīng)傳感器,以實(shí)現(xiàn)環(huán)境參數(shù)的高可靠、高精準(zhǔn)采集,相關(guān)傳感器見(表1)。
表 1 傳感器性能參數(shù)
DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。其原理圖見(圖2)。
圖2 溫濕度DHT11
晶振電路(圖3)是用來給單片機(jī)提供時(shí)鐘信號(hào)的。晶振有兩種其中包含有源晶振與無源晶振,是時(shí)鐘電路中最重要的部件之一,晶振的作用是向IC等部件提供相應(yīng)的基準(zhǔn)頻率。XTAL1是單片機(jī)作為時(shí)鐘電路反向放大器的輸入端,XTAL2是單片機(jī)作為時(shí)鐘電路反向放大器的輸出端,這個(gè)反向放大器是能夠用作片內(nèi)振蕩器的配置而使用的,在這其中石晶振蕩器和陶瓷振蕩器都是可以使用的。當(dāng)我們在實(shí)際的應(yīng)用中使用外部時(shí)鐘源驅(qū)動(dòng)器件時(shí),此時(shí)的XTAL2是需要不接的。而對(duì)于輸入到時(shí)鐘電路內(nèi)部連接的時(shí)鐘信號(hào),是需要一個(gè)二分頻觸發(fā)器來實(shí)現(xiàn)的,在實(shí)際的應(yīng)用中,對(duì)外部連接時(shí)鐘信號(hào)的脈寬是不需要做什么要求的,但首先是要求脈沖的高低電平與電路所要求得電平是一樣的。
圖3 晶振電路原理圖
系統(tǒng)的電源電路(圖4)由電源組成,為整個(gè)電路提供電源,使整個(gè)系統(tǒng)能夠正常工作。供電電源為直流5V2A。
圖4 電源電路原理圖
MCU是一種低壓輸出,而環(huán)境調(diào)節(jié)設(shè)備只有在大電流下才能被驅(qū)動(dòng)運(yùn)行。因此,該驅(qū)動(dòng)模塊被設(shè)計(jì)為MCU與環(huán)境調(diào)節(jié)機(jī)構(gòu)之間的中間鏈接,以驅(qū)動(dòng)環(huán)境調(diào)節(jié)設(shè)備,根據(jù)溫室環(huán)境變化做出相應(yīng)調(diào)整。為避免各傳感器間彼此干擾、互相影響,結(jié)合下表2專門構(gòu)建了四路驅(qū)動(dòng)模塊(圖5)。
表2 執(zhí)行機(jī)構(gòu)參數(shù)
圖5 驅(qū)動(dòng)電路圖
系統(tǒng)的軟件設(shè)計(jì)分為兩部分,一是計(jì)算機(jī)部件,二是上位機(jī)模塊。就前者來說,它以單片機(jī)為主控器,以完成信號(hào)采集、參數(shù)設(shè)置等相關(guān)操作;而后者主要用來與下位機(jī)保持實(shí)時(shí)通訊與數(shù)據(jù)顯示。
仔細(xì)觀察下圖6和圖7可進(jìn)一步發(fā)現(xiàn),在投入運(yùn)行之前,要先設(shè)置各參數(shù)的上下限值,這是保證系統(tǒng)穩(wěn)態(tài)運(yùn)行的先決條件。該系統(tǒng)支持兩種控制模式,一是主動(dòng)控制,二是手動(dòng)控制。在手動(dòng)模式下,可控制通風(fēng)/擾動(dòng)風(fēng)扇、加濕器等相關(guān)設(shè)備的運(yùn)行狀態(tài)。在自動(dòng)模式下,完成參數(shù)預(yù)設(shè)后,只要發(fā)現(xiàn)環(huán)境發(fā)生了變化,就立即驅(qū)動(dòng)執(zhí)行器投入工作,傳感器將捕捉到的數(shù)據(jù)傳送到觸摸屏顯示。出于人性化方面的考慮,將觸摸屏作為交互接口,以實(shí)現(xiàn)控制的靈活性與高效化。此處主要設(shè)計(jì)了4個(gè)友好窗口: 參數(shù)設(shè)置、開關(guān)控制、環(huán)境參數(shù)數(shù)據(jù)和歷史圖表顯示。其中歷史圖標(biāo)主要記錄1d內(nèi)溫室參數(shù)的變化狀況并將其存儲(chǔ)在SD卡以供以后查詢分析。
圖6 主程序流程圖
圖7 數(shù)據(jù)處理流程圖
采用經(jīng)典可靠的C語言設(shè)計(jì)了一個(gè)實(shí)時(shí)監(jiān)控接口,由此實(shí)現(xiàn)了可視化操作與C++高效集成優(yōu)勢的深層次融合,相較于Net語言,C語言優(yōu)勢極其突出,具體表現(xiàn)為代碼效率高、代碼緊湊、容易理解、實(shí)現(xiàn)簡單等。而且適用范圍廣泛,使用者稍加學(xué)習(xí)就可以輕松的修改和擴(kuò)展代碼。
該界面主要展示了五個(gè)功能區(qū),一是串行端口選擇區(qū)域,二是參數(shù)控制區(qū),三是開關(guān)控制區(qū),四是參數(shù)顯示區(qū),五是記錄數(shù)據(jù)顯示區(qū)。基于自動(dòng)模式下設(shè)置參數(shù)實(shí)現(xiàn)環(huán)境參數(shù)的靈活、實(shí)時(shí)控制?;谑謩?dòng)模式下,可自行選擇串行端口號(hào),也可采取默認(rèn)配置,即波特率9600,無奇偶校驗(yàn)位,8個(gè)數(shù)據(jù)位,1個(gè)停止位。參數(shù)設(shè)置完成后,只需點(diǎn)擊“確定”就能執(zhí)行控制操作。五個(gè)功能區(qū)協(xié)同合作顯示,很好的將各種數(shù)據(jù)顯現(xiàn)出來,讓使用者可以更加直觀清晰的看到測出的數(shù)據(jù),大大的提升了實(shí)驗(yàn)效率,加快實(shí)驗(yàn)速度,上位機(jī)界面如圖8所示。
圖8 上位機(jī)軟件界面
搭建實(shí)驗(yàn)平臺(tái)對(duì)現(xiàn)場環(huán)境進(jìn)行仿真分析。在手動(dòng)模式下,利用觸摸屏設(shè)置參數(shù)以保證執(zhí)行器被正常觸發(fā),并及時(shí)反饋數(shù)據(jù)變化,它能檢驗(yàn)各機(jī)制能否可靠運(yùn)行,而在自動(dòng)模式下可直接投入運(yùn)行。只要正常運(yùn)行就能通過主機(jī)上完成參數(shù)設(shè)置、數(shù)據(jù)顯示等操作。
將5s作為數(shù)據(jù)采集反饋的周期點(diǎn)。初始參數(shù)值為:溫度30℃,、濕度30% ,、光照100 lx,CO濃度380μL·L-1。以黃瓜的生長環(huán)境為目標(biāo)量: 溫度24℃,濕度45% ,光照185lx,CO濃度450μL·L-1?;谧詣?dòng)模式下生成環(huán)境因子變化圖,通過圖9可進(jìn)一步發(fā)現(xiàn),環(huán)境因子的穩(wěn)定,誤差在可控范圍內(nèi)。
圖9 環(huán)境因子變化折線圖
本系統(tǒng)的功能優(yōu)勢極其顯著,具體表現(xiàn)為構(gòu)造簡單、性價(jià)比高、交互性強(qiáng)等。不僅能密切關(guān)注環(huán)境變化,根據(jù)場景變化做出及時(shí)調(diào)整,還能完整儲(chǔ)存、直觀展示歷史數(shù)據(jù),并以圖表方式來全面反映數(shù)據(jù)變化,由此能協(xié)助人們發(fā)現(xiàn)數(shù)據(jù)變化規(guī)律,探索出行之有效的改良方案。經(jīng)反復(fù)多次測試證實(shí)了本系統(tǒng)的可行性與有效性。智能溫室系統(tǒng)是順應(yīng)時(shí)代發(fā)展的必然產(chǎn)物,不僅提高了生產(chǎn)效率、減少了成本投入、減輕了工作壓力,還創(chuàng)造了經(jīng)濟(jì)和社會(huì)雙重效益。