張兆鶴
(西北民族大學電氣工程學院,甘肅蘭州,730106)
在農業生產領域,溫室大棚是非常重要的基礎設施,在信息化技術的強勢推動下,溫室智能化控制已成為一種時代潮流。通過文獻資料及研究成果梳理與總結發現,以荷蘭、日本等為代表的發達國家在很早就掌握了先進且成熟的溫室工程技術,不僅農業技術處于國際領先水平,而且綜合環境管理水平也普遍較高,所以農作物產量一直穩定增長。
縱觀我國,大部分溫室仍采用傳統操控方式,不僅未形成標準且完善的制度體系,而且生產效率也比較低下。即便市場上推出了一些智能溫控系統,受限于高昂價格未實現進一步推廣與應用,導致當前的控制水平和配套設施無法切實滿足生產需求。對此,我國先后多次引入西方先進技術,但由于國情及環境差異,不僅未取得理想效果,還產生了巨大經濟投入。所以,利用現有技術自主研發一套控制精準、運行可靠的智能溫室系統就顯得極其重要。
為從源頭上解決上述問題,筆者決定在本課題研究中開發出一套以STM32為核心的溫室智能控制系統,以溫濕度、光照和二氧化碳作為密切監管的環境參數,倘若當前的環境參數不利于植物生長,就通過系統調整打造出適宜植物生長的積極環境。由于每種植物的生長環境不同,所以需根據植物生長習性設置預期的環境參數值,即通過上位機對環境變化情況進行實時監控,通過閾值設置實現參數自動調整,從而達到遠程監控的目的。由此一來,既能夠提高工作效率,減少人力資源投入,還能確保農作物健康、快速生長。
擬定開發的這套系統由兩部分構成,一是上位機,二是下位機。就前者來說,它是利用C語言編寫的程序軟件,以用來建立接口,由此便可通過RS232總線與計算機保持實時交互。它主要負責數據采集、參數設置、開關控制等;而后者是利用STM32芯片開發的控制平臺,通過連接外設來實現參數設置、數據顯示、開關控制等相關功能。在此平臺下,可實現真正意義上的智能化、實時性控制。
本系統將當前頗受程序人員青睞與認可的STM32單片機作為主控器。實際上,它集成了多重優勢為一身,不僅數據處理功能強大,而且還提供了大量接口資源,可輕松實現功能拓展、維護升級。仔細觀察下(圖1)可進一步發現,本系統按照下述流程進行操作:

圖1 總體設計流程圖
(1)各大傳感器實時收集環境參數,并將獲取的監測數據傳送至STM32進行處理。
(2)通過觸摸屏對植物生長環境參數進行實時調控。當溫室現場參數與設置參數不一致時,處理器就會下達命令要求執行器投入工作,比如溫度、CO2濃度、濕度等都可以通過特定開關元件進行調控,在遇到突發情況時,也可基于手動模式通過觸摸屏進行控制。
(3)STM32處理器將處理的環境參數反饋至PC端,主機軟件就會將這些數據以界面方式來呈現,并繪制出相應的變化曲線圖。它通過歷史數據分析,觸發上位機進行溫室參數設置,并將該信息反饋到處理器,以驅動執行器投入運行,從而實現遠程控制。
(4)除新增的功能強化型外設接口外,STM32互連系列還提供與其它STM32微控制器相同的標準接口,這種外設共用性提升了整個產品家族的應用靈活性,使開發人員可以在多個設計中重復使用同一個軟件。新STM32的標準外設包括10個定時器、兩個12位1-Msample/s 模數轉換器、兩個12位數模轉換器、兩個I2C接口、五個USART接口和三個SPI端口。
(5)新系列微控制器還沿續了低電壓和節能兩大優點。2.0V~3.6V的工作電壓范圍兼容主流的電池技術,如鋰電池和鎳氫電池,封裝還設有一個電池工作模式專用引腳Vbat。以72MHz頻率從閃存執行代碼,低功耗模式共有四種,可將電流消耗降至兩微安。從低功耗模式快速啟動也同樣節省電能;啟動電路使用STM32內部生成的8MHz信號,將微控制器從停止模式喚醒用時小于6微秒。
由于筆者開發的這套系統以溫濕度、光照、二氧化碳為監控對象,所以專門部署了與各項參數的相對應傳感器,以實現環境參數的高可靠、高精準采集,相關傳感器見(表1)。

表 1 傳感器性能參數
DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器,它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性和卓越的長期穩定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優點。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數以程序的形式存在OTP內存中,傳感器內部在檢測信號的處理過程中要調用這些校準系數。單線制串行接口,使系統集成變得簡易快捷。其原理圖見(圖2)。

圖2 溫濕度DHT11
晶振電路(圖3)是用來給單片機提供時鐘信號的。晶振有兩種其中包含有源晶振與無源晶振,是時鐘電路中最重要的部件之一,晶振的作用是向IC等部件提供相應的基準頻率。XTAL1是單片機作為時鐘電路反向放大器的輸入端,XTAL2是單片機作為時鐘電路反向放大器的輸出端,這個反向放大器是能夠用作片內振蕩器的配置而使用的,在這其中石晶振蕩器和陶瓷振蕩器都是可以使用的。當我們在實際的應用中使用外部時鐘源驅動器件時,此時的XTAL2是需要不接的。而對于輸入到時鐘電路內部連接的時鐘信號,是需要一個二分頻觸發器來實現的,在實際的應用中,對外部連接時鐘信號的脈寬是不需要做什么要求的,但首先是要求脈沖的高低電平與電路所要求得電平是一樣的。

圖3 晶振電路原理圖
系統的電源電路(圖4)由電源組成,為整個電路提供電源,使整個系統能夠正常工作。供電電源為直流5V2A。

圖4 電源電路原理圖
MCU是一種低壓輸出,而環境調節設備只有在大電流下才能被驅動運行。因此,該驅動模塊被設計為MCU與環境調節機構之間的中間鏈接,以驅動環境調節設備,根據溫室環境變化做出相應調整。為避免各傳感器間彼此干擾、互相影響,結合下表2專門構建了四路驅動模塊(圖5)。

表2 執行機構參數

圖5 驅動電路圖
系統的軟件設計分為兩部分,一是計算機部件,二是上位機模塊。就前者來說,它以單片機為主控器,以完成信號采集、參數設置等相關操作;而后者主要用來與下位機保持實時通訊與數據顯示。
仔細觀察下圖6和圖7可進一步發現,在投入運行之前,要先設置各參數的上下限值,這是保證系統穩態運行的先決條件。該系統支持兩種控制模式,一是主動控制,二是手動控制。在手動模式下,可控制通風/擾動風扇、加濕器等相關設備的運行狀態。在自動模式下,完成參數預設后,只要發現環境發生了變化,就立即驅動執行器投入工作,傳感器將捕捉到的數據傳送到觸摸屏顯示。出于人性化方面的考慮,將觸摸屏作為交互接口,以實現控制的靈活性與高效化。此處主要設計了4個友好窗口: 參數設置、開關控制、環境參數數據和歷史圖表顯示。其中歷史圖標主要記錄1d內溫室參數的變化狀況并將其存儲在SD卡以供以后查詢分析。

圖6 主程序流程圖

圖7 數據處理流程圖
采用經典可靠的C語言設計了一個實時監控接口,由此實現了可視化操作與C++高效集成優勢的深層次融合,相較于Net語言,C語言優勢極其突出,具體表現為代碼效率高、代碼緊湊、容易理解、實現簡單等。而且適用范圍廣泛,使用者稍加學習就可以輕松的修改和擴展代碼。
該界面主要展示了五個功能區,一是串行端口選擇區域,二是參數控制區,三是開關控制區,四是參數顯示區,五是記錄數據顯示區。基于自動模式下設置參數實現環境參數的靈活、實時控制。基于手動模式下,可自行選擇串行端口號,也可采取默認配置,即波特率9600,無奇偶校驗位,8個數據位,1個停止位。參數設置完成后,只需點擊“確定”就能執行控制操作。五個功能區協同合作顯示,很好的將各種數據顯現出來,讓使用者可以更加直觀清晰的看到測出的數據,大大的提升了實驗效率,加快實驗速度,上位機界面如圖8所示。

圖8 上位機軟件界面
搭建實驗平臺對現場環境進行仿真分析。在手動模式下,利用觸摸屏設置參數以保證執行器被正常觸發,并及時反饋數據變化,它能檢驗各機制能否可靠運行,而在自動模式下可直接投入運行。只要正常運行就能通過主機上完成參數設置、數據顯示等操作。
將5s作為數據采集反饋的周期點。初始參數值為:溫度30℃,、濕度30% ,、光照100 lx,CO濃度380μL·L-1。以黃瓜的生長環境為目標量: 溫度24℃,濕度45% ,光照185lx,CO濃度450μL·L-1。基于自動模式下生成環境因子變化圖,通過圖9可進一步發現,環境因子的穩定,誤差在可控范圍內。

圖9 環境因子變化折線圖
本系統的功能優勢極其顯著,具體表現為構造簡單、性價比高、交互性強等。不僅能密切關注環境變化,根據場景變化做出及時調整,還能完整儲存、直觀展示歷史數據,并以圖表方式來全面反映數據變化,由此能協助人們發現數據變化規律,探索出行之有效的改良方案。經反復多次測試證實了本系統的可行性與有效性。智能溫室系統是順應時代發展的必然產物,不僅提高了生產效率、減少了成本投入、減輕了工作壓力,還創造了經濟和社會雙重效益。