《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 以單片機(jī)為核心的溫室智能控制系統(tǒng)
以單片機(jī)為核心的溫室智能控制系統(tǒng)
摘要: 本方案以AT89C51單片機(jī)系統(tǒng)為核心來(lái)對(duì)溫度、濕度進(jìn)行實(shí)時(shí)控制和巡檢。各檢測(cè)單元(從機(jī))能獨(dú)立完成各自功能,并根據(jù)主控機(jī)的指令對(duì)溫度進(jìn)行實(shí)時(shí)或定時(shí)采集。測(cè)量結(jié)果不僅能在本地儲(chǔ)存和顯示,而且可通過(guò)RS-485總線及通信協(xié)議將采集的數(shù)據(jù)傳送到主控機(jī)。以便進(jìn)行進(jìn)一步的分析、存檔、處理。主控機(jī)負(fù)責(zé)控制指令的發(fā)送,并控制各個(gè)從機(jī)進(jìn)行溫度采集,收集測(cè)量數(shù)據(jù),同時(shí)對(duì)測(cè)量結(jié)果(包括歷史數(shù)據(jù))進(jìn)行整理、顯示和打印。主控機(jī)與各從機(jī)之間能夠相互聯(lián)系、相互協(xié)調(diào),從而達(dá)到系統(tǒng)整體統(tǒng)一和諧的控制效果。
Abstract:
Key words :

  引言

  隨著社會(huì)的進(jìn)步和工農(nóng)業(yè)生產(chǎn)技術(shù)的發(fā)展,許多產(chǎn)品對(duì)生產(chǎn)和使用環(huán)境的要求越來(lái)越嚴(yán),人們對(duì)溫度、濕度、光強(qiáng)、二氧化碳濃度、灰塵等環(huán)境因素的影響越來(lái)越重視了。為此,本文以農(nóng)業(yè)技術(shù)發(fā)展為目的開(kāi)發(fā)了一種智能控制系統(tǒng)。

  眾所周知,光、溫度、濕度是農(nóng)業(yè)生產(chǎn)不可缺少的因素,所以本設(shè)計(jì)將其作為重點(diǎn)數(shù)據(jù)來(lái)處理,而目前市場(chǎng)上普遍存在的溫度檢測(cè)儀器大都是單點(diǎn)測(cè)量,而且溫度信息傳遞不及時(shí),精度達(dá)不到要求,不利于農(nóng)業(yè)控制者根據(jù)溫度變化及時(shí)做出決定。而濕度傳感器價(jià)格昂貴,大多使用進(jìn)口元件,但事實(shí)上,農(nóng)用精度要求并不高,現(xiàn)在國(guó)產(chǎn)濕度傳感器完全可以適用。為此,本設(shè)計(jì)開(kāi)發(fā)了一種能夠同時(shí)測(cè)量多點(diǎn),并實(shí)時(shí)性高、精度高,能夠綜合處理多點(diǎn)溫度信息,并能進(jìn)行光控和濕度控制的測(cè)控系統(tǒng)就。

  本設(shè)計(jì)以AT89C51單片機(jī)為核心來(lái)對(duì)多點(diǎn)溫度進(jìn)行實(shí)時(shí)巡檢。各檢測(cè)單元(從機(jī))能獨(dú)立完成各自功能,同時(shí)能根據(jù)主控機(jī)的指令對(duì)溫度進(jìn)行定時(shí)采集。測(cè)量結(jié)果不僅能在本地顯示,而且可以利用單片機(jī)的串行口和RS-485總線通信協(xié)議將采集的數(shù)據(jù)傳送到主控機(jī),以進(jìn)行進(jìn)一步的存檔、處理。主控機(jī)負(fù)責(zé)控制指令的發(fā)送,以控制各個(gè)從機(jī)的溫度采集,收集測(cè)量數(shù)據(jù),并對(duì)測(cè)量結(jié)果(包括歷史數(shù)據(jù))進(jìn)行整理、顯示和存儲(chǔ)。主控機(jī)與各從機(jī)之間也能夠相互聯(lián)系、相互協(xié)調(diào),從而達(dá)到系統(tǒng)整體統(tǒng)一、和諧的效果。

  1 系統(tǒng)整體目標(biāo)

  本系統(tǒng)能夠同時(shí)檢測(cè)2路溫度,檢測(cè)溫度范圍-55℃~+125℃。根據(jù)實(shí)際需要,檢測(cè)點(diǎn)數(shù)可以擴(kuò)展。系統(tǒng)采用的濕度傳感器濕度檢測(cè)范圍為20%~90%RH??赏ㄟ^(guò)LM555芯片和光電耦合器接入單片機(jī),其檢測(cè)精度為±5%。系統(tǒng)中的感光元件可通過(guò)LM555芯片和繼電器來(lái)控制電動(dòng)機(jī)的正反轉(zhuǎn),從而實(shí)現(xiàn)遮陽(yáng)網(wǎng)的打開(kāi)和收回。由于使用了RS-485串行總線進(jìn)行傳輸,并選用MAX485驅(qū)動(dòng)芯片進(jìn)行電平轉(zhuǎn)換,因此,其傳送距離可大于1200 m,且抗干擾能力很強(qiáng)。

  此外,本系統(tǒng)還應(yīng)具有如下功能:

  (1) 主控機(jī)統(tǒng)可設(shè)置系統(tǒng)時(shí)間和溫度修正值。

  (2) 主機(jī)、從機(jī)均具有溫度報(bào)警上下限設(shè)置和聲光報(bào)警功能。

  (3) 具有定時(shí)、整點(diǎn)收集各從機(jī)數(shù)據(jù)功能,并可使用I2C串行E2PROM保存各從機(jī)以往24小時(shí)的數(shù)據(jù),同時(shí)應(yīng)具有數(shù)據(jù)更新與掉電保護(hù)功能。

  (4) 具有數(shù)據(jù)存儲(chǔ)功能,可查詢各從機(jī)以往24小時(shí)的溫度、濕度情況。

  (5) 自帶+5 V和+12 V直流穩(wěn)壓電源。

  2 系統(tǒng)方案

  本方案以AT89C51單片機(jī)系統(tǒng)為核心來(lái)對(duì)溫度、濕度進(jìn)行實(shí)時(shí)控制和巡檢。各檢測(cè)單元(從機(jī))能獨(dú)立完成各自功能,并根據(jù)主控機(jī)的指令對(duì)溫度進(jìn)行實(shí)時(shí)或定時(shí)采集。測(cè)量結(jié)果不僅能在本地儲(chǔ)存和顯示,而且可通過(guò)RS-485總線及通信協(xié)議將采集的數(shù)據(jù)傳送到主控機(jī)。以便進(jìn)行進(jìn)一步的分析、存檔、處理。主控機(jī)負(fù)責(zé)控制指令的發(fā)送,并控制各個(gè)從機(jī)進(jìn)行溫度采集,收集測(cè)量數(shù)據(jù),同時(shí)對(duì)測(cè)量結(jié)果(包括歷史數(shù)據(jù))進(jìn)行整理、顯示和打印。主控機(jī)與各從機(jī)之間能夠相互聯(lián)系、相互協(xié)調(diào),從而達(dá)到系統(tǒng)整體統(tǒng)一和諧的控制效果。圖1所示是本系統(tǒng)的結(jié)構(gòu)框圖。

  該方案主控機(jī)和從機(jī)完全由單片機(jī)實(shí)現(xiàn),采用該方案完全可滿足農(nóng)業(yè)上部分需求。在圖1中,從機(jī)部分實(shí)現(xiàn)的功能幾乎和主機(jī)是對(duì)等的,但會(huì)接受主機(jī)發(fā)送過(guò)來(lái)的命令。

  圖2所示是該系統(tǒng)從機(jī)部分的結(jié)構(gòu)框圖。該方案采用數(shù)字式DS18B20作為溫度傳感器,該芯片在采集溫度信號(hào)時(shí),具有大范圍、高精度、數(shù)字量輸出的特點(diǎn)。CHR-01濕度傳感器采集的信號(hào)可利用LM555振蕩器將電流信號(hào)轉(zhuǎn)化成頻率信號(hào)。選用CHR-01國(guó)產(chǎn)元件主要是其價(jià)格便宜。

  3 信號(hào)獲取與放大電路

  3.1 DS18B20的測(cè)溫原理

  DS18B20的測(cè)溫原理如圖3所示,圖中,低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,主要用于產(chǎn)生固定頻率的脈沖信號(hào)并送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振在溫度變化時(shí),其振蕩頻率有明顯改變,它所產(chǎn)生的信號(hào)可作為減法計(jì)數(shù)器2的脈沖輸入,圖中隱含著的計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20即對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),進(jìn)而完成信號(hào)采集。

  在DS18B20中,DQ為數(shù)字信號(hào)輸人/輸出端;GND為電源地;VDD為外接供電電源輸入端。圖4是DS18B20的引腳排列圖。

  DS18B20在光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。

  有兩種方法可確保DS18B20在有效轉(zhuǎn)換期內(nèi)得到足夠的電源電流。第一種方法是在溫度變換時(shí),在I/O口接一個(gè)強(qiáng)的上拉。第二種是將其連到VCC外部電源,這樣就不用在I/O口接強(qiáng)上拉,也可在溫度變換期間使口線保持高電平。以在變換時(shí)間內(nèi)允許其它數(shù)據(jù)在單總線上傳輸。也可使用外部電源通過(guò)發(fā)跳過(guò)ROM命令和變換命令T來(lái)完成溫度變換。需要注意的是:在工作狀態(tài),GND不能懸空。

  3.2 CHR-01濕度傳感器

  CHR-01濕度探測(cè)振蕩電路由電阻型高分子膜濕敏電阻、LM555集成芯片及相關(guān)的電子元件組成,并采用AT89C51單片機(jī)作為處理器。由于高分子濕敏元件的電阻會(huì)隨著環(huán)境濕度的變化,因而該振蕩電路會(huì)產(chǎn)生不同的振蕩頻率。將該信號(hào)通過(guò)光電耦合和接口元件傳送到單片機(jī)的計(jì)時(shí)器中,就可完成信號(hào)采集。圖5所示是CHR-01測(cè)濕電路結(jié)構(gòu)框圖。

  由于不可能事先測(cè)定每個(gè)標(biāo)準(zhǔn)濕度值所對(duì)應(yīng)的頻率值(那樣會(huì)大大增加工作量,并且也沒(méi)有必要),所以只對(duì)其中某些特定的濕度值進(jìn)行測(cè)量和記錄即可。比如在圖6所示的濕度傳感器特性中,實(shí)際的濕度/頻率曲線T0(如圖6所示)在應(yīng)用中只需標(biāo)定A、B、C、D、E五個(gè)點(diǎn)的標(biāo)準(zhǔn)值,然后運(yùn)用數(shù)值方法來(lái)實(shí)現(xiàn)對(duì)AB、BC、CD、DE各區(qū)間段濕度的近似測(cè)量。在此需要強(qiáng)調(diào)的是,由于濕敏元件的阻抗是隨著溫度變化的,這會(huì)導(dǎo)致不同溫度下的不同濕度/頻率曲線(如T1℃下對(duì)應(yīng)的曲線T1;T2℃時(shí)對(duì)應(yīng)的曲線T2),故要分別對(duì)不同溫度下的濕/頻曲線進(jìn)行測(cè)定。

  DS18B20正好可以完成對(duì)溫度的標(biāo)定。因?yàn)楸緶y(cè)試裝置只需標(biāo)定15℃、20℃、25℃、30℃四條曲線,然后根據(jù)數(shù)值方法并利用軟件便可對(duì)15℃~30℃之間任意溫度下的濕度進(jìn)行準(zhǔn)確測(cè)量。

  本傳感器振蕩電路的參數(shù)最優(yōu)化問(wèn)題是指選擇合適的電子元件(Cq和R)來(lái)保證濕度傳感器的靈敏度和測(cè)量數(shù)據(jù)的單調(diào)性。高分子濕敏元件與LM555組成的振蕩電路如圖7所示。經(jīng)研究表明,濕敏元件的等效電阻電容混合復(fù)雜二端網(wǎng)絡(luò)在一定頻率下可等效為電阻與電容串聯(lián)結(jié)構(gòu)(如圖7所示的Rh和Ch)。其中,Uo表示輸出電平,Cq微積分電容。該振蕩器的振蕩包括:放電和充電兩個(gè)過(guò)程。當(dāng)送入電壓VCC時(shí),Ch和Cq的總壓降為零,TR和TH端口電壓均小于VCC/3,輸出端Uo為高電平1。電源通過(guò)電阻R對(duì)Ch和Cq充電,以使TH和TR口電壓Uo逐漸升高。當(dāng)其升高到2VCC/3時(shí),LM555內(nèi)部發(fā)生翻轉(zhuǎn)使輸出端變低,此后LM555定時(shí)器內(nèi)的放電管導(dǎo)通。Ch和Cq通過(guò)Rh和放電管放電。當(dāng)TR和TH端口電壓下降到VCC/3時(shí),輸出端又變高。其輸出波形如圖8所示。若濕敏電阻選CHR-01則R可取2 kΩ,Cq取68 pF。

  3.3 PX-625型光控電路

  PX-625型光控電路由電阻型薄膜光敏電阻、LM555集成芯片及相關(guān)的電子元件組成,它利用三極管的導(dǎo)通和截止來(lái)控制電動(dòng)機(jī)的正反轉(zhuǎn),并將控制信息傳給單片機(jī)。圖9所示是PX-625型光控電路原理圖。

  4 軟件程序設(shè)計(jì)

  4.1 程序流程

  本系統(tǒng)軟件主要由主控機(jī)程序和從機(jī)程序兩部分構(gòu)成。主程序主要實(shí)現(xiàn)系統(tǒng)的初始化、數(shù)據(jù)顯示、從機(jī)相關(guān)信息設(shè)定及通信的處理。系統(tǒng)的初始化包括寄存器的初始化(控制寄存器、堆棧、中斷寄存器等),通信初始化(串口的初始化,MAX485的初始化,通信緩沖區(qū)的初始化),數(shù)碼管初始化,輸出端口的初始化,以及采集、累計(jì)數(shù)據(jù)的初始化。數(shù)據(jù)顯示則包括各類參數(shù)、測(cè)量數(shù)據(jù)等的讀取和顯示屏的刷新。

  通信的處理主要是針對(duì)主空機(jī)與從機(jī)的信息交換與處理。主機(jī)程序流程圖如圖10所示。

  從機(jī)程序主要由溫/濕度信號(hào)采集程序、光控指示程序、報(bào)警程序、溫度存儲(chǔ)程序和響應(yīng)主機(jī)命令程序組成,該從機(jī)采樣流程圖如圖11所示。從機(jī)響應(yīng)主機(jī)的程序?qū)嶋H上是一個(gè)中斷處理程序。從機(jī)在工作過(guò)程中,當(dāng)檢測(cè)到主機(jī)發(fā)送來(lái)的命令時(shí),它將停止溫度信號(hào)采集程序,轉(zhuǎn)而去響應(yīng)主機(jī)的請(qǐng)求。主機(jī)命令或請(qǐng)求有以下四種:報(bào)警查詢、設(shè)置從機(jī)時(shí)間、設(shè)置報(bào)警閾值和巡檢溫度。

  4.2 主機(jī)與從機(jī)的通訊幀結(jié)構(gòu)

  由于溫室智能控制系統(tǒng)的溫度、濕度、光強(qiáng)的檢測(cè)和控制都用到了通訊,本系統(tǒng)選用RS-485總線通訊并采用通訊幀
結(jié)構(gòu)。并約定數(shù)據(jù)的第一個(gè)字節(jié)為現(xiàn)場(chǎng)信息,當(dāng)現(xiàn)場(chǎng)信息為SOH時(shí)才是合法的;第二個(gè)字節(jié)用來(lái)判斷是主機(jī)處理器發(fā)送的數(shù)據(jù)還是從機(jī)檢測(cè)器發(fā)送的數(shù)據(jù);三、四兩個(gè)字節(jié)為從機(jī)檢測(cè)器的ID號(hào),每一臺(tái)檢測(cè)器的ID號(hào)都是不同的:五、六、七三個(gè)字節(jié)為功能碼;第八個(gè)字節(jié)為STX;后面的數(shù)據(jù)(DATA)為測(cè)試信息,其長(zhǎng)度根據(jù)各功能碼而有所不同,也可以為零;倒數(shù)第二個(gè)字節(jié)為通訊結(jié)束標(biāo)志,當(dāng)其為ETX時(shí)才合法;最后一位為通訊校驗(yàn)碼(BCC)。

  5 結(jié)束語(yǔ)

  當(dāng)今科技發(fā)展迅速,單片機(jī)嵌入式開(kāi)發(fā)有著光明的前景。由于單片機(jī)經(jīng)濟(jì)實(shí)用、開(kāi)發(fā)簡(jiǎn)便,因而依然在工業(yè)控制、農(nóng)業(yè)自動(dòng)化、家電智能化等領(lǐng)域占據(jù)了廣泛的市場(chǎng)。本文介紹的系統(tǒng)設(shè)計(jì)有一定的實(shí)用性,但該系統(tǒng)在設(shè)計(jì)過(guò)程中仍有很多漏洞。還需要在智能化方面加以改進(jìn)。特別是語(yǔ)音告警、節(jié)省功耗,提高穩(wěn)定度等方面。

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