魏曉艷
(陜西國防工業(yè)職業(yè)技術(shù)學院,陜西 西安710300)
隨著農(nóng)業(yè)科技化的推廣,人們越來越認識到智能化帶來的便利,本文旨在建立一套智能化的大棚溫室溫度控制系統(tǒng),可自動進行大棚溫度的監(jiān)測和控制。在系統(tǒng)構(gòu)建設(shè)計時,選用單片機作為溫控系統(tǒng)的主控制器,實現(xiàn)對大棚溫室溫度的控制。與其他溫度測控系統(tǒng)相比,該系統(tǒng)操作比較便捷,只需要設(shè)定溫度范圍,系統(tǒng)會根據(jù)大棚內(nèi)部實際溫度進行實時控制,能更加準確地測量及顯示大棚內(nèi)溫度。當溫度高于閾值上限時,換氣扇會自動啟動;當溫度低于閾值下限時,加熱裝置會自動增溫,并且會發(fā)出報警信號。該系統(tǒng)具有靈敏度高,運行穩(wěn)定的優(yōu)勢。
目前,針對大棚溫室溫度測控手段比較多,但是大多需要投入較高資金,因此一些中小型溫室大棚用戶基本上采用稻草簾、遮陽網(wǎng)等措施來對大棚進行保溫,通過開啟通風口來對大棚進行降溫,這種人工控溫方式效率較低,而且會消耗一定的人力物力?;趩纹瑱C的大棚溫室溫度控制系統(tǒng),通過仿真平臺對系統(tǒng)進行制作與調(diào)試,可以有效縮短設(shè)計周期,實現(xiàn)溫室大棚內(nèi)溫度的實時監(jiān)測,將溫差控制在±0.5 ℃之內(nèi)。一旦超出預(yù)設(shè)的溫差值,系統(tǒng)會立即向農(nóng)戶發(fā)出報警信號,與此同時,溫度調(diào)控系統(tǒng)會開始工作,對大棚內(nèi)的溫度進行調(diào)節(jié),保證大棚內(nèi)溫度適合農(nóng)作物的生長,有效提高農(nóng)作物的產(chǎn)量,增加農(nóng)戶收入[1-2]。
溫室大棚溫度測控系統(tǒng)硬件包括接口電路、傳感采集電路、微控制器、電源、通信電路、電平轉(zhuǎn)換電路及報警電路。通過CPU與MCU對多路傳感信號進行檢測與處理。由于需要一定的存儲空間,所以存儲器要便于空間拓展,選用帶有可拓展的I/O接口。在傳感器方面,采用數(shù)字元件可以有效減少輔助器件的使用,提升系統(tǒng)的穩(wěn)定性。
軟件系統(tǒng)包括主程序、通信模塊程序、顯示模塊程序和采集模塊程序等。軟件要具備:獨立的信號采集服務(wù)模塊,針對不同傳感器的性能及特征采取不同的采集方法,且能配合不同硬件的參數(shù)指標,滿足硬件設(shè)計的需求;確??梢酝ㄟ^網(wǎng)絡(luò)與終端進行通信;顯示系統(tǒng)簡單明了,便于參數(shù)調(diào)整,提高系統(tǒng)使用的智能化操作。
為了進一步節(jié)約研發(fā)成本,采用虛擬仿真軟件對平臺進行優(yōu)化。以單片機STC89C52為核心,采用DB18B20型傳感器對大棚溫室溫度進行實時采集;對采集的溫度數(shù)據(jù)進行處理后,通過液晶器件LCD1602實時顯示溫度;與預(yù)先設(shè)定的溫度閾值進行比較后,控制溫度調(diào)節(jié)設(shè)備的工作狀態(tài)。系統(tǒng)總體設(shè)計框架如圖1所示。
選取STC89C52芯片作為系統(tǒng)的主控制器部分,使用傳感器實施溫度采集并傳輸?shù)絊TC89C52芯片,經(jīng)過小系統(tǒng)的內(nèi)部處理,利用運算器和控制器將獲取的實時數(shù)據(jù)與系統(tǒng)設(shè)置的溫度閾值進行對比,將信號通過網(wǎng)絡(luò)傳輸?shù)诫娔X或者手機客戶端,上位機根據(jù)獲取的數(shù)據(jù)進行溫度控制,處理后的結(jié)果返回單片機,單片機再將命令傳達給執(zhí)行機構(gòu),從而實現(xiàn)對溫室溫度的測控。主控制器在整個系統(tǒng)中的作用十分重要,STC89C52芯片具有穩(wěn)定性強、實際消耗低和較高性能的優(yōu)點,同時具有很強的外部抗干擾能力。單片機可以實現(xiàn)對溫度的巡回測量,根據(jù)采集的溫度進行優(yōu)化補償,達到測控溫度的目的[3-4]。集散控制系統(tǒng)如圖2所示。
圖2 集散控制系統(tǒng)實現(xiàn)Fig.2 Implementation of distributed control system
單片機通過采集傳感器傳輸?shù)臄?shù)據(jù)進行系統(tǒng)的參數(shù)對比,并將巡回測量的數(shù)據(jù)進行加密存儲,同時可以與上位機進行通信。
4.2.1 集成數(shù)字化DS18B20傳感器
選用集成溫度傳感器DS18B20作為系統(tǒng)的溫度采集傳感器,其具有以下優(yōu)點。
(1)采用單總線傳輸方式,與單片機連接簡單。
(2)方便單片機控制和處理。
(3)電路設(shè)計合理、簡潔,性質(zhì)穩(wěn)定。
(4)體積小,全數(shù)字化輸出,方便單片機攜帶。
(5)組建網(wǎng)絡(luò)結(jié)構(gòu)簡單,可實現(xiàn)多點測控,兼顧監(jiān)控與溫控。
由DS18B20組建的傳感器網(wǎng)絡(luò)具有系統(tǒng)設(shè)計靈活、方便連接、可實現(xiàn)多點溫度采集,以及具有良好抗干擾性和適應(yīng)性強的特點。
4.2.2 溫度傳感器設(shè)計
(1)內(nèi)部結(jié)構(gòu)設(shè)計。
DS18B20的內(nèi)部結(jié)構(gòu)由溫度靈敏器、可記憶溫度報警觸發(fā)裝置TH和TL、64位光刻ROM以及8位配置寄存器組成。DS18B20的內(nèi)部結(jié)構(gòu)如圖3所示。
圖3 DS18B20的內(nèi)部結(jié)構(gòu)Fig.3 Internal structure of DS18B20
(2)DS18B20存儲器模塊。
DS18B20存儲器模塊的設(shè)計目的是控制數(shù)據(jù)的采集、存儲和處理。工作原理是單片機下達溫度轉(zhuǎn)換指令后所有模擬信號將以數(shù)字信號的方式進行數(shù)據(jù)處理[5-6]。
選用的通信網(wǎng)絡(luò)是RS-232與GSM相結(jié)合,實現(xiàn)對信息的傳輸和對系統(tǒng)設(shè)備的管理。在系統(tǒng)中,通信網(wǎng)絡(luò)模塊的工作原理:利用溫度傳感器DS18B20采集大棚溫室的溫度數(shù)據(jù),數(shù)據(jù)傳入到單片機后,單片機STC89C52對數(shù)據(jù)進行處理,利用RS-232通信模塊,將數(shù)據(jù)傳輸?shù)诫娮佑嬎銠C或者手機客戶端,實現(xiàn)采集數(shù)據(jù)的處理,如圖4所示。
圖4 數(shù)據(jù)遠程采集無線通信原理Fig.4 Schematic diagram of wireless communication for remote data collection
4.4.1 定時器電路
選用Xicor公司X25045集成芯片,由于其性能可靠且自帶功能豐富,可以作為程序的定時器。設(shè)置定時器標準參數(shù),當系統(tǒng)程序開始倒計時,如果程序運行情況良好,定時器將進入復(fù)位,重新進行倒計時。若待查的系統(tǒng)沒有正常運行,那么該模塊將進行整個系統(tǒng)的復(fù)位。
4.4.2 鍵盤和顯示電路
鍵盤是電子計算機的輸入設(shè)備,可以將控制命令傳達給單片機進行溫度控制。選用4×4矩陣式非編碼鍵盤,通過軟件進行識別和操作[7-8]。
系統(tǒng)軟件采用模塊化結(jié)構(gòu),根據(jù)硬件設(shè)計,對其進行編程、設(shè)計與測試,再將各模塊拼接成整個系統(tǒng),最終實現(xiàn)大棚溫室溫度實時測控。
作為測控系統(tǒng)中最重要的一個模塊,主程序通過對系統(tǒng)的智能化自檢,達到初始化目的,對于參數(shù)的測試和控制都在子程序中進行。主程序流程如圖5所示。
圖5 主程序流程Fig.5 Main program flow
主程序通過調(diào)用子程序來實現(xiàn)控制,子程序可以實現(xiàn)對溫度的采集、鍵盤掃描、數(shù)碼管溫度顯示、按鍵處理,以及中斷控制、單片機通信等功能。此種設(shè)計有利于軟件后期的維護和升級。
溫度傳感器DS18B20程序設(shè)計如下。在程序續(xù)寫之前,進行DS18B20復(fù)位操作,目的是驗證DS18B20的存在。MCU將數(shù)據(jù)線下拉480~960 ms,釋放數(shù)據(jù)線后再等待60 μs。若MCU接收DS18B20發(fā)出的信號是低電平,那么表示復(fù)位成功。
啟動TC35模塊程序,進行初始化操作。
使用鍵盤發(fā)送指令進行數(shù)據(jù)采集,并進行數(shù)據(jù)處理,將處理結(jié)果發(fā)送至電子計算機或者手機上,主程序再對其下達初始化操作的指令。上、下位機通信時可能會出現(xiàn)延遲的現(xiàn)象,因此在使用SMS短消息時,考慮工作效率和成本,將每條消息長度設(shè)置為106個字符。常用AT指令如表1所示。
表1 常用AT指令功能Tab.1 Common AT command function
根據(jù)AT指令進行相關(guān)功能的測試:由電子計算機通過TC35發(fā)短信,利用鍵盤發(fā)送AT指令進行下達檢驗,查看顯示的內(nèi)容是否為對應(yīng)功能區(qū)中設(shè)置的內(nèi)容;再通過TC35由單片機發(fā)送短信,查看能否發(fā)送成功。通過以上步驟,實現(xiàn)了AT指令的測試,并利用TC35實現(xiàn)短消息的發(fā)送[9]。
通過創(chuàng)建的項目文件,在文件中添加Picture控件,并將其添加到程序框中,利用下位機傳輸?shù)臏囟炔杉瘮?shù)據(jù),建立表格實施對溫度實時數(shù)據(jù)的顯示,或者利用曲線展示出溫度的變化趨勢。
采用Proteus軟件進行仿真測試,基本工作流程是在Proteus軟件中利用仿真功能模塊繪制出單片機電路、復(fù)位電路、DS18B20溫度傳感器電路及控制電路等,并進行編程,此時運行仿真電路圖,可從顯示器中顯示出溫室大棚內(nèi)的溫度值。
首先利用串口進行軟件的調(diào)試工作,然后進行串口初始化測試,同時對系統(tǒng)的運行狀態(tài)也是一種測試。然后再進行TCP網(wǎng)絡(luò)的連接,測試數(shù)據(jù)傳送效果。
對系統(tǒng)進行調(diào)試檢測后,將該系統(tǒng)在某日光塑料大棚進行實際測試,該大棚晝夜溫差為15 ℃左右,所以需要人工控制保溫簾或打開風機來確保大棚內(nèi)的溫度及光照適宜。首先將測試系統(tǒng)放置于大棚內(nèi)合適位置,通過導線將3個DS18B20測試點連接好,安放在大棚中的不同位置,將大棚內(nèi)換氣扇與系統(tǒng)電機控制模塊的輸出端相連接,通過繼電器控制大棚的外接加熱設(shè)備,通過功能按鍵將大棚內(nèi)溫度閾值設(shè)置為24.3和6.3 ℃。當下午16∶00以后,大棚內(nèi)溫度會有所下降,大棚內(nèi)溫度及顯示溫度為24.0 ℃,系統(tǒng)顯示模塊為24.2 ℃,測溫狀態(tài)顯示“Low”,與人工測量溫度誤差為0.2 ℃。與此同時,模擬加熱設(shè)備開始加熱,保證大棚內(nèi)溫度不低于設(shè)定閾值。當人體接觸傳感器DS18B20時,系統(tǒng)顯示溫度會超過閾值最高值,測溫狀態(tài)顯示“High”,此時報警裝置會發(fā)出報警信號,同時開啟風機進行降溫。
通過對系統(tǒng)的硬件和軟件的測試,該系統(tǒng)在實際環(huán)境中運行穩(wěn)定,誤差小,報警及時,調(diào)溫裝置開啟正常,受到大棚用戶青睞。測試結(jié)果表明,系統(tǒng)硬件和軟件設(shè)計均運行良好,實現(xiàn)了溫度值顯示目的,并可以利用鍵盤進行閾值的調(diào)整。測試單片機能實時準確地向上位機發(fā)送溫度數(shù)據(jù),同時上位機也可以向單片機下達指令。隨后對系統(tǒng)進行反復(fù)調(diào)試,為了保證測試結(jié)果的準確性,對大棚的室內(nèi)溫度進行了20次的采集測量,系統(tǒng)顯示的誤差均能控制在±0.4°范圍內(nèi),從而實現(xiàn)了系統(tǒng)對溫度的有效測控[10]。
以單片機為主控制器的大棚溫室溫度測控系統(tǒng)可實現(xiàn)溫室溫度的智能化測控。在明確研究目的和設(shè)計需求后,制定了適用的設(shè)計方案,通過對硬件系統(tǒng)和軟件系統(tǒng)的設(shè)計,實現(xiàn)了各模塊的設(shè)計需求,并以硬件和軟件相結(jié)合的形式進行了系統(tǒng)整體測試。通過對溫控系統(tǒng)的反復(fù)測試,驗證了系統(tǒng)的良好性能,各子程序和模塊均能正常運行,實現(xiàn)了溫度數(shù)據(jù)的實時顯示,達到了設(shè)計的目的。