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