【基于自動(dòng)控制系統(tǒng)的智能溫室設(shè)計(jì)10000字(論文)】_第1頁
【基于自動(dòng)控制系統(tǒng)的智能溫室設(shè)計(jì)10000字(論文)】_第2頁
【基于自動(dòng)控制系統(tǒng)的智能溫室設(shè)計(jì)10000字(論文)】_第3頁
【基于自動(dòng)控制系統(tǒng)的智能溫室設(shè)計(jì)10000字(論文)】_第4頁
【基于自動(dòng)控制系統(tǒng)的智能溫室設(shè)計(jì)10000字(論文)】_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于自動(dòng)控制系統(tǒng)的智能溫室設(shè)計(jì)目錄1前言 I1前言1.1溫室的發(fā)展溫室具有透光以及保溫的功能,在環(huán)境惡劣的情況下,可以保障溫室內(nèi)作物的生育期并提高作物產(chǎn)量,非常有利于冬季對需要適宜溫度才能生長的蔬菜、花卉等植物栽育使用[1]。為了給這些特殊的蔬菜、花卉等植物提供生長的最佳條件,溫室控制技術(shù)可以針對溫室作物生長必須的外在物理要素,譬如濕度、光照度、溫度等條件進(jìn)行調(diào)節(jié)。而現(xiàn)代溫室控制技術(shù)更是不滿足于這些功能,為了實(shí)時(shí)監(jiān)控溫室植物的生長環(huán)境,該技術(shù)主要通過系統(tǒng)實(shí)時(shí)記錄溫室環(huán)境的溫濕度以及光照度來達(dá)到監(jiān)測的目的。為此,我國也一直致力于溫室控制技術(shù)方面的相關(guān)研究,也成功獲得了溫室栽培等許多方面的成效[2]。但是,由于我國研究溫室控制技術(shù)的時(shí)間相對較短,技術(shù)與設(shè)備的配套也并不完善,對環(huán)境的監(jiān)控能力并不突出,生產(chǎn)力也相對不足,能夠完成全年生產(chǎn)的大型現(xiàn)代化溫室數(shù)量并不多。并且進(jìn)口溫室設(shè)備價(jià)格較高,對技術(shù)操作人員的綜合素質(zhì)要求也很高,目前改善與加大對溫室環(huán)境控制迫在眉睫。1.2課題研究意義近些年來,我國的溫室大棚種植技術(shù)開始被農(nóng)村使用,特別是塑料薄膜的蔬菜大棚居多,其體積小占地面積少,投入少,但有的人用了不久就丟棄了,其中最主要的因素就是對蔬菜大棚內(nèi)的環(huán)境因素控制精度不高。我國的國土資源雖然整體是比較多的,但由于我國總?cè)丝跀?shù)目過大,每個(gè)家庭所享有的耕地面積相對較少,且人們對于反季節(jié)蔬菜的需求也逐漸上升,怎么在有限的土地上種植出我們所需求的蔬菜是值得我們?nèi)タ紤]和研究的,溫室大棚種植技術(shù)由此產(chǎn)生。溫室大棚種類很多,下面章節(jié)會詳細(xì)介紹到,總的來說,是利用塑料薄膜等覆蓋物以及鋼結(jié)構(gòu)框架搭建適合蔬菜進(jìn)行生長的環(huán)境,然后以人工控制或自動(dòng)控制的方式對蔬菜大棚內(nèi)的環(huán)境進(jìn)行干預(yù),讓蔬菜可以不因外界環(huán)境情況的變化而進(jìn)行正常生長,可以讓我們種植的蔬菜擺脫溫度和氣候以及自然條件的影響。雖然溫室大棚能使蔬菜在反季節(jié)進(jìn)行種植,但溫室大棚內(nèi)溫度和濕度的控制是溫室大棚內(nèi)最核心的環(huán)境因素,這兩個(gè)因素往往決定著棚里蔬菜生長的好壞。以往我們對于蔬菜大棚內(nèi)的溫度和濕度的檢測通常是由相應(yīng)的溫度或濕度計(jì)進(jìn)行測量采集,且由人工進(jìn)行讀數(shù),根據(jù)采集到的信息再進(jìn)行相應(yīng)的升溫或降溫操作。這種控制方式讓棚內(nèi)升溫或降溫都不能及時(shí)達(dá)到我們的要求,而且該方式浪費(fèi)大量人力以及物力。隨著我國社會的不斷發(fā)展,科學(xué)技術(shù)的不斷引進(jìn)創(chuàng)新,我國現(xiàn)代控制系統(tǒng)技術(shù)已經(jīng)普及到我們?nèi)粘I畹母鱾€(gè)腳落。我們?nèi)绾卫矛F(xiàn)有的自動(dòng)控制技術(shù)來實(shí)現(xiàn)對蔬菜大棚內(nèi)的溫度和濕度進(jìn)行實(shí)時(shí)檢測,再根據(jù)監(jiān)測到的數(shù)值自動(dòng)控制相應(yīng)的設(shè)備進(jìn)行升溫或降溫操作。這對提高大棚內(nèi)蔬菜等農(nóng)作物產(chǎn)量和節(jié)約人力資源具有重要的意義。2系統(tǒng)總體方案設(shè)計(jì)2.1系統(tǒng)設(shè)計(jì)方案方案一:可以采用比較傳統(tǒng)的二位模擬控制方法,該方法就是在采用比較適合的模擬電路的基礎(chǔ)之上,采用電位器的方法來設(shè)置我們的額定值,設(shè)置我們所需要的上下限值,將采集到的信息與給定值進(jìn)行比較,然后控制相應(yīng)設(shè)備啟動(dòng)。如果采用此模擬控制方法,本系統(tǒng)受外界因素影響較大,會導(dǎo)致系統(tǒng)的有關(guān)精度也會下降,而且采用此設(shè)計(jì)的話,在數(shù)據(jù)顯示方面我們不能使用數(shù)碼顯示,不能讓我們更簡便的去觀察和控制。方案二:此方案計(jì)劃采用AT89C52單片機(jī)為核心,采用溫度傳感器DS18B20進(jìn)行溫度采集,采用HS1101電容式濕度傳感器進(jìn)行濕度采集,其中HS1101可測量的濕度范圍為55.5℃~125.5℃。采用繼電器控制外接口設(shè)備,使其達(dá)到電路簡單、可靠的目的。使用單片機(jī)具有編程靈活,控制簡單的優(yōu)點(diǎn),使系統(tǒng)能簡單的實(shí)現(xiàn)溫度的控制及顯示,并且通過軟件編程能實(shí)現(xiàn)各種控制算法使系統(tǒng)還具有控制精度高的特點(diǎn)。方案三:第三種以STC89C52芯片為核心,DHT11作為溫室溫濕度的傳感器,LCD1602顯示屏顯示數(shù)據(jù),通過使用弱電控制強(qiáng)電來控制繼電器對溫濕度進(jìn)行調(diào)節(jié)。在對上述三種方案進(jìn)行比較,在結(jié)合實(shí)際的資源情況,所需工作電壓,以及程序燒寫所需存儲空間,中斷復(fù)位以及時(shí)鐘等因素。通過以上分析最終決定采用方案二,方案中電子器件的選型下章將會詳細(xì)介紹。本課題主要是基于單片機(jī)的智能溫室系統(tǒng)的設(shè)計(jì),系統(tǒng)可以劃分為主控模塊、溫度監(jiān)測模塊、濕度監(jiān)測模塊、降溫模塊、升溫模塊、顯示模塊和按鍵模塊等。系統(tǒng)需要完成的工作是利用溫濕度傳感器對大棚內(nèi)溫度和濕度數(shù)據(jù)進(jìn)行測量,并將獲取到的數(shù)據(jù)發(fā)送給單片機(jī)進(jìn)行處理,單片機(jī)將溫濕度傳感器傳送過來的數(shù)據(jù)進(jìn)行處理,當(dāng)輸入進(jìn)來的數(shù)據(jù)處于設(shè)定的閾值范圍內(nèi)時(shí),系統(tǒng)無需進(jìn)行任何操作,當(dāng)輸入進(jìn)來的數(shù)據(jù)超出設(shè)定閾值范圍時(shí)驅(qū)動(dòng)相應(yīng)的繼電器模塊模擬加溫和降溫功能。系統(tǒng)設(shè)計(jì)框圖如圖2-1所示。圖2-1系統(tǒng)設(shè)計(jì)框圖2.2主控模塊選型在本系統(tǒng)的設(shè)計(jì)與實(shí)驗(yàn)中,主控模塊作為核心器件相當(dāng)于人類的大腦一樣負(fù)責(zé)指令的發(fā)出與轉(zhuǎn)發(fā)功能,所以主控芯片的選型尤為重要,既要考慮到資源夠用又要考慮到控制精度。在本次設(shè)計(jì)中我選擇采用AT89C52作為主控芯片。本設(shè)計(jì)選擇使用的單片機(jī)是AT89C52單片機(jī),相較于其他同類型單片機(jī),它的軟件資料比較完整,數(shù)量多,同時(shí)編程也與51兼容,對于學(xué)生或者初學(xué)者來說較為友好,簡單方便;支持ISP下載,使用起來較方便;FLASHROM可下載10000次以上;可靠性較好。AT89C52是Atmel公司研發(fā)的一款低功耗、高性能CMOS8位微控制器,采用高密度非易失性存儲器技術(shù)進(jìn)行制造,兼容80C51產(chǎn)品的所有指令和引腳。它具有兩種低功耗的工作方式:休閑ID方式和掉電PD方式;有8K字節(jié)系統(tǒng)可編程的閃存,同時(shí)也允許常規(guī)編程器和程序存儲器在線對系統(tǒng)進(jìn)行編程;有一個(gè)全雙工的異步串行通信接口,可用作通用異步接收和發(fā)送器或同步移位寄存器。而這些特點(diǎn)為AT89C52能夠?yàn)樵S多嵌入式控制應(yīng)用系統(tǒng)提供具有高靈活度和高有效性的解決方案打下了堅(jiān)實(shí)的基礎(chǔ)。AT89C52單片機(jī)有多種不同類型的封裝形式,本設(shè)計(jì)中選用的是DIP封裝,其管腳圖如圖2-2所示。圖2-2AT89C52管腳圖2.3傳感器選型(1)DHT11DHT11是一種可以同時(shí)對溫度和濕度進(jìn)行檢測的復(fù)合型傳感器,該傳感器采用簡化的單線雙向的串行接口技術(shù),通迅時(shí)間約為4ms,傳輸?shù)臄?shù)據(jù)分為小數(shù)和整數(shù)兩部分,傳送一次完整的數(shù)據(jù)是40位數(shù)據(jù),遵循先高位后低位的順序,先是濕度整數(shù)數(shù)據(jù)和濕度小數(shù)數(shù)據(jù),然后是溫度整數(shù)數(shù)據(jù)和溫度小數(shù)數(shù)據(jù),最后一個(gè)是校驗(yàn)位,且都是8bit。比如接收到的40位數(shù)據(jù)為:0011010100000000000110000000000001001101分別對應(yīng)濕度高8位、濕度低8位、溫度高8位、溫度低8位校驗(yàn)位計(jì)算:00110101+00000000+00011000+00000000=01001101則接收數(shù)據(jù)正確為:濕度:00110101=35H=53%RH溫度:00011000=18H=24C,如果接收到的40位數(shù)據(jù)為:0011010100000000000110000000000001001001,分別對應(yīng)濕度高8位、濕度低8位、溫度高8位溫度低8位、校驗(yàn)位,計(jì)算00110101+00000000+00011000+00000000=01001101,因?yàn)?1001101不等于01001001,故本次接收的數(shù)據(jù)不正確,放棄,重新接收數(shù)據(jù)。該傳感器同時(shí)結(jié)合了數(shù)字采集技術(shù)和溫濕度檢測技術(shù),既能保障檢測的精度還提供了較長的使用壽命。該傳感器能夠同時(shí)對溫度和濕度進(jìn)行檢測主要是因?yàn)樵撈骷?nèi)部包含了感濕元件和測溫元件,通過這兩個(gè)元件的配合實(shí)現(xiàn)對于溫濕度的監(jiān)測,該傳感器由于具有較低的價(jià)格和功耗并且傳輸距離最遠(yuǎn)可達(dá)20m所以經(jīng)常在很多需要對溫濕度檢測的系統(tǒng)中使用,本文需對溫度及濕度進(jìn)行測試。該模塊實(shí)物圖如圖2-3所示。圖2-3DHT11溫濕度傳感器實(shí)物圖(2)DS18B20和HS1101HS1101是電容式濕度傳感器,可測量的濕度范圍為55.5℃~125.5℃。DS18B20是一款單總線接口的溫度傳感器,其體積微小,性能強(qiáng)大,抗干擾能力強(qiáng),其溫度測量范圍比其傳感器要寬一些,為負(fù)55度到正125度,該傳感器使用的是DALLAS的單總線控制協(xié)議。該器件的使用非常簡單,可直接與單片機(jī)進(jìn)行相連無需添加A/D轉(zhuǎn)換模塊。在使用時(shí)可直接將檢測到的溫度信息變?yōu)閿?shù)字信號傳送給單片機(jī),該傳感器實(shí)物如圖2-4所示。圖2-4DS18B20實(shí)物圖(3)AHT10AHT10檢測探頭采用CMOSES專利技術(shù)將AD轉(zhuǎn)換電路和數(shù)字接口相結(jié)合。AHT10體積小且采用簡單的接口電路,在性價(jià)比方面,該傳感器適用在需要大批量使用的地萬,其采用雙線數(shù)字輸出的模式,且功耗偏低低。其測量量程偏大一些,溫度測量范圍從-40到+120度之間,其濕度測量的量程為滿量程測量。即便是零下的冬天也能滿足環(huán)境監(jiān)測的需求。該模組使用的時(shí)候信號端口直接和終端主控制器相連并進(jìn)行共地。本文通過傳感器主要對智能溫室的溫濕度進(jìn)行檢測,通過對比以上三種測量方法,DS18B20是一種具有體積小、電壓寬、經(jīng)濟(jì)、數(shù)字化的基礎(chǔ)設(shè)備產(chǎn)品。測算的范圍為零下55度至125度之間。DS18B20適用于各種現(xiàn)場溫度測量環(huán)境,具有更廣泛的電壓和封裝選擇,因此選擇DS18B20傳感器來構(gòu)建溫度測量系統(tǒng)。2.4顯示模塊選型為了滿足系統(tǒng)設(shè)計(jì)要求且能夠直觀看到系統(tǒng)運(yùn)行的當(dāng)前狀態(tài),需要通過顯示裝置來對數(shù)據(jù)進(jìn)行顯示。如我們通過顯示器可以操作電腦一樣,在電子設(shè)計(jì)中,我們常用的顯示設(shè)備主要有LED、OLED、LCD、數(shù)碼管四種,每種顯示設(shè)備的優(yōu)缺點(diǎn)以及設(shè)計(jì)難度各有不同,下面針對這四種顯示設(shè)備進(jìn)行簡單描述。(1)LED可以實(shí)現(xiàn)對多種信息的不同形式進(jìn)行轉(zhuǎn)化,其功耗低,工作電壓需求低,使用年限長且驅(qū)動(dòng)簡單。伴隨著單片機(jī)性能的發(fā)展和人們需求的增加,LED燈也開始朝著顯示的方向發(fā)展,我們可以利用許多個(gè)小的LED燈珠組成一個(gè)大型LED矩陣面板,通過控制這個(gè)LED矩陣面板里面的LED燈的亮滅和顏色來實(shí)現(xiàn)顯示屏的效果,利用現(xiàn)實(shí)生活中拍照像素的基本原理,矩陣面板里面的每一個(gè)LED燈都可以作為一個(gè)像素點(diǎn)。實(shí)現(xiàn)單個(gè)LED燈驅(qū)動(dòng)簡單,但我們組成的矩陣?yán)锩鍸ED數(shù)量很大,不但要控制它們的亮滅,還要控制亮的顏色,難度可想而知,并且我們?nèi)绻胍肔ED矩陣來顯示數(shù)據(jù),其體積也過大。(2)OLED液晶顯示屏是近幾年在電子設(shè)計(jì)上流行起來的一種顯示方式。OLED(OrganicLight-EmittingDiode)又稱是激光顯示或發(fā)光半導(dǎo)體顯示,通過給顯示屏注入不同的載流子,在相關(guān)的控制之下互相結(jié)合產(chǎn)生發(fā)光的現(xiàn)象。該類型的顯示屏優(yōu)點(diǎn)主要有:顯示屏顯示的內(nèi)容多而且比較豐富,其顯示畫質(zhì)比其它顯示屏更加細(xì)致,所以在很多設(shè)計(jì)中都有使用到該類型的顯示器。(3)LCD液晶顯示屏,這種顯示屏又常常被稱為LCD1602,其功能如名字一樣,是LCD的顯示方式,每行也顯示16個(gè)字符,可顯示兩行,最多可顯示32個(gè)字符,該產(chǎn)品應(yīng)用較久,技術(shù)也已經(jīng)熟練,在質(zhì)量上是可以保證的,所以使用上較容易上手,最主要的優(yōu)點(diǎn)在該顯示屏生產(chǎn)技術(shù)成熟,生產(chǎn)成本低,價(jià)格低廉,且該顯示屏對數(shù)據(jù)的顯示比其它的顯示器要清晰一點(diǎn),如果進(jìn)展的話該顯示屏占用較少的單片機(jī)I/O口。(4)LED數(shù)碼管,該類型顯示器也經(jīng)常被我們所熟悉以及廣泛使用,它還有一個(gè)較為形象的名字,通常叫做八段管,通過這個(gè)名字我們可以很容易的聯(lián)想出來,該八段管是利用八段的發(fā)光二極管燈組合形成的,我們可以通過控制八個(gè)發(fā)光二極管的亮與滅來顯示出我們所指定的數(shù)字,把若干個(gè)數(shù)碼管拼接起來可以顯示更多的數(shù)字。在組合時(shí),把各個(gè)數(shù)碼管的陰極和陽極分開,分成共陰極和共陽極,將所有數(shù)碼管的陰極接到一起構(gòu)成共陰極,共陰極低電平有效,把組合數(shù)碼管的陽極連接起來構(gòu)成共陽極,共陽極高電平有效。復(fù)用引腳可大大節(jié)約單片機(jī)I/O口的使用。通過對幾種顯示器件的分析,結(jié)合本設(shè)計(jì)中僅需要對溫度值以及濕度值進(jìn)行顯示,顯示界面需要兩行,并且LCD1602是一種工業(yè)字符型液晶,專門用來顯示字母,數(shù)字,符號的點(diǎn)陣型液晶模塊,其由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間都有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,綜上所述所以選擇LCD1602顯示屏作為本設(shè)計(jì)的顯示設(shè)備。3系統(tǒng)硬件設(shè)計(jì)3.1單片機(jī)電路單片機(jī)最小系統(tǒng)是指單片機(jī)可以正常執(zhí)行程序指令的最簡電路組成。基本條件如下:(1)電源:驅(qū)動(dòng)電子電路正常進(jìn)行工作,選用的AT89C52需要5V的供電,所以40腳接+5V,20腳接地。在一個(gè)完整的單片機(jī)應(yīng)用系統(tǒng)中,為了避免各模塊之間相互干擾,可分模塊供電。(2):接高電平,表示此時(shí)執(zhí)行片內(nèi)程序存儲器指令。(3)振蕩電路:為單片機(jī)提供一個(gè)頻率和幅值穩(wěn)定的脈沖序列,單片機(jī)通過此脈沖序列將內(nèi)部電路協(xié)調(diào)一致,同步工作。AT89C52的18引腳和19引腳為晶振引腳,接入一個(gè)11.0592 MHz的晶振,為了保證晶振起振,維持震蕩信號的穩(wěn)定,需要外加兩個(gè)30pF的電容REF_Ref10692\r\h[15]。(4)復(fù)位電路:作為從外部將單片機(jī)重新啟動(dòng)的輔助電路,可以在單片機(jī)上電時(shí)自動(dòng)完成復(fù)位,也可以在單片機(jī)出現(xiàn)死機(jī)或程序跑飛時(shí),手動(dòng)復(fù)位重新啟動(dòng)REF_Ref12628\r\h[16]。大多采用電容和電阻搭建的RC充放電路,在上電階段,在單片機(jī)復(fù)位端口產(chǎn)生一個(gè)幾十毫秒的復(fù)位電平。最小系統(tǒng)電路如圖3-1所示。圖3-1最小系統(tǒng)電路圖3.2傳感器電路在課題中,使用了一個(gè)集成溫度傳感器,而DS18B20使用到的AT89C51微控制器可以作為集成溫度傳感測量系統(tǒng)的內(nèi)部電路過程控制設(shè)計(jì)核心。而在圖3-2中,DS18B20的內(nèi)部電源電路提供為外部接口電源,i/o數(shù)據(jù)線為1和P3.4。在將DS18B20連接到系統(tǒng)之前,必須從一個(gè)鍵的ROM值中讀取溫度序列號,其次在系統(tǒng)溫度查看器收到時(shí)輸出一個(gè)溫度序列號,從1至n為n,系統(tǒng)可能要求你利用鍵盤自動(dòng)設(shè)定一個(gè)溫度傳感警報(bào)信號閾下的值,以及LED屏幕來體現(xiàn)DS18B20和溫度測量。DS18B20用于室內(nèi)當(dāng)下測量溫度,將其與i/o微控制器的端口、采用溫度測量值和設(shè)定值進(jìn)行對比,最后利用系統(tǒng)控制電路進(jìn)行工作。一般說明在CPU中對程序DS18B20的管理操作過程access操作過程中的方法一般是:初始化DS18B20,然后針對程序執(zhí)行ROM主機(jī)程序管理操作命令,最后對虛擬主機(jī)程序存儲器和虛擬主機(jī)程序數(shù)據(jù)管理接口分別進(jìn)行主機(jī)程序管理操作。DS18B20的每一步主機(jī)程序運(yùn)行操作都必須要得到響應(yīng),必須同時(shí)遵循嚴(yán)格的主機(jī)程序運(yùn)行工作先后順序和通信協(xié)議,如程序使用虛擬主機(jī)運(yùn)行溫度控制器的命令執(zhí)行DS18B20完成程序工作主機(jī)溫度。根據(jù)DS18B20的通信協(xié)議,轉(zhuǎn)換過程分為三個(gè)階段,DS18B20在讀寫之前必須初始化,DS18B20以ROM命令和RAM命令復(fù)位后定時(shí)器的形式運(yùn)行。晶體管PN結(jié)的部分特征,集成了溫度傳感器,通過利用感應(yīng)元件、放大電路及補(bǔ)償電路合并一起組成一個(gè)集成的溫度測量組件。有著高靈敏、高效率、低廉價(jià)位等優(yōu)點(diǎn)外。DS18B20是一種具有體積小、電壓寬、經(jīng)濟(jì)、數(shù)字化的基礎(chǔ)設(shè)備產(chǎn)品。測算的范圍為零下55度至125度之間。DS18B20適用于各種現(xiàn)場溫度測量環(huán)境,具有更廣泛的電壓和封裝選擇,因此我們可以使用方便的電路設(shè)計(jì),來構(gòu)建我們經(jīng)濟(jì)的溫度測量系統(tǒng)。圖3-2溫度采集模塊3.3電源模塊設(shè)計(jì)本設(shè)計(jì)輸入電源電壓為直流(DC)9V,經(jīng)三端穩(wěn)壓器7805穩(wěn)壓后輸出5V電源,作為系統(tǒng)的工作電源。電源電路如圖3-3所示,D2為保護(hù)二極管電源接反是可以保護(hù)系統(tǒng)不燒毀,C4~C7為濾波電容,通過濾波電容濾除雜波使得電源更加純凈,D3為系統(tǒng)電源指示燈。圖3-3電源模塊3.4驅(qū)動(dòng)電路模塊設(shè)計(jì)驅(qū)動(dòng)電路的主要作用就是,當(dāng)環(huán)境溫度高于所設(shè)置溫度時(shí),單片機(jī)通過驅(qū)動(dòng)電路控制降溫設(shè)備進(jìn)行降溫[7]。驅(qū)動(dòng)電路如圖3-4,當(dāng)環(huán)境溫度高于所設(shè)置溫度時(shí),單片機(jī)將F_CTR置為低電平,PNP三極管S8550導(dǎo)通,繼電器吸合,降溫模塊得電開始降溫。當(dāng)環(huán)境溫度小于所設(shè)溫度時(shí),F(xiàn)_CTR置為高電平,三極管S8550截止,繼電器放開,降溫設(shè)備得電停止降溫。二極管D1,為續(xù)流二極管,起保護(hù)作用,繼電器是電感性負(fù)載,當(dāng)驅(qū)動(dòng)電路關(guān)斷線圈電流時(shí),電感中貯存的能量通過感應(yīng)產(chǎn)生很高的電壓,對系統(tǒng)產(chǎn)生干擾,嚴(yán)重時(shí)會損壞繼電器輸出端。續(xù)流二極管能夠提供電流回路并將感應(yīng)電壓限制在電源電壓+二極管正向壓降的范圍內(nèi),從而減少了繼電器關(guān)斷線圈對系統(tǒng)的干擾,并保護(hù)了線圈驅(qū)動(dòng)電路[6]。圖3-4驅(qū)動(dòng)電路3.5LCD顯示模塊設(shè)計(jì)LCD模塊采用點(diǎn)陣字符型液晶屏1602,該模塊采用5V供電,顯示內(nèi)容16字符x2行,字符點(diǎn)陣5x8點(diǎn),工作電流2ma。如圖3-5所示,1602有16個(gè)引腳,1腳為電源地。2腳接電源正極。3腳接液晶顯示偏壓信號[7]。4腳接51單片機(jī)的P2.0/A8端,是液晶屏的數(shù)據(jù)或命令選擇端。5腳接51單片機(jī)的P2.1/A9端,是液晶屏的讀寫選擇端。6腳接51單片機(jī)的P2.2/A10端,是液晶屏的使能信號端。7至14腳為數(shù)據(jù)輸入輸出腳,接單片機(jī)的P0.0/AD0至P0.7/AD7輸入輸出數(shù)據(jù)。圖中沒有標(biāo)出的15、16腳分別為背光源正極和背光源負(fù)極,是為實(shí)現(xiàn)液晶屏背光時(shí)必須接入的。圖3-5LCD引腳3.6鍵盤模塊設(shè)計(jì)鍵盤模塊由四組按鍵組成,分別為時(shí)間調(diào)整、時(shí)間增、時(shí)間減和開關(guān)。鏈接單片機(jī)的P1.0~P1.3。圖3-6鍵盤引腳4系統(tǒng)軟件的設(shè)計(jì)硬件平臺結(jié)構(gòu)一旦確定,大的功能框架即形成。軟件在硬件平臺上構(gòu)筑,完成各部分硬件的控制和協(xié)調(diào)。系統(tǒng)功能是由軟硬件共同實(shí)現(xiàn)的,由于軟件的可伸縮性,最終實(shí)現(xiàn)的系統(tǒng)功能可強(qiáng)可弱,差別可能很大。因此,軟件是本系統(tǒng)的靈魂。軟件采用模塊化設(shè)計(jì)方法[8],不僅易于編程和調(diào)試,也可減小軟件故障率和提高軟件的可靠性。這里我們選用了移值性好、結(jié)構(gòu)清晰、能進(jìn)行復(fù)雜運(yùn)算的C語言來實(shí)現(xiàn)編程。4.1系統(tǒng)軟件整體程序流程設(shè)計(jì)框圖系統(tǒng)的總體程序流程如圖下所示:初始化初始化顯示時(shí)間時(shí)修改分修改顯示實(shí)際溫度與設(shè)定溫度實(shí)際溫度大于設(shè)定溫度實(shí)際溫度小于設(shè)定溫度按下啟動(dòng)開關(guān)啟動(dòng)電機(jī)待機(jī)實(shí)際溫度等于設(shè)定溫度待機(jī)實(shí)際溫度大于設(shè)定溫度按下關(guān)閉開關(guān),關(guān)閉系統(tǒng)開始圖4-1系統(tǒng)程序流程圖4.2系統(tǒng)軟件各個(gè)模塊設(shè)計(jì)打開主開關(guān),初始化整個(gè)系統(tǒng)后,液晶屏上半部分顯示時(shí)間和電機(jī)開關(guān)說明,下半部分顯示實(shí)際溫度和預(yù)定溫度,按按鍵MS選擇按鈕,依次可以切換為時(shí)修改、分修改、設(shè)定溫度修改。當(dāng)設(shè)定溫度低于實(shí)際溫度時(shí),打開啟動(dòng)開關(guān)燈泡亮,表示電機(jī)工作,當(dāng)設(shè)定溫度高于實(shí)際溫度時(shí),打開啟動(dòng)開關(guān)系統(tǒng)待機(jī),如果開始時(shí)設(shè)定溫度高于實(shí)際溫度,但通過對溫度采集DS18B20溫度控制器加溫,當(dāng)實(shí)際溫度高于設(shè)定溫度時(shí),在開關(guān)打開的情況下燈泡自動(dòng)點(diǎn)亮,表示電機(jī)開始工作。如果實(shí)際溫度高于設(shè)定溫度但電機(jī)開關(guān)沒開[9],小燈泡依然不會亮,系統(tǒng)待機(jī)。系統(tǒng)整體運(yùn)行情況就是這樣的,原理圖可以參照上圖。當(dāng)按下總關(guān)閉開關(guān)時(shí),關(guān)閉系統(tǒng)。整個(gè)基于單片機(jī)的智能溫度控制系統(tǒng)的軟件采用C語言編程,在主程序中主要是對單片機(jī)、LCM(液晶顯示模塊)、寄存器、DS18B20溫度控制器進(jìn)行分塊編程。詳細(xì)的程序見附錄二,具體的分步過程如下[10]:(1)在程序的開始部分是對各個(gè)端口下定義確定各個(gè)端口的地址,之后是對LCM的延時(shí)進(jìn)行定義,具體程序如下:voiddelay_LCM(uintk){uinti,j;for(i=0;i<k;i++){for(j=0;j<60;j++) {;}}因?yàn)樵谝壕溜@示出結(jié)果之前要先通過單片機(jī)處理[11],存儲器讀取,這些都需要時(shí)間,所以對LCM的延時(shí)進(jìn)行定義是很重要的,否則容易使數(shù)據(jù)產(chǎn)生沖突讓系統(tǒng)死機(jī)。接下來是對LCM的定義,其中包括寫指令到LCM函數(shù)、寫數(shù)據(jù)到LCM函數(shù)、LCM內(nèi)部等待函數(shù)、LCM初始化子函數(shù)、LCM定坐標(biāo)的一個(gè)字符子函數(shù)和LCM顯示指定坐標(biāo)的一串字符子函數(shù)。在對LCM的整個(gè)編程過程中,先確定LCM的指令和數(shù)據(jù)可以寫入,然后利用等待函數(shù)是程序運(yùn)行有短暫的停頓,這段時(shí)間被安排來讀取寄存器中記錄的數(shù)據(jù),當(dāng)寄存器的數(shù)據(jù)被讀出后運(yùn)行LCM初始化子函數(shù)、LCM定坐標(biāo)的一個(gè)字符子函數(shù)和LCM顯示指定坐標(biāo)的一串字符子函數(shù)用來確定液晶屏上具體位置的具體顯示。(2)對DS18B20溫度控制器進(jìn)行的編程,其中包含ds18b20延遲子函數(shù)(晶振12MHz)、ds18b20初始化函數(shù)、ds18b20讀一個(gè)字節(jié)、ds18b20寫一個(gè)字節(jié)、讀取ds18b20當(dāng)前溫度。ds18b20延遲子函數(shù)是為了保證ds18b20的讀數(shù)準(zhǔn)確性而做的延遲,在初始化ds18b20后先給ds18b20一個(gè)脈沖試讀取一個(gè)字節(jié),后在試寫入一個(gè)字節(jié)以確保ds18b20工作正常,在ds18b20工作正常的前提下對ds18b20進(jìn)行溫度的讀取[12]。(3)是對液晶顯示子函數(shù)一、二、三、四。四種情況的具體編程,這四種情況在實(shí)物中的具體表現(xiàn)為:液晶顯示子函數(shù)一顯示正常的顯示,液晶顯示子函數(shù)二顯示調(diào)整小時(shí)時(shí)的液晶板的顯示,液晶顯示子函數(shù)三顯示調(diào)整分鐘時(shí)的液晶板的顯示[13],液晶顯示子函數(shù)四顯示設(shè)定溫度時(shí)的液晶板的顯示。在這一段的程序編寫中要注意液晶板上只能示ASCII,對于數(shù)字的顯示要在原來的基礎(chǔ)上加48,程序中是以16進(jìn)制編寫的,所以在程序中具體顯示為“+0x30”。具體程序如下:voiddisplayfun1(void){ WriteCommandLCM(0x0c,1); //光標(biāo)不顯示,檢測忙信號 DisplayListChar(0,0,str0); DisplayListChar(0,1,str1); DisplayOneChar(3,0,hour/10+0x30); //液晶上顯示小時(shí) DisplayOneChar(4,0,hour%10+0x30); DisplayOneChar(6,0,minite/10+0x30); //液晶上顯示分 DisplayOneChar(7,0,minite%10+0x30); DisplayOneChar(9,0,seconde/10+0x30); //液晶上顯示秒 DisplayOneChar(10,0,seconde%10+0x30); DisplayOneChar(4,1,K/10+0x30); //液晶上顯示設(shè)定的溫度 DisplayOneChar(5,1,K%10+0x30); DisplayOneChar(12,1,temp1/10+0x30);//液晶上顯示測得的溫度 DisplayOneChar(13,1,temp1%10+0x30); if(ON_OFF==0) //若溫控標(biāo)志為0 { DisplayOneChar(14,0,0x4f); //液晶上顯示不控溫的標(biāo)志OF DisplayOneChar(15,0,0x46); } else { DisplayOneChar(14,0,0x4f); //液晶上顯示控溫的標(biāo)志ON DisplayOneChar(15,0,0x4e); } }這部分程序是對液晶顯示中的正常顯示的編寫,時(shí)修改、分修改、設(shè)定溫度修改這三個(gè)分步顯示可以參考這部分程序完成編寫。(4)對鍵盤的編程,包括鍵盤掃描子函數(shù)、設(shè)定工作模式子函數(shù)、按鍵加法子函數(shù)、按鍵減法子函數(shù)。對鍵盤的編程是先對鍵盤的掃描,掃描后通過設(shè)定工作模式子函數(shù)來確定鍵盤上選擇鍵的功能以及LCM上通過鍵盤能顯示的四種狀態(tài)[14],最后通過按鍵加法子函數(shù)和按鍵減法子函數(shù)來定義加和減按鈕的具體功能。之后是對24C02寄存器的編程,具體包括24C02讀寫驅(qū)動(dòng)程序、從24c02的地址address中讀取一個(gè)字節(jié)數(shù)據(jù)和24c02的address地址中寫入一字節(jié)數(shù)據(jù),24C02讀寫驅(qū)動(dòng)程序使24C02寄存器正常工作,從24c02的地址address中讀取一個(gè)字節(jié)數(shù)據(jù)和24c02的address地址中寫入一字節(jié)數(shù)據(jù)是在使用24C02寄存器前對其能否正常工作的測試。(5)對51單片機(jī)中的定時(shí)器進(jìn)行編程,使液晶屏上的時(shí)鐘能正常計(jì)數(shù),有了時(shí)鐘功能也使這個(gè)基于單片機(jī)的智能溫度控制器更加的人性化。這段定時(shí)器的編寫具有代表性,我采用的是51單片機(jī)中內(nèi)部計(jì)數(shù)器timer0的編寫,具體程序如下:voidtimer0(void)interrupt1using0//定時(shí)器0方式1,50ms中斷一次{TH0=0x3c;TL0=0xb0;mstcnt++;if(mstcnt>=20){seconde++;write=1;mstcnt=0;} //50*20=1s秒加1 if(seconde>=60){minite++;seconde=0;} if(minite>=60){hour++;minite=0;} if(hour>=24){hour=0;} keyscan();//按鍵掃描}(6)最后是主程序部分,主程序是對上面各個(gè)分程序的統(tǒng)一調(diào)用,使整個(gè)系統(tǒng)能正常的運(yùn)行,在主程序中利用循環(huán)語句使對溫度的采集每秒采集一次,同時(shí)每秒也向寄存器寫入當(dāng)前的小時(shí)、分鐘、秒以及設(shè)定溫度的信息,這樣再關(guān)閉整個(gè)系統(tǒng)再次開機(jī)時(shí),系統(tǒng)就可以從寄存器中讀取小時(shí)、分鐘、秒以及設(shè)定溫度的信息顯示在液晶屏上,這也體現(xiàn)了這個(gè)溫度控制器在智能上的特點(diǎn)。5溫室系統(tǒng)的測試5.1系統(tǒng)硬件平臺搭建本文測試中搭建的網(wǎng)絡(luò)在結(jié)構(gòu)上包括一個(gè)協(xié)調(diào)器節(jié)點(diǎn),一個(gè)路由節(jié)點(diǎn)和兩個(gè)終端節(jié)點(diǎn)。圖中最上方兩個(gè)設(shè)備是終端節(jié)點(diǎn),負(fù)責(zé)對溫室內(nèi)的環(huán)境數(shù)據(jù)進(jìn)行采集工作并通過網(wǎng)絡(luò)發(fā)送到路由器節(jié)點(diǎn),同時(shí)接受下發(fā)的控制命令控制執(zhí)行機(jī)構(gòu)運(yùn)作;位于下圖中間位置的是路由節(jié)點(diǎn),負(fù)責(zé)將采集的數(shù)據(jù)進(jìn)行匯聚并傳送給協(xié)調(diào)器節(jié)點(diǎn);圖中最下方的是協(xié)調(diào)器節(jié)點(diǎn),負(fù)責(zé)整體網(wǎng)絡(luò)的組建工作,并將環(huán)境數(shù)據(jù)通過Internet發(fā)送給上位機(jī)部分。圖5-1硬件搭建實(shí)物圖在設(shè)備上電后,各節(jié)點(diǎn)紅燈亮代表電源接通,設(shè)備進(jìn)入工作狀態(tài)。協(xié)調(diào)器節(jié)點(diǎn)設(shè)備上藍(lán)色LED燈常亮代表網(wǎng)絡(luò)組建成功;路由節(jié)點(diǎn)和終端節(jié)點(diǎn)在上電后,藍(lán)色LED燈會進(jìn)行閃爍,開始網(wǎng)絡(luò)搜索并在找到網(wǎng)絡(luò)信號后發(fā)出入網(wǎng)申請;當(dāng)成功加入網(wǎng)絡(luò)后,藍(lán)燈會進(jìn)入常亮狀態(tài)。由圖中各設(shè)備狀態(tài)可知,協(xié)調(diào)器節(jié)點(diǎn)組網(wǎng)成功,同時(shí)終端節(jié)點(diǎn)和路由節(jié)點(diǎn)成功加入網(wǎng)絡(luò)。5.2系統(tǒng)測試結(jié)果本設(shè)計(jì)是基于單片機(jī)的智能溫室系統(tǒng)的設(shè)計(jì),系統(tǒng)采用UN0主控開發(fā)板作為系統(tǒng)的主控模塊。系統(tǒng)的主要功能是對系統(tǒng)所處環(huán)境的溫度進(jìn)行測量,并將測量得到的溫度與系統(tǒng)設(shè)定的閾值進(jìn)行對比,若環(huán)境溫度大于設(shè)定溫度則啟動(dòng)圖通風(fēng)進(jìn)行降溫,系統(tǒng)溫度可通過顯示屏實(shí)時(shí)觀看。整個(gè)系統(tǒng)的硬件電路如圖5-2所示。圖5-2整體系統(tǒng)硬件系統(tǒng)通電后狀態(tài)如圖5-2所示,從圖中可以看到LCD顯示屏上顯示當(dāng)前的溫度以及手動(dòng)和自動(dòng)模式,其中當(dāng)前溫度為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。