曾 凱,朱 城,朱澤德,蘇 宇,蘇亞輝
ZENG Kai, ZHU Cheng, ZHU Ze-de, SU Yu, SU Ya-hui
(安徽大學 電氣工程與自動化學院,合肥 230000)
近年來,國家對農業的發展越來越重視,如何讓農業生產結合現代化科學技術是農業大力發展的動力所在,而想要大力發展農業前提是善用土壤資源,通過改善土壤有效參數,優化作物生長環境,提高經濟效益。目前,國內農作物絕大部分生長在戶外,傳統的有線監測不適合復雜的山地,并且監測中心無法實時監測土壤參數信息,監測界面也不夠直觀,數據變化趨勢難以觀測,無法指導農戶高效種植農作物[1~3]。本文運用GPRS無線遠距離傳輸技術,將遠程采集到的農作物土壤參數信息及時有效地傳送回監測中心。運用LabVIEW前面板的人機界面優勢,使用本系統的工作人員可以查看到作物的土壤參數走勢,通過對數據庫有效數據進行分析,可以提前備好應對補救方案來減少損失。
本系統設計的目的是將遠程戶外農作物土壤環境的溫度、濕度、電導率及PH等參數及時回傳到上位機監測中心,觀看上位機數據波形圖界面分析土壤參數信息,及時預備補救方案,實時監控土壤環境異常情況并實時報警指示。根據系統要求,系統的硬件結構可以劃分為幾個模塊,這樣開發起來更加具體明確,系統硬件設計圖如圖1所示。該系統硬件設計主要由下面幾部分組成:微控制器處理模塊、土壤參數采集模塊、遠距離無線傳輸模塊、系統供電模塊。實際運用過程是STM32微控制器將采集到的土壤數據通過GPRS無線傳輸到上位機監測中心,最后上位機監測中心根據數據進行處理、存儲、報警以及顯示等功能[4]。

圖1 系統硬件圖
本文的微控制器選用的是意法半導體(ST)公司基于Cortex-M3為內核的32位系列的單片機STM32F103RCT6[5]。STM32微控制器內部擁有若干個總線接口,工作頻率為72MHZ,板載外設比51單片機豐富的多,支持ADC,SPI,UART、I2C等外設模塊,STM32F103RCT6可以通過各通道的A/D轉換來獲得我們傳感器采集到土壤參數信息,憑借其處理速度快,低功耗、性能穩定以及性價比高等優點,完全可以滿足本次設計的要求。
根據農作物信息采集的需求,選擇HSTL-102TRDD土壤三合一傳感器檢測土壤濕度,溫度,電導率,該傳感器有別于傳統傳感器單一測量的模式,將三種土壤傳感器直接何為一體來測量相應土壤數據,解決了攜帶困難,單個傳感器造價成本高的問題;選擇YJ-SPH100土壤pH值傳感器來檢測土壤PH值,此傳感器相比傳統土壤PH傳感器成本造價高,集成復雜,實時性差,攜帶不方便的問題,YJ-SPH100土壤PH傳感器完全的克服了相應問題,真正起到了土壤PH實時在線監測的功能。以上兩個模塊都是模擬輸出,STM32自帶3個ADC控制器,一共支持23個通道,把ADC設置成連續轉換模式,待數據采集并處理完成將數據通過DMA控制器傳送到存儲器中。
遠距離無線傳輸模塊采用安信可公司的A6 GPRS芯片,工作電壓3.5V~4.2V,內置TCP/IP協議,可以通過設置AT指令實現數據傳輸任務[6]。A6 GPRS模塊帶有42個引腳,模塊本身帶有電源、串口通信、SIM卡等接口方便與MCU進行數據通信,圖2為A6 GPRS無線通信模塊硬件電路圖。
由于農作物一般都生長在戶外,很難直接接入家庭用電直接供電,故本系統供電選擇使用太陽能電池板給鋰電池充電的方式給系統供電。太陽能電池板選擇單晶硅太陽能面板,功率為20W,大容量鋰聚合物電池型號為DC1298A,電池容量9800mAh,選擇太陽能控制器WP30D,額定電流30A,系統電壓12V/24V,此控制器可有效控制太陽能電池板給鋰電池充放電。由于MCU工作電壓為3.3V,鋰電池為DC12V,因此需要降壓處理,選擇LM2596降壓芯片將12V轉換為5V,這里5V可作為土壤三合一傳感器的輸入電壓,然后再選擇低壓差的線性穩壓器AMS1117將5V轉換為3.3V給MCU供電使用,具體系統降壓電路圖如圖3所示。

圖2 A6 GPRS無線通信硬件電路圖
明確了軟件設計的目標,針對不同功能區采用模塊化設計,系統軟件可以分為兩大模塊:1)下位機程序開發模塊,可具體劃分為兩個部分:(1)微處理器控制模塊開發,針對該系列微處理器設計程序包括:系統初始化、ADC初始化、GPRS初始化;(2)第二部分為GPRS模塊程序開發,主要是A6 GPRS模塊初始化,建立GPRS連接,發送數據等程序開發。2)上位機開發模塊,通過LabVIEW提供的TCP協議工具包,創建TCP通信同GPRS模塊進行通信,開發數據導入數據庫的程序框圖軟件,可供管理者查看存儲數據。最終將各個模塊整合調試,提高系統軟件設計的穩定性。
下位機軟件設計主要由兩部分組成,分別是數據采集及處理模塊和GPRS無線傳輸模塊,圖4為下位機軟件設計流程圖。

圖3 系統降壓電路圖

圖4 下位機軟件設計流程圖
3.1.1 數據采集及處理模塊
HSTL-102TRDD土壤三合一傳感器輸入電壓為5~24V,輸出電壓為0~5V,采集完模擬信號后,還要對信號進行數據轉換,根據HSTL-102TRDD數據手冊提供的換算公式可得到相應的土壤實際參數信息,具體公式如下:

θv:土壤容積含水量;℃:土壤溫度;θE:土壤電導率,單位uS/cm;V:采集器采集到的電壓值,單位:V。
YJ-SPH100土壤PH傳感器測量的工作原理是將原電池系統的化學能轉化為電能,測量范圍:0~14pH,供電方式:DC12V,輸出電壓為0~5V,采集完模擬電壓后,對數據進行處理,具體換算公式如下,

其中D為測量PH值,0.00≤D≤14.00,V為輸出電壓(V)。
理論上數據采集及處理已完成,但STM32數據采集的參考電壓為3.3V,而輸出信號最大為5V,因此要進行分壓處理,分壓公式如下:

這里R1=R2,土壤三合一傳感器和土壤PH傳感器輸出電壓為0~5V,分壓處理都輸出0~2.5V,然后再將上面數值轉換公式乘以2可得土壤實際參數。
3.1.2 GPRS無線傳輸模塊
GPRS模塊與STM32數據通信是通過片上的串口2實現,所以A6 GPRS上U_RXD和U_TXD接口需要通過SP3232電平芯片連接到單片機PA2(RXD2)和PA3(TXD2)。串口通信初始化完成后,下一步是GPRS初始化設置,通過軟件對模塊的IP地址與端口信息進行輸入,利用TCP/IP協議建立數據連接。無線通信的操作主要由GPRS網絡登錄,發送數據并維持網絡連接,數據傳輸讀操作和寫操作,GPRS無線傳輸模塊流程圖如圖5所示。

圖5 GPRS無線傳輸模塊流程圖
我們平常所用的諸如C語言、VB語言以及JAVA語言等都屬于文本編程語言,文本編程語言在不同的應用領域具有不同的使用方法,但其本質基本相同都是使用字母來進行編程。文本編程語言是一種抽象的編程語言,其優點體現在編程效率高,通過簡短的語句即可實現復雜的操作,缺點主要體現在語言的學習上,需要記憶大量的關鍵字和函數名[7]。LabVIEW程序設計語言使用的圖形化編輯語言,產生的程序代碼是程序框圖形式,上手較容易,通過短暫的基礎知識學習,就可以進行軟件設計開發工作,大大縮短程序開發周期,并且LabVIEW所生成的代碼不用進行任何修改就可運行在不同的操作系統上,程序可移植性好。
3.2.1 上位機界面開發
LabVIEW2011前面板將GPRS傳送打包的數據依次轉換為波形圖表,可以實時在線直觀監測土壤溫度,濕度,電導率,PH值等參數,然后將土壤參數實時值,上限值,下限值,報警燈依次展示出來,上位機監測界面如圖6所示。運用LabVIEW前面板監測土壤參數,使得數據簡潔明了,界面較為友好,符合人體審美習慣。

圖6 監測中心上位機界面
3.2.2 上位機程序開發
基于LabVIEW開發上位機監測中心程序通過建立服務器,與下位機客戶端互連,實現數據通信功能,之后對數據進行處理實現前面板監測中心展示、報警顯示以及數據存儲功能,上位機監測中心程序框圖如圖7所示。首先設置LabVIEW函數面板中的TCP面板建立偵聽端口,TCP連接有兩個端點,為了指明一個端點,TCP用主機的IP地址加上主機的端口號作為TCP連接的端點,由于上位機監測中心的IP是動態的,使用花生殼“動態域名解析+動態IP”的方式起到靜態IP的作用[8],下位機客戶端發送連接請求,上位機偵聽到對應端口建立TCP連接,下位機開始發送土壤參數到上位機監測中心,然后通過掃描字符串子VI將上傳的字符串進行處理得到相應土壤參數,添加報警顯示程序和數據導入表格程序實現報警顯示和數據存儲功能,土壤電子表格數據如圖8所示。

圖7 上位機監測中心程序框圖

圖8 土壤實時數據
本文利用土壤傳感器采集及處理模塊、A6 GPRS數據通信模塊以及上位機監測中心模塊組建了基于LabVIEW和GPRS的遠程土壤參數監測系統成功實現了土壤溫度、濕度、電導率和PH等有效土壤數據的遠程傳輸,并通過LabVIEW實時無線監控,報警顯示以及數據存儲等功能。經多次實踐可得,該系統集功耗低、攜帶方便、造價成本低、實時性好,抗干擾性強以及人機交互界面友善等優點,具有廣泛的市場應用價值。