侯 偉, 張 慧,辛慧娟,劉凱強,寧朝陽
(陜西工業(yè)職業(yè)技術(shù)學(xué)院,陜西 咸陽 712000)
農(nóng)業(yè)的發(fā)展對國民經(jīng)濟發(fā)展有著直接的影響,隨著傳感器技術(shù)、計算機技術(shù)、通信技術(shù)的發(fā)展,傳統(tǒng)農(nóng)業(yè)已經(jīng)不能滿足需求,智能農(nóng)業(yè)系統(tǒng)應(yīng)運而生[1-2]。目前,智能大棚、智能灌溉等技術(shù)已經(jīng)在不斷發(fā)展[3-4],農(nóng)業(yè)與氣象有著密切的聯(lián)系,對氣象參數(shù)的實時監(jiān)測有助于農(nóng)業(yè)智能化,因此,研究農(nóng)業(yè)氣象環(huán)境監(jiān)測系統(tǒng)具有十分重要的意義。
本文針對智能農(nóng)業(yè)應(yīng)用,以LabVIEW為軟件開發(fā)平臺,設(shè)計了一套農(nóng)業(yè)氣象環(huán)境監(jiān)測系統(tǒng),對大氣溫濕度、氣壓、光強、土壤溫濕度、二氧化碳(CO2)濃度、雨雪等進行實時監(jiān)測、數(shù)據(jù)可視化和記錄。該系統(tǒng)具有成本低、開發(fā)周期短、穩(wěn)定性高、可維護性好等特點。
本文所設(shè)計的農(nóng)業(yè)氣象環(huán)境監(jiān)測系統(tǒng)主要由各種傳感器模塊、A/D轉(zhuǎn)換、AT89S52單片機和計算機構(gòu)成[5-6],如圖1所示。利用GY-39傳感器模塊測量大氣的溫度、濕度、氣壓以及光照強度,經(jīng)IIC總線將測量數(shù)據(jù)傳遞給單片機;利用RS-FS-V05傳感器測量風(fēng)速,利用JXBS-3001-TR傳感器測量土壤溫濕度,利用MG811測量大氣中的CO2濃度,通過A/D轉(zhuǎn)換芯片得到傳感器輸出的電壓值,經(jīng)IIC總線將測量數(shù)據(jù)傳遞給單片機;利用RS-YUX-R01傳感器探測雨雪發(fā)生情況;單片機通過串口與上位機進行通信,傳送各傳感器數(shù)據(jù),上位機接收到數(shù)據(jù)后根據(jù)用戶的操作實現(xiàn)氣象數(shù)據(jù)的實時顯示和記錄[7]。上位機軟件采用美國NI公司的虛擬儀器開發(fā)平臺LabVIEW來實現(xiàn),該平臺不僅能夠?qū)崿F(xiàn)友好的用戶界面,而且提供的VISA模塊可以快速完成上位機與單片機的串口通信,利于系統(tǒng)的快速開發(fā)與維護。通過前面板網(wǎng)絡(luò)發(fā)布,可以在局域網(wǎng)其他計算機通過網(wǎng)頁訪問和控制上位機軟件[8]。
圖1 系統(tǒng)總體框圖
本文采用Atmel 公司的AT89S52作為下位機核心芯片,控制各個傳感器采集數(shù)據(jù),完成與上位機的串口通信[9-10]。AT89S52是一款低功耗、高性能CMOS 8位微控制器,具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位可編程I/O 口線,看門狗定時器,2個數(shù)據(jù)指針,3個16位定時器/計數(shù)器,1個6向量2級中斷結(jié)構(gòu),全雙工串行口。滿足本系統(tǒng)的應(yīng)用要求。
GY-39是一款低成本的大氣氣壓、大氣溫度、大氣濕度、光照強度四合一傳感器模塊,如圖2所示,內(nèi)置BME280和MAX44009傳感器芯片,能夠同時測量大氣氣壓、溫濕度和光強。其氣壓測量范圍為300~1 100 hPa,溫度測量范圍為-40~85 ℃,濕度測量范圍為0~100%,光強測量范圍為0.045 lux~188 000 lux,滿足農(nóng)業(yè)氣象環(huán)境測量要求。該模塊支持串口UART和IIC兩種方式讀取數(shù)據(jù),可與單片機連接,本文采用IIC方式與單片機通信。其工作電壓3~5V,工作溫度-40~85 ℃,適用于戶外工作,且功耗小,安裝方便[11]。
圖2 GR-39傳感器模塊
本文采用建大仁科的RS-FS-V05型風(fēng)速傳感器,如圖3所示。
圖3 RS-FS-V05型風(fēng)速傳感器
RS-FS-V05是一款三杯樣式風(fēng)速傳感器,外形輕便,便于攜帶和組裝,采用聚碳材料,在防腐防銹的同時克服了塑料易老化的問題,被廣泛應(yīng)用于溫室、環(huán)境保護、氣象站、船舶、碼頭、養(yǎng)殖等環(huán)境的風(fēng)速測量。該傳感器有效風(fēng)速測量范圍0~30 m/s,分辨率0.1 m/s,精度±(0.2+0.03F) m/s(F表示風(fēng)速),滿足系統(tǒng)測量需要。傳感器輸出信號脈沖、RS485、模擬量可選,本文采用0~5 V模擬電壓輸出信號(Vf),風(fēng)速的計算公式為
風(fēng)速=6×Vf
土壤溫濕度的測量選用精訊暢通的JXBS- 3001-TR型土壤水分溫度傳感器,如圖4所示,該傳感器精度高,響應(yīng)快,輸出穩(wěn)定,受土壤含鹽量影響較小,適用于各種土質(zhì),廣泛適用于科學(xué)實驗、節(jié)水灌溉、溫室大棚、花卉蔬菜、 草地牧場、土壤速測、植物培養(yǎng)、污水處理、糧食倉儲及各種顆粒物含水量和溫度的測量。其水分測量范圍為0~100%(0~53%精度為±3%,53%~100%精度為±5%),溫度測量范圍為-40~80 ℃(精度±0.5 ℃),可長期埋入土壤中,耐長期電解,耐腐蝕,抽真空灌封,完全防水,適用于本系統(tǒng)。采用模擬量形式輸出,方式靈活,可以輸出電流型或者電壓型,本文采用0~5V電壓輸出型,輸出兩路電壓信號Vw和Vs,溫濕度計算公式為
溫度=0.032×Vw-45 ℃
濕度=Vs/50%
圖4 JXBS-3001-TR型土壤水分溫度傳感器
二氧化碳濃度的測量選擇MG811模塊,如圖5所示,它是利用固體電解質(zhì)電池原理進行二氧化碳濃度檢測的傳感器模塊,對二氧化碳具有良好的靈敏度和選擇性,受溫濕度的變化影響小,響應(yīng)快速且具有良好的穩(wěn)定性,適用于家庭、環(huán)境的二氧化碳檢測。該傳感器測量范圍為350~10 000×10-6,其輸出信號為30~50 mV模擬電壓。
圖5 MG811二氧化碳濃度傳感器模塊
雨雪的監(jiān)測采用建大仁科的RS-YUX-R01型雨雪傳感器,如圖6所示,它是測量室外或自然界是否降雨或降雪的測量設(shè)備,采用交流阻抗測量方式,測量結(jié)果準(zhǔn)確,可廣泛應(yīng)用于環(huán)境、溫室、養(yǎng)殖、建筑、樓宇等的雨雪有無的定性測量,安全可靠,外觀美觀,安裝方便。
圖6 RS-YUX-R01型雨雪傳感器
本系統(tǒng)選用PCF8591芯片進行A/D轉(zhuǎn)換。PCF8591是一個單片集成、單獨供電、低功耗、8-bit CMOS數(shù)據(jù)獲取器件,具有4個模擬輸入、1個模擬輸出和1個串行IIC總線接口,可以實現(xiàn)4路8bit A/D轉(zhuǎn)換,并通過IIC總線與單片機進行通信,滿足系統(tǒng)要求。
本系統(tǒng)采用RS232串行通信,利用Prolific 公司生產(chǎn)的一種高度集成的RS232-USB接口轉(zhuǎn)換器PL2303,實現(xiàn)單片機RS232串行通信裝置與計算機USB功能接口的便利連接,利用VISA驅(qū)動實現(xiàn)單片機與計算機的串口通信[12]。
上位機軟件采用字符串狀態(tài)機程序架構(gòu),主要由條件結(jié)構(gòu)和一個While循環(huán)組成,根據(jù)字符串內(nèi)容由條件結(jié)構(gòu)執(zhí)行相應(yīng)的狀態(tài)。程序流程圖如圖7所示。程序啟動后,首先通過VISA模塊設(shè)置串口并進行初始化,然后每間隔1 min向下位機發(fā)送一次采集命令,控制下位機進行氣象數(shù)據(jù)采集,從串口讀取數(shù)據(jù)包并解析,得到數(shù)據(jù)值;根據(jù)用戶的選擇判斷是否記錄數(shù)據(jù),當(dāng)按下“EXIT”按鈕時,關(guān)閉上位機串口通信并退出程序[13]。
下位機程序采用C語言,利用Keil軟件編寫和編譯,并通過串口下載到AT89S52中運行。軟件由主程序、初始化程序、DY-39采集程序、A/D程序、串口發(fā)送程序、串口接收中斷程序等組成,其中,DY-39采集程序的功能是控制DY-39模塊進行數(shù)據(jù)采集并將數(shù)據(jù)傳送給單片機,A/D程序的功能是對3個傳感器(即RS-FS-V05型風(fēng)速傳感器、JXBS- 3001-TR型土壤水分溫度傳感器和MG811二氧化碳濃度傳感器)輸出的4路電壓信號進行模數(shù)轉(zhuǎn)換并將數(shù)據(jù)傳送給單片機,串口發(fā)送程序的作用是將各個監(jiān)測數(shù)據(jù)發(fā)送給上位機。
下位機的軟件流程如圖8所示。設(shè)備啟動后,首先由初始化程序?qū)Υ诤投〞r器進行配置,設(shè)置了波特率和相關(guān)中斷;當(dāng)下位機串口接收到上位機發(fā)送的命令中斷后,由DY-39采集程序采集大氣溫濕度、氣壓、光照數(shù)據(jù),由A/D轉(zhuǎn)換程序?qū)崿F(xiàn)風(fēng)速、土壤溫濕度、二氧化碳濃度的電壓測量,根據(jù)雨雪傳感器的開關(guān)量判斷是否有雨雪;下位機通過串口發(fā)送程序?qū)y量數(shù)據(jù)包發(fā)送給上位機,數(shù)據(jù)包里包括2字節(jié)大氣溫度數(shù)據(jù)、2字節(jié)大氣濕度數(shù)據(jù)、4字節(jié)氣壓數(shù)據(jù)、4字節(jié)光照數(shù)據(jù)、1字節(jié)風(fēng)速數(shù)據(jù)、1字節(jié)土壤溫度數(shù)據(jù)、1字節(jié)土壤濕度數(shù)據(jù)、1字節(jié)二氧化碳濃度數(shù)據(jù)、1字節(jié)雨雪數(shù)據(jù),由上位機對數(shù)據(jù)進行解析,得到相應(yīng)的測量數(shù)值。當(dāng)接收到上位機命令再次中斷時,執(zhí)行新的測量與數(shù)據(jù)包發(fā)送[14]。
利用本文設(shè)計的農(nóng)業(yè)氣象環(huán)境監(jiān)測系統(tǒng)在戶外進行實地監(jiān)測實驗,上位機用戶界面及測量數(shù)據(jù)如圖9所示。
圖8 下位機軟件流程圖
界面中顯示了當(dāng)前測量的大氣溫濕度值、大氣壓強、光照強度、土壤溫濕度、二氧化碳濃度等數(shù)據(jù)值,以及某段時間內(nèi)上述各數(shù)據(jù)的變化曲線與數(shù)據(jù)列表??梢钥闯?,測量值準(zhǔn)確,系統(tǒng)工作穩(wěn)定,用戶界面簡潔美觀,數(shù)據(jù)顯示清晰,方便用戶使用。
圖9 上位機用戶界面
本文設(shè)計了一套基于LabVIEW的農(nóng)業(yè)氣象環(huán)境數(shù)據(jù)監(jiān)測系統(tǒng)。以AT89S52單片機為主控芯片,結(jié)合傳感器模塊和計算機,搭建數(shù)據(jù)監(jiān)測硬件平臺;以美國國家儀器公司的LabVIEW為軟件開發(fā)平臺,設(shè)計并編寫了基于狀態(tài)機程序架構(gòu)的上位機軟件,利用VISA模塊實現(xiàn)串口通信,設(shè)計了友好的用戶交互界面,完成了對大氣溫濕度、氣壓、光照強度、土壤溫濕度、二氧化碳濃度、雨雪的實時測量、顯示與記錄等功能,并利用前面板網(wǎng)絡(luò)發(fā)布功能實現(xiàn)了實時監(jiān)測系統(tǒng)的局域網(wǎng)遠(yuǎn)程控制。該系統(tǒng)成本低、開發(fā)周期短、穩(wěn)定性高、易維護,便于應(yīng)用推廣。