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