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