基于模糊控制的恒溫水槽設(shè)計_第1頁
基于模糊控制的恒溫水槽設(shè)計_第2頁
基于模糊控制的恒溫水槽設(shè)計_第3頁
基于模糊控制的恒溫水槽設(shè)計_第4頁
基于模糊控制的恒溫水槽設(shè)計_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 本科畢業(yè)論文(設(shè)計) 論文題目:基于模糊控制的恒溫水槽設(shè)計 學(xué)生姓名: 所在院系: 所學(xué)專業(yè): 應(yīng)用電子技術(shù)教育 導(dǎo)師姓名: 完成時間: 摘 要本設(shè)計采用DS18B20檢測水槽的環(huán)境溫度,通過按鍵設(shè)定溫度。由LCD1602顯示,采用PID算法進行恒溫的控制與處理,采用IRF644大功率驅(qū)動電路對電熱絲進行加熱。在溫度控制部分,使用單片機輸出的弱電信號去控制強電的方式。關(guān)鍵詞:按鍵輸入,AT89C51,DS18B20,, PID算法Constant temperature tank design based on fuzzy control AbstractMeasure the ambien

2、t temperature sinks by DS18B20, temperature data acquisition and detection, use the key as an input to achieve temperature setting. Realized by LCD1602 showed that using PID algorithm for temperature control and treatment, using IRF644 driving circuit of high power heating the heating wire. Temperat

3、ure control parts, using weak electrical signals of the micro controller outputs to control strong manner.Keywords: Key input,AT89C51,Ds18b20,PID algorithm目 錄 1 緒論11.1 課題背景11.2 國內(nèi)外恒溫控制技術(shù)發(fā)展現(xiàn)狀及趨勢11.2.1 國外恒溫控制技術(shù)發(fā)展現(xiàn)狀及趨勢1 國內(nèi)恒溫控制技術(shù)發(fā)展現(xiàn)狀及趨勢21.3 設(shè)計任務(wù)21.3.1 設(shè)計目的21.3.2 系統(tǒng)設(shè)計技術(shù)指標(biāo)31.3.3 系統(tǒng)功能32 恒溫控制總體方案設(shè)計32.1 系統(tǒng)方案

4、選擇與論證32.2 恒溫控制系統(tǒng)工作原理53 恒溫控制的硬件設(shè)計53.1 AT89C51單片機簡介53.1.1 AT89C51的功能描述53.1.2 晶振電路與復(fù)位電路的設(shè)計63.2 溫度采集模塊7 DS18B20的特點7 DS18B20的優(yōu)勢73.2.3溫度傳感器DS18B20的測溫電路83.3 DS18B20與單片機的接口電路93.4 LCD1602顯示93.4.1 LCD1602的工作原理93.4.2 溫度顯示電路103.5 按鍵輸入電路103.6 PWM波控制113.7 溫度控制電路圖114 恒溫控制系統(tǒng)軟件設(shè)計124.1 工作流程124.2 程序模塊134.2.1 主程序134.2.

5、2 溫度傳感器驅(qū)動子程序134.2.3 鍵盤掃描處理程序144.2.4 溫度控制程序154.2.5 溫度顯示子程序174.3 軟件調(diào)試18總結(jié)18致謝19參考文獻20附錄 系統(tǒng)總電路圖211 緒論1.1 課題背景1965年美國自動控制理論專家L A ZADEH首次提出了模糊集合,1974年英國E H MAMDANI首次將模糊控制應(yīng)用于鍋爐和蒸汽機的自動控制,隨著社會的發(fā)展和科技的進步,模糊控制領(lǐng)域得到非常廣泛的應(yīng)用,特別是在溫度控制領(lǐng)域,自動控制器的綜合設(shè)計需要建立在通過偏差來控制被控對象的數(shù)學(xué)模型的基礎(chǔ)上,但是在實際中,影響系統(tǒng)的因素有很多,很難找到比較理想的數(shù)學(xué)模型,因此,就自然而然的產(chǎn)生

6、模糊控制的算法,不需建立模糊控制的模型。更方便和快捷的實現(xiàn)需要的功能。如在生活中對水壺進行加熱,一般直接加熱到100,然后停止,等到水溫慢慢降低,水壺得到指示然后循環(huán)加熱等等,由我們息息相關(guān)的生活到工業(yè)我們都離不開溫度控制。隨著科技的發(fā)展,恒溫越來越走近我們的生活和用于工業(yè)的生產(chǎn)領(lǐng)域,并且大大的推進了我國恒溫技術(shù)在國際上的進步。恒溫控制系統(tǒng)被廣泛應(yīng)用于加熱爐、熱處理爐、反應(yīng)爐等等。本設(shè)計中介紹如何應(yīng)用單片機實現(xiàn)較理想的恒溫控制效果。采用一種可編程的數(shù)字溫度傳感器(DS18B20),不需要將傳感器發(fā)送到變送器再發(fā)送給A/D轉(zhuǎn)換電路,直接與單片機連接完成溫度采集,實現(xiàn)方便,而且精度可以達到0.3。

7、采用AT89C51實現(xiàn)溫度控制不僅簡單、靈活,最重要的是可以大幅度的提高被控對象的溫度技術(shù)指標(biāo),以下對恒溫控制系統(tǒng)進行簡單介紹。1.2 國內(nèi)外恒溫控制技術(shù)發(fā)展現(xiàn)狀及趨勢隨著科技的發(fā)展,恒溫控制系統(tǒng)已在生產(chǎn)領(lǐng)域中得到廣范的應(yīng)用,并創(chuàng)造了非常好的經(jīng)濟效益,我們還需要根據(jù)具體的情況來設(shè)計系統(tǒng)的結(jié)構(gòu)和實現(xiàn)的功能,以便取得最佳的控制效果。1.2.1 國外恒溫控制技術(shù)發(fā)展現(xiàn)狀及趨勢目前,國外溫度控制系統(tǒng)及儀表正朝著高精度智能化、小型化等方面快速發(fā)展。盡管我國的溫度控制系統(tǒng)也使用于各個領(lǐng)域和大量投入到工業(yè)的生產(chǎn),但是國內(nèi)的溫度控制系統(tǒng)相對于國外的技術(shù)水平還相當(dāng)?shù)穆浜?,在工業(yè)制造過程中,對于溫度控制特別是恒定

8、的溫度值,國外做出來的產(chǎn)品精度比較高,完全達到設(shè)計的要求,而且使用PID的算法,最重要的就是PID的參數(shù)整定,參數(shù)調(diào)節(jié)的適當(dāng),那么做出來的產(chǎn)品是極其完美的,這些在國外都被一一實現(xiàn)。在溫度控制的很多方面都取得了非常大的科技成果。尤其是日本、德國、美國、瑞典等國技術(shù)領(lǐng)先,并且都生產(chǎn)出了一批商品化的性能優(yōu)異的溫度控制器及儀器儀表。現(xiàn)在,國外制作出的溫度控制系統(tǒng),都是精度非常高、具有智能化,而且向著體型較小化快速的發(fā)展,就針對我國的溫度控制來說,國外又有了突飛猛進的進步和提高,雖然溫度控制在我國的各個領(lǐng)域都投入生產(chǎn)和使用,但是總體的水平仍然不高,仍然有著較大的差距,我國需要學(xué)習(xí)國外的技術(shù)水平,但不丟失

9、自己的技術(shù),在自己的技術(shù)之上更進一步的發(fā)展和提高,使我國在溫度控制系統(tǒng)領(lǐng)域取得更大的進步。 國內(nèi)恒溫控制技術(shù)發(fā)展現(xiàn)狀及趨勢對溫度的實現(xiàn)和控制,我認為在我們每一個人的腦海里,其實都不陌生,從我們細細相關(guān)的生活中就有許多這方面的話題。就以我們經(jīng)常喝的熱水來說,對涼水進行加熱,直到把水燒到100為止,然后停止加熱。這就間接的實現(xiàn)了對溫度的控制,但是隨著科技的發(fā)展,我們對“溫度”有了更高的要求,就像本設(shè)計中要求達到恒溫。就是把溫度達到恒定的值。并且要求有很高的精度,這些需要采用軟件編程來實現(xiàn)。在我國,對溫度控制的方法有很多,但是相比而言,最常用的是PID算法。但是國內(nèi)的先進水平有限,做出來的產(chǎn)品只能適

10、應(yīng)一般的溫度控制系統(tǒng),對于智能機、小型機,國內(nèi)的技術(shù)完全實現(xiàn)不了。真正廣泛應(yīng)用的控制儀表也很少,這就說明我國在溫度控制儀表領(lǐng)域與國外還存在非常大的差距。從如何控制溫度的角度來分析,溫度直接影響燃燒的進程、烘烤能力的大小、發(fā)酵、鋼鐵冶煉過程中要對出爐的鋼鐵進行熱處理,才可以達到規(guī)定的性能指標(biāo),塑料的定性過程中需要保持一定的溫度等等,恒溫控制使用最多的是工業(yè)領(lǐng)域,在工業(yè)的生產(chǎn)與制造過程中,要考慮參數(shù)、運行的慣性等等,工況比較復(fù)雜,同時對溫度控制調(diào)節(jié)器要求非常的高,對溫度控制不好就很有可能引起生產(chǎn)不合格、生產(chǎn)安全等等一系列的問題,但是要想把溫度控制在一個非常精確的溫度值會遇到各種各樣的困難及挑戰(zhàn)。近

11、幾年來嵌入式系統(tǒng)進入大學(xué)的課堂上,同時在各個領(lǐng)域也得到了廣泛的應(yīng)用,近些年,中斷的16位單片機以應(yīng)用于汽車電子、工業(yè)自動化等領(lǐng)域。鑒于嵌入式應(yīng)用對象的響應(yīng)要求、嵌入式系統(tǒng)應(yīng)用的巨大市場,可以預(yù)測,人們對小型化、智能化的要求也越來越高,8位單片機、16位單片機仍然是嵌入式應(yīng)用中的主流機型,而高端的32位單片機正逐漸進入工業(yè)生產(chǎn)和日常生活領(lǐng)域。1.3 設(shè)計任務(wù)1.3.1 設(shè)計目的 本設(shè)計主要是將DS18B20檢測到的數(shù)據(jù)使用DS18B20的數(shù)據(jù)替代,將按鍵修改的數(shù)值使用LCD1602顯示,靠程序PID控制,使精度達到0.1,最終的目地是使得DS18B20檢測到的環(huán)境溫度(這里指水溫)達到設(shè)置溫度。

12、1.3.2 系統(tǒng)設(shè)計技術(shù)指標(biāo)恒溫控制系統(tǒng)的技術(shù)指標(biāo):(1)電水壺的水量控制在一個固定的范圍之內(nèi),才可進行設(shè)置溫度與實際溫度的比較,誤差0.5。(2)先用按鍵設(shè)置電水壺的溫度值,與測量的溫度進行比較得到差值,溫度控制誤差0.1。(3)恒溫系統(tǒng)采用1.5KW電水壺進行加熱。(4)通電后,溫度低于設(shè)置溫度5時進行交流220V全加熱。(5)用電熱絲形成保護電路。1.3.3 系統(tǒng)功能(1)可以對溫度進行自由設(shè)定,可以把范圍控制在0100,按鍵輸入時可以顯示設(shè)定的溫度值。 (2)加熱的對象采用1.5KW的電水壺,如果測量的溫度超過設(shè)置的溫度,就不加熱,反之,如果測量的溫度低于設(shè)置的溫度,就加熱。(3)能夠

13、保持實時顯示溫度,分別為個位、十位、百位和小數(shù)位。2 恒溫控制總體方案設(shè)計2.1 系統(tǒng)方案選擇與論證方案一: 一位式的模擬控制方案如圖1是一位式模擬控制方式,將DS18B20采集到的數(shù)據(jù)進行適當(dāng)?shù)姆糯?,再把設(shè)置的溫度放入,然后將采集到的溫度值與預(yù)置的溫度值進行比較后,得到差值,把差值作為輸入再經(jīng)過信號放大、控制固態(tài)繼電器的開與斷,從而決定加熱裝置是否加熱。其特點是電路簡單,便于實現(xiàn),但是精度不高、系統(tǒng)不穩(wěn)定、受外界影響比較大,很難實現(xiàn)恒溫。圖1 一位式模擬控制方案框圖方案二: PID算法控制方案此方案是采用44矩陣鍵盤進行溫度的輸入設(shè)定,用AT89C51為核心來控制相關(guān)電路進行加熱,再將DS1

14、8B20監(jiān)測水槽的環(huán)境溫度,比較水槽溫度與設(shè)定溫度之間的誤差,如果水槽的溫度超過設(shè)置溫度,就不進行加熱。反之,如果水槽溫度低于設(shè)置溫度,就進行PID的調(diào)整進行相應(yīng)的加熱。在溫度控制部分通過單片機的IO口(產(chǎn)生PWM波形)引腳,通過控制Q1/Q2三極管的通斷進而控制IRF644的開關(guān),達到對加熱器件進行恒溫加熱的目的。PID調(diào)節(jié)器的優(yōu)點:(1)技術(shù)成熟(2)易被人們熟悉和掌握(3)不需要建立數(shù)學(xué)模型(4)溫度控制效果好單片機的軟件編程靈活、空間大??捎密浖幊踢M行算法和邏輯的控制。通過用(DS18B20)檢測到電水壺的溫度,然后把它按在設(shè)計的電路板上,注意三個管腳的正確連接,通過程序的編寫,使它

15、檢測到的溫度值用DS18B20的數(shù)據(jù)替代,也同時將按鍵設(shè)定的數(shù)據(jù)使用LCD1602顯示,其中按鍵的值可以隨時改變。其方案二框圖如圖2所示。圖2 基于單片機控制的方框?qū)τ趫D1采用的是模擬控制的方式,非常難以實現(xiàn)需要實現(xiàn)的功能,一般不宜采用。而圖2是用按鍵設(shè)定一個溫度值,然后再通過AT89C51控制相關(guān)的電路,利用C51編程,對溫度控制部分采用PID算法實現(xiàn)恒溫。所以,相比較而言,在這次設(shè)計中采用的是圖2的方案?;谒鼈儽旧淼膬?yōu)越性,在控制溫度的系統(tǒng)中,它可以實現(xiàn)其它控制系統(tǒng)達不到的效果,而且用LCD1602顯示、鍵盤設(shè)定、單片機產(chǎn)生的PWM波形通過一級緩沖(起隔離作用)使PWM波形通過一個開關(guān)三

16、極管、濾波產(chǎn)生高、低電平,通過調(diào)節(jié)電位器來有效的控制場效應(yīng)管VGS的電壓范圍(0V30V)。當(dāng)調(diào)節(jié)到與場效應(yīng)管的電壓范圍時,電路就可以保證安全有效的工作,因為220V交流經(jīng)過橋堆,用萬用表測出的直流電壓值為289V300V,用單片機產(chǎn)生的信號去控制強電,我們必須考慮它的安全性能,在本次設(shè)計中采用的是弱電控制強電來實現(xiàn)對電水壺的加熱,所以在制作電路板時要特別注意弱電與強電部分。保證電路安全有效的工作,并且實現(xiàn)恒溫功能。2.2 恒溫控制系統(tǒng)工作原理以下是對恒溫控制系統(tǒng)的詳細介紹,其具體控制圖如圖3所示。圖 3 恒溫控制原理圖在本次設(shè)計中采用的是防水型溫度傳感器,我們可以直接把溫度傳感器放到電水壺里

17、面直接測量水壺里的水的溫度。采用數(shù)字溫度傳感器能在極短的時間內(nèi)實現(xiàn)A/D轉(zhuǎn)換,然后數(shù)據(jù)直接送到控制部分,控制部分把收集到的數(shù)據(jù)跟一個參考值進行比較。參考值就是設(shè)定值。將檢測到的水槽溫度與按鍵作為輸入時的設(shè)置溫度進行比較,這時就會得到一個偏差。把得到的偏差作為PID控制器的輸入。然后將偏差經(jīng)過PID的計算得到的結(jié)果去控制對象,當(dāng)你的偏差越來越小,對象的輸入也越來越小,當(dāng)然輸出也越來越小,反之亦然,最終使得這個新的輸入值經(jīng)過PID控制器運算之后,使設(shè)置的溫度達到檢測的水槽溫度。然后根據(jù)不同的偏差去控制場效應(yīng)管的關(guān)、斷進而采用不同的加熱方式進行加熱升溫或者進行PID調(diào)整加熱達到原預(yù)定溫度,通過驅(qū)動電

18、路更有效的通過LCD1602顯示出溫度值。并且可以同時顯示設(shè)定的溫度與測量的溫度值。3 恒溫控制的硬件設(shè)計3.1 AT89C51單片機簡介3.1.1 AT89C51的功能描述AT89C51有40個引腳,它是一個8位的單片機,采用的是CMOS的工藝,有非常豐富的硬件資源,特別是在芯片的價格方面,讓很大一部分人都可以接受。在工業(yè)、商業(yè)等領(lǐng)域發(fā)揮了自身的作用。而且采用常規(guī)的編程器來編程,由上訴可知,它的功能非常的強、靈活性高。方便、經(jīng)濟實惠給廣大客戶提供了便利,充分的發(fā)揮了它自身的優(yōu)勢,得到廣泛的使用。另外它是采用靜態(tài)邏輯來實現(xiàn)的,它的工作頻率可下降到最低(甚至是零),并有效的提供兩種工作方式,如果

19、存在空閑的方式中,CPU根本不進行工作,但是像定時器、串行口和其它的中斷系統(tǒng)都仍然保持繼續(xù)工作。電路中的電流可以保持正常的工作,如果根本不通上電,振蕩器(這里指片內(nèi)的)是不會工作的,設(shè)置的時鐘電路也無效同時各個功能都不工作,所以只存放片內(nèi)RAM中的內(nèi)容,直到循環(huán)到下一次的復(fù)位。這種情況下電流下降很多,大約可降到15UA以下,最小可降到0.6UA。 圖4 引腳雙列直插封裝圖 3.1.2 晶振電路與復(fù)位電路的設(shè)計如下圖:在本次設(shè)計中采用的是手動按鍵的方式實現(xiàn)復(fù)位的。電容C5的電容值是選用10UF,電阻R6的參數(shù)值為10K,滿足設(shè)計的要求,由于C5接的是電源,R6接的是地。在C5與R6之間引出一條線

20、用來接單片機AT89C51的9腳(RESET端口),當(dāng)RST被按下的瞬間,復(fù)位電路產(chǎn)生充電,充電常數(shù)=RC。這時電路就實現(xiàn)了復(fù)位的作用,將CY1(石英晶體振蕩)右邊的兩端分別接XTAL2和XTAL1,左邊分別接電容C6和C7,C6和C7的一端分別接地,另一端接晶振。而且兩個電容采用并聯(lián)連接與晶振串聯(lián)形成回路。電容的參數(shù)一般選30PF,就可以是電路工作在正常狀態(tài)下。頻率范圍為FOSC=024MHZ.在此次設(shè)計中,晶振頻率選用11.0592MHZ,在設(shè)計PCB板時,讓晶振電路中的器件盡可能的靠近單片機AT89C51,這樣可以使電路更穩(wěn)定的工作。復(fù)位電路采用按鍵電平復(fù)位,它通過復(fù)位端經(jīng)電阻與+5V電

21、源實現(xiàn), 復(fù)位是靠RST引腳處至少保持兩個機器周期(24個振蕩器周期)的高電平實現(xiàn)的。其電路如圖5所示。 (a) 復(fù)位電路 (b) 晶振電路 圖5 復(fù)位電路和晶振電路3.2 溫度采集模塊在該次設(shè)計中用到的DS18B20是用來測電水壺的溫度,我們需要根據(jù)電水壺的水量,來進行對溫度的測量,當(dāng)水處于不同的水量時,溫度也不一樣。通上電后,開始對電水壺里的水進行加熱,水溫是從下往上逐漸加熱升溫的??紤]到環(huán)境溫度、外界干擾等等,溫度會存在誤差。DS18B20的內(nèi)部直接對模擬信號進行溫度測量,特別要注意的是DS18B20的管腳連接,一定要連接正確,不然會燒壞管子。在實際應(yīng)用中得到了廣泛的應(yīng)用,同時也達到了較

22、好的測溫效果。 DS18B20的特點溫度傳感器DS18B20只有三個引腳,采用數(shù)據(jù)輸入輸出腳就可以將它的所有功能顯示出來,正所謂一線代替總線。將64位光刻ROM、配置寄存器等全部轉(zhuǎn)換電路都集成在形狀似一只三極管的集成電路內(nèi)。一線總線獨特而且經(jīng)濟使用,使用戶更方便快捷的組件傳感器網(wǎng)絡(luò),對于測量系統(tǒng)引入了一個全新的概念,如今,最新研發(fā)的DS18B20體積更小、更經(jīng)濟、更靈活。經(jīng)過這次做實物,我才真正認識到DS18B20。而且在實際的生活中,我們經(jīng)常使用它,在這次設(shè)計中用防水型溫度傳感器可以直接將它放進電水壺測量溫度,非常的方便而且節(jié)省了很多的時間。 DS18B20的優(yōu)勢傳感器有很多的種類,例如:壓

23、力傳感器、液位觸感器、熱電偶傳感器等等,而在本設(shè)計采用的是溫度傳感器。因為它的外圍電路接法非常的簡單,易于操作,而且它是單總線的器件,可以用來直接將被測溫度轉(zhuǎn)化為串行數(shù)字信號,不需要數(shù)模轉(zhuǎn)換,它的輸入輸出采用的是數(shù)字量,可以精確的采集溫度,同時將轉(zhuǎn)換的溫度以串口發(fā)送給AT89C51進行處理。在本次設(shè)計中進行控制的對象是電水壺(這里指水溫),使用DS18B20采集溫度,提供給AT89C51的P2.7端口作為數(shù)據(jù)輸入。電路圖6所示。 圖6 DS18B203.2.3 溫度傳感器DS18B20的測溫電路由測溫原理圖可知,按鍵輸入設(shè)定的是一個溫度范圍,分高溫度上限、低溫度下限,在溫度高時產(chǎn)生高溫度系數(shù)的

24、振蕩器,同樣在溫度低時,存在低溫度系數(shù)的振蕩器,當(dāng)然還需要檢測到一個溫度,本身會產(chǎn)生脈沖信號,將脈沖信號作為輸入,這時將預(yù)置的溫度、低溫度系數(shù)的振蕩器和斜率累加器一起送給減法計數(shù)器1,同時,把高溫度系數(shù)振蕩器送給減法計數(shù)器2。都減到0,將斜率累加器與減法計數(shù)器1進行比較,送給溫度寄存器,DS18B20可以對產(chǎn)生的脈沖信號(這里指低溫度系數(shù)的振蕩器)進行簡單的計數(shù),從而測量溫度,經(jīng)過多次的循環(huán),直至將被測的溫度值達到溫度寄存器的值。其內(nèi)部恒溫電路圖7所示。圖7 內(nèi)部測溫電路3.3 DS18B20與單片機的接口電路溫度傳感器(DS18B20)的電源端與數(shù)字輸入輸出端接一個4.7K的電阻并與單片機的

25、最小應(yīng)用系統(tǒng)P2.7連接,P2.7是單片機的高位地址線。在這次設(shè)計中,特在DS18B20的電源端與數(shù)字輸入輸出端接一個4.7K的電阻,那么為什么要選用4.7K的電阻呢?根據(jù)DS18B20的參數(shù),如果電阻值選得太小,由于DS18B20自身發(fā)熱比較厲害,這就導(dǎo)致了測量的溫度不準(zhǔn)確,反之,如果電阻值太大,很有可能超出溫度的測量范圍。下面為DS18B20與單片機的連接圖,接在單片機的P2.7端口上。它的三個引腳分別為:GND(接地端)、VCC(電源端)、和一個數(shù)據(jù)腳(又稱數(shù)字輸入輸出腳)接單片機的I/O端口,電源與數(shù)字輸入輸出信號之間需要接一個4.7K的電阻。起到上拉的作用,電阻值選4.7K是為了準(zhǔn)確

26、測量溫度。如圖8所示:圖 8 DS18B20與單片機的接口電路3.4 LCD1602顯示液晶顯示模塊LCD 是一種新型的顯示模塊件,它與其他顯示模塊件相比較,有體積小、低壓微功耗、適合戶外使用、顯示信息大和無電磁輻射等優(yōu)點。3.4.1 LCD1602的工作原理LCD1602與單片機的P0口(8個IO口)之間只需直接接上拉電阻,就可以增加驅(qū)動LCD1602的能力,而且,如果有需要確定的電平,它還可以確定電平的狀態(tài)。不像數(shù)碼管,他與單片機之間必須接上分壓電阻,分區(qū)一部分的電壓值,才可以使用。而LCD1602一般大量使用低功耗的單片機系統(tǒng)中。它是通過調(diào)節(jié)光的亮度發(fā)光的,LCD1602自身并不會發(fā)光。

27、現(xiàn)在市場上采用的LCD都是采取液晶的扭曲-向列效應(yīng)制作的。LCD的主要參數(shù)如下:響應(yīng)時間:毫秒級余 輝:毫秒級閾值電壓:320V功 耗:5100()3.4.2 溫度顯示電路使AT89C51的P2.2端口與 LCD1602的6腳(使能端)相連,完成使能的定義,如果為1則讀取信息,如果由1變?yōu)?則進行執(zhí)行命令的操作,AT89C51的P2.1端口接LCD1602的RW端口,進行寫操作,AT89C51的P2.0端口接LCD1602的RS端,進行讀操作。通過AT89C51的P0.0P0.7與LCD1602的RB0RB7對應(yīng)的連接,并且分別接10K的上拉電阻,可以用來確定電平的狀態(tài)與增加LCD1602的驅(qū)

28、動能力。進而完成溫度的顯示, LCD1602的3腳(液晶對比度調(diào)整端口)接一個10K的滑動變阻器用于調(diào)節(jié)對比度。LCD1602的1腳(電源地)與16腳(背光源負極)相連接地,LCD1602的15腳(背光源正極)通過一個10K的電阻與電源相接。 圖9 溫度顯示電路 3.5 按鍵輸入電路 鍵盤模塊的處理是通過掃描每一行,假如,第一列是0.判斷行中是否有0,在本設(shè)計中,用的是四行四列的模式,如果行中有一個為0,那么就說明在第一行一定有按鍵按下,可以進行消抖,在本設(shè)計中延時了10S。如果行中沒有0,也就說明沒有按鍵按下,在接著對第二行進行掃描。以同樣的方法判斷。直至找到0。也可以假設(shè)第二列為0,判斷四

29、行中的每一行。循環(huán)進行。可以快速的判斷是那個按鍵按下。 (a) (b) 圖10 按鍵輸入模塊 3.6 PWM波控制由于加熱系統(tǒng)自身的熱慣性,溫度的精度很難達到理想的控制范圍,這樣也就直接影響了市場的需求,本設(shè)計中單片機IO口產(chǎn)生PWM波的引腳經(jīng)過Q1/Q2開關(guān)三極管,然后濾波將PWM波形變?yōu)楦唠娖胶偷碗娖?,?dāng)輸出為高電平時,場效應(yīng)管(IRF644)導(dǎo)通,電熱絲通電開始進行加熱;反之,當(dāng)為低電平時,場效應(yīng)管截止,停止對電熱絲的加熱。當(dāng)檢測到的環(huán)境溫度(這里指水溫)降低時, 輸出的脈寬就會增大, 那么電熱絲加熱的時間就增長,環(huán)境溫度就上升。反之, 則下降。PWM控制的原理圖11所示。 圖11 PW

30、M控制原理圖3.7 溫度控制電路圖將DS18B20檢測到的環(huán)境溫度與按鍵輸入設(shè)定的溫度進行比較,可以得到一個差值(這里指偏差)。溫度控制部分,主要是通過偏差來控制對象,通過PID算法,在控制的周期內(nèi)控制場效應(yīng)管的關(guān)、斷時間,進而達到控制溫度的目的,對溫度控制部分采用PID算法實現(xiàn)恒溫。下面是一個控制電熱絲加熱的電路圖,通過單片機P3.0口(PWM)引腳控制Q1/Q2三極管的通斷,進而控制IRF644的開關(guān),IRF644是MOS場效應(yīng)管N溝道的,它的耐壓值為250V,流過的電流是14A,功率為125W。達到對電熱絲進行加熱的目的。220V的交流電壓通過GBU804(橋堆整流)轉(zhuǎn)換為289V300

31、V直流電壓經(jīng)過一個100K的電阻,經(jīng)過一個電阻R5它的范圍在K級以下,用來濾波使PWM波形變?yōu)楦叩碗娖?。然后通過調(diào)節(jié)RP1可以改變IRF644的控制極電壓從而改變電流來控制電熱絲流過的電流進而實現(xiàn)加熱的目的。如圖12所示。圖12 控制電路圖4 恒溫控制系統(tǒng)軟件設(shè)計在本次設(shè)計中最難的是實現(xiàn)恒溫,并且達到很高的精度。所以我們需要先把各個分電路的軟件工作流程分析出來,以便更清晰的了解設(shè)計的內(nèi)容。但是,在設(shè)計之前首先我要先簡單的分析一下電熱絲的工作流程。4.1 工作流程采用按鍵作為輸入,并且用按鍵來完成對溫度的設(shè)定。用DS18B20檢測環(huán)境的溫度(這里指水溫),然后將設(shè)定的溫度與檢測到的環(huán)境溫度進行比

32、較,得到一個差值(也就是偏差),主要是通過偏差來控制對象。單片機的IO口(PWM引腳)控制Q1/Q2三極管,然后通過Q2的集電極把PWM波形經(jīng)過濾波,產(chǎn)生高、低電平進而來控制電熱絲中流過的電流。如果檢測的溫度超過設(shè)置溫度,就不對電熱絲進行加熱。反之,如果測量的溫度低于設(shè)置溫度,就對電熱絲進行加熱。使系統(tǒng)構(gòu)成循環(huán),把溫度保持在設(shè)定溫度的范圍。作為按鍵輸入的設(shè)定值可以進行隨時改變,一旦設(shè)定好新的溫度系統(tǒng)就立即生效,但是需要強調(diào)的是運行的是新的設(shè)定溫度。4.2 程序模塊在這次設(shè)計中涉及到的系統(tǒng)軟件有:總流程圖、測量溫度模塊流程圖、設(shè)定溫度流程圖、溫度控制流程圖和顯示溫度流程圖。 4.2.1 主程序首

33、先由系統(tǒng)開始進行初始化,然后用按鍵設(shè)定一個溫度,同時獲取DS18B20檢測到的一個環(huán)境溫度,進行按鍵掃描,將設(shè)定的溫度與檢測的環(huán)境溫度進行比較,通過PID算法進行相關(guān)的調(diào)整實現(xiàn)恒溫。然后返回初始化進入一個新的狀態(tài),主程序的流程圖如圖13所示。圖13 主程序流程圖4.2.2 溫度傳感器驅(qū)動子程序為了減少不必要的操作可以采用防水型的溫度傳感器(DS18B20),可以將它直接放到電水壺里測量溫度,將檢測到的溫度傳送給單片機,經(jīng)過單片機處理以后,先對DS18B2O進行復(fù)位,然后讀取到一個溫度值,通過LCD1602進行顯示。DS18B20的功能命令在本設(shè)計完成讀、寫暫存寄存器,讀供電模式命令和溫度的轉(zhuǎn)換

34、。在這次設(shè)計中沒有使用報警電路,所以只需要進行溫度的轉(zhuǎn)換,進而采取讀暫存寄存器的命令實現(xiàn)溫度的轉(zhuǎn)化。如圖14所示。圖 14溫度傳感器驅(qū)動子程序流程圖4.2.3 鍵盤掃描處理程序?qū)仃囨I盤可以采用對行進行掃描、對列進行檢測,也可以通過對列進行掃描、對行進行檢測,這個以個人的習(xí)慣來定,在這次設(shè)計中,采用的是對行掃描、列檢測的方式,每一行或每一列都有四個按鍵,設(shè)計為四行四列,假如,對第一行進行掃描,沒有操作之前按鍵全部處于高電平(也就是斷開的狀態(tài))。假設(shè)一下,第一列檢測到0,那么我們需要判斷第一行中是否為0,假如第一行中有0,那就說明第一行肯定有按鍵按下,然后在判斷具體是哪一個按鍵按下。在本次設(shè)計中

35、,按鍵按下時進行10s的消抖時間。反之,假如第一行沒有0,則說明第一行沒有按鍵按下,我們需要進行對第二行進行掃描,重復(fù)上訴過程,直至找到0為止。假如還是把所有的行都掃描后,依然沒有0。則假設(shè)第二列為0。重復(fù)上訴過程和方法。也就判定了是那一行有按鍵按下。同時也就可以設(shè)定溫度值。 鍵盤掃描的工作過程:(1)判斷鍵盤中是否有按鍵按下;(2)首先,對第一行進行掃描,假設(shè)第一列的電平為0,判斷第一行對否有一個為0,如果有0,則按鍵一定在第一行有按下,如果沒有,接著判斷第二行,直至找到0為止。如果在第一行第一列沒有找到按鍵,則假設(shè)第二列為0。循環(huán)判斷。(3)讀取按鍵的位置碼;(4)將按鍵的位置碼轉(zhuǎn)換為鍵值

36、;流程圖如圖15所示。 圖15 鍵盤掃描處理流程圖 4.2.4 溫度控制程序(1)PID的算法PID用微分來表示輸入與輸出之間的關(guān)系是:式中額e(t)為PID控制器的誤差信號,且 式中:r(t)為設(shè)定值,y(t)為變化量(也成當(dāng)前值);u(t)作為PID控制器的輸出和被控對象的輸入。三個參數(shù)分別為、和,其中=對于只能處理數(shù)字信號的計算機來講,當(dāng)采樣周期為T,第n次采樣的輸入誤差就為,且,輸出為u(n),PID算法用的微分 由差分 代替 ,積分 由 代替,于是得到用遞推行式表達為 由上式可推出:、和KP、K1、一一對應(yīng)。所以,算增量 un 時,只需要保持與 un同時刻的en、en-1和en-2即

37、可。初始化程序初值en-1=en-2=0通過采樣并根據(jù)參數(shù)KP、KD、KI以及en、en-1和en-2計算un。根據(jù)輸出控制增量un,可求出本次控制輸出為:下面對PID運算加以說明:把所有的數(shù)用小數(shù)進行處理。算式中的每一項區(qū)分正負,把符號位作為最高位,其中0表示為正數(shù),1表示為負數(shù)。正負數(shù)都是補碼表示,最后用原碼的形式作為輸出。在進行計算時采用16位然后將計算的結(jié)果取為高8位有效值進行輸出。即:當(dāng)時,;當(dāng)時,;當(dāng)時,。(3)溫度控制程序如圖16所示為系統(tǒng)溫度控制流程圖、在溫度控制過程中根據(jù)當(dāng)前溫度值判斷是否采用PID運算。當(dāng)前溫度與目標(biāo)溫度差大于5攝氏度時不采用PID,即是否達到目標(biāo)溫度的下限

38、溫度和上限溫度。否則采用PID算法,以滿足對溫度精度的要求。恒溫就是使目標(biāo)的溫度達到當(dāng)前溫度。目標(biāo)溫度是一個溫度范圍,分為溫度的上限與下限,如果目標(biāo)的溫度達到設(shè)定溫度的下限,就進行全速加熱,反之,如果目標(biāo)溫度達到設(shè)定溫度的上限,就停止加熱。如果目標(biāo)溫度沒有達到設(shè)定溫度的下限,采用PID算法,達到設(shè)計的要求。圖16 溫度比較的程序流程圖4.2.5 溫度顯示子程序首先,是對LCD1602進行設(shè)置,判斷它處于何種狀態(tài)下,假如,處于設(shè)定狀態(tài)則LCD1602顯示的是設(shè)定溫度,反之,假如處于當(dāng)前實際溫度的測量狀態(tài)。則顯示的是當(dāng)前實際溫度。該系統(tǒng)的流程圖如圖17所示:圖17 溫度顯示子程序4.3 軟件調(diào)試在

39、本次設(shè)計中我嘗試著做出了實物,親手對硬件、軟件進行了調(diào)試,用萬用表測量了三極管、場效應(yīng)管等等的電壓,遇到了很多的問題,但是也基本達到了設(shè)計的要求,最終的目的使得DS18B20檢測到的環(huán)境溫度達到設(shè)置溫度。能夠通過橋堆整流過的高壓控制場效應(yīng)管的通斷,進而實施加熱達到預(yù)定溫度值。將測量的溫度值與設(shè)定的溫度值進行比較,如果測量的溫度超過設(shè)置的溫度,就不實施加熱功能,如果測量的溫度低于設(shè)置的溫度時,就進行220V直流加熱,通過PID算法就可以達到恒溫。因為需要考慮較高的精度精,所以電路還存在很多的不足之處,需要更進一步的研究。 總結(jié)本文設(shè)計的是通過PID算法控制的恒溫水槽,主要是通過一個按鍵設(shè)定一個值,用DS18B20檢測環(huán)境的溫度(這里指水溫)然后將設(shè)定的溫度與檢測到的環(huán)境溫度進行比較,得到一個差值(也就是偏差),通過偏差來控制對象。將單片機IO口(PWM引腳)的PWM波形經(jīng)過Q1的一級緩沖,通過Q1的集電極與Q2的基極相連,PWM波形通過濾波產(chǎn)生高、低電平,當(dāng)產(chǎn)生的是高電平時,場效應(yīng)管導(dǎo)通,對電水壺進行加熱,當(dāng)產(chǎn)生的是低電平時,場效應(yīng)管截止,不能對電水壺進行加熱,也就是說高、低電平可以使IRF644產(chǎn)生相應(yīng)的動作,采用PID增量式算法對電熱絲進行加熱,將DS18B20(溫度傳感器)測出的溫度達到設(shè)置的溫度,如果測量的溫度超過設(shè)置溫度,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論