《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)技術(shù)的智能溫室控制系統(tǒng)
基于單片機(jī)技術(shù)的智能溫室控制系統(tǒng)
來(lái)源:微型機(jī)與應(yīng)用2010年第23期
姚有峰,趙江東
(皖西學(xué)院 實(shí)驗(yàn)中心,安徽 六安 237012)
摘要: 基于STC89C54RD+單片機(jī)、數(shù)字溫度傳感器DS18B20和電容式濕度傳感器HS1101,設(shè)計(jì)一種智能溫室控制系統(tǒng),改變傳統(tǒng)溫室依靠人工操作的缺點(diǎn),獲得在不同季節(jié)植物生長(zhǎng)所需要的最佳環(huán)境,達(dá)到優(yōu)質(zhì)、高產(chǎn)的目的。
Abstract:
Key words :

摘  要: 基于STC89C54RD+單片機(jī)、數(shù)字溫度傳感器DS18B20和電容式濕度傳感器HS1101,設(shè)計(jì)一種智能溫室控制系統(tǒng),改變傳統(tǒng)溫室依靠人工操作的缺點(diǎn),獲得在不同季節(jié)植物生長(zhǎng)所需要的最佳環(huán)境,達(dá)到優(yōu)質(zhì)、高產(chǎn)的目的。
關(guān)鍵詞: 單片機(jī);傳感器;環(huán)境參數(shù);智能控制

    植物,尤其是稀有植物、珍貴花卉和苗木的生長(zhǎng)都需要某種特定的溫度、濕度和光照度等條件,當(dāng)環(huán)境條件不能滿足上述要求時(shí),它們便停止生長(zhǎng),甚至腐爛、死亡。而要獲得植物生長(zhǎng)所需的最佳條件,不能單獨(dú)靜態(tài)地考慮某一因素,而應(yīng)從整體上綜合地研究環(huán)境參數(shù)控制問(wèn)題。智能化溫室控制系統(tǒng),即根據(jù)植物生長(zhǎng)發(fā)育的需要,通過(guò)傳感器技術(shù)、微型計(jì)算機(jī)及單片機(jī)技術(shù),自動(dòng)測(cè)控溫室的環(huán)境參數(shù),其中包括溫度、濕度、光照度等,使植物在不適宜生長(zhǎng)發(fā)育的反季節(jié)中,獲得適宜的環(huán)境條件,達(dá)到早熟、優(yōu)質(zhì)、高產(chǎn)的目的[1]。
1 環(huán)境參數(shù)對(duì)植物的影響
    影響植物生長(zhǎng)的因素主
要有溫度、濕度、土壤水分、光照度和CO2濃度等,研究發(fā)現(xiàn)溫度對(duì)植物的影響占40%,濕度占28%,它們對(duì)植物的生長(zhǎng)起主要作用。因此,本系統(tǒng)主要研究溫度和濕度對(duì)植物的影響和智能化溫室中對(duì)環(huán)境溫濕度的調(diào)控。
1.1 溫度對(duì)植物的影響
    植物在生命周期中的一切生物化學(xué)作用都必須在一定的溫度條件下進(jìn)行,不管濕度、光照、CO2濃度等其他環(huán)境條件如何適宜,植物總將在溫度降低至某一低溫或超過(guò)某一高溫時(shí)停止生長(zhǎng)發(fā)育。溫度對(duì)植物的影響主要表現(xiàn)在兩個(gè)方面:一是發(fā)育進(jìn)程的快慢,包括出葉速度(葉齡)及開(kāi)花日期等;二是生長(zhǎng)量增長(zhǎng)的快慢,包括株高、葉面積、節(jié)間長(zhǎng)度、果實(shí)大小等。當(dāng)然,溫度的影響要和光照強(qiáng)度相結(jié)合進(jìn)行分析。當(dāng)光合產(chǎn)物大于呼吸消耗時(shí),植物體內(nèi)有機(jī)質(zhì)才會(huì)有積累。當(dāng)溫度超過(guò)光合最適溫度后,光合強(qiáng)度減弱而呼吸強(qiáng)度增強(qiáng),將減少物質(zhì)的積累,影響植物的生長(zhǎng)。
1.2 濕度對(duì)植物的影響
    濕度主要指溫室內(nèi)空氣的相對(duì)濕度,其大小不僅影響著溫室內(nèi)植物蒸騰與地面蒸發(fā)量,而且直接影響著植物光合強(qiáng)度與病害情況。濕度與病原微生物的繁殖密切相關(guān),因此濕度條件是引起植物病害的主要原因。
    研究發(fā)現(xiàn),植物的生長(zhǎng)和發(fā)育并不取決于某一時(shí)刻某個(gè)特定溫度與濕度,而主要取決于在一個(gè)時(shí)間段中的平均參數(shù)。這就要求控制系統(tǒng)不能設(shè)置一個(gè)固定的參數(shù)值,溫室中的溫度和濕度在最高和最低范圍內(nèi)進(jìn)行變動(dòng),以求在一個(gè)較長(zhǎng)的時(shí)間段內(nèi)達(dá)到理想的生長(zhǎng)環(huán)境。控制系統(tǒng)根據(jù)室外的氣候,在使用最低能耗、最佳利用溫室中現(xiàn)有的設(shè)備情況下進(jìn)行動(dòng)態(tài)調(diào)節(jié),保持在適宜植物生長(zhǎng)的狀態(tài)。
2 溫室環(huán)境參數(shù)檢測(cè)
2.1 環(huán)境溫度檢測(cè)

    控制系統(tǒng)中需要采集溫室中多點(diǎn)溫度或溫室群的溫度,本系統(tǒng)采用美國(guó)DALLAS公司生產(chǎn)的單線式數(shù)字溫度傳感器DS18B20,其結(jié)構(gòu)簡(jiǎn)單不需要外接電路,僅用一根I/O數(shù)據(jù)線傳輸數(shù)據(jù)。每只DS18B20有獨(dú)立的序列號(hào),實(shí)現(xiàn)多個(gè)DS18B20傳感器掛接在一根數(shù)據(jù)線上分別檢測(cè)多點(diǎn)溫度[2]。
    單片機(jī)通過(guò)單線接口控制DS18B20溫度傳感器,檢測(cè)溫度先發(fā)啟動(dòng)命令,當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令啟動(dòng)轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度值以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的高、低字節(jié)中;讀取數(shù)據(jù)時(shí)低位在前,高位在后,數(shù)據(jù)格式以0.062 5 ℃/LSB形式表示。暫存存儲(chǔ)器的高字節(jié)前5位的 “S”為符號(hào)位,當(dāng)S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制數(shù);當(dāng)S=1時(shí),先將補(bǔ)碼變換為原碼,再計(jì)算十進(jìn)制值。DS18B20完成溫度轉(zhuǎn)換后,把測(cè)得的溫度值與TH、TL做比較,若T>TH或T<TL,則將該器件內(nèi)的告警標(biāo)志置位,并對(duì)主機(jī)發(fā)出告警命令。
    由于DS18B20轉(zhuǎn)換后的代碼并不是實(shí)際的溫度值,所以要進(jìn)行計(jì)算轉(zhuǎn)換。溫度高字節(jié)中的前5位用來(lái)保存溫度的正負(fù)(標(biāo)志為S的bit11~bit15),高字節(jié)(MS Byte)的后3位和低字節(jié)8位來(lái)保存溫度值(bit0~bit10),其中低字節(jié)(LS Byte)的低4位保存溫度的小數(shù)位(bit0~bit3)。由于要求采用0.062 5的精度,小數(shù)部分的值,可以用后四位代表的實(shí)際數(shù)值乘以0.062 5,得到真正的溫度值,本系統(tǒng)保留一位小數(shù),即檢測(cè)的溫度精確到0.1度。
2.2 環(huán)境濕度檢測(cè)
    本系統(tǒng)采用HS1101濕度傳感器采集環(huán)境的相對(duì)濕度,HS1101屬于電容式濕度傳感器,其工作機(jī)理是當(dāng)基于電極間的感濕材料吸附環(huán)境中的水份時(shí),其介電常數(shù)隨之變化,等效電容與環(huán)境中水蒸汽的關(guān)系表示為[3]:
    C=ε0×εμ×S/d
   其中ε0是真空介電常數(shù)、εμ是感濕材料的介電常數(shù)、S是電容式傳感器有效面積、d為感濕膜厚度。
HS1101濕度傳感器的線性輸出電壓與濕度的關(guān)系[4]:
    Vo=Vcc(0.00474×%RH+0.2354)
    在環(huán)境濕度檢測(cè)中,既可以利用HS1101濕度傳感器的等效電容與濕度的關(guān)系,組成振蕩器,將濕度與電容的關(guān)系轉(zhuǎn)化為濕度與頻率的關(guān)系,測(cè)量頻率達(dá)到檢測(cè)濕度的目的;也可以利用HS1101濕度傳感器的輸出電壓與濕度的關(guān)系,測(cè)量電壓實(shí)現(xiàn)濕度檢測(cè)。本系統(tǒng)利用HS1101的等效電容與濕度的關(guān)系,測(cè)出頻率實(shí)現(xiàn)濕度的測(cè)量。
3 溫室控制系統(tǒng)硬件設(shè)計(jì)
    智能化溫室環(huán)境控制系統(tǒng),要達(dá)到對(duì)溫室內(nèi)溫、濕度等環(huán)境參數(shù)的檢測(cè)與控制,系統(tǒng)必須包含三個(gè)部分:(1)信號(hào)采集輸入部分。包括溫度、濕度等環(huán)境參數(shù)的檢測(cè);(2)信號(hào)轉(zhuǎn)換與處理部分。將采集的信號(hào)轉(zhuǎn)換為計(jì)算機(jī)可以識(shí)別的數(shù)據(jù)量,并由計(jì)算機(jī)進(jìn)行相關(guān)處理;(3)輸出和控制部分??刂茋娏?、遮陽(yáng)、通風(fēng)、加熱等環(huán)境參數(shù)調(diào)節(jié)執(zhí)行系統(tǒng)。
    本系統(tǒng)主要由上、下位機(jī)構(gòu)成,上位機(jī)實(shí)現(xiàn)人機(jī)操作界面的控制,并實(shí)時(shí)接收下位機(jī)上傳的環(huán)境參數(shù),結(jié)合植物生長(zhǎng)所需要的最佳環(huán)境條件發(fā)送相應(yīng)的控制命令給下位機(jī)。下位機(jī)主要功能是實(shí)現(xiàn)對(duì)環(huán)境參數(shù)采集,同時(shí)與上位機(jī)進(jìn)行串行通信,根據(jù)上位機(jī)的命令對(duì)溫室內(nèi)的環(huán)境參數(shù)進(jìn)行調(diào)節(jié),系統(tǒng)組成框圖如圖1所示。  

3.1 信號(hào)采集單元
    信號(hào)采集包括溫度采集和濕度采集。DS18B20溫度傳感器采集溫室內(nèi)的環(huán)境溫度,并直接轉(zhuǎn)化為數(shù)字信號(hào)送入單片機(jī)進(jìn)行處理,DS18B20傳感器掛在單片機(jī)的P0.7口線上;HS1101濕度傳感器采集溫室內(nèi)的環(huán)境濕度,利用其等效電容的變化與濕度的關(guān)系,組成多諧振蕩器,單片機(jī)檢測(cè)振蕩頻率計(jì)算出濕度,HS1101傳感器組成振蕩電路,其輸出連接在單片機(jī)的P2.X口上,溫、濕度檢測(cè)接口電路如圖2所示。

3.2 核心控制單元
    本系統(tǒng)采用STC89C54RD+單片機(jī)作為下位機(jī)內(nèi)核,它是一種低電壓、高性能的CMOS 8位單片機(jī),片內(nèi)含有16 KB可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和1 280 B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器、32個(gè)I/O口線、3個(gè)16位定時(shí)/計(jì)數(shù)器、一個(gè)6向量?jī)杉?jí)中斷結(jié)構(gòu)、一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路,指令代碼完全兼容傳統(tǒng)的MCS-51系列單片機(jī),具有ISP在系統(tǒng)編程功能,利于在線調(diào)試和產(chǎn)品開(kāi)發(fā)。溫室內(nèi)的溫度通過(guò)DS18B20采集送入單片機(jī)的P0.7口;濕度轉(zhuǎn)換為頻率送入單片機(jī)的P2.X口,采集的環(huán)境參數(shù)交替在顯示器上顯示。同時(shí),采集的環(huán)境參數(shù)通過(guò)P3.0和P3.1引腳至接口芯片MAX1483輸送至上位機(jī)進(jìn)行處理,并等待上位機(jī)發(fā)送的控制命令,控制相應(yīng)的執(zhí)行機(jī)構(gòu)。本系統(tǒng)的下位機(jī)與上位機(jī)之間的串口通信采用符合RS-485電氣標(biāo)準(zhǔn)的MAX485芯片,其抗干擾能力強(qiáng),共模抑制比高,當(dāng)以100 kb/s的速率傳輸時(shí),可傳送的距離為1.2 km,能實(shí)現(xiàn)多點(diǎn)對(duì)多點(diǎn)的通信,很好地解決了溫室分布零散和集中管理的矛盾,非常適合溫室規(guī)模擴(kuò)大時(shí)測(cè)控系統(tǒng)的擴(kuò)展,其硬件電路如圖3所示。

3.3 環(huán)境控制執(zhí)行單元
    系統(tǒng)自動(dòng)檢測(cè)溫室內(nèi)的溫度和濕度,控制執(zhí)行單元驅(qū)動(dòng)通風(fēng)機(jī)、加熱器、噴淋水泵、遮陽(yáng)幕簾等設(shè)備,是智能控制系統(tǒng)的執(zhí)行者。控制系統(tǒng)啟動(dòng)后檢測(cè)溫室內(nèi)的溫度,當(dāng)溫度低于設(shè)定值時(shí),啟動(dòng)加熱循環(huán)水升溫。本系統(tǒng)在植物底部和溫室上方安裝熱水管道進(jìn)行加溫,管道內(nèi)水溫控制在60~80℃,底部加溫對(duì)植物的健康成長(zhǎng)十分有益;上方管道加溫使溫室加熱均勻,有利于植物生長(zhǎng)。當(dāng)溫室的溫度高于設(shè)定值時(shí),開(kāi)啟通風(fēng)機(jī)降溫;若濕度低于某設(shè)定值時(shí),啟動(dòng)噴霧水泵增濕,反之,啟動(dòng)通風(fēng)機(jī)去濕。
    系統(tǒng)硬件電路如圖3所示,單片機(jī)的P1口輸出控制信號(hào),實(shí)現(xiàn)對(duì)溫室內(nèi)各環(huán)境參數(shù)的調(diào)節(jié),為避免電機(jī)產(chǎn)生的電磁干擾,采用光電耦合器隔離單片機(jī)I/O口與驅(qū)動(dòng)電路。
4 溫室控制系統(tǒng)軟件設(shè)計(jì)
    本系統(tǒng)軟件采用模塊化設(shè)計(jì),C語(yǔ)言編寫(xiě)。考慮到溫室多參數(shù)控制的復(fù)雜性,本系統(tǒng)采用優(yōu)先調(diào)節(jié)原則,即在溫室環(huán)境溫度、濕度等要素中選擇1個(gè)作為主要的控制要素,然后再對(duì)其他要素進(jìn)行控制,這樣做的目的是減小系統(tǒng)控制復(fù)雜度??刂七^(guò)程中考慮到檢測(cè)和控制需要經(jīng)過(guò)一段時(shí)間的延時(shí),如溫室噴霧后的一段時(shí)間內(nèi),空氣水霧影響空氣濕度正常檢測(cè)的問(wèn)題等[5]。
    軟件設(shè)計(jì)中的程序模塊主要包括主程序、溫度采集子程序以及顯示子程序等。系統(tǒng)主程序流程如圖4所示,系統(tǒng)正常運(yùn)行前首先進(jìn)行初始化,設(shè)定溫室內(nèi)植物生長(zhǎng)所需的溫度和濕度參數(shù)。然后檢測(cè)溫室內(nèi)的主要參數(shù)——溫度,調(diào)用溫度采集子程序,與設(shè)定值比較判斷并進(jìn)行相應(yīng)的處理,若溫度合適,再檢測(cè)其濕度參數(shù)。

    溫度采集子程序流程圖如圖5所示[6],溫度采集使用的是一線式數(shù)字溫度傳感器DS18B20,其工作過(guò)程嚴(yán)格遵循單總線協(xié)議。主機(jī)首先發(fā)一個(gè)復(fù)位脈沖,使所有掛在總線上的DS18B20芯片復(fù)位,接著發(fā)送ROM操作命令啟動(dòng)數(shù)據(jù)轉(zhuǎn)換并延時(shí)等待。工作中系統(tǒng)對(duì)DS18B20的操作以ROM命令和存儲(chǔ)器命令形式出現(xiàn),其中ROM操作命令均為8位長(zhǎng),命令代碼分別為:讀ROM(33H)、匹配ROM(55H)、跳過(guò)ROM(CCH)、搜索ROM(F0H)和告警搜索(ECH)命令。存儲(chǔ)器操作命令為:寫(xiě)暫存存儲(chǔ)器(4EH)、讀暫存存儲(chǔ)器(BEH)、復(fù)制暫存存儲(chǔ)器(48H)、溫度變換(44H)、重新調(diào)出EERAM(B8H)和讀電源供電方式(B4H)命令等。單片機(jī)采集溫度時(shí),需要先發(fā)1個(gè)保持480 μs~960 μs的低電平復(fù)位脈沖,然后釋放總線,等待DS18B20的應(yīng)答信號(hào)。DS18B20在接收到復(fù)位脈沖后等待15~60 μs發(fā)出應(yīng)答脈沖,應(yīng)答脈沖保持60~240 μs。單片機(jī)從發(fā)送完復(fù)位脈沖到再次控制總線至少需要等待480 μs才能進(jìn)行讀寫(xiě)操作。
    利用DS18B20溫度傳感器檢測(cè)溫度,實(shí)現(xiàn)單總線掛接多個(gè)傳感器對(duì)多點(diǎn)或多室溫度進(jìn)行檢測(cè),但實(shí)際應(yīng)用中單總線上傳感器多于8個(gè)時(shí),系統(tǒng)程序運(yùn)行不正常,而線纜過(guò)長(zhǎng)也造成測(cè)溫?cái)?shù)據(jù)錯(cuò)誤,在現(xiàn)場(chǎng)布線中使用屏蔽電纜減少環(huán)境干擾。
    植物溫室智能控制系統(tǒng)采用先進(jìn)的傳感器技術(shù)和單片機(jī)技術(shù),對(duì)環(huán)境的溫度和濕度等參數(shù)進(jìn)行檢測(cè)及控制,集監(jiān)、控、管于一體的溫室智能化監(jiān)控系統(tǒng),實(shí)現(xiàn)了對(duì)植物生長(zhǎng)環(huán)境的智能化控制,改變了傳統(tǒng)溫室依靠人工操作的缺點(diǎn),且基于單片機(jī)的控制系統(tǒng)實(shí)現(xiàn)了智能化、節(jié)能化、網(wǎng)絡(luò)化,是現(xiàn)代溫室智能控制的發(fā)展方向。
參考文獻(xiàn)
[1] 張瑞華.溫室環(huán)境自動(dòng)監(jiān)控[J].計(jì)算機(jī)與農(nóng)業(yè),2005(2):8-10.
[2] 馬云峰.單片機(jī)與數(shù)字溫度傳感器DS18B20的接口設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2002,10(4):278-280.
[3] 李俊,張曉東.基于單片機(jī)的溫濕度檢測(cè)與控制系統(tǒng)研究[J].單片機(jī)開(kāi)發(fā)與應(yīng)用,2008,24(2):116-118.
[4] 朱亞?wèn)|,師帥兵,胡磊.谷物濕度測(cè)量系統(tǒng)的設(shè)計(jì)[J].農(nóng)業(yè)化研究,2009(4):87-89.
[5] 劉美琪,馬斌強(qiáng),李寶杰,等.多信息融合的智能溫室控制系統(tǒng)研究[J].河南農(nóng)業(yè)大學(xué)學(xué)報(bào),2009,43(2):182-185.
[6] 周超,初從穎,侯朋飛.基于DS18B20的大棚溫控系統(tǒng)設(shè)計(jì)[J].中國(guó)高新技術(shù)企業(yè),2009(10):11-12.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。