李金彥
(寧夏工商職業技術學院,寧夏 銀川 750021)
農業是國民經濟的基礎,發展智慧農業,提高農業生產效率,是當前和今后一個時期的重點工作[1]。由于生長快,產量高,溫室大棚已經廣泛應用于農業種植業,極大地提高了農業生產力。但受季節和氣候變化,農作物的光照始終成為制約農業生產的一個重要因素[2]。因此,有必要對農作物進行實時補光。傳統的農業補光主要是人工補光,在人為感知光強較弱時進行補光燈的操作,這樣費時費力,且補光效率不高。因此,設計智能化的補光系統非常必要,國內外學者對農作物補光系統進行了研究,主要集中在對補光的時間和光質進行研究,但是都不能對農作物光照強度進行實時監測和補光,且對光質不能進行有效篩選,因此有待對補光系統進行改進。本文通過對農作物成長需要的光源、光譜進行分析,選擇壽命長、易于控制的LED補光光源,當光照傳感器檢測到溫室中光照不符合預定光照條件時,通過單片機控制LED補光燈進行實時監測和補光[3-4]。
本文以AT89C52單片機為控制核心,設計溫室大棚智能補光控制系統,實現光強檢測、A/D轉換、光強顯示、LED燈智能補光等功能。溫室大棚智能補光控制系統包含STC89C52單片機最小系統、ADC0804模數轉換、按鍵模塊、光敏傳感器、LCD1602顯示等模塊。軟件部分包含光敏采集程序、KEY按鍵程序、LCD光強顯示程序、智能補光控制程序、計時顯示程序。
本文采用AT89C52單片機為控制核心、以光敏電阻為感光檢測器件、以ADC0804為A/D轉換器件、以LCD1602為農作物光照強度顯示器件、外加農作物智能補光燈、LED工作狀態顯示指示燈,構成農業大棚智能補光系統。本設計的工作原理是光敏電阻檢測到環境光照強度,通過A/D轉換送給STC89C52單片機,單片機計算光照強度,與預設光照值進行比較,并在LCD1602上顯示環境光照強度,當環境光照強度低于設定值時開啟補光燈對溫室大棚進行補光,當環境光照度高于設定值時關閉補光燈,構成一個閉環控制系統,從而實現溫室大棚智能補光功能。另外,在非補光狀態下,系統處于待機功能,對非補光狀態進行計時,以記錄非補光狀態,收集農作物生長數據。該補光系統可根據不同農作物進行環境溫度設定,具有一定的移植性。系統的結構圖如圖1所示,系統的控制圖如圖2所示。

圖1 系統總體結構圖

圖2 控制系統框圖
智能系統硬件組成包括AT89C52單片機最小系統電路、光照強度檢測電路、A/D轉換電路、按鍵電路、狀態指示燈電路及PWM控制LED補光燈電路組成。
智能補光系統采用AT89C52單片機作為控制核心,其優點是價格低,功耗低、運算速度高,包括40個引腳、32個I/O口、兩級中斷嵌套、2個外部中斷、2個定時器/計數器中斷、1個串口中斷、4KB地ROM存儲。其最小系統電路如圖3所示,主要由處理器、晶振電路和復位電路構成。晶振電路由晶體振蕩器和瓷片電容組成,容值為22pF,用于過濾高頻信號,產生穩定的時鐘頻率為12MHz。復位引腳為第9腳,當此引腳連接高電平持續2個機器周期以上,即可產生復位的動作。單片機的復位可以通過上電復位,直接采用直流5V電源供電。
2.2.1 光照檢測
根據農作物生長對不同光質需求特性,利用濾光片對紅光(400~500nm)和藍光(600~700nm)進行預處理,選用LDX系列的紅光LXD23CV-R和藍光LXD23CV-B硅光電池二極管,分別檢測紅光和藍光的強度,采用紅藍兩色的光照傳感器來檢測不同的光照強度可以充分發揮各自的檢測優勢,達到紅光和藍光最佳匹配。硅光二極管依據吸收的光能釋放和加速半導體載流子,把光能變為電信號,產生電信號。輸出電壓與光強呈線性關系,從而間接測出光照強度。LXD23CV光電二極管的轉換電路如圖4所示。光電二極管的輸出與模數轉換器ADC0804的VIN+連接,ADC0804將傳感器采集到的光強數據反饋給單片機,單片機控制LCD顯示當前光照數值。

圖4 光照檢測電路
2.2.2 AD轉換
硅光電池二極管測得產生的電壓信號為模擬信號,需要將模擬信號轉化為數字信號,模數轉換電路選用ADC0804集成模塊。ADC0804逐次逼近型模數轉換器,價格低、轉換精度較差、單通道,用于將光照強度的模擬信號轉化為單片機可以識別的數字信號。在本設計中,ADC0804能把光敏電阻上電壓值的變化,以數字量的形式傳送給單片機,單片機控制1602顯示出環境光強。具體連接是CS片選信號,低電平有效,接單片機P2.5引腳。WR引腳啟動ADC0804進行ADC采樣,接單片機P2.7引腳。RD引腳與單片機P2.6引腳連接,低電平有效,即RD=0時,ADC0804把轉換的數據加載到DB口,通過數據端口DB0~DB7讀出本次的采樣結果,DB口接單片機P3口。VIN(+)和VIN(–)為模擬電壓輸入端,光照傳感器檢測到的模擬信號送至ADC0804的輸入引腳VIN+,經A/D轉換后,由三態特性數字信號輸出端DB口輸出八位二進制數字信號,發送到單片機,由LCD顯示器示出其測量值。A/D轉換電路如圖5所示。

圖5 A/D轉換電路
其轉換過程是上電后CS端初始化函數void init()拉低使A/D一直處于工作狀態,判斷是否處于檢測,若在檢測狀態,則用檢測命令和顯示命令使單片機實時檢測。上電后RD和WR輸出默認電平,無需初始化。將WR拉低,調用void delay()函數,用delay(1);語句延時約1毫秒,讓ADC0804讀取電壓值。RD拉高后,開始轉換,再用delay(5)轉換完成。再讓RD端拉低,同樣軟件延時1毫秒,讓單片機讀走數據。
光敏二極管檢測到紅光和藍光光強,需要在數字器件顯示,本設計中選用LCD1602液晶顯示屏。LCD1602的特點是每行輸出16個字符、兩行、不帶中文字庫,只能顯示數字、字母和普通字符。LCD1602連接方法:D0~D7口接P0.0~P0.7、接1K上拉電阻提高驅動能力。連接方式是1腳接地、2腳接電源為1602供電,15、16腳接正和負提供背光電源,5腳接電阻調節亮度,3腳接電阻調節對比度。控制腳RS、R/W、E接P2.0、P2.1、P2.2控制液晶顯示。數據口通過電阻接P0口,當讀狀態時RS為低電平、R/W為高電平、E為高電平、D0~D7=狀態字1;讀數據時RS為高電平、R/W為高電平、E為高電平、D0~D7=數據;寫指令時RS為低電平、R/W為低電平、E為高電平、D0~D7=指令碼;寫數據時RS為高電平、R/W為低電平,E為高電平,D0~D7=電平。LCD1602顯示電路可通過程序實現讀寫操作、顯示操作,其控制時序如圖6所示。
補光模塊包括LED陣列和外部驅動電路,LED陣列光源是30V的紅藍兩色光源,通過并聯組成紅藍兩色燈組[5-6]。每個燈組包括中心波長為660nm的紅光和450nm的藍光光質,LED光源驅動電路采用PT4107驅動模塊電路,原理如圖7所示。PT4107是降壓恒流源,工作時連續電感電流導通,電壓范圍是6~30V,輸出電流可調,最大可達1.2A,可同時滿足多顆LED串并聯電路。補光電路由紅藍兩色LED補光燈和NPN型的三極管9012組成,三極管通過基極與單片機P1.2引腳相連接。當單片機P1.2引腳給9012的基極發送一個低電平信號時,三極管導通,三極管控制功率MOS管導通,LED補光燈導通,開始補光。根據農作物的生長特點,需要對LED亮度進行控制,其亮度由PWM 信號控制。由于AT89C52沒有自帶PWM信號,因此PWM方波信號可由定時器T0在工作方式1下產生,PWM占空比成正比輸出電流,LED輸出能量與PWM占空比成正比。用獨立鍵盤控制頻率、占空比的大小,實現紅光和藍光亮度調節。亮度通過公式Ppwm=LightSupneed/LightSupmax計算,其中LightSupneed為所需補光量,LightSupmax為陣列最大補光量,故可通過PWM占空比有效控制LED補光燈輸出亮度。當系統確定農作物補光量LightSupneed時,單片機控制功率MOS管導通,LED陣列通電,通過計算得到的兩路PWM占空比,輸出兩路PWM信號分別控制與紅藍光相連的PT4107驅動電路,從而控制紅藍光驅動芯片輸出電流,完成LED燈組的亮度控制。

圖6(a) 讀操作時序

圖7 LED 光源驅動電路
外圍電路包括LED狀態指示電路、按鍵電路燈,其設計如下。
2.5.1 按鍵電路
智能補光系統設計采用按鍵控制,分別為開始智能補光S1按鍵和停止智能補光S2按鍵,S1接單片機P2.3引腳,S2接單片機P2.4。其中,停止狀態下實行計時,以計算自然光照下的持續時間,為農作物生長收集數據。其控制方法是當按下S1按鈕,拉低P2.3引腳電平,執行開啟LED補光燈,并執行光照檢測,LCD顯示光強;按下S2按鈕時,停止LED補光,LCD顯示計時。其控制電路如圖8所示。
2.5.2 LED狀態指示電路
LED智能補光系統設計兩路狀態指示,分別是執行智能補光和停止智能補光狀態指示,其連接方式為執行狀態與單片機P1.0引腳相連,停止狀態與單片機P1.1引腳相連。當執行不同狀態,相應狀態指示燈高亮顯示,其電路如圖9所示。

圖9 LED 狀態指示電路
本系統的控制流程是,設計待機按鍵S2和補光按鍵S1,當按鍵S2按下時執行待機程序,此時LCD1602顯示非補光狀態,只進行計時,記錄農作物生長數據。當按下按鍵S1時,執行光照補光,此時執行光強檢測程序、AD轉換程序、1602顯示、LED光源開啟及亮度控制等。操作人員可以從鍵盤上輸入要設定的紅光和藍光光強值,紅光和藍光分別獨立控制,達到最佳匹配。光照傳感器分別檢測兩種光質光強,當紅光或者藍光某一光質光強高于設定閾值時,系統關閉該路LED補光燈。當光照檢測值低于設計閾值時,執行該路補光操作。此時LED補光燈開啟,在此過程中單片機實時監測光照時,并結合農作物生長數據,進行光照時間和光照亮度控制,亮度控制采用PWM技術。當執行一定時間時,補光燈關閉,開始待機模式,其控制流程圖如圖10所示。

圖10 系統工作流程圖
為便于仿真測試,只測試藍光光質。采用模塊化思路用keil對單片機進行編程,然后編譯后生成HEX文件,下載到單片機后能進行智能補光檢測和待機計時,測試的各項功能是AD檢測程序是按下智能補光控制檢測按鍵后,能實現模擬數字信號轉換;Flag調試讓主函數執行待機程序、光強檢測程序和狀態指示程序;按鍵程序調試是切換智能補光和待機計時,能進行有效補光和計時;液晶顯示程序調試時能正確顯示環境亮度和待機計時;定時器與定時器中斷調試能產生PWM方波信號,用定時器實現5ms定時,然后中斷5次后為1秒計時,實現計時功能;亮度控制能進行PWM占空比的LED燈亮度有效控制。系統總體測試能實現光強檢測、LCD顯示、A/D轉換、LED補光燈開啟及亮度控制,系統仿真如圖11所示。
針對北方地區農作物受氣候和光照時間的影響,設計了農業大棚LED補光燈系統,通過分析農作物生長的光照環境,分析農作物對不同光質的需求情況,研發了一種基于單片機的智能補光系統。應用光照傳感器,檢測環境光照強度,并顯示在LCD屏幕上。系統對光照實時監控,通過占空比可調的PWM控制技術,控制LED工作電流,進而控制紅光和藍光亮度,達到農作物生長光照最佳匹配,實現按需精確補光,避免了補光過度和補光不足的問題。經過測試,系統運行穩定,使用方便,針對性強、補光效率高,人機互動良好,移植性好,可促進農作物的健康成長,適用于智能農業大棚種植,具有一定的推廣性。

圖11 系統仿真圖