龍 新 劉彬彧
(1.衡陽市氣象局,湖南 衡陽 421000;2.長沙農業氣象試驗站,湖南 長沙 410000)
我國是一個水資源短缺的農業大國,大力推廣節水農業是我國農業發展的一種趨勢。節水農業是以節水灌溉為核心,節水灌溉是通過采用先進的灌溉方法和技術科學的將水資源盡可能均勻、適度的分配到作物的根區土壤中,使土壤的濕度維持在農作物生長所需水分的周圍,從而達到既節約水資源又保證作物的健康快速生長[1]。
噴灌技術是近年來慢慢發展起來的一種節水灌溉技術,它是通過壓力管將水傳送到田間[2]。壓力由水泵加壓或自然落差形成,然后由噴頭將水均勻的噴灑在土地上,它幾乎適用于除水稻、蔬菜和果樹等大田作物,并且對土壤、地形等條件適應性強。噴灌技術使農田灌溉從傳統的人工勞動轉換為自動化作業,這加快的現代化農業的發展。具有省水、省工、節能、增產等優點[3]。我國現在比較常用的幾種噴灌類型主要有:固定管道式噴灌、移動管道式噴灌、中心支軸式噴灌機、滾移式噴灌機、大型平移噴灌機、中小型噴灌機組[4]。
目前在噴灌技術的研究、開發與使用做的最好的國家是以色列[5]。以色列是最具代表性、典型性長期致力于節水新技術的開發的國家。為了解決水資源的短缺,以色列開發了一系列用于溫室灌溉的產品,其溫室灌溉的水資源利用率可達到95%。其中他們的噴灌技術以微灌和滴管為主,微灌方法的采用給施肥帶來了便利,這促進了水肥噴灌技術的興起。總的來說他們的灌溉系統普遍采用計算機控制,濕度傳感器傳回土壤濕度的實時信息,自動化程度高、可靠性高。伴隨水肥噴灌技術的發展,噴灌不僅可以噴水,還具有施肥、施藥、噴霧降溫的功能[5]。此外,美國、法國、澳大利亞等國家都已開發出成熟且系列化的自動噴灌控制系統。
我國也已經開發出了溫室噴灌的自動控制裝置。如早期江蘇大學研制的以8051單片機為核心的自動噴灌控制器。我國噴灌技術的發展起步時間早,20世紀50年代從蘇聯引進噴灌技術開啟了歷史的先河;1973年開始噴灌技術便在一些地區使用,1978年,正式將噴灌技術列入國家農田水利建設計劃;在1984年到1995年期間,我國大力引進外國先進技術,像中心支軸式噴灌機和大型噴灌機組等,這個時間段,噴灌科研和機具設備的研究也較快速的發展,能自行生產各種管道、管件[5]。基于前期技術的革新和對節水灌溉的重視,從1996開始我國噴灌技術大發展,目前還處于節水灌溉的大發展階段。伴隨我國水資源日益短缺,社會節水意識的日益增長,噴灌技術的研發與使用日益和渠道防滲、低壓管道輸水灌溉、微灌等多種技術緊密相連。
但是,以單片機研發的控制器選用芯片功能較少,電路擴展會導致系統復雜化加大,并且成本高,實用化程度低,難于推廣。我國幅員廣闊,各種自然條件,經濟條件和管理水平的差異也阻礙了自動噴灌技術的發展和推廣。雖說我國能夠自行生產噴頭、管道、管件等設備,在數量上能滿足噴灌技術的發展所需,但產品質量的可靠性和穩定性仍有很多問題。
本項目的設計目標主要實現對矩形區域進行均勻灌溉。用濕度傳感器和溫度傳感器實時監測土壤濕度和溫度,這些信息將通過A/D轉換器反饋52單片機。單片機會根據溫、濕度傳感器監測的信號控制水泵的轉速,從而改變控制器噴灌管道內的水壓,對矩形區域進行均勻噴灌。
整個控制系統由電源、微處理器、數據采集電路、輸出驅動電路、顯示器、復位電路、晶振電路組成,結構框圖如圖1所示。

圖1 系統結構圖
微處理器采用STC公司生產的一種低功耗、高性能COMS8位微控制器STC89C52;電源使用直流5V和12V電壓;復位電路由一個按鍵、電阻和電解電容組成;晶振電路由12M晶振和2個電容組成;濕度傳感器使用HA2001型土壤濕度水分傳感器;溫度傳感器采用DS18B20溫度傳感器檢測地溫;AD轉換芯片采用美國德州儀器生產的8位串行A/D轉換器芯片;采用LCD1602(液晶顯示器)作為顯示器,LCD1602是一種工業字符型液晶,可同時顯示16×02個字符;驅動輸出電路由L298驅動芯片和若干二極管以及一個直流電機組成。
系統中除了電機是12V供電外,其他全是5V電壓供電,圖2是自行設計的一個簡易電壓源。該電壓源的主要元件包括:變壓器、二極管、7805和電容等元件。

圖2 電源模塊電路圖
單片機最小系統模塊主要包括STC89C52單片機、復位電路、晶振電路、按鍵電路。如圖3所示為STC89C52單片機的PDIP封裝引腳圖

圖3 STC89C52單片機引腳圖
2.3.1 復位電路
單片機復位電路是使CPU(中央處理器)和系統中的其他功能部件都處在一個確定的初始狀態, 并從這個狀態開始工作[7]。電路中采用10K電阻和22uF電容,可使單片機在上電的0.22S左右自動復位。按鍵復位是使電容處于短路,抬升RST端電位而使單片機復位。
圖4為本文設計的單片機復位電路。

圖4 單片機復位電路
2.3.2 晶振電路
晶振電路主要由晶振和電容組成,產生單片機正常工作所需的時鐘頻率,提供的頻率越高,單片機的工作速度越快,反之亦然。晶振在共振狀態下能夠把電能和機械能相互的轉換,提供精確穩定的單頻振蕩[6]。下圖5為晶振電路。

圖5 單片機晶振電路
2.3.3 按鍵電路
本文設計的按鍵電路只用4個按鍵組成。按鍵模塊外接STC89C52單片機的I/O口以及接地。下圖6是按鍵電路模塊。

圖6 單片機按鍵電路
顯示模塊采用液晶顯示LCD1602。使用液晶顯示相比于LED數碼管顯示,更加直觀清晰、顯示操作簡單。
LCD1602有16根引腳,如下圖7所示。

圖7 LCD1602引腳圖
LCD1602各個引腳接口的作用說明如下表1所示[7]。

表1 LCD1602引腳作用
圖8是1602液晶顯示寫操作時序圖[8]。

圖8 LCD1602時序圖
由上圖可知,操作1602液晶顯示的流程如下:
(1)通過RS確定是顯示數據還是顯示命令。
(2)讀/寫控制端設置為寫模式,即給低電平。
(3)需將數據或命令傳送到數據線上。
(4)給E一個高脈沖將數據傳送到液晶控制器,完成寫操作。
LCD1602基本寫操作時序包括寫指令和寫數據[7]:
(1)寫指令,輸入:RS=L,R/W=L,DO~D7=指令,E=高脈沖,輸出:DO~D7=數據。
(2)寫數據,輸入:RS=H,R/W=L,DO~D7=數據,E=高脈沖,輸出:無。
LCD1602與單片機連接圖如下圖9所示。

圖9 1602電路圖
單片機向LCD1602寫指令或數據的工作過程:
單片機向LCD1602寫入指令時,單片機先將與LCD1602的RS、RW、E相連的P2.0、P2.01、P2.2等引腳置為低電平,再將指令碼從P0口傳給LCD1602的DB0~DB7。將E先置為高電平后再置為低電平。LCD1602檢測到E的高脈沖后就將DB0~DB7數據口上的指令碼讀取,這樣就完成了一次指令的寫入[8]。
向1602寫入數據時,先將單片機與LCD1602的RS相連的P2.0腳置為高電平,與RW相連的P2.1和與E相連的P2.2等置為低電平,再將數據從P0傳給LCD1602的DB0~DB。再將E先置為高電平后再置為低電平,LCD1602檢測到E的高脈沖后就將DB0~DB7數據口上的數據讀取,這樣就完成了一次數據的寫入[8]。
要實現自動噴灌則需要實時監測土壤的濕度,若土壤濕度低于設定值,驅動電機噴水。設計中采用土壤濕度傳感器監測土壤的濕度,下圖10為土壤濕度傳感器的模擬電路。

圖10 濕度傳感器模擬電路
此圖中,1、2、3線分別連接A/D轉換芯片的1、2、3腳,只要調節電位器的電阻大小,就可以改變反饋給單片機的脈沖大小。目前常見的土壤濕度傳感器有FDR型和TDR型,即頻域型和時域型[4]。本設計采用的土壤濕度傳感器為目前比較常用的HA2001,型號是FDR型。FDR型頻率反射儀是一種用來測量土壤水分的儀器。它利用電磁脈沖原理,根據電磁波在介質中傳播頻率來測量土壤的表觀介電常數(ε),從而得到土壤容積含水量(θV)。這款土壤濕度傳感器體積小巧化設計,攜帶方便,安裝、操作及維護簡單;結構設計合理,材料的選用保證了使用壽命;土質影響較小,應用地區廣泛;測量精度高,性能可靠;響應速度快,數據傳輸效率高。下面介紹HA2001的主要技術參數,如下表2所示。

表2 HA201參數
溫度監控也是設計中的一個主要環節,當檢測到土壤溫度高于設定溫度時,驅動電機噴水降溫。下圖11是本設計的溫度檢測模塊的電路。

圖11 溫度傳感器電路
溫度測量模塊采用DS18B20溫度傳感器,1腳接地,2腳和單片機P1口相連,3腳接電源。DS18B20溫度傳感器的測量溫度范圍可達到-55℃~+125℃,固有測溫誤差為1℃;工作電壓為3V~5.5V;測量結果以9~12位數字量方式串行傳送。
采用TLC549A/D轉換模塊,可與通用微處理器、控制器通過CLK、CS、DATA OUT三條口線進行串行接口,并可按比例量程校準轉換范圍[9]。下圖12為TLC549各引腳圖。

圖12 TLC549引腳圖
圖13為A/D轉換模塊的電路連接圖

圖13 TLC549電路連接圖
TLC549芯片1、2、3腳與濕度傳感器連接,5、6、7腳與STC89C52單片機的P1.0、P1.1、P1.2連接[9]。
驅動電路主要由驅動芯片L289和二極管等器件組成,L298內部包含4通道邏輯驅動電路,可以驅動2個兩相電機,也可以驅動1個四相電機[7]。下圖14為L298的引腳圖。

圖14 L298引腳圖
表3為L298驅動電機的功能的邏輯電位。

表3 L298輸出邏輯電位
下圖15為整塊驅動電路。

圖15 L298電路連接圖
以上部分分別是硬件電路的各個模塊,下圖16為本設計硬件電路的總體設計圖。

圖16 硬件系統電路圖
本設計的軟件代碼是以Keil軟件為平臺,使用C語言編寫。
本設計的控制系統的軟件模塊主要由主監控程序、按鍵操作及處理程序、動態顯示程序、A/D轉換程序、L298驅動程序以及輸出控制程序等。下圖17是本設計的軟件系統框圖。

圖17 軟件系統框圖
系統主程序軟件主要包括:系統的初始化、A/D將獲取相關數據通過單片機控制液晶顯示、判斷是否復位和設置、判斷獲取的數據是否滿足電機驅動的初始條件。如下圖18所示。

圖18 主程序流程圖
單片機的P1.0、P1.1、P1.2口與TLC549連接。TLC549將濕度傳感器檢測到的模擬信號轉換為數字信號傳入單片機中。下圖19是TLC549程序流程圖。

圖19 TLC549程序流程圖
以下是TLC549完成A/D轉換的程序代碼
sbit AD_CS=P1^0; //片選引腳
sbit AD_SDO=P1^1; //數據輸出引腳
sbit AD_SCLK=P1^2; //時鐘信號引腳
unsigned char adc()
{
unsigned char i;
unsigned char ad_data=0;
AD_CS=0; //選通549芯片
for(i=0;i<=7;i++) //讀取A/D轉換結果
{
AD_SCLK=1; //產生時鐘脈沖
ad_data= ad_data*2; //數據左移一位
if(AD_SDO==1) //讀取該位數據
ad_dat++;
AD_SCLK=1;
}
AD_SCLK=0;
AD_CS=1; //關閉549芯片
return(ad_data) //返回轉換結果
}
設計中通過單片機的P0口接LCD1602的DB0~DB7,P2.6、P2.7接LCD1602的RS和E,與LCD1602進行通信。流程圖如下圖20所示。

圖20 單片機與1602通信過程
單片機向LCD1602寫入指令時,單片機先將1602的RS(P2.6)、E(P27)等引腳置為低電平,再將指令碼從DB0~DB7(P0)傳給1602,再先把E置為高電平后再置為低電平。1602檢測到CE的高脈沖后就將DB0~DB7數據口上的指令碼讀取,這樣就完成了一次指令的寫入[8]。
單片機向LCD1602寫入數據時,單片機先將1602的RS(P2.6)引腳置為高電平, E(P2.7)等置為低電平,再將數據從DB0~DB7(P0)傳給1602。再先把E置為高電平后再置為低電平,1602檢測到CE的高脈沖后就將DB0~DB7數據口上的數據讀取,這樣就完成了一次數據的寫入[8]。
本設計采用驅動電路控制電機的轉速,因此驅動芯片L298是單片機和電機之間通信的一個橋梁。以下是驅動芯片的控制程序[7]。
sbit L_IN1=P3^5;
sbit L_IN2=P1^7;
sbit ENA=P1^6;
void timer0(void) interrupt 1
{
static uchar count0;
static char pwm_val;
static char pwm_time;
TH0 = 0xfc;
TL0 = 0x18; //1ms
if(beep_en)
Beep = ~Beep;
else
Beep = 1;
if(++ count0 == 20) //20
{
count0 = 0;
key_en = 1;
beep_en = 0;
}
if(++ pwm_time >= 10) //10ms
{
pwm_time = 0;
pwm_val = adj_val;
}
if(pwm_val > 0)
{
ENA = 1; //開
pwm_val --;
}
else
{
ENA = 0; //關
}
該系統是一款基于STC89C52單片機的智能噴灌系統。硬件電路主要由電源模塊、單片機最小系統、傳感器檢測電路、A/D轉換以及驅動輸出電路組成,軟件系統主要由主監控程序、按鍵操作及處理程序、動態顯示程序、A/D轉換程序、L298驅動程序以及輸出控制程序等組成。經過實驗與調試表明,該系統制作成本較低且性能良好,有利于推廣應用。
對于此系統還可拓展其它功能,如:
(1)可以增加更多參數的檢測功能,比如:光照、空氣濕度等,使控制更精準;
(2)可以增加濕度上限自動報警功能,以預防暴雨天氣;
(3)可以增加可通按鍵選擇不同的作業條件,應對不同作物噴灌條件;
(4)可以增加設置不同時段的濕度下限,更加有利于作物的健康生長。