一種簡(jiǎn)易溫室控制系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:針對(duì)溫室大棚人工控制過程復(fù)雜,生產(chǎn)成本高和效率低下等問題。設(shè)計(jì)了一款基于STC89C55的低成本簡(jiǎn)易溫室控制系統(tǒng),該系統(tǒng)可對(duì)溫室內(nèi)的溫度、濕度、光照度、和二氧化碳濃度等環(huán)境因子進(jìn)行實(shí)時(shí)監(jiān)控,并能按照預(yù)先設(shè)定的參數(shù)對(duì)溫室環(huán)境進(jìn)行自動(dòng)調(diào)節(jié),以滿足不同農(nóng)作物的生長(zhǎng)要求。詳細(xì)闡述了系統(tǒng)軟硬件的實(shí)現(xiàn)方法。經(jīng)仿真和實(shí)際應(yīng)用表明:該系統(tǒng)具有探作簡(jiǎn)單,運(yùn)行可靠和造價(jià)低廉等特點(diǎn),能滿足溫室控制的需求,具有良好的應(yīng)用前景和推廣價(jià)值。
關(guān)鍵詞:智能溫室;控制系統(tǒng);單片機(jī);環(huán)境因子
溫室是一種可以改變植物生長(zhǎng)環(huán)境,為植物生長(zhǎng)創(chuàng)造更好條件、避免外界四季變化和惡劣氣候?qū)ζ溆绊懙膱?chǎng)所。隨著社會(huì)經(jīng)濟(jì)的發(fā)展,各種園藝溫室和農(nóng)作物溫室的數(shù)量在不斷的增加,目前這些溫室環(huán)境的控制大部分仍靠人工經(jīng)驗(yàn)來進(jìn)行手動(dòng)控制,這種控制方式生產(chǎn)效率低下,單位產(chǎn)品的生產(chǎn)成本偏高,嚴(yán)重影響了農(nóng)業(yè)生產(chǎn)的效益,阻礙了農(nóng)業(yè)生產(chǎn)的發(fā)展。因此采用智能溫室控制代替手工控制是現(xiàn)代溫室發(fā)展的一個(gè)必然趨勢(shì),而當(dāng)今國(guó)內(nèi)常見的智能溫室系統(tǒng)都是采用工控機(jī)或者PLC方案,其控制成本高,性價(jià)比低,較大部分用戶經(jīng)濟(jì)能力承受不起。為此本文在綜合考慮系統(tǒng)的測(cè)量精度、生產(chǎn)效率以及成本等多方面因素之后,設(shè)計(jì)了一種基于STC89E55RD+單片機(jī)的低成本簡(jiǎn)易溫室控制系統(tǒng)。其成本較工控機(jī)要低,運(yùn)行可靠,便于大批量推廣。
1 總體設(shè)計(jì)
本系統(tǒng)整體原理框圖如圖1所示,系統(tǒng)采用STC89E55RD+單片機(jī)作為控制核心,通過各種傳感器將溫室內(nèi)的溫度,濕度,光照度和二氧化碳濃度等環(huán)境因子轉(zhuǎn)換成相應(yīng)的電信號(hào),經(jīng)調(diào)理電路后送入到單片機(jī),實(shí)現(xiàn)對(duì)環(huán)境因子的采集,存儲(chǔ)與顯示。采集后的信號(hào)與預(yù)先設(shè)定的數(shù)值進(jìn)行比較,當(dāng)溫室內(nèi)環(huán)境因子參數(shù)超出預(yù)先設(shè)定的值時(shí),啟動(dòng)相應(yīng)的執(zhí)行機(jī)構(gòu)對(duì)其進(jìn)行控制且系統(tǒng)發(fā)出聲光報(bào)警,直至環(huán)境參數(shù)調(diào)節(jié)至目標(biāo)范圍內(nèi)。溫室控制系統(tǒng)還包括各種人機(jī)界面和數(shù)據(jù)傳輸接口,以實(shí)現(xiàn)了人機(jī)交換方式和實(shí)時(shí)參數(shù)的設(shè)定。此外,控制器同時(shí)也可與上位機(jī)進(jìn)行通信,接收上位機(jī)指令并把采集的數(shù)據(jù)傳給上位機(jī),上位機(jī)可對(duì)數(shù)據(jù)進(jìn)行集中管理。
2 系統(tǒng)硬件設(shè)計(jì)
2. 1 信號(hào)采集模塊
2.1.1 模擬量采集模塊
模擬量采集模塊要完成對(duì)溫室現(xiàn)場(chǎng)溫度、濕度、二氧化碳濃度和光照度的測(cè)量與采集。
溫度傳感器選用數(shù)字化集成溫度傳感器DS18B20,該傳感器將現(xiàn)場(chǎng)溫度直接采用“一線總線”的數(shù)字方式進(jìn)行傳輸,大大提高了系統(tǒng)的抗干擾性,適合惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量。濕度傳感器選用瑞士Scnsirion公司生產(chǎn)的智能數(shù)字濕度傳感器SHT11,該傳感器將濕度傳感器、信號(hào)放大調(diào)理、A/D轉(zhuǎn)換和加熱器等功能全部集成于一芯片中,可給出全校準(zhǔn)相對(duì)濕度值輸出;并帶有兩線制的串行接口和內(nèi)部基準(zhǔn)電壓,使系統(tǒng)的接口設(shè)計(jì)變得簡(jiǎn)單快捷。圖2為溫度和濕度采集電路原理圖。
考慮到溫室傳感器的輸出信號(hào)需要遠(yuǎn)距離傳輸,因此二氧化碳傳感器和光照度傳感器都選用電流型輸出的傳感器,光照度傳感器選用TBQ-6型光照度傳感器。二氧化碳傳感器選用VC1008T-KS型CO2傳感器。光照度和CO2采集模塊電路原理圖如圖3所示。這兩種傳感器的輸出信號(hào)都為4~20 Ma的電流信號(hào),其信號(hào)處理通道如下:4~20 Ma的電流信號(hào)先通過250 Ω高精度取樣電阻(精度為0.1%),將電流信號(hào)轉(zhuǎn)化為1~5 V的電壓信號(hào),通過四選一的多路模擬開關(guān)ADG509以差分的方式將信號(hào)輸送到儀表放大器AD620,AD620將差分信號(hào)轉(zhuǎn)換為單端信號(hào)輸出,這種以差分方式輸入電壓信號(hào),極大地減少了外間因素給A/D數(shù)據(jù)采集帶來的信號(hào)干擾,提高了信號(hào)的輸入阻抗,通過負(fù)反饋運(yùn)算電路將輸入的電壓信號(hào)轉(zhuǎn)化為MAX187所允許的輸入電壓范圍0~4.096 V。在MAX187數(shù)字信號(hào)輸出端與單片機(jī)的I/O口上加入6N137光電隔離器,把數(shù)字量信號(hào)和模擬量信號(hào)進(jìn)行相互隔離,起到抑制交叉串?dāng)_作用。
2.1.2 數(shù)字量采集模塊
數(shù)字量采集模塊主要是對(duì)溫室控制系統(tǒng)中需要交流電機(jī)正反轉(zhuǎn)的執(zhí)行設(shè)備的的運(yùn)動(dòng)狀態(tài)進(jìn)行采集,包括遮陽(yáng)網(wǎng),天窗,側(cè)窗等。執(zhí)行設(shè)備的運(yùn)動(dòng)狀態(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ī)。
2.2 開關(guān)量輸出模塊
開關(guān)量輸出模塊用于控制溫室控制系統(tǒng)中執(zhí)行設(shè)備的運(yùn)動(dòng)。其單元電路圖如圖4所示,單片機(jī)將要輸出的開關(guān)量鎖存到74HC573中,通過開關(guān)光耦與輸出通道進(jìn)行隔離,避免信號(hào)之間的相互干擾,信號(hào)經(jīng)三極管的放大后驅(qū)動(dòng)12V的小型繼電器,從而控制執(zhí)行設(shè)備執(zhí)行相應(yīng)動(dòng)作。
2.3 時(shí)鐘模塊
時(shí)鐘模塊采用DALLAS公司生產(chǎn)的DS1302芯片,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),同時(shí)具有閏年補(bǔ)償功能,工作電壓為2.5~5.5 V。采用三線接口與CPU進(jìn)行同步通信。
2.4 鍵盤及顯示模塊
鍵盤模塊用于實(shí)現(xiàn)溫室控制系統(tǒng)參數(shù)的設(shè)置。該模塊設(shè)置了四個(gè)獨(dú)立按鍵,鍵0為參數(shù)設(shè)置鍵,用于選擇不同的參數(shù)設(shè)置。鍵1,鍵2分別為++鍵,和--鍵,用于對(duì)所設(shè)參數(shù)進(jìn)行遞增和遞減作用。鍵3為↑↓鍵,用于選擇上極限值和下極限值。顯示模塊用于實(shí)時(shí)顯示溫室控制環(huán)境中的參數(shù)。為降低溫室控制系統(tǒng)的硬件成本,該模塊選用了不帶字庫(kù)的HDG12864型的LCD液晶顯示器。為節(jié)省I/O口的使用數(shù)量,在本系統(tǒng)設(shè)計(jì)中選用串行方式與單片機(jī)進(jìn)行連接。
2.5 通信模塊
通訊模塊用于下位機(jī)與上位機(jī)之間的數(shù)據(jù)通訊,考慮到溫室不同的環(huán)境和不同用戶的需求,設(shè)計(jì)中采用RS232和RS485兩種總線方式來實(shí)現(xiàn)通訊,RS232串口通訊硬件電路實(shí)現(xiàn)簡(jiǎn)單,只需將測(cè)控系統(tǒng)的串行接口與PC機(jī)的COM口相連即可,但是RS232傳輸速率較低,傳輸?shù)木嚯x短,只適合短距離通訊。RS485總線采用平衡發(fā)送和差分接收方式來實(shí)現(xiàn)通訊,與RS232相比,其最高傳輸速率提高到10Mbps,且傳輸距離往往可達(dá)到1 200 M以上,適合較遠(yuǎn)距離節(jié)點(diǎn)的通訊。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)控制軟件采用模塊化的程序設(shè)計(jì)思想,將系統(tǒng)的整體功能分為不同的模塊,各個(gè)模塊單獨(dú)設(shè)計(jì)、編程、調(diào)試,完成之后進(jìn)行系統(tǒng)總的聯(lián)調(diào)。本系統(tǒng)程序均采用C語(yǔ)言來進(jìn)行編寫。整體上軟件程序主要完成信號(hào)采集運(yùn)算、實(shí)時(shí)監(jiān)控、顯示、通信、參數(shù)設(shè)定、聲光報(bào)警等功能,主要包括主程序,系統(tǒng)初始化子程序,溫室參數(shù)采集子程序,時(shí)鐘子程序,報(bào)警子程序,按鍵掃描子程序,LED顯示子程序,數(shù)據(jù)控制處理子程序,數(shù)據(jù)存儲(chǔ)子程序和串口中斷服務(wù)程序等模塊。主程序控制流程如圖5所示。
3.1 溫室參數(shù)采集子程序
溫室數(shù)據(jù)采集系統(tǒng)的前向通道中,輸入信號(hào)均含有種種噪聲和干擾,為了對(duì)溫室環(huán)境參數(shù)進(jìn)行準(zhǔn)確的測(cè)量與控制,在軟件設(shè)計(jì)中采用去極值平均濾波法來去除噪聲和干擾。對(duì)每個(gè)傳感器采用10次,去除最大值和最小值,對(duì)剩余8次采樣數(shù)據(jù)進(jìn)行求平均,即得到有效的采樣值。
3.2 數(shù)據(jù)存儲(chǔ)子程序
對(duì)由溫室控制系統(tǒng)所采集的各種數(shù)據(jù)信息的分析和處理是一個(gè)重要的環(huán)節(jié),因此必須設(shè)計(jì)數(shù)據(jù)存儲(chǔ)程序。在軟件設(shè)計(jì)中,每隔十分鐘就對(duì)溫室所采集到的溫室環(huán)境參數(shù)(溫度、濕度、光照度和二氧化碳濃度)及執(zhí)行機(jī)構(gòu)的狀態(tài)進(jìn)行存儲(chǔ),在存儲(chǔ)器中分別占用1,1,2,2,1個(gè)字節(jié)。同時(shí)為了能夠清晰確定所采集數(shù)據(jù)的時(shí)刻,也對(duì)時(shí)間進(jìn)行存儲(chǔ),這里只存儲(chǔ)日,時(shí),分,在存儲(chǔ)器中各自占用1個(gè)字節(jié)。STC89C55單片機(jī)內(nèi)部的EEPROM共有58個(gè)扇區(qū),每個(gè)扇區(qū)可存儲(chǔ)512個(gè)字節(jié)。因此單片機(jī)可存儲(chǔ)大約58x512/10x24x(60/10)≈20天的數(shù)據(jù)。
3.3 數(shù)據(jù)控制處理子程序
由于溫室內(nèi)作物對(duì)于環(huán)境參數(shù)變化往往不是很敏感,而且從系統(tǒng)的成本和通用性來考慮,本系統(tǒng)采用簡(jiǎn)單的閾值控制算法。即開始時(shí)系統(tǒng)會(huì)根據(jù)不同作物所處的最適宜環(huán)境來預(yù)設(shè)參數(shù)的閾值(上下限值),然后系統(tǒng)通過傳感器來對(duì)環(huán)境參數(shù)進(jìn)行數(shù)據(jù)采集,當(dāng)所采集到的環(huán)境參數(shù)不在閾值范圍內(nèi)時(shí),系統(tǒng)就會(huì)控制相應(yīng)的執(zhí)行機(jī)構(gòu)來改變溫室的環(huán)境參數(shù),直到參數(shù)回到閾值范圍內(nèi)。
4 系統(tǒng)的仿真與調(diào)試
為了驗(yàn)證溫室控制系統(tǒng)設(shè)計(jì)的可行性,在Proteus的ISIS7 Profession軟件環(huán)境下繪制出仿真電路原理圖。采用電流源來分別仿真一個(gè)光照度和一個(gè)CO2傳感器。由于Proteus自帶的元件庫(kù)中沒有STC系列單片機(jī),在仿真過程中STC89C55BD+用AT89C55來代替,前者的性能優(yōu)于后者,一旦仿真電路能夠?qū)崿F(xiàn),則實(shí)際電路更容易成功。將編寫的程序在Keil μVision3集成開發(fā)環(huán)境上編譯調(diào)試,生成相應(yīng)的HEX文件。通過相關(guān)設(shè)置,實(shí)現(xiàn)Proteus和Keil的聯(lián)合仿真。對(duì)系統(tǒng)的功能進(jìn)行測(cè)試,以溫度控制為例,將溫度闞值上下限分別設(shè)定為15℃和25℃,當(dāng)溫室溫度低于設(shè)定閾值下限時(shí),蜂鳴器響,熱風(fēng)爐風(fēng)機(jī)開始工作。溫度高于閾值上限時(shí),蜂鳴器響,天窗打開,濕簾風(fēng)機(jī)和濕簾水泵開始工作,而當(dāng)溫度處在閾值上下限之間范圍時(shí),上述機(jī)構(gòu)都停止工作。當(dāng)用按鍵改變溫度的閾值上下限時(shí),也具有相同的仿真結(jié)果。對(duì)系統(tǒng)仿真調(diào)試成功后,用PROTEL設(shè)計(jì)印制電路板,經(jīng)過元器件的焊接、電路板的硬件調(diào)試、溫室硬件系統(tǒng)的搭建和程序下載等環(huán)節(jié),便可進(jìn)行溫室控制系統(tǒng)的整體調(diào)試。
5 結(jié)論
文中以STC89C55單片機(jī)為核心,設(shè)計(jì)了一種低成本的簡(jiǎn)易溫室控制系統(tǒng),該系統(tǒng)可以對(duì)溫室環(huán)境中的溫度、濕度、光照度和CO2濃度等各項(xiàng)參數(shù)進(jìn)行實(shí)時(shí)準(zhǔn)確的檢測(cè)、采集。并可以根據(jù)預(yù)設(shè)的參數(shù)來調(diào)節(jié)和控制溫室環(huán)境,以滿足不同植物的生長(zhǎng)需求。經(jīng)測(cè)試運(yùn)行證明該系統(tǒng)具有工作可靠,性能穩(wěn)定和操作簡(jiǎn)單等特點(diǎn),同時(shí)系統(tǒng)采用高性能,低成本的元器件,造價(jià)低廉,符合廣大農(nóng)業(yè)用戶的消費(fèi)水平,具有良好的推廣應(yīng)用價(jià)值。