陳方元,賴忠喜,陳文波,賴躍凱
(臺州職業(yè)技術(shù)學(xué)院 機(jī)電學(xué)院,浙江 臺州 318000)
溫室是一種可以改變植物生長環(huán)境,為植物生長創(chuàng)造更好條件、避免外界四季變化和惡劣氣候?qū)ζ溆绊懙膱鏊?。隨著社會經(jīng)濟(jì)的發(fā)展,各種園藝溫室和農(nóng)作物溫室的數(shù)量在不斷的增加,目前這些溫室環(huán)境的控制大部分仍靠人工經(jīng)驗來進(jìn)行手動控制,這種控制方式生產(chǎn)效率低下,單位產(chǎn)品的生產(chǎn)成本偏高,嚴(yán)重影響了農(nóng)業(yè)生產(chǎn)的效益,阻礙了農(nóng)業(yè)生產(chǎn)的發(fā)展[1]。因此采用智能溫室控制代替手工控制是現(xiàn)代溫室發(fā)展的一個必然趨勢,而當(dāng)今國內(nèi)常見的智能溫室系統(tǒng)都是采用工控機(jī)或者PLC方案,其控制成本高,性價比低,較大部分用戶經(jīng)濟(jì)能力承受不起[2]。為此本文在綜合考慮系統(tǒng)的測量精度、生產(chǎn)效率以及成本等多方面因素之后,設(shè)計了一種基于STC89C55RD+單片機(jī)的低成本簡易溫室控制系統(tǒng)。其成本較工控機(jī)要低,運(yùn)行可靠,便于大批量推廣。
本系統(tǒng)整體原理框圖如圖1所示,系統(tǒng)采用STC89C55RD+單片機(jī)作為控制核心,通過各種傳感器將溫室內(nèi)的溫度,濕度,光照度和二氧化碳濃度等環(huán)境因子轉(zhuǎn)換成相應(yīng)的電信號,經(jīng)調(diào)理電路后送入到單片機(jī),實現(xiàn)對環(huán)境因子的采集,存儲與顯示。采集后的信號與預(yù)先設(shè)定的數(shù)值進(jìn)行比較,當(dāng)溫室內(nèi)環(huán)境因子參數(shù)超出預(yù)先設(shè)定的值時,啟動相應(yīng)的執(zhí)行機(jī)構(gòu)對其進(jìn)行控制且系統(tǒng)發(fā)出聲光報警,直至環(huán)境參數(shù)調(diào)節(jié)至目標(biāo)范圍內(nèi)。溫室控制系統(tǒng)還包括各種人機(jī)界面和數(shù)據(jù)傳輸接口,以實現(xiàn)了人機(jī)交換方式和實時參數(shù)的設(shè)定。此外,控制器同時也可與上位機(jī)進(jìn)行通信,接收上位機(jī)指令并把采集的數(shù)據(jù)傳給上位機(jī),上位機(jī)可對數(shù)據(jù)進(jìn)行集中管理。
2.1.1 模擬量采集模塊
模擬量采集模塊要完成對溫室現(xiàn)場溫度、濕度、二氧化碳濃度和光照度的測量與采集。
圖1 溫室控制系統(tǒng)總體結(jié)構(gòu)圖Fig.1 Structure diagram of the greenhouse control system
圖2 溫度與濕度采集電路Fig.2 Temperature and humidity acquisition circuit
溫度傳感器選用數(shù)字化集成溫度傳感器DS18B20,該傳感器將現(xiàn)場溫度直接采用“一線總線”的數(shù)字方式進(jìn)行傳輸,大大提高了系統(tǒng)的抗干擾性,適合惡劣環(huán)境的現(xiàn)場溫度測量。濕度傳感器選用瑞士Scnsirion公司生產(chǎn)的智能數(shù)字濕度傳感器SHT11,該傳感器將濕度傳感器、信號放大調(diào)理、A/D轉(zhuǎn)換和加熱器等功能全部集成于一芯片中,可給出全校準(zhǔn)相對濕度值輸出;并帶有兩線制的串行接口和內(nèi)部基準(zhǔn)電壓,使系統(tǒng)的接口設(shè)計變得簡單快捷。圖2為溫度和濕度采集電路原理圖。
圖3 光照度和CO2濃度采集電路Fig.3 Light intensity and carbon dioxide concentration acquisition circuit
考慮到溫室傳感器的輸出信號需要遠(yuǎn)距離傳輸,因此二氧化碳傳感器和光照度傳感器都選用電流型輸出的傳感器,光照度傳感器選用TBQ-6型光照度傳感器。二氧化碳傳感器選用VC1008T-KS型CO2傳感器[5]。光照度和CO2采集模塊電路原理圖如圖3所示。這兩種傳感器的輸出信號都為4~20 Ma的電流信號,其信號處理通道如下:4~20 Ma的電流信號先通過250 Ω高精度取樣電阻(精度為0.1%),將電流信號轉(zhuǎn)化為1~5 V的電壓信號,通過四選一的多路模擬開關(guān)ADG509以差分的方式將信號輸送到儀表放大器AD620,AD620將差分信號轉(zhuǎn)換為單端信號輸出,這種以差分方式輸入電壓信號,極大地減少了外間因素給A/D數(shù)據(jù)采集帶來的信號干擾,提高了信號的輸入阻抗,通過負(fù)反饋運(yùn)算電路將輸入的電壓信號轉(zhuǎn)化為MAX187所允許的輸入電壓范圍0~4.096 V。在MAX187數(shù)字信號輸出端與單片機(jī)的I/0口上加入6N137光電隔離器,把數(shù)字量信號和模擬量信號進(jìn)行相互隔離,起到抑制交叉串?dāng)_作用。
2.1.2 數(shù)字量采集模塊
數(shù)字量采集模塊主要是對溫室控制系統(tǒng)中需要交流電機(jī)正反轉(zhuǎn)的執(zhí)行設(shè)備的的運(yùn)動狀態(tài)進(jìn)行采集,包括遮陽網(wǎng),天窗,側(cè)窗等。執(zhí)行設(shè)備的運(yùn)動狀態(tài)通過讀取行程開關(guān)的狀態(tài)來獲得。將強(qiáng)電柜中的行程開關(guān)串聯(lián)在24 V電源上,通過開關(guān)光耦和分壓電阻構(gòu)成回路,將行程開關(guān)的狀態(tài)映射到開關(guān)光耦的狀態(tài)上,然后通過總線收發(fā)器讀入到單片機(jī)。
開關(guān)量輸出模塊用于控制溫室控制系統(tǒng)中執(zhí)行設(shè)備的運(yùn)動。其單元電路圖如圖4所示,單片機(jī)將要輸出的開關(guān)量鎖存到74HC573中,通過開關(guān)光耦與輸出通道進(jìn)行隔離,避免信號之間的相互干擾,信號經(jīng)三極管的放大后驅(qū)動12 V的小型繼電器,從而控制執(zhí)行設(shè)備執(zhí)行相應(yīng)動作。
圖4 開關(guān)量輸出模塊電路圖Fig.4 Digital output module circuit
時鐘模塊采用DALLAS公司生產(chǎn)的DS1302芯片[6],它是一種高性能、低功耗、帶RAM的實時時鐘電路,可以對年、月、日、周、時、分、秒進(jìn)行計時,同時具有閏年補(bǔ)償功能,工作電壓為2.5~5.5 V。采用三線接口與CPU進(jìn)行同步通信。
鍵盤模塊用于實現(xiàn)溫室控制系統(tǒng)參數(shù)的設(shè)置。該模塊設(shè)置了四個獨(dú)立按鍵,鍵0為參數(shù)設(shè)置鍵,用于選擇不同的參數(shù)設(shè)置。鍵1,鍵2分別為++鍵,和--鍵,用于對所設(shè)參數(shù)進(jìn)行遞增和遞減作用。鍵3為↑↓鍵,用于選擇上極限值和下極限值。顯示模塊用于實時顯示溫室控制環(huán)境中的參數(shù)。為降低溫室控制系統(tǒng)的硬件成本,該模塊選用了不帶字庫的HDG12864型的 LCD液晶顯示器,為節(jié)省I/O口的使用數(shù)量,在本系統(tǒng)設(shè)計中選用串行方式與單片機(jī)進(jìn)行連接。
通訊模塊用于下位機(jī)與上位機(jī)之間的數(shù)據(jù)通訊,考慮到溫室不同的環(huán)境和不同用戶的需求,設(shè)計中采用RS232和RS485兩種總線方式來實現(xiàn)通訊,RS232串口通訊硬件電路實現(xiàn)簡單,只需將測控系統(tǒng)的串行接口與PC機(jī)的COM口相連即可,但是RS232傳輸速率較低,傳輸?shù)木嚯x短,只適合短距離通訊。RS485總線采用平衡發(fā)送和差分接收方式來實現(xiàn)通訊,與RS232相比,其最高傳輸速率提高到10 Mbps,且傳輸距離往往可達(dá)到1 200 M以上,適合較遠(yuǎn)距離節(jié)點的通訊。
系統(tǒng)控制軟件采用模塊化的程序設(shè)計思想,將系統(tǒng)的整體功能分為不同的模塊,各個模塊單獨(dú)設(shè)計、編程、調(diào)試,完成之后進(jìn)行系統(tǒng)總的聯(lián)調(diào)。本系統(tǒng)程序均采用C語言來進(jìn)行編寫。整體上軟件程序主要完成信號采集運(yùn)算、實時監(jiān)控、顯示、通信、參數(shù)設(shè)定、聲光報警等功能,主要包括主程序,系統(tǒng)初始化子程序,溫室參數(shù)采集子程序,時鐘子程序,報警子程序,按鍵掃描子程序,LCD顯示子程序,數(shù)據(jù)控制處理子程序,數(shù)據(jù)存儲子程序和串口中斷服務(wù)程序等模塊。主程序控制流程如圖5所示。
圖5 主程序流程圖Fig.5 Flow chart of the main program
溫室數(shù)據(jù)采集系統(tǒng)的前向通道中,輸入信號均含有種種噪聲和干擾,為了對溫室環(huán)境參數(shù)進(jìn)行準(zhǔn)確的測量與控制,在軟件設(shè)計中采用去極值平均濾波法來去除噪聲和干擾。對每個傳感器采用10次,去除最大值和最小值,對剩余8次采樣數(shù)據(jù)進(jìn)行求平均,即得到有效的采樣值。
對由溫室控制系統(tǒng)所采集的各種數(shù)據(jù)信息的分析和處理是一個重要的環(huán)節(jié),因此必須設(shè)計數(shù)據(jù)存儲程序。在軟件設(shè)計中,每隔十分鐘就對溫室所采集到的溫室環(huán)境參數(shù)(溫度、濕度、光照度和二氧化碳濃度)及執(zhí)行機(jī)構(gòu)的狀態(tài)進(jìn)行存儲,在存儲器中分別占用1,1,2,2,1個字節(jié)。同時為了能夠清晰確定所采集數(shù)據(jù)的時刻,也對時間進(jìn)行存儲,這里只存儲日,時,分,在存儲器中各自占用1個字節(jié)。STC89C55單片機(jī)內(nèi)部的EEPROM共有58個扇區(qū),每個扇區(qū)可存儲512個字節(jié)。因此單片機(jī)可存儲大約 58×512/10×24×(60/10)≈20 天的數(shù)據(jù)。
由于溫室內(nèi)作物對于環(huán)境參數(shù)變化往往不是很敏感,而且從系統(tǒng)的成本和通用性來考慮,本系統(tǒng)采用簡單的閾值控制算法。即開始時系統(tǒng)會根據(jù)不同作物所處的最適宜環(huán)境來預(yù)設(shè)參數(shù)的閾值(上下限值),然后系統(tǒng)通過傳感器來對環(huán)境參數(shù)進(jìn)行數(shù)據(jù)采集,當(dāng)所采集到的環(huán)境參數(shù)不在閾值范圍內(nèi)時,系統(tǒng)就會控制相應(yīng)的執(zhí)行機(jī)構(gòu)來改變溫室的環(huán)境參數(shù),直到參數(shù)回到閾值范圍內(nèi)。
為了驗證溫室控制系統(tǒng)設(shè)計的可行性,在Proteus的ISIS 7 Profession軟件環(huán)境下繪制出仿真電路原理圖。采用電流源來分別仿真一個光照度和一個CO2傳感器。由于Proteus自帶的元件庫中沒有STC系列單片機(jī),在仿真過程中STC89C55RD+用AT89C55來代替,前者的性能優(yōu)于后者,一旦仿真電路能夠?qū)崿F(xiàn),則實際電路更容易成功。將編寫的程序在Keil μVision3集成開發(fā)環(huán)境上編譯調(diào)試,生成相應(yīng)的HEX文件。通過相關(guān)設(shè)置,實現(xiàn)Proteus和Keil的聯(lián)合仿真。對系統(tǒng)的功能進(jìn)行測試,以溫度控制為例,將溫度閾值上下限分別設(shè)定為15℃和25℃,當(dāng)溫室溫度低于設(shè)定閾值下限時,蜂鳴器響,熱風(fēng)爐風(fēng)機(jī)開始工作。溫度高于閾值上限時,蜂鳴器響,天窗打開,濕簾風(fēng)機(jī)和濕簾水泵開始工作,而當(dāng)溫度處在閾值上下限之間范圍時,上述機(jī)構(gòu)都停止工作。當(dāng)用按鍵改變溫度的閾值上下限時,也具有相同的仿真結(jié)果。對系統(tǒng)仿真調(diào)試成功后,用PROTEL設(shè)計印制電路板,經(jīng)過元器件的焊接、電路板的硬件調(diào)試、溫室硬件系統(tǒng)的搭建和程序下載等環(huán)節(jié),便可進(jìn)行溫室控制系統(tǒng)的整體調(diào)試。
文中以STC89C55單片機(jī)為核心,設(shè)計了一種低成本的簡易溫室控制系統(tǒng),該系統(tǒng)可以對溫室環(huán)境中的溫度、濕度、光照度和CO2濃度等各項參數(shù)進(jìn)行實時準(zhǔn)確的檢測、采集。并可以根據(jù)預(yù)設(shè)的參數(shù)來調(diào)節(jié)和控制溫室環(huán)境,以滿足不同植物的生長需求。經(jīng)測試運(yùn)行證明該系統(tǒng)具有工作可靠,性能穩(wěn)定和操作簡單等特點,同時系統(tǒng)采用高性能,低成本的元器件,造價低廉,符合廣大農(nóng)業(yè)用戶的消費(fèi)水平,具有良好的推廣應(yīng)用價值。
[1]常曉瑋.溫室大棚多路溫度測量系統(tǒng)的研究與設(shè)計[D].濟(jì)南:山東大學(xué),2010.
[2]孫凱.基于單片機(jī)的智能溫室控制系統(tǒng)的設(shè)計[J].自動化技術(shù)與應(yīng)用,2008,27(8):101-103.
SUN Kai.Single-chip computer-based Intelligent greenhouse control[J].Techniques of Automation and Applications,2008,27(8):101-103.
[3]張智,鄒志榮.基于單片機(jī)的日光溫室控制系統(tǒng)的設(shè)計[J].微計算機(jī)信息,2006,22(12-2):77-78.
ZHANG Zhi,ZOU Zhi-rong.Design of solar greenhouse control system based on microcomputer[J].Microcomputer Information,2006,22(12-2):77-78.
[4]姚有峰,趙江東.基于單片機(jī)技術(shù)的智能溫室控制系統(tǒng)[J].微型機(jī)與應(yīng)用,2010,29(23):95-98.
YAO You-feng,ZHAO Jiang-dong.Microcontroller-based intelligent greenhouse control system[J].Microcomputer&Its Applications,2010,29(23):95-98.
[5]李紀(jì)文,駱德淵,劉榮.溫室環(huán)境自動控制系統(tǒng)的設(shè)計[J].微計算機(jī)信息,2009,25(1-1):12-14.
LI Ji-wen,LUO De-yuan,LIU Rong.Design of greenhouse environment control system[J].Microcomputer Information,2009,25(1-1):12-14.
[6]陳佳聞.基于多點測量的溫室智能控制系統(tǒng)的設(shè)計[J].山東農(nóng)業(yè)大學(xué)學(xué)報,2010,41(3):435-439.
CHEN Jia-wen.Multi-point temperature based on intelligent control system of greenhouse [J].Journal of Shandong Agricultural University,2010,41(3):435-439.