閔 沛,鄭劍鋒,強(qiáng) 浩,曹偉建
(1.江蘇杰克儀表有限公司,淮安 211600;2.常州大學(xué) 城市軌道交通學(xué)院,常州 320400)
植物能否健康的生長發(fā)育取決于外部環(huán)境條件,光照強(qiáng)度、溫度、水分、和二氧化碳濃度等是影響植物生長發(fā)育的重要因素[1-3]。大型的溫室控制系統(tǒng)都以物聯(lián)網(wǎng)為基礎(chǔ)[4-7],而本系統(tǒng)采用單片機(jī)為核心控制元件,通過溫度傳感器、土壤濕度傳感器、二氧化碳濃度傳感器和光照強(qiáng)度傳感器檢測植物生長環(huán)境指數(shù),經(jīng)過單片機(jī)的判斷處理,控制相應(yīng)設(shè)備,協(xié)同工作,創(chuàng)造一個適合植物生長的環(huán)境,本系統(tǒng)還可以在上位機(jī)觀測當(dāng)前或者是過去一段時間里溫室內(nèi)的環(huán)境參數(shù),并能修改原來設(shè)定的參數(shù),實現(xiàn)對各溫室的監(jiān)控。
本系統(tǒng)主要由上位機(jī)PC端和下位機(jī)監(jiān)控端組成。PC端基于Visual Studio 2010,采用C#語言及MySQL數(shù)據(jù)庫實現(xiàn),定時采集并保存溫度、二氧化碳濃度、土壤濕度及光照強(qiáng)度數(shù)據(jù),實時監(jiān)測溫室環(huán)境,同時可通過RS485將修改的設(shè)定參數(shù)發(fā)送到監(jiān)控端。監(jiān)控端由單片機(jī)及各類傳感器組成,通過單片機(jī)及傳感器采集溫室內(nèi)的環(huán)境指數(shù),如溫度、土壤濕度、光照強(qiáng)度、二氧化碳濃度。因為在農(nóng)業(yè)生產(chǎn)中,整個農(nóng)業(yè)種植區(qū)由多個溫室組成,為了便于監(jiān)控,故采用雙層設(shè)計,系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)Fig.1 System schematic
監(jiān)控端由多個硬件模塊組成,如顯示模塊、通信模塊、控制模塊、數(shù)據(jù)采集模塊等,如圖2所示。
圖2 監(jiān)控端硬件結(jié)構(gòu)Fig.2 Hardware block diagram of monitoring terminal
顯示模塊顯示當(dāng)前溫室內(nèi)的各項環(huán)境因素值,便于人們實時觀察。通信模塊主要負(fù)責(zé)與PC端的聯(lián)系。監(jiān)控端單片機(jī)根據(jù)采集到的數(shù)據(jù)判定當(dāng)前的控制模塊是否需要啟動,若判定溫度過高,則開啟降溫設(shè)備,溫度過低則打開加熱器;若土壤濕度過低,則開啟噴灌;若光照過強(qiáng)或過弱,可適時調(diào)節(jié)有色玻璃;若二氧化碳濃度過低,則開啟增加二氧化碳的設(shè)備,過高則開啟排風(fēng)扇等。
下位機(jī)監(jiān)控端是本系統(tǒng)的核心,承擔(dān)著數(shù)據(jù)的傳送接收、控制器件的開關(guān)及所有溫室環(huán)境參數(shù)的采集與處理。本設(shè)計中,選用STC12C5A60S2單片機(jī)實現(xiàn)系統(tǒng)的設(shè)計。
植物的生長與溫度有著密不可分的關(guān)系,溫度傳感器負(fù)責(zé)實時采集各個時間點上溫室內(nèi)的溫度數(shù)據(jù),傳遞給單片機(jī)。本系統(tǒng)中選用DS18B20,它不需要與AD相連,直接是數(shù)字量輸出,使用簡單,便于操作。
DS18B20外形像一個三極管,有3個引腳,分別是GND、DQ、VCC,對應(yīng)接地、接單片機(jī)P2.3口、接電源,整個電路如圖3所示。采用外部供電方式,電阻R1起上拉用。
圖3 溫度檢測電路Fig.3 Temperature detection circuit
光照是蔬菜作物光合作用的能源,光照條件的好壞直接影響到作物光合作用的強(qiáng)弱,從而明顯影響到產(chǎn)量的高低。本設(shè)計使用光敏電阻, 選用 STC12C5A60S2,設(shè)計電路如圖4所示,片內(nèi)P1口自帶AD轉(zhuǎn)換,將模擬量送入單片機(jī)P1.1口(IN0)。
圖4 光照強(qiáng)度檢測電路Fig.4 Light intensity detection circuit
土壤中的水分對植物的生長非常重要,水分充足才能有利于植物的健康生長,本系統(tǒng)中選用YL-100,連接電路如圖5所示,將模擬量送到單片機(jī)自帶的AD轉(zhuǎn)換口P1.2(IN1)。
圖5 土壤濕度檢測電路Fig.5 Soil moisture detection circuit
圖6 二氧化碳濃度檢測電路Fig.6 Carbon dioxide concentration detection circuit
二氧化碳是植物生長的養(yǎng)料,促進(jìn)光合作用,促進(jìn)生長。本系統(tǒng)選用MS4100,連接電路如圖6所示。MS4100的電壓輸出范圍大約在190 mV~510 mV之間,由此特性可知,要對其信號進(jìn)行放大,才能得到所需電壓值。
單片機(jī)通過顯示模塊顯示溫室內(nèi)的溫度、土壤濕度、光照強(qiáng)度和二氧化碳濃度。根據(jù)顯示設(shè)備可實時了解溫室內(nèi)的環(huán)境指數(shù),判斷植物的生長狀況。12864 OLCD液晶屏如圖7采用I2C通信,與單片機(jī)連接。
圖7 顯示電路Fig.7 Display circuit
在本系統(tǒng)中,PC端與多個監(jiān)控端進(jìn)行通信,實時顯示各溫室內(nèi)的4項環(huán)境數(shù)據(jù)。根據(jù)實際情況綜合考慮,對于多個溫室控制,一般溫室位置比較分散,無線通信的距離不能達(dá)到要求,因此本系統(tǒng)采用RS485有線通信方式實現(xiàn)PC端與各監(jiān)控端的通訊。它的最大的通信距離約為1200 m,最大傳輸速率為10 Mb/s。PC端接一個USB/RS485的轉(zhuǎn)換器,每一個監(jiān)控端都要接一個RS485/TTL模塊,其連接如圖8所示。
監(jiān)控端1的RXD接RS485模塊的RO引腳,TXD接RS485模塊的DI引腳,PC端RS485轉(zhuǎn)TTL模塊的A接監(jiān)控端1的RS485轉(zhuǎn)TTL模塊的A,監(jiān)控端1的A再接監(jiān)控端2的A,以此類推。PC端的B引腳,監(jiān)控端的B引腳接法同A引腳一樣。
本系統(tǒng)中要控制一些高電壓電器,如果將它直接接入單片機(jī),會造成單片機(jī)的損壞,故需要通過繼電器將高電壓電器與單片機(jī)電路隔離,其電路如圖9所示。
圖9 繼電器控制電路Fig.9 Relay control circuit
單片機(jī)主要根據(jù)4個傳感器測得的4項環(huán)境指數(shù),與預(yù)設(shè)的環(huán)境參數(shù)比較,判斷是否啟動相應(yīng)的繼電器調(diào)節(jié)環(huán)境。系統(tǒng)中用到7組繼電器,主要調(diào)節(jié)功能如表1所示。
表1 繼電器控制功能Tab.1 Relay control function
單片機(jī)所占用的I/O口如表2所示。程序初始化后,調(diào)用AD轉(zhuǎn)換程序,將二氧化碳濃度、土壤濕度及光照強(qiáng)度模擬量轉(zhuǎn)化為數(shù)字量,再調(diào)用測溫子函數(shù),讀取溫度值,得到4項環(huán)境指數(shù)值,與設(shè)定值進(jìn)行比較,不在預(yù)定范圍內(nèi),則報警,相應(yīng)I/O置1,再將測得的值顯示出來,如果接收到通訊命令,則與PC端進(jìn)行通信。其主程序流程如圖10所示。
本系統(tǒng)上位機(jī)(PC端)基于Visual Studio 2010,采用C#語言實現(xiàn)。定時采集溫度、二氧化碳濃度、土壤濕度及光照強(qiáng)度數(shù)據(jù),實現(xiàn)溫室的實時監(jiān)控,同時將數(shù)據(jù)存入數(shù)據(jù)庫。
表2 單片機(jī)I/O口分配Tab.2 SCM I/O port allocation
圖10 主程序流程Fig.10 Program flow chart
串口信息設(shè)置區(qū)有串行口號、波特率下拉菜單選擇、校驗位選擇、停止位選擇、打開串口/關(guān)閉串口按鈕,如圖11所示。波特率可選擇范圍為600~460800;校驗位可選擇無校驗、奇校驗、偶校驗、0校驗、1校驗;停止位可選擇1位、1.5位、2位;按鈕觸發(fā)事件為打開或關(guān)閉串口;溫室選擇里可以選擇溫室1~溫室8。開啟實時監(jiān)控就可對當(dāng)前溫室進(jìn)行實時監(jiān)控。
圖11 串口參數(shù)設(shè)計Fig.11 Serial port parameters design
系統(tǒng)數(shù)據(jù)主要分為兩部分,即通過串口查詢某一溫室的數(shù)據(jù)并進(jìn)行實時顯示以及對各溫室歷史數(shù)據(jù)的顯示。
當(dāng)PC端向監(jiān)控端發(fā)送問詢命令時,監(jiān)控端才給PC端發(fā)送采集到的數(shù)據(jù)。本系統(tǒng)PC端使用Timer控件,定時向監(jiān)控端發(fā)送詢問命令,監(jiān)控端接收到命令就向PC端發(fā)送數(shù)據(jù)。監(jiān)控端發(fā)送11組(溫度,土壤濕度,光照強(qiáng)度,二氧化碳濃度,溫度上限,溫度下限,光照強(qiáng)度上限,光照強(qiáng)度下限,二氧化碳濃度上限,二氧化碳濃度下限,土壤濕度下限)數(shù)據(jù)給PC端。為方便PC端的處理,首先在監(jiān)控端發(fā)送時就對數(shù)據(jù)進(jìn)行處理,即將11組數(shù)據(jù)放在一起,以標(biāo)識符左尖括號“<”開始,標(biāo)識符右尖括號“>”結(jié)束,每組數(shù)據(jù)以分隔符“|”分隔。PC端接收到這一組數(shù)據(jù),進(jìn)行處理,顯示界面如圖12所示。
圖12 實時參數(shù)顯示Fig.12 Real-time parameter display
為了顯示歷史數(shù)據(jù),本系統(tǒng)采用MySQL數(shù)據(jù)庫,將每個溫室內(nèi)測得的4項環(huán)境參數(shù)定時采集,存送到數(shù)據(jù)庫。為此建立的表單主要有兩類:一類用于存儲每個溫室的地址,編號和名稱,表名為Greenhouse,如表3所示,其中address為主鍵;另一類顯示每一溫室的具體參數(shù),表名為Greenhouse_X,“X”為溫室編號,如表4所示,其中id為主鍵。
表3 Greenhouse信息表Tab.3 Greenhouse database
表4 Greenhouse_X信息表Tab.4 Greenhouse_X database
歷史數(shù)據(jù)采用折線圖顯示,如圖13所示。
圖13 溫室1的歷史數(shù)據(jù)顯示Fig.13 History data of Greenhouse 1
不管是現(xiàn)代化農(nóng)業(yè),還是更加前衛(wèi)的智慧農(nóng)業(yè),都說明農(nóng)業(yè)自動化是以后農(nóng)業(yè)發(fā)展的一個重要方向。本文基于單片機(jī)實現(xiàn)了溫室監(jiān)控系統(tǒng)的設(shè)計,通過溫度傳感器、土壤濕度傳感器、二氧化碳濃度傳感器和光照強(qiáng)度傳感器等實時采集溫室各參數(shù),采用RS485通訊方式實現(xiàn)了PC端與各監(jiān)控端的數(shù)據(jù)交互,同時還可以控制相應(yīng)設(shè)備,協(xié)同工作,創(chuàng)造一個適合植物生長的環(huán)境。
[1]楊學(xué)坤,蔣曉,褚剛.溫室環(huán)境控制技術(shù)的研究現(xiàn)狀與發(fā)展趨勢[J].中國農(nóng)機(jī)化學(xué)報,2013(7):16-18.
[2]董小芳,宛石.智慧農(nóng)業(yè)已初露端倪[J].中華合作時報,2011(4):5.
[3]潘慧.濰坊市農(nóng)業(yè)信息化現(xiàn)狀與發(fā)展模式研究[D].泰安:山東農(nóng)業(yè)大學(xué),2014.
[4]譚靜芳.淺談溫室自動控制技術(shù)的發(fā)展概況[J].農(nóng)業(yè)裝備技術(shù),2005(5):21-27.
[5]紀(jì)文義,張繼成,鄭萍,等.基于無線網(wǎng)絡(luò)的農(nóng)田灌溉智能檢測系統(tǒng)[J].農(nóng)機(jī)化研究,2013,35(10):171-172.
[6]G.van Straten,E.J.van Henten.Optimal greenhouse cultivation control:survey and perspectives[J].IFAC Proceedings Volumes,2010:12-13.
[7]Brown,C.,Waldron,S.Agrarian change,agricultural modernization and the modelling of agricultural households[J].USA:Agricultural Systems,2013:2-3.