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