《基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)》_第1頁
《基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)》_第2頁
《基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)》_第3頁
《基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)》_第4頁
《基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)》_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、序號(hào)(學(xué)號(hào)): 040930727長(zhǎng)春大學(xué)光華學(xué)院畢 業(yè) 設(shè) 計(jì)(論 文)姓 名魏明巖系 別專 業(yè)班 級(jí)0409307指導(dǎo)教師馬春龍年月日長(zhǎng)春大學(xué)光華學(xué)院 基于單片機(jī)水溫控制系統(tǒng)的設(shè)計(jì)目 錄摘 要1第一章前言31.1課題背景與意義3 1.2溫度控制系統(tǒng)的應(yīng)用3 1.3畢業(yè)設(shè)計(jì)任務(wù)4第二章系統(tǒng)方案52.1水溫控制系統(tǒng)設(shè)計(jì)任務(wù)和要求52.2水溫控制系統(tǒng)部分52.3控制方式7第三章 系統(tǒng)硬件設(shè)計(jì)83.1總體設(shè)計(jì)框圖及說明83.2外部電路設(shè)計(jì)83.3 單片機(jī)系統(tǒng)電路設(shè)計(jì)9第四章系統(tǒng)軟件設(shè)計(jì)與調(diào)試134.1 程序框架結(jié)構(gòu)134.2程序流程圖及部分程序134.3 系統(tǒng)安裝調(diào)試與測(cè)試17第五章結(jié) 論18致謝

2、19 參考文獻(xiàn)20附件1(程序代碼)20附件2(電路原理圖)27第I頁裝訂線長(zhǎng)春大學(xué)光華學(xué)院 基于單片機(jī)水溫控制系統(tǒng)的設(shè)計(jì)基于單片機(jī)的水溫控制系統(tǒng)【摘要】溫度是工業(yè)控制對(duì)象主要被控參數(shù)之一,在溫度控制中,由于受到溫度被控對(duì)象特性(如慣性大、滯后大、非線性等)的影響,使得控制性能難以提高,有些工藝過程其溫度控制的好壞直接影響著產(chǎn)品的質(zhì)量,因而設(shè)計(jì)一種較為理想的溫度控制系統(tǒng)是非常有價(jià)值的。為了實(shí)現(xiàn)高精度的水溫測(cè)量和控制,本文介紹了一種以Atmel公司的低功耗高性能CMOS單片機(jī)為核心,以PID算法控制以及PID參數(shù)整定相結(jié)合的控制方法來實(shí)現(xiàn)的水溫控制系統(tǒng),其硬件電路還包括溫度采集、溫度控制、溫度顯

3、示、鍵盤輸入以及RS232接口等電路。該系統(tǒng)可實(shí)現(xiàn)對(duì)溫度的測(cè)量,并能根據(jù)設(shè)定值對(duì)溫度進(jìn)行調(diào)節(jié),實(shí)現(xiàn)控溫的目的?!娟P(guān)鍵詞】單片機(jī)AT89C51;溫度控制;溫度傳感器PT1000;PID調(diào)節(jié)算法The summary:Temperature is the main control of industrial control of parameters, In temperature control, due to temperature controlled object properties (such as inertia big, big, lagging effect of nonline

4、ar, etc.), to improve performance, some process temperature control of its direct impact on the quality of the product, and designed a kind of ideal temperature control system is a very valuable. In order to realize high precision temperature measurement and control, this paper introduces a meter ta

5、king Atmel company low-power high-performance CMOS chip as the core, and the PID control algorithm with PID parameters combination of control method to realize the temperature control system, the hardware circuit including temperature, temperature control, temperature gathering, keyboard input and R

6、S232 interface circuits, etc. The system can realize the measurement for temperature, and can according to value of temperature adjustment, and realize the objective temperature control.Keywords: AT89C51 microcontroller, Temperature control, PT1000 temperature sensor, PID algorithm第一章 前 言1.1課題背景與意義在

7、現(xiàn)代化的工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。例如:在冶金工業(yè)、化工生產(chǎn)、電力工程、造紙行業(yè)、機(jī)械制造和食品加工等諸多領(lǐng)域中,人們都需要對(duì)各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進(jìn)行檢測(cè)和控制。采用MCS-51單片機(jī)來對(duì)溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。目前,溫度控制系統(tǒng)在國內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國內(nèi)生產(chǎn)的溫度控制器來講,總體發(fā)展水平仍然不高,同國外的日本、美國、德國等先進(jìn)國家相比,仍然有著較大的差距?,F(xiàn)在,我國在這方面總體技術(shù)水平處于20世

8、紀(jì)80年代中后期水平。成熟產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的PID控制器為主,它只能適應(yīng)一般溫度系統(tǒng)控制,難于控制滯后復(fù)雜時(shí)變溫度系統(tǒng)控制,而且適應(yīng)于較高控制場(chǎng)合的智能化、自適應(yīng)控制儀表國內(nèi)技術(shù)還不十分成熟,形成商品化并廣泛應(yīng)用的控制儀表較少。隨著嵌入式系統(tǒng)開發(fā)技術(shù)的快速發(fā)展及其在各個(gè)領(lǐng)域的廣泛應(yīng)用,人們對(duì)電子產(chǎn)品的小型化和智能化要求越來越高,作為高新技術(shù)之一的單片機(jī)以其體積小、價(jià)格低、可靠性高、適用范圍大以及本身的指令系統(tǒng)等諸多優(yōu)勢(shì),在各個(gè)領(lǐng)域、各個(gè)行業(yè)應(yīng)用廣泛。1.2溫度控制系統(tǒng)的應(yīng)用 鹽浴爐溫度控制系統(tǒng)利用S型鉑銠-銠熱電偶檢測(cè)溫度,熱電偶進(jìn)行冷端補(bǔ)償,熱電偶檢測(cè)的信號(hào)通過放大、采樣保持、模

9、數(shù)轉(zhuǎn)換再送單片機(jī)保存,采用分段查表法獲取各點(diǎn)溫度。選用可控硅過零觸發(fā)自動(dòng)控制鹽浴爐溫度,控制周期為100個(gè)三相交流市電周期,即2s。由單片機(jī)控制可按預(yù)設(shè)溫度曲線進(jìn)行加熱,并可實(shí)時(shí)顯示加溫曲線。大型糧庫采用主機(jī)為PC上位機(jī),從機(jī)為68HC08GP32為主控芯片的分機(jī)(下位機(jī))。下位機(jī)采用DALLAS的數(shù)字式溫度傳感器芯片DS1820,可以在三根線(電源線、地線、信號(hào)線)上同時(shí)并聯(lián)多個(gè)溫度探測(cè)點(diǎn)。每個(gè)分機(jī)上可以連接10跟電纜,每根電纜上可并聯(lián)幾十個(gè)點(diǎn)。分機(jī)利用了68HC08GP32的片內(nèi)FLASH功能,實(shí)現(xiàn)了DS1820的序列號(hào)在68HC08GP32中的動(dòng)態(tài)存取,從而節(jié)省了大量存儲(chǔ)器。溫度數(shù)據(jù)保存

10、在68HC08GP32的片內(nèi)RAM里并且利用了充分利用了68HC08GP32的片內(nèi)的A/D實(shí)現(xiàn)了濕度數(shù)據(jù)的測(cè)量。有的還用PLC來控制總之溫度控制系統(tǒng)的控制方式是多種多樣的。1.3課程設(shè)計(jì)任務(wù)本文主要介紹單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)過程,其中涉及系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、元器件的選取和控制算法的選擇、程序的調(diào)試和系統(tǒng)參數(shù)的整定。以AT89C51為CPU,溫度信號(hào)由PT1000和電壓放大電路提供。電壓放大電路用超低溫漂移高精度運(yùn)算放大器OP07將溫度-電壓信號(hào)進(jìn)行放大,用單片機(jī)控制SSR固態(tài)繼電器的通斷時(shí)間以控制水溫,系統(tǒng)控制對(duì)象為1升凈水,容器為搪瓷器皿。水溫可以在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)控制,以保持設(shè)定的溫度基

11、本不變,具有較好的快速性與較小的超調(diào)。第二章 系統(tǒng)方案2.1 水溫控制系統(tǒng)設(shè)計(jì)任務(wù)和要求設(shè)計(jì)一個(gè)水溫自動(dòng)控制系統(tǒng),控制對(duì)象為1升凈水,水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)調(diào)整,以保持設(shè)定的溫度基本不變,系統(tǒng)設(shè)計(jì)具體要求:溫度設(shè)定范圍為40,目標(biāo)溫度的±5; 加熱棒功率2KW,控制器為繼電器;用十進(jìn)制數(shù)碼管顯示水的實(shí)際溫度。2.2 水溫控制系統(tǒng)部分水溫控制系統(tǒng)是一個(gè)過程控制系統(tǒng),組成框圖如圖1所示,由控制器、執(zhí)行器、被控對(duì)象其反饋?zhàn)饔玫臏y(cè)量變送組成。測(cè)量變送試通過溫度傳感器Pt1000來傳送的??刂破魇峭ㄟ^單片機(jī)來完成。圖1 控制系統(tǒng)框圖2.2.1 CPU中央處

12、理器方案一:采用8031作為控制核心,使用最為普遍的器件ADC0804作模數(shù)轉(zhuǎn)換,控制上使用對(duì)加熱棒加電對(duì)水槽里的水升溫。此方案簡(jiǎn)易可行,器件價(jià)格便宜,但8031內(nèi)部沒有程序存儲(chǔ)器需擴(kuò)展,增加了電路的復(fù)雜性。方案二:此方案采用8951單片機(jī)實(shí)現(xiàn),可用編程實(shí)現(xiàn)各種控制算法和邏輯控制。進(jìn)行數(shù)據(jù)轉(zhuǎn)換,控制電路部分采用SSR固態(tài)繼電器控制加熱棒的通斷,此方案電路簡(jiǎn)單并且可以滿足題目中的各項(xiàng)要求的精度。比較兩個(gè)方案可知,采用Atmel單片機(jī)來實(shí)現(xiàn)本題目,不管是從結(jié)構(gòu)上,還是從工作量上都占有很大的優(yōu)勢(shì),所以最后決定使用AT89C51作為該控制系統(tǒng)的核心。根據(jù)溫度變化慢,并且控制精度不易掌握的特點(diǎn),設(shè)計(jì)了水

13、箱溫度自動(dòng)控制系統(tǒng),總體框圖如圖2所示。溫度控制采用改進(jìn)的PID數(shù)字控制算法,顯示采用用3位LED靜態(tài)顯示。(2) 溫度控制系統(tǒng)算法分析ty系統(tǒng)算法控制 圖2 控制器設(shè)計(jì)總體框圖采用工業(yè)上常用的位置型PID數(shù)字控制,并且結(jié)合特定的系統(tǒng)加以算法的改進(jìn),形成了變速積分PID積分分離PID控制相結(jié)合的自動(dòng)識(shí)別的控制算法。該方法不僅大大減小了超調(diào)量,而且有效地克服了積分飽和的影響,使控制精度大大提高。PID控制適用于負(fù)荷變化大、容量滯后較大、控制品質(zhì)要求又很高的控制系統(tǒng)。PID調(diào)節(jié)器有三個(gè)可設(shè)定參數(shù),即比例放大系數(shù)、積分時(shí)間常數(shù)、微分時(shí)間常數(shù)。 比例調(diào)節(jié)的作用是使調(diào)節(jié)過程趨于穩(wěn)定,但會(huì)產(chǎn)生穩(wěn)態(tài)誤差;積

14、分作用可消除被調(diào)量的穩(wěn)態(tài)誤差,但可能會(huì)使系統(tǒng)振蕩甚至使系統(tǒng)不穩(wěn)定; 微分作用能有效的減小 動(dòng)態(tài)偏差。如圖3所示。 圖3 比例積分微分控制 由圖4可知PID調(diào)節(jié)器是一種線性調(diào)節(jié)器,這種調(diào)節(jié)器是將設(shè)定值w與實(shí)際輸出值y進(jìn)行比較構(gòu)成偏差e=w-y。并將其比例、積分、微分通過線性組合構(gòu)成控制量。其動(dòng)態(tài)方程為: (其中Kp為比例放大系數(shù);Ki為積分時(shí)間常數(shù);Kd為微分時(shí)間常數(shù))PID調(diào)節(jié)器的離散化表達(dá)式為; 其增量表達(dá)形式為(T為采樣周期): 圖4 模擬PID控制2.3 控制方式該控制系統(tǒng)是把輸出量檢測(cè)出來,經(jīng)過物理量的轉(zhuǎn)換,再反饋到輸入端去與給定量進(jìn)行比較(綜合),并利用控制器形成的控制信號(hào)通過執(zhí)行機(jī)

15、構(gòu)SSR對(duì)控制對(duì)象進(jìn)行控制,抑制內(nèi)部或外部擾動(dòng)對(duì)輸出量的影響,減小輸出量的誤差,達(dá)到控制目的。在此控制系統(tǒng)中單片機(jī)就相當(dāng)于常規(guī)控制系統(tǒng)中的運(yùn)算器控制器,它對(duì)過程變量的實(shí)測(cè)值和設(shè)定位之間的誤差信號(hào)進(jìn)行運(yùn)算然后給出控制信息,單片機(jī)的運(yùn)算規(guī)則稱為控制法則或控制算法。第三章 系統(tǒng)硬件設(shè)計(jì)3.1 總體設(shè)計(jì)框圖及說明本系統(tǒng)是一個(gè)簡(jiǎn)單的單回路控制系統(tǒng),總體框圖如圖2所示。單片機(jī)系統(tǒng)是整個(gè)控制系統(tǒng)的核心,AT89C51可以提供系統(tǒng)控制所需的I/O口、中斷、定時(shí)及存放中間結(jié)果的RAM電路;前向通道是信息采集的通道,主要包括傳感器、信號(hào)放大、A/D轉(zhuǎn)換等電路;由于水溫變化是一個(gè)相對(duì)緩慢的過程,因此前向通道中沒有使

16、用采樣保持電路;信號(hào)的濾波可由軟件實(shí)現(xiàn),以簡(jiǎn)化硬件、降低硬件成本。鍵盤設(shè)定:用于溫度設(shè)定,共三個(gè)按鍵。數(shù)據(jù)采樣:將由傳感器及相關(guān)電路采集到的溫度轉(zhuǎn)為電壓信號(hào),經(jīng)A/D轉(zhuǎn)換后,送入AT89C51相應(yīng)接口中,換算成溫度值,用于控制和顯示。數(shù)據(jù)顯示:采用了共陰極數(shù)碼管LED進(jìn)行顯示設(shè)置溫度與測(cè)量溫度。繼電器/加熱棒:通過三極管控制繼電器的開關(guān)來完成對(duì)加熱棒的控制。3.2 外部電路設(shè)計(jì)3.2.1 溫度采集電路采用溫度傳感器鉑電阻Pt1000,對(duì)于溫度的精密測(cè)量而言,溫度測(cè)量部分是整個(gè)系統(tǒng)設(shè)計(jì)的第一步。溫度傳感器的選擇是這塊電路的關(guān)鍵,它是直接影響整個(gè)系統(tǒng)的性能與效果的關(guān)鍵因素之一。這里采用的是精密級(jí)鉑

17、電阻溫度傳感器Pt1000,它的金屬鉑含量達(dá)99. 9999%,因?yàn)殂K電阻的物理和化學(xué)性能在高溫和氧化介質(zhì)中很穩(wěn)定、價(jià)格又便宜,常用作工業(yè)測(cè)量元件,以鉑電阻溫度計(jì)作基準(zhǔn)器線性好,溫度系數(shù)分散性小,在0100攝氏度時(shí),最大非線性偏差小于0.5攝氏度,性能穩(wěn)定,廣泛用于精密溫度測(cè)量和標(biāo)定。鉑熱電阻與溫度關(guān)系式,其中:-溫度為t攝氏度時(shí)的電阻; -溫度為0攝氏度時(shí)的電阻;A、B-溫度系數(shù) A=3.94*102/;其中B=-/;T-任意溫度。3.2.2 溫度控制電路此部分通過控制繼電器的通斷從而控制加熱棒,采用對(duì)加在加熱棒兩端的電壓進(jìn)行通斷的方法進(jìn)行控制,以實(shí)現(xiàn)對(duì)水加熱功率的調(diào)整,從而達(dá)到對(duì)水溫控制的

18、目的,即在閉環(huán)控制系統(tǒng)中對(duì)被控對(duì)象實(shí)施控制。此部分的繼電器采用的是SSR繼電器,即固態(tài)繼電器,主要由輸入(控制)電路,驅(qū)動(dòng)電路和輸出(負(fù)載)電路三部分組成。固態(tài)繼電器的輸入電路是為輸入控制信號(hào)提供一個(gè)回路,使之成為固態(tài)繼電器的觸發(fā)信號(hào)源。固態(tài)繼電器的輸出電路是在觸發(fā)信號(hào)的控制下,實(shí)現(xiàn)固態(tài)繼電器的通斷切換。輸出電路主要由輸出器件(芯片)和起瞬態(tài)抑制作用的吸收回路組成,固態(tài)繼電器(SSR)是一種全電子電路組合的元件,它依靠半導(dǎo)體器件和電子元件的電、磁和光特性來完成其隔離和繼電切換功能。圖5是它的工作原理框圖,圖11中的部件-構(gòu)成交流SSR的主體,從整體上看,SSR只有兩個(gè)輸入端(A和B)及兩個(gè)輸出

19、端(C和D),是一種四端器件。工作時(shí)只要在A、B上加上一定的控制信號(hào),就可以控制C、D兩端之間的“通”和“斷”,實(shí)現(xiàn)“開關(guān)”的功能。圖5 SSR結(jié)構(gòu)圖由于開關(guān)電路在不加特殊控制電路時(shí),將產(chǎn)生射頻干擾并以高次諧波或尖峰等污染電網(wǎng),為此特設(shè)“過零控制電路”。為使其實(shí)現(xiàn)過零控制,就是要實(shí)現(xiàn)工頻電壓的過零檢測(cè),并給出脈沖信號(hào),由單片機(jī)控制可控硅過零脈沖數(shù)目。當(dāng)在其輸入端加入控制信號(hào)時(shí),輸出端接通,從而使得加熱棒加熱以致溫度上升;當(dāng)此時(shí)撤離控制信號(hào)時(shí),輸出端斷開,而使加熱棒停止加熱從而溫度下降。圖6 加熱棒控制電路3.3 單片機(jī)系統(tǒng)電路設(shè)計(jì)3.3.1系統(tǒng)框圖圖7 系統(tǒng)框圖3.3.2 A/D轉(zhuǎn)換電路ADC

20、0804是CMOS集成工藝制成的逐次比較型A/D轉(zhuǎn)換器芯片。分辨率為8位,轉(zhuǎn)換時(shí)間為100s,輸出電壓范圍為05V,增加某些外部電路后,輸入模擬電壓可為±5V。該芯片內(nèi)有輸出數(shù)據(jù)鎖存器,當(dāng)與計(jì)算機(jī)連接時(shí),轉(zhuǎn)換電路的輸出可以直接連接到CPU的數(shù)據(jù)總線上,無需附加邏輯接口電路。圖8 ADC0804引腳圖 圖9 ADC0804控制信號(hào)的時(shí)序圖采集數(shù)據(jù)時(shí),首先微處理器執(zhí)行一條傳送指令,在指令執(zhí)行過程中,微處理器在控制總線的同時(shí)產(chǎn)生CS1、WR1低電平信號(hào),啟動(dòng)A/D轉(zhuǎn)換器工作,ADC0804經(jīng)100S后將輸入模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)存于輸出鎖存器,并在INTR端產(chǎn)生低電平表示轉(zhuǎn)換結(jié)束,并通知微

21、處理器可來取數(shù)。當(dāng)微處理器通過總線查詢到INTR為低電平時(shí),立即執(zhí)行輸入指令,以產(chǎn)生CS、RD2低電平信號(hào)到ADC0804相應(yīng)引腳,將數(shù)據(jù)取出并存入存儲(chǔ)器中。整個(gè)數(shù)據(jù)采集過程中,由微處理器有序地執(zhí)行若干指令完成,AD0804的連接圖如圖10。圖10 AD0804連接圖3.3.3 鍵盤設(shè)置電路單片機(jī)上的P25口接S1,P26口接S2,P27口接S3。S1:設(shè)置溫度的十位數(shù):09S2:設(shè)置溫度的個(gè)位數(shù):09S3:工作模式選擇鍵,共有兩種工作模式:正常工作狀態(tài)、溫度重新設(shè)置。系統(tǒng)上電后,數(shù)碼管全部顯示為零,根據(jù)按S1次數(shù),十位的數(shù)碼管順序增加。同樣S2,也如此。按S3后,系統(tǒng)開始測(cè)溫,并與采集的溫度

22、進(jìn)行比較,通過軟件來控制加熱棒的開關(guān)。 圖11 鍵盤設(shè)置電路3.3.4數(shù)碼顯示電路數(shù)碼管作為單片機(jī)系統(tǒng)最為常用的輸出器件,在顯示時(shí)可以由數(shù)字和少量字母組合完成輸出功能的系統(tǒng)中應(yīng)用十分方便。圖23為AT89C51最小系統(tǒng)以及一個(gè)四位共陰數(shù)碼管,DIG0、DIG1、DIG2、DIG3分別與單片機(jī)的P21、P22、P23、P24相連,每一個(gè)都擁有一個(gè)共陰的位選端。從而可以通過單片機(jī)選通所需顯示的數(shù)碼管。SegA-SegDp口傳輸要顯示的數(shù)據(jù),利用其串/并轉(zhuǎn)換功能,送入數(shù)碼管顯示。在此外接了一個(gè)10K的排阻來保護(hù)LED。 圖12 數(shù)碼管顯示電路第四章 系統(tǒng)軟件設(shè)計(jì)4.1 程序框架結(jié)構(gòu)一個(gè)整體的系統(tǒng)軟件

23、設(shè)計(jì)是由各個(gè)在系統(tǒng)里起著不同作用的模塊整合在一起,從而實(shí)現(xiàn)系統(tǒng)的所要實(shí)現(xiàn)的功能。本系統(tǒng)硬件接口如下:P1-AD; P00P07-LEDaLEDdp.;P25P27-S1S3; P20P23-COM1COM3;此系統(tǒng)包括主控制程序,A/D采樣數(shù)據(jù)處理程序,PID算法程序,LED顯示及按鍵處理程序。結(jié)構(gòu)框架圖如圖13所示。圖13 程序結(jié)構(gòu)圖主程序模塊對(duì)子程序模塊的調(diào)用進(jìn)行管理,它主要負(fù)責(zé)初始化IO口;等待鍵盤的被按下,并調(diào)用相應(yīng)的模塊進(jìn)行處理;在適當(dāng)?shù)臅r(shí)候接受A/D采樣的數(shù)據(jù),并與所設(shè)定的值進(jìn)行比較,然后通過調(diào)用PID算法處理數(shù)據(jù),處理后來控制繼電器的通斷,從而控制熱電管達(dá)到控制水溫的目的。4.2

24、 程序流程圖及部分程序4.2.1主程序模塊由于模塊化程序的設(shè)計(jì),通過調(diào)用程序即可實(shí)現(xiàn)所用功能,主程序流程圖如圖14所示。寫程序時(shí),調(diào)用程序前即系統(tǒng)運(yùn)行首要先對(duì)系統(tǒng)進(jìn)行初始化。然后對(duì)按鍵進(jìn)行掃描,對(duì)按鍵事件做出相應(yīng)的反應(yīng)。接下來看是否有溫度數(shù)據(jù)采集到,如果有就進(jìn)行A/D采樣及PID處理數(shù)據(jù),最后所得結(jié)果與設(shè)定值比較從而控制繼電器通斷。圖14 主程序流程圖4.2.2 系統(tǒng)初始化系統(tǒng)初始化包括A/D口初始化、按鍵初始化等。對(duì)端口的初始化即是對(duì)端口相應(yīng)位進(jìn)行設(shè)置,這些初始化程序都嵌入在各個(gè)子程序里面。4.2.3 按鍵程序按鍵掃描:由于機(jī)械觸點(diǎn)有彈性,在按下或彈起按鍵時(shí)會(huì)出現(xiàn)彈跳抖動(dòng)過程,從最初按下到接

25、觸穩(wěn)定要經(jīng)過數(shù)毫秒的彈跳時(shí)間,因此為了保證探險(xiǎn)鍵識(shí)別的準(zhǔn)確性,必須消除抖動(dòng)。鍵值處理:圖15是對(duì)鍵值的處理流程圖。4.2.3 A/D采樣數(shù)據(jù)處理當(dāng)采樣到溫度數(shù)據(jù)時(shí),為了防止在采樣過程中外界干擾而造成采樣數(shù)據(jù)的不準(zhǔn)確,必須調(diào)用溫度均值處理程序,然后確定溫度系數(shù)使采樣轉(zhuǎn)換得到的電壓信號(hào)轉(zhuǎn)換成溫度值,并進(jìn)行十進(jìn)制轉(zhuǎn)換,用于顯示和PID計(jì)算。其中均值處理是一個(gè)重要的環(huán)節(jié),是A/D轉(zhuǎn)換前必不可少的工具,流程圖如圖16所示。圖15 鍵值處理 圖16 A/D轉(zhuǎn)換流程圖4.2.5 PID計(jì)算由于單片機(jī)控制是一種采樣控制,系統(tǒng)中 PID調(diào)節(jié)規(guī)律可通過數(shù)值公式近似計(jì)算。 (式4-1) (式4-2)由此可得增量式算

26、法公式: (式4-3) (式4-4)這個(gè)計(jì)算的過程可用一個(gè)簡(jiǎn)單的程序來實(shí)現(xiàn)。4.2.6 繼電器控制繼電器是和AT89C51單片機(jī)的P25口相連的,它的開斷完全取決于P25口的輸出,即PID計(jì)算的結(jié)果。當(dāng)輸出小于零說明設(shè)定值小于實(shí)際輸出值,這是就要關(guān)閉電爐,同時(shí)關(guān)閉定時(shí)器的計(jì)時(shí)。如果輸出值大于設(shè)定值5攝氏度時(shí)就可以開電爐對(duì)水開始加熱。如果設(shè)定值與實(shí)際輸出值差值在5攝氏度以內(nèi)時(shí),我們就調(diào)用中斷程序定時(shí)加熱。圖17數(shù)據(jù)采樣中斷服務(wù)程序的流程圖,此中斷程序采用的是2Hz中斷定時(shí)0.5秒鐘采樣一次。圖18控制程序的中斷服務(wù)程序,用來對(duì)繼電器定時(shí)加熱。它利用中斷定時(shí)器10ms確定加熱時(shí)間,當(dāng)加熱時(shí)間未到時(shí)

27、,繼續(xù)時(shí)間累積,若加熱時(shí)間到時(shí),就調(diào)用關(guān)定時(shí)器子程序,停止計(jì)時(shí)。 圖17數(shù)據(jù)采樣中斷程序流程圖 圖18控制程序中斷程序流程圖4.2.7 單片機(jī)最小系統(tǒng) 在以單片機(jī)為控制核心的控制系統(tǒng)中,單片機(jī)擔(dān)負(fù)著接受外部信號(hào),發(fā)出控制指令等重要作用,是構(gòu)建控制系統(tǒng)的前提,所以在開始直流電機(jī)控制系統(tǒng)的設(shè)計(jì)之前必須首先搭建起一套能正常工作的單片機(jī)最小系統(tǒng)。 最小系統(tǒng)是實(shí)現(xiàn)實(shí)驗(yàn)的一個(gè)最基本的關(guān)鍵環(huán)節(jié),它的好壞決定了一個(gè)系統(tǒng)的好壞,所以說最小系統(tǒng)是單片機(jī)里最基本的系統(tǒng),也是重要的系統(tǒng)。圖19單片機(jī)最小系統(tǒng)4.3 系統(tǒng)安裝調(diào)試與測(cè)試1 測(cè)觸點(diǎn)電阻用萬能表的電阻檔,測(cè)量常閉觸點(diǎn)與動(dòng)點(diǎn)電阻,其阻值應(yīng)為0;而常開觸點(diǎn)與動(dòng)點(diǎn)

28、的阻值就為無窮大。由此可以區(qū)別出那個(gè)是常閉觸點(diǎn),那個(gè)是常開觸點(diǎn)。經(jīng)測(cè)試本系統(tǒng)使用的繼電器為常開式。2 測(cè)線圈電阻可用萬能表R×200檔測(cè)量繼電器線圈的阻值,從而判斷該線圈是否存在著開路現(xiàn)象。3 測(cè)量吸合電壓和吸合電流找來可調(diào)穩(wěn)壓電源和電流表,給繼電器輸入一組電壓,且在供電回路中串入電流表進(jìn)行監(jiān)測(cè)。慢慢調(diào)高電源電壓,聽到繼電器吸合聲時(shí),記下該吸合電壓和吸合電流。為求準(zhǔn)確,可以試多幾次而求平均值。4 測(cè)量釋放電壓和釋放電流進(jìn)行連接測(cè)試,當(dāng)繼電器發(fā)生吸合后,再逐漸降低供電電壓,當(dāng)聽到繼電器發(fā)生釋放聲音時(shí),記下此時(shí)的電壓和電流,亦可嘗試多幾次而取得平均的釋放電壓和釋放電流。一般情況下,繼電器

29、的釋放電壓約在吸合電壓的1050,如果釋放電壓太?。ㄐ∮?/10的吸合電壓),則不能正常使用了,這樣會(huì)對(duì)電路的穩(wěn)定性造成威脅,工作不可靠。第五章 結(jié) 論此課程設(shè)計(jì)是水溫控制系統(tǒng),首先是方案的選擇,這是課程設(shè)計(jì)的最主要的環(huán)節(jié)。然后進(jìn)行軟件編程,通過數(shù)據(jù)線連接電腦下載編好的程序,進(jìn)行調(diào)試。再接下來是添加單元電路,并進(jìn)行調(diào)試。調(diào)試過程中,遇到不少問題,主要是經(jīng)驗(yàn)不足,經(jīng)過不停的摸索,問題基本上得到了解決。我也懂得了系統(tǒng)要有良好的控制效果,其前端采集溫度信號(hào)需要足夠精確,其次系統(tǒng)的構(gòu)成要簡(jiǎn)單實(shí)用,實(shí)時(shí)監(jiān)控系統(tǒng)狀態(tài)參數(shù),并且運(yùn)用多種算法使得數(shù)據(jù)更為接近真實(shí)值。此次系統(tǒng)設(shè)計(jì)中主要難題為控制系統(tǒng)輸出控制和P

30、ID控件,系統(tǒng)PID輸出為模擬信號(hào)而該系統(tǒng)的控制對(duì)象為一加熱棒,因此一般的執(zhí)行器無法滿足控制需求,而使用普通的觸點(diǎn)式繼電器會(huì)因頻繁開關(guān)而產(chǎn)生電弧,可能導(dǎo)致事故發(fā)生。所以在系統(tǒng)執(zhí)行部分選取了SSR固態(tài)繼電器作執(zhí)行部件,從而克服了觸點(diǎn)式繼電器的不足。PID控件的難題在于參數(shù)整定,對(duì)于本系統(tǒng)來說參數(shù)整定只能使用經(jīng)驗(yàn)湊試,而且調(diào)試的時(shí)候一定要耐心??偟膩碚f通過這次設(shè)計(jì)實(shí)驗(yàn),學(xué)到了很多東西,無論是動(dòng)手能力,分析問題的能力都得到了提高,重要的是建立了對(duì)電子設(shè)計(jì)興趣。最大的體會(huì)還是理論運(yùn)用到實(shí)踐還是有很大差距,理論學(xué)得再好到了實(shí)際運(yùn)用的時(shí)候還是會(huì)出現(xiàn)很多問題,這些問題通過多實(shí)踐積累經(jīng)驗(yàn)可以得到解決。致謝人間

31、五月天,新柳梳妝小池邊,細(xì)雨點(diǎn)灑在花前。完成這篇課程設(shè)計(jì)時(shí),心中沒有成就感,卻徒添幾分歉疚。這篇?jiǎng)e業(yè)設(shè)計(jì)從選題到完成初稿,歷時(shí)近5個(gè)月,還記得元月定選題時(shí),我對(duì)于我要做什么、怎么做一片茫然,到今天看到成篇的文字時(shí),幾許釋然。  人都說一生中最美好的時(shí)光是在大學(xué)校園,三載光陰似水而過,來不及回憶卻叫時(shí)間沖淡了酸甜苦辣,帶走了悲歡離合。我們最熱情最美好的時(shí)光,就像這人間五月天,有著最燦爛的風(fēng)景、最多情的細(xì)雨、最溫暖的和風(fēng),也有著最短暫的花景、最感傷的泥濘、最健忘的飛絮。轉(zhuǎn)眼間,夏來了,它“烤”驗(yàn)萬物,一如人生,開始接受最大的生存考驗(yàn),用盡最熱烈的青春去換取一個(gè)將來祥和的秋、溫暖的冬。從學(xué)

32、校走入社會(huì),亦如從春到夏。 非常感謝在我結(jié)束學(xué)校生活最后是一段時(shí)間了張老師對(duì)我的學(xué)習(xí)和畢業(yè)設(shè)計(jì)上的幫助,在這里真心的說一句:老師,您辛苦了。參考文獻(xiàn)1黃智偉. 全國大學(xué)生電子設(shè)計(jì)競(jìng)賽電路設(shè)計(jì). 北京:北京航天航空大學(xué)出版社,20072黃智偉. 全國大學(xué)生電子設(shè)計(jì)競(jìng)賽技能訓(xùn)練. 北京:北京航天航空大學(xué)出版社,20073黃智偉. 全國大學(xué)生電子設(shè)計(jì)競(jìng)賽制作實(shí)訓(xùn). 北京:北京航天航空大學(xué)出版社,20074譚浩強(qiáng). C程序設(shè)計(jì). 北京:清華大學(xué)出版社,20025胡壽松.自動(dòng)控制原理(第四版). 北京:科學(xué)出版社, 2000,P220236附件1(程序代碼):#include <AT89C51.h

33、>#include <intrins.h>#define uint unsigned int#define uchar unsigned charsbit S1 = P25;sbit S2 = P26;sbit S3 = P27;unsigned GetCh (void) unsigned char s = 0,k = 0; if(!S1) s = 1; /對(duì)于不同按鍵按下賦予不同數(shù)值,以供后面程序判斷 if(!S2) s = 2; if(!S3) s = 3; k = s; if(s) while(s) delay(1000);s = 0;if(!S1) s = 1; if

34、(!S2) s = 2; if(!S3) s = 3; return k;/以下是A/D轉(zhuǎn)換程序/=void System_Initial (void)CS = 1;WR = 1;RD = 1;void GetAD(void)CS = 0;nop();/空操作WR1 = 0;Delay(100);WR1 = 1;nop();CS = 1;while(!INTR);nop();CS = 0;nop();RD1 = 0;nop();dat = P2;RD1 = 1;nop();CS = 1; ch = dat; /ch是全局變量 int adc_data;if(G_ADC_flag) /判斷是否有

35、溫度采樣 1,有 0,無 G_ADC_flag = 0; adc_data = adc_data_cmp(); adc_data /= SET_ADC_TIME; /計(jì)算溫度平均值 if(adc_data >0x0255) K = 0.079; /確定溫度系數(shù) else K = 0.076; fT = adc_data * K; /換算成溫度值/將溫度值轉(zhuǎn)換成十進(jìn)制用于LED顯示guiLED_Value0 = (int)fT/10; guiLED_Value1 = (int)fT%10; guiLED_Value2 = (int)(fT*10)%10;stPID.Proportion =

36、 1; / 設(shè)置PID比例值stPID.Integral = 0.5; / 設(shè)置PID積分值stPID.Derivative = 0.0; / 設(shè)置PID微分值Out = 100*PIDCalc ( &stPID,(int)(fT*10) ); / PID計(jì)算 /=/函數(shù): int adc_data_cmp()/語法: int adc_data_cmp()/描述: ADC采樣數(shù)據(jù)的均值處理,抗干擾作用/參數(shù): 無/返回: 無/= int adc_data_cmp() int max; int min; int Sum; int i; max = ADC_DataSave0; for(i

37、=0;i<10;i+) if(ADC_DataSavei>max) max = ADC_DataSavei; /取出最大值 min = ADC_DataSavei; for(i=0;i<10;i+) if(ADC_DataSavei<min) min = ADC_DataSavei; /取出最小值 for(i=0;i<10;i+) Sum += ADC_DataSavei; /計(jì)算累計(jì)值 Sum = Sum - max-min; /排除最大最小值 return(Sum);/PID算法子程序/=/函數(shù): void PID_Initial(void)/語法:void PID_Initial

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論