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

下載本文檔

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

文檔簡介

1、 31基于單片機(jī)爐溫控制系統(tǒng)設(shè)計摘 要本文主要從硬件和軟件兩方面介紹了mcs-51單片機(jī)溫度控制系統(tǒng)的設(shè)計思路,簡單說明如何實(shí)現(xiàn)對溫度的控制,并對硬件原理圖和程序框圖作了簡潔的描述。還介紹了在單片機(jī)溫度控制系統(tǒng)的軟硬件設(shè)計中的一些主要技術(shù)關(guān)鍵環(huán)節(jié),該系統(tǒng)主要以89c51單片機(jī)為核心,由溫度檢測電路,模/數(shù)轉(zhuǎn)換電路, 過零檢測電路, 報警與指示電路, 光電隔離與功率放大電路等構(gòu)成。關(guān)鍵詞:單片機(jī);溫度傳感器;溫度檢測;溫度控制;pid算法based on single-chip microcomputre temperature controlsystem designabstractthe d

2、esign of single-chips temperature control system is introduced from hardware and software, and simply explains how to actualize the temperature control. the hardware principle and software case fig are described. some important techniques in a design scheme of the hardware and the software of the te

3、mperature control by single-chip microcomputer are introduced. the system mostly takes 89c51 single-chip microcomputer as core, it is structured by temperature testing circuit, a/d switch circuit, zero passage testing circuit, warning and indication circuit, optical-electrical isolation and power am

4、plifier circuit and so on.key words:singlechip microcomputer;temperature sensor;temperature collecting;temperature controlling;pid algorithm 目 錄1 前言11.1 課題的背景與意義11.2 課題的應(yīng)用與展望21.3 課題舉例簡介22 總體方案32.1 系統(tǒng)結(jié)構(gòu)32.2 單片機(jī)溫控模塊32.3 具體設(shè)計考慮43 硬件設(shè)計53.1 at89c51單片機(jī)的最小系統(tǒng)設(shè)計53.1.1 電源電路53.1.2 時鐘電路53.1.3 復(fù)位電路73.2 溫度控制電路73.

5、3 溫度檢測電路設(shè)計83.3.1 設(shè)計目標(biāo)83.3.2 設(shè)計的出發(fā)點(diǎn)83.3.3 設(shè)計原理83.3.4 轉(zhuǎn)換電路83.3.5 信號處理電路93.3.6 主電路103.4 光電隔離電路113.5 過零檢測電路114 軟件設(shè)計124.1 設(shè)計步驟124.1.1 系統(tǒng)的程序框圖124.2 pid控制算法144.2.1 pid控制作用144.2.2 pid算法的微機(jī)實(shí)現(xiàn)144.2.3 pid算法的程序設(shè)計154.3 內(nèi)存分配165 結(jié)論19致謝20參考文獻(xiàn)21附錄a源程序清單22附錄b電路原理圖321 前言1.1 課題的背景與意義在近四十年的時間里,電子計算機(jī)的發(fā)展經(jīng)歷了從電子管、晶體管、中小規(guī)模集成

6、電路到大規(guī)模集成電路這樣四個階段,尤其是隨著半導(dǎo)體集成技術(shù)的飛躍發(fā)展,七十年代初誕生了一代新型的電子計算機(jī)微型計算機(jī),使得計算機(jī)應(yīng)用日益廣泛;而單片微型計算機(jī)的問世,則更進(jìn)一步推動了這一發(fā)展趨勢,使計算機(jī)應(yīng)用滲透到各行各業(yè),達(dá)到了前所未有的普及程度。一個由微電子技術(shù)為先導(dǎo),計算機(jī)技術(shù)為標(biāo)志,包括新材料、宇航、生物工程、海洋工程等多種學(xué)科在內(nèi)的新技術(shù)革命正在興起。 在國內(nèi),由于單片機(jī)具有功能強(qiáng)、體積小、可靠性好、和價格低廉等獨(dú)特優(yōu)點(diǎn),因此,在智能儀器儀表、工業(yè)自動控制、計算機(jī)智能終端、家用電器、兒童玩具等許多方面,都已得到了很好的應(yīng)用,因而受到人們高度重視,取得了一系列科研成果,成為傳統(tǒng)工業(yè)技術(shù)

7、改造和新產(chǎn)品更新?lián)Q代的理想機(jī)種,具有廣闊的發(fā)展前景。1.2 課題的應(yīng)用與展望 隨著電子技術(shù)以及應(yīng)用需求的發(fā)展,單片機(jī)技術(shù)得到了迅速的發(fā)展,在高集成度,高速度,低功耗以及高性能方面取得了很大的進(jìn)展。伴隨著科學(xué)技術(shù)的發(fā)展,電子技術(shù)有了更高的飛躍,我們現(xiàn)在完全可以運(yùn)用單片機(jī)和電子溫度傳感器對某處進(jìn)行溫度檢測,而且我們可以很容易地做到多點(diǎn)的溫度檢測,如果對此原理圖稍加改進(jìn),我們還可以進(jìn)行不同地點(diǎn)的實(shí)時溫度檢測和控制??偟膩碚f,在智能溫度測量與控制電器中,單片機(jī)起了智能控制部件作用。它的存在,提高了電器的品質(zhì),增加了智能溫度測量與控制電器的功能,并在智能溫度測量與控制電器中執(zhí)行模擬人類智能的進(jìn)程。隨著智

8、能控制理論與人工智能研究的深入,各種更加逼真地模擬人類智能的溫度測量與控制電器會更多的出現(xiàn),而單片機(jī)和智能理論的結(jié)合,將來不但更多的改進(jìn)現(xiàn)行智能溫度測量與控制電器,而且將會產(chǎn)生全新的智能溫度測量與控制電器。1.3 課題舉例簡介在現(xiàn)代化的工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。例如:在冶金工業(yè)、化工生產(chǎn)、電力工程、造紙行業(yè)、機(jī)械制造和食品加工等諸多領(lǐng)域中,人們都需要對各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進(jìn)行檢測和控制。采用mcs-51單片機(jī)來對溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提

9、高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機(jī)對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的問題。2 總體方案根據(jù)功能和指標(biāo)要求,本系統(tǒng)可以從元件級開始設(shè)計,選用mcs-51單片機(jī)為主控機(jī)。通過擴(kuò)展必要的外圍接口電路,實(shí)現(xiàn)對烘箱溫度的測量和控制。2.1 系統(tǒng)結(jié)構(gòu)該系統(tǒng)以89c51單片機(jī)為核心,由溫度測量變換、測量放大、大功率運(yùn)放、a/d與d/a轉(zhuǎn)換器、輸入光電隔離、驅(qū)動電路、鍵盤顯示、存儲器共同組成。在系統(tǒng)中,溫度和時間的設(shè)置、溫度值及誤差顯示、控制參數(shù)得設(shè)置、運(yùn)行、暫停及復(fù)位等功能由鍵盤及顯示電路完成。圖2-1 單片機(jī)溫度控制系統(tǒng)方案原理示意圖傳感器把測量的烘箱溫度信號轉(zhuǎn)換成弱電壓信號,經(jīng)過信號放大電路,送

10、入低通濾波電路,以消除噪音和干擾,濾波后的信號輸入到a/d轉(zhuǎn)換器(adc0809)轉(zhuǎn)換成數(shù)字信號輸入主機(jī)。2.2 單片機(jī)溫控模塊 溫度檢測元件和變送器的選擇和被控溫度及精度等級有關(guān)。本設(shè)計采用鎳鉻/鎳鋁熱電偶,此電偶用于01000的溫度測量范圍,相應(yīng)的輸出電壓為0mv-41.32mv.變送器由毫伏變送器和電流/電壓變送器組成:毫伏變送器用于把熱電偶輸出的0-41.32mv變換成0-10ma范圍內(nèi)的電流;電流/電壓變送器用于把毫伏變送器輸出的0-10ma電流變換成0-5v范圍的電壓。為了提高精度,變送器可以進(jìn)行零點(diǎn)遷移。例如:若溫度測量范圍為4001000,則熱電偶輸出為16.4mv-41.32

11、mv,毫伏變送器零點(diǎn)遷移后輸出0-10mv范圍電流。這樣,采用8位a/d轉(zhuǎn)換器就可以使量化誤差達(dá)到正負(fù)2.34度以內(nèi)。2.3 具體設(shè)計考慮由于溫度測量范圍為0120,控制精度也不高,可選用8路8位adc0809作a/d轉(zhuǎn)換器,分辨率可達(dá)0.5;為了方便操作,系統(tǒng)可不擴(kuò)展專用鍵盤,溫度給定輸入可用2位bcd碼撥盤開關(guān)置數(shù);溫度顯示可用4位led;為了實(shí)現(xiàn)通過調(diào)節(jié)蒸汽流量控溫,可擴(kuò)展8位dac0832作da轉(zhuǎn)換器。于是,單片機(jī)基本系統(tǒng)應(yīng)為: 89c51+2764+8255+adc0809+dac0832+4位led。溫度測量可以選用半導(dǎo)體集成溫度傳感器ad590,它的響應(yīng)速度快,與單片機(jī)接口簡單。

12、其測溫范圍為-55+150,工作電壓430v,輸出電流與絕對溫度成正比,即為1a/k。執(zhí)行機(jī)構(gòu)可選用zkzp-型線性電動單座調(diào)節(jié)閥,用它來調(diào)節(jié)通入烘箱的蒸汽流量。調(diào)節(jié)閥用d/a轉(zhuǎn)換器輸出的可調(diào)電流控制,0ma對應(yīng)閥門完全關(guān)閉,10ma對應(yīng)閥門全打開。 可采用帶死區(qū)的比例積分(pi)控制算法實(shí)現(xiàn)對溫度的控制。烘箱溫度與給定值的偏差小時,調(diào)節(jié)閥不動作,以減少閥的機(jī)械磨損;偏差較大時,經(jīng)pi算法運(yùn)算后,單片機(jī)通過d/a輸出控制信號控制閥門的開度,為了使控制參數(shù)現(xiàn)場可調(diào),可用3個電位器產(chǎn)生3路可調(diào)電壓經(jīng)過a/d轉(zhuǎn)換實(shí)現(xiàn)對a/d轉(zhuǎn)換,實(shí)現(xiàn)對pi算法的3個參數(shù)(比例系數(shù)kp、積分系數(shù)ki、控制周期tc)在

13、線整定。這種方法不僅可使參數(shù)調(diào)整方便,而且具有掉電保護(hù)功能。為了提高系統(tǒng)的抗干擾能力,d/a轉(zhuǎn)換器與單片機(jī)之間進(jìn)行光電隔離。使電動閥和單片機(jī)之間不共地。3 硬件設(shè)計3.1 at89c51單片機(jī)的最小系統(tǒng)設(shè)計3.1.1 電源電路如圖3-1所示為集成直流穩(wěn)壓電源電路的原理圖,本電源電路是由集成穩(wěn)壓器構(gòu)成的。電路可分成三部分:電源變壓器部分、整流濾波部分和穩(wěn)壓部分。變壓器原邊為工頻交流220v電壓,經(jīng)過變壓后,變壓器副邊的電壓變?yōu)榻涣?1v,11v交流電壓經(jīng)過橋式整流電路整流后變?yōu)橹绷?0v電壓,直流10v電壓作為cw7805的輸入電壓,cw7805輸出+5v電壓。圖中d2為整流橋,它由四個整流二極

14、管接成電橋形式。c3為濾波電容,c1用于抵消輸入端較長接線的電感效應(yīng),以防止自激振蕩,還可抑制電源的高頻脈沖干擾。一般取0.11f。cw7805為三端固定輸出集成穩(wěn)壓器,其輸入和輸出電壓都為固定值,它的輸入電壓為+10v,輸出電壓為+5v。c2和c4用以改善負(fù)載的瞬態(tài)響應(yīng),消除電路的高頻噪聲,同時也具有消振作用。圖3-1 電源電路3.1.2 時鐘電路在at89c51內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳xtal1,輸出端為引腳xtal2。而在芯片內(nèi)部,xtal1和xtal2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才成為

15、單片機(jī)的時鐘脈沖信號,如圖3-2所示。圖3-2 時鐘電路在時鐘電路中晶振的選擇很關(guān)鍵,mcs-51的工作頻率為2-12mhz,我們選用的89c51單片機(jī)的工作頻率為12mhz。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個機(jī)器周期的時間為12*(1/12m)=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時間。時序 mcs-5l單片機(jī)的一個執(zhí)器周期由6個狀態(tài)(s1s6)組成,每個狀態(tài)又持續(xù)2個接蕩周期,分為p1和p2兩個節(jié)拍。這樣,一個機(jī)器周期由12個振蕩周期組成。若采用12mhz的晶體振蕩器,則每個機(jī)器周期為1us,每個狀態(tài)周期為16us;在一數(shù)

16、情況下,算術(shù)和邏輯操作發(fā)生在n期間,而內(nèi)部寄存器到寄存器的傳輸發(fā)生在p2期間。對于單周期指令,當(dāng)指令操作碼讀人指令寄存器時,使從s1p2開始執(zhí)行指令。如果是雙字節(jié)指令,則在同一機(jī)器周期的s4讀入第二字節(jié)。若為單字節(jié)指令,則在51期間仍進(jìn)行讀,但所讀入的字節(jié)操作碼被忽略,且程序計數(shù)據(jù)也不加1。在加結(jié)束時完成指令操作。多數(shù)mcs51指令周期為12個機(jī)器周期,只有乘法和除法指令需要兩個以上機(jī)器周期的指令,它們需4個機(jī)器周期。 對于雙字節(jié)單機(jī)器指令,通常是在一個機(jī)器周期內(nèi)從程序存儲器中讀人兩個字節(jié),但movx指令例外,movx指令是訪問外部數(shù)據(jù)存儲器的單字節(jié)雙機(jī)器周期指令,在執(zhí)行movx指令期間,外部

17、數(shù)據(jù)存儲器被訪問且被選通時跳過兩次取指操作,實(shí)現(xiàn)延時功能。電容值無嚴(yán)格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度有少許影響,c6、c7可在20pf到100pf之間取值,但在20pf到30pf時振蕩器有較高的頻率穩(wěn)定性。所以本設(shè)計中,振蕩晶體選擇12mhz,電容選擇25pf。3.1.3 復(fù)位電路復(fù)位電路的原理是:通電時,電容兩端相當(dāng)于是短路,于是rst引腳上為高電平,然后電源通過電阻對電容充電,rst端電壓慢慢下降,經(jīng)過一段時間,達(dá)到低電平,單片機(jī)開始正常工作。89c51的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。復(fù)位引腳rst通過一個斯密特觸發(fā)器用來抑制噪聲,在每個機(jī)器周期的s5p2

18、,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。最簡單的上電自動復(fù)位電路中上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。只要vcc的上升時間不超過1ms,就可以實(shí)現(xiàn)自動上電復(fù)位。時鐘頻率用12mhz時c取22uf,r取1k。除了上電復(fù)位外,有時還需要按鍵手動復(fù)位。本設(shè)計就是用的按鍵手動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過rst端經(jīng)電阻與電源vcc接通而實(shí)現(xiàn)的。時鐘頻率選用12mhz時,c5取22uf,r1取200,r3取1k。如圖3-3所示。圖 3-3 復(fù)位電路3.2 溫度控制電路89c51對溫度的控制是通過雙向可控硅實(shí)現(xiàn)的。如單

19、片機(jī)溫度控制系統(tǒng)電路原理圖所示,雙向可控硅管和加熱絲串接在交流220v、50hz是電回路。在給定周期t內(nèi),89c51只要改變可控硅管的接通時間即可改變加熱絲的功率,以達(dá)到調(diào)節(jié)溫度的目的??煽毓杞油〞r間可以通過可控硅控制極上觸發(fā)脈沖控制。該觸發(fā)脈沖由89c51用軟件在p3.1引腳上產(chǎn)生,在過零同步脈沖同步后經(jīng)光電耦合管和驅(qū)動器輸出送到可控硅的控制極上。3.3 溫度檢測電路設(shè)計3.3.1 設(shè)計目標(biāo)用單片機(jī)對溫度進(jìn)行實(shí)時檢測和控制,以解決工業(yè)及日常生活中對溫度的及時自動控制問題;用十進(jìn)制數(shù)碼顯示實(shí)際溫度值,方便人工監(jiān)視;用鍵盤輸入溫度控制范圍值,便于在不同應(yīng)用場所設(shè)置不同溫度范圍值。當(dāng)實(shí)際溫度值不在

20、該范圍時,系統(tǒng)能自動調(diào)節(jié)溫度, 以保持設(shè)定的溫度基本不變,達(dá)到自動控制的目的。系統(tǒng)的溫度最小區(qū)分度為1。在環(huán)境溫度變化時,溫度控制的靜態(tài)誤差小于等于0.5。3.3.2 設(shè)計的出發(fā)點(diǎn)在達(dá)到對溫度的檢測和控制的基礎(chǔ)上,達(dá)到一定的測控精度,并盡量使系統(tǒng)的可靠性高、穩(wěn)定性好、性價比高、速度快、使用靈活、實(shí)現(xiàn)容易、便于擴(kuò)充。3.3.3 設(shè)計原理本設(shè)計采用89c51單片機(jī)應(yīng)用系統(tǒng)來實(shí)現(xiàn)設(shè)計要求,因89c51在片內(nèi)含4kb的eeprom,不需外擴(kuò)展存儲器,可使系統(tǒng)整體結(jié)構(gòu)簡單。利用89c51串行口輸出工作方式,使89c51的利用率大大提高,外部電路得以簡化。89c51可直接對鍵盤進(jìn)行掃描讀數(shù),可直接用串/并

21、轉(zhuǎn)換模塊驅(qū)動led顯示溫度值。因其利用率高,負(fù)載重,后相電路只需加一塊同相驅(qū)動器即可正常工作。在串行傳輸數(shù)據(jù)時,頻率可達(dá)到1mhz,對溫度的顯示完全達(dá)到測控精度要求。 3.3.4 轉(zhuǎn)換電路在設(shè)計測溫電路時,首先應(yīng)將電流轉(zhuǎn)換成電壓。由于ad590為電流輸出元件,它的溫度每升高1k,電流就增加1a。當(dāng)ad590的電流通過一個10k的電阻時,這個電阻上的壓降為10mv即轉(zhuǎn)換成10mv/k,為了使此電阻精確(0.1%),可用一個9.6k的電阻與一個1k電位器串聯(lián),然后通過調(diào)節(jié)電位器來獲得精確的10k。圖3-4所示是一個電流/電壓和絕對/攝氏溫標(biāo)的轉(zhuǎn)換電路,其中運(yùn)算放大器a1被接成電壓跟隨器形式,以增加

22、信號的輸入阻抗。而運(yùn)放a2的作用是把絕對溫標(biāo)轉(zhuǎn)換成攝氏溫標(biāo),給a2的同相輸入端輸入一個恒定的電壓(如1.235v),然后將此電壓放圖3-4 電流/電壓和絕對/攝氏溫標(biāo)的轉(zhuǎn)換電路大到2.73v。這樣,a1與a2輸出端之間的電壓即為轉(zhuǎn)換成的攝氏溫標(biāo)。將ad590放入0的冰水混合溶液中,a1同相輸入端的電壓應(yīng)為2.73v,同樣使a2的輸出電壓也為2.73v,因此a1與a2 兩輸出端之間的電壓:2.73-2.73=0即對應(yīng)于0。3.3.5 信號處理電路 溫度檢測的小信號放大與絕對/攝氏溫度轉(zhuǎn)換采用圖電路,其中rw用來完成絕對/攝氏溫度轉(zhuǎn)換及調(diào)零功能,運(yùn)放要求采用一片集成普通四運(yùn)放lm324來完成圖的信

23、號處理功能,其工作電源取單電源vcc=9v。設(shè)計中電阻元件可參考下列取值:r1=r2=10k、r3=r4=20k、r5=r6=20k、rg=5k、rw=10k;高頻濾波電容可取c=0.01f。圖3-5 信號處理電路3.3.6 主電路主電路如圖3-6所示,溫度檢測信號輸入adc0809的in3引腳,經(jīng)過模數(shù)轉(zhuǎn)換結(jié)果輸入at89c51,結(jié)果從p1口輸出驅(qū)動2個led實(shí)現(xiàn)數(shù)據(jù)顯示功能。圖3-6 溫度檢測主電路3.4 光電隔離電路這部分電路是單片機(jī)與電阻絲加熱器的接口。由于電阻絲的加熱電壓大于單片機(jī)的工作電壓,為了避免燒壞單片機(jī)系統(tǒng),采用光電隔離電路如圖3-7所示。圖3-7 光電隔離及放大電路3.5

24、過零檢測電路過零檢測電路在每一個電源周期開始時產(chǎn)生一個脈沖,作為觸發(fā)器的同步信號, 計數(shù)器t0對其進(jìn)行計數(shù)。其電路如圖3-5所示。220v交流電壓經(jīng)電阻限流后直接加到2個反相并聯(lián)的光電偶器的輸入端。在交流電源的正負(fù)半周, 分別導(dǎo)通, 輸出低電平, 在交流電源正弦波過零的瞬間,兩個光電耦合器均不導(dǎo)通, 輸出高電平。該脈沖信號經(jīng)非門整形后作為單片機(jī)的中斷請求信號和可控硅的過零同步信號。 圖3-8 過零檢測電路4 軟件設(shè)計本系統(tǒng)的控制軟件可設(shè)計為一個主程序和一個t0通道中斷服務(wù)程序。主程序的功能是完成系統(tǒng)初始化及溫度和設(shè)定參數(shù)的顯示,由于只有4位led,而溫度bcd碼設(shè)定值正常工作時應(yīng)在85左右,不

25、可能太小,故可以用它設(shè)定為小值時來選擇顯示參數(shù);t0通道可定時100ms,其中,定時1s完成數(shù)據(jù)的采集、報警和顯示處理,定時tc秒完成控制算法的運(yùn)算和控制輸出。源程序清單參考附錄a。4.1 設(shè)計步驟4.1.1 系統(tǒng)的程序框圖如圖5-1所示,為主程序框圖,為t0通道中斷服務(wù)程序框圖。t0中斷服務(wù)程序是溫度控制系統(tǒng)的主體程序,用于啟動a/d轉(zhuǎn)換,讀入采樣數(shù)據(jù),數(shù)字濾波,越限溫度報警和越限處理,pid計算和輸出可控硅的同步觸發(fā)脈沖等。p1.3引腳上輸出的該同步觸發(fā)脈沖寬度由t1計數(shù)器的溢出中斷控制,89c51利用等待t1溢出中斷空隙時間完成把本次采樣值轉(zhuǎn)換成顯示值而放入顯示緩沖區(qū)和調(diào)用溫度顯示程序。

26、89c51從t1中斷服務(wù)程序返回后便可恢復(fù)現(xiàn)場和返回主程序,以等待下次t0中斷。主電路圖參考附錄b。 圖4-1 溫度控制系統(tǒng)程序框圖4.2 pid控制算法前面提到,大多數(shù)的溫度控制系統(tǒng)可以看作一階純滯后環(huán)節(jié),由于本系統(tǒng)純滯后時間較小,故可采用pid(比例、積分、微分)控制算法實(shí)施控制。4.2.1 pid控制作用pid是比例(p)、積分(i)和微分(d)3個控制作用的組合。連續(xù)系統(tǒng)pid控制器的微分方程為:y(t)= kppe(t)+ (4-1)式中 y(t)為控制器的輸出;e(t)為控制器的輸入;kp比例放大系數(shù);ti為控制器的積分時間常數(shù);td為控制器的微分時間常數(shù)。顯然,kp越大,控制器的

27、控制作用越強(qiáng);只要e(t)不為0,積分項(xiàng)會因積分而使控制器的輸出變化;只要e(t)有變化的趨勢,控制器就會在微分作用下,在偏差出現(xiàn)且偏差不大時提前給輸出一個較強(qiáng)的控制作用。4.2.2 pid算法的微機(jī)實(shí)現(xiàn)由于微機(jī)控制系統(tǒng)是一種時間離散控制系統(tǒng),故必須把微分方程離散化為差分方程,最終寫出遞推公式才能直接應(yīng)用。顯然: (4-2) (4-3)于是, kpe(n)+e(n)-e(n-1) (4-4)式中t=t,為采樣周期;e(t)為第n次采樣的偏差值;e(n-1)為第(n-1)次采樣時的偏差值;n為采樣序列,n=0,1,2,。由式(4-4)可以看出:計算一次y(n),不僅需要的存儲器空間大,而且計算量

28、也很大,于是進(jìn)一步寫出遞推公式:由 y(n-1)= kp e(n-1)+ +e(n-1)-e(n-2) (4-5) 由式(4)減去式(5)得: y(n)=y(n)-y(n-1) =kp e(n)-e(n-1)+e(n)-2e(n-1)+e(n-2) = kpe(n)-e(n-1)+ ki e(n)+kde(n)-2e(n-1)+e(n-2) (4-6) 或 y(n)=y(n-1)+ kpe(n)-e(n-1)+ ki e(n)+kde(n)-2e(n-1)+e(n-2)(4-7)式中 ki=kp,稱為積分常數(shù);kd=kp,稱為微分常數(shù)。4.2.3 pid算法的程序設(shè)計在本控制系統(tǒng)中,烘箱溫度與

29、給定值的偏差經(jīng)過單片機(jī)pi算法運(yùn)算后從dac0832輸出010ma控制電流去控制電動閥的開度,所以應(yīng)采用式(7)的位置式算法(且kd=0即為pi),即:ypi(n)=y(n-1)+ kpe(n)-e(n-1)+ ki e(n)(4-8)如果設(shè)kp,ki為純小數(shù),kp,ki,e(n),e(n-1)分別放在8031片內(nèi)ram的25h,26h,29h,2ah中,pi結(jié)果ypi(n)放在r3r4中,則pi控制程序如下: pi:mov a,29h ;e(n) clr c subb a,2ah ;e(n)-e(n-1) mov b,25h ;kp lcall mults ;kp e(n)-e(n-1) m

30、ov r4,a mov r3,b ;暫存于r3r4 mov a,29h ;e(n) mov a,26h ;ki lcall mults ;ki e(n) add a,r4 mov r4,a mov a,b addc a,r3 mov r3,a ;r3r4= kp e(n)-e(n-1)+ ki e(n) retmults:clr f0 ;置e(n)符號標(biāo)志位為正 jnb acc.7,mul1 setb f0 ;置e(n)符號標(biāo)志位為負(fù) cpl a inc a ;取絕對值mul1:mul ab jnb f0,mul2 cpl a add a,#1 mov r2,a mov a,b cpl a a

31、ddc a,#0 mov b,a mov a,r2 ;還原為補(bǔ)碼mul2:ret4.3 內(nèi)存分配為了編程方便,可以把89c51的內(nèi)部128b ram先進(jìn)行分配;也可在程序中用標(biāo)號代替,最后用equ或data定義。如果先對內(nèi)存進(jìn)行分配,本系統(tǒng)可分配為: 00h07h,r0r7供主程序使用 08h0fh,r0r7供t0中斷服務(wù)程序使用 20h 定時1s時間常數(shù)(初值為10) 21h 8255a口數(shù)據(jù)暫存(顯示器段碼)22h 8255b口數(shù)據(jù)暫存(d/a數(shù)據(jù))23h 8255c口數(shù)據(jù)暫存 24h 8031 p1 口的t給定bcd值暫存。當(dāng)t給定=01h時,顯示的數(shù)據(jù)為kp參數(shù),格式為p-;當(dāng)t給定=

32、02h,顯示器顯示的數(shù)據(jù)為ki參數(shù),格式為i-;當(dāng)t給定=03h,顯示器顯示的數(shù)據(jù)為tc參數(shù),格式為t-;t給定為其他值(85左右),顯示器顯示的數(shù)據(jù)為溫度測量值25h kp參數(shù)暫存 26h ki參數(shù)暫存 27h tc參數(shù)暫存 28h t測量值(a/d)暫存 29h e(n)參數(shù)暫存 2ah e(n-1)參數(shù)暫存 2bh2eh 4次a/d值暫存 2fh 定時tc秒調(diào)節(jié)工作單元 30h31h t測量bcd碼值暫存、格式為. 32h t測量值實(shí)際溫度暫存 50h7bh sp指針工作區(qū) 7ch7fh 顯示緩沖區(qū)(從左到右)注釋a/d轉(zhuǎn)換程序adc 它的功能為對4路a/d進(jìn)行4次采樣,取平均值后存于內(nèi)

33、存相應(yīng)單元。標(biāo)度變換子程序bdbh它的功能是把溫度a/d值變換為供顯示的bcd碼值(含1位小數(shù)),格式為.,存放于30h和31h中(31h為低位),并把整數(shù)部分存放在32h(十六進(jìn)制數(shù))。標(biāo)度變換原理為:若a/d滿量程(5v電壓,a/d值為ffh)對應(yīng)的溫度為tm,則任意溫度a/d值na/d對應(yīng)的實(shí)際溫度tx為:tx=na/d如果把溫度變送器校準(zhǔn)為a/d滿量程(5v電壓)對應(yīng)的溫度為127.5,則任意a/d值下的實(shí)際溫度只需把該a/d值乘0.5即可,由于保留1位小數(shù),可把該值乘5,顯示時在第三位led顯示出小數(shù)點(diǎn)即可。顯示子程序disup它的功能是把顯示緩沖區(qū)(7ch7fh)的數(shù)據(jù)轉(zhuǎn)換為7段代

34、碼送4位led顯示。設(shè)計時應(yīng)注意送位選信號時不能破壞pc口的其他位,還應(yīng)注意顯示溫值時第三位led有小數(shù)點(diǎn)。5 結(jié)論本設(shè)計介紹的單片機(jī)溫度控制系統(tǒng),可了解微機(jī)系統(tǒng)硬、軟件的構(gòu)成及各種控制參數(shù)變化對系統(tǒng)動、靜態(tài)特性的影響。系統(tǒng)用pid控制算法實(shí)現(xiàn)溫度控制,可以使系統(tǒng)的精度達(dá)到0.1,準(zhǔn)確度和穩(wěn)定性都可以令人滿意。系統(tǒng)還以單回路控制為例,極易擴(kuò)展成多回路控制。采集電路調(diào)試:為使溫度采集電路輸出的電壓與溫度的關(guān)系符合理論設(shè)計數(shù)值,可用一點(diǎn)測試法。在室溫27時,調(diào)節(jié)電位器rw1,使ad590對地電阻為1k,運(yùn)放正端輸入電壓v+=300mv時,v0=2.7v即可。也可采用兩點(diǎn)測試法,當(dāng)溫度在050之間變

35、化時,運(yùn)放正端輸入電壓v+約為273323mv,調(diào)試時用可調(diào)電壓信號模擬溫度信號輸入到運(yùn)放正端,調(diào)節(jié)電位器rw2使v+=273mv時,v0=0v。調(diào)節(jié)rt2使v+=323mv時,vo=5v,則5v/5o=100mv/ 即為輸出精度。因軟件還要校正測溫值,故基本符合上述數(shù)值即可。采用兩點(diǎn)測試法較精確,故用兩點(diǎn)法。數(shù)碼顯示調(diào)試:調(diào)試中發(fā)現(xiàn)發(fā)光二極管的亮度一直很微弱,用萬用表測量可知,其輸入電壓只有1.99v,勉強(qiáng)能夠發(fā)光,而89c51輸出的電壓依然為5v左右,分析知89c51在串行口工作方式下,負(fù)載很重,發(fā)光二極管分得的電流較小,使其不能正常發(fā)光。在此加入一塊同相放大器來驅(qū)動它們工作。mcs-51

36、單片機(jī),體積小,重量輕,抗干擾能力強(qiáng),對環(huán)境要求不高,價格低廉,可靠性高,靈活性好,即使是非電子計算機(jī)專業(yè)人員,通過學(xué)習(xí)一些專業(yè)基礎(chǔ)知識以后也能依靠自己的技術(shù)力量,來開發(fā)所希望的單片機(jī)應(yīng)用系統(tǒng)。本文的溫度控制系統(tǒng),只是單片機(jī)廣泛應(yīng)用于各行各業(yè)中的一例,相信單片機(jī)的應(yīng)用會更加廣泛化。本系統(tǒng)的設(shè)計方案有多種,上述方案是從多種方案中選出的最優(yōu)方案,其具有功能強(qiáng)、成本低、元件少、精度高、可靠性好、穩(wěn)定性高、抗干擾性強(qiáng)、執(zhí)行速度快、簡單易行、具有實(shí)效性、使用范圍廣等特點(diǎn),故具有推廣價值。致謝畢業(yè)設(shè)計是對大學(xué)階段所學(xué)知識的一個總結(jié)。為了提高自己應(yīng)用知識的能力,利用單片機(jī)知識與pc機(jī)技術(shù),以“熱爐溫度控制”

37、為例,作為我的畢業(yè)設(shè)計。三年的大學(xué)生活,讓我對關(guān)于單片機(jī)方面的理論知識有了一定的了解和認(rèn)識,但實(shí)踐出真理,唯有把理論與實(shí)踐相結(jié)合,才能更好地為社會服務(wù)。為期將近半個學(xué)期的畢業(yè)設(shè)計,我不但上網(wǎng)查閱了一些單片機(jī)技術(shù)的應(yīng)用知識,并對畢業(yè)論文所需的資料進(jìn)行了仔細(xì)地了解和收集,為現(xiàn)在的畢業(yè)設(shè)計做了充的準(zhǔn)備,也培養(yǎng)了我獨(dú)立思考和動手的能力。由于本身知識水平以及時間有限,在本次設(shè)計中的某些問題可能設(shè)想不夠周全。比如程序分析的不夠全面以及誤差,軟件還有待優(yōu)化等,或許還有很多問題還沒有發(fā)現(xiàn),希望指導(dǎo)老師給予指出。本文是在*老師的精心指導(dǎo)下完成的。在此,向他表示衷心的謝謝!還要感謝幫助過我的同學(xué),正是由于你們的幫

38、助和支持,我才能順利完成本文。 參考文獻(xiàn)1 馬江濤. 單片機(jī)溫度控制系統(tǒng)的設(shè)計及實(shí)現(xiàn)j. 計算機(jī)測量與控制 , 2004,(12) . p121912292 黃禎祥,鄧懷雄,郭延文,周書. 基于mcs-51單片機(jī)的溫度控制系統(tǒng)j. 現(xiàn)代電子技術(shù) , 2005,(06) . p2224 3 張開生,郭國法. mcs-51單片機(jī)溫度控制系統(tǒng)的設(shè)計j. 微計算機(jī)信息 , 2005,(07) . p6869 4 李曉妮. 單片機(jī)溫度控制系統(tǒng)的設(shè)計j. 九江學(xué)院學(xué)報(自然科學(xué)版) , 2005,(02) . p2023 5 龔紅軍. 單片機(jī)溫度控制系統(tǒng)j. 電氣時代 , 2002,(10) . p171

39、8 6 李新國. 單片機(jī)溫度控制系統(tǒng)j. 機(jī)電工程 , 2001,(02) . p4647 7 李萍. 單片機(jī)溫度控制系統(tǒng)的設(shè)計與實(shí)現(xiàn)j. 固原師專學(xué)報 , 1999,(06) . p2225 8 馮越,楊繼華,俞曙濱. 單片機(jī)溫度控制系統(tǒng)j. 自動化技術(shù)與應(yīng)用 , 1998,(02) . p3638 9 徐鳳霞,趙成安. at89c51單片機(jī)溫度控制系統(tǒng)j. 齊齊哈爾大學(xué)學(xué)報 , 2004,(01)p646510 姜波. 單片機(jī)溫度自動控制系統(tǒng)j. 自動化與儀器儀表 , 1996,(05) p515911馬明建數(shù)據(jù)采集與處理技術(shù)m西安交通大學(xué)出版社,20059,(02)p868912曹龍漢,

40、劉安才,高占國mcs-51單片機(jī)原理及應(yīng)用m重慶出版社,2004,10p229247附錄a源程序清單(1)主程序 org 0000h ljmp start org 0003h ljmp t0 org 0030h start:mov sp,#50h ;主程序入口,置sp指針 lcall d100ms ;延時,使8255復(fù)位可靠 clr a mov r0,#20h mov r1,#60h clr1:mov r0,a inc r0 djnz r1,clr1 ;清內(nèi)存單元 mov 20h,#10 ;定時1s初值 mov a,p1 mov 24h,a ;讀t給定bcd碼值 s8255:mov dptr,

41、#7003h ;指向8255控制口 mov a,#10000000b ;a初始化8255a,b,c口為方式0輸出 movx dptr,a mov dptr,#7001h ;pb口 clr a movx dptr,a ;pb口清“0” inc dptr mov a,#00100000b movx dptr,a ;清聲光報警 nop mov a,#00h movx dptr,a nop mov a,#00100000b movx dptr,a ;產(chǎn)生d/a的,d/a=0 mov 23h,a ;暫存 lcall adc ;測量kp,ki ,tc和t,并存入相應(yīng)的單元 lcall bdbh ;把t測量

42、值轉(zhuǎn)換為顯示bcd碼存于30h,31h mov 2fh,27h ;置定時tc秒初值 mov th0,#3ch mov tl0,#0b0h ;t0定時為100ms setb tr0 setb et0 setb ea ;開中斷 loop:lcall disup ;顯示數(shù)據(jù) sjmp loop(2)t0中斷服務(wù)程序 t0:mov th0,#3ch mov tl0,#0b0h ;重置定時初值 push acc push psw push dpl push dph ;保護(hù)現(xiàn)場 clr rs1 setb rs0 ;選r0r7為080fh djnz 20h,rept1 ;定時1s到 mov 20h,#10 ;重置定時常數(shù) mov a,p1 mov 24h,a ;讀t給定bcd碼值 lcall adc ;a/d測量kp,ki ,tc,t參數(shù) lcall bdbh ;把t測量值轉(zhuǎn)換為顯示bcd碼值 mov a,24h cjne a,#1,dspi1 mov 7ch,#10h ;t給定=01h顯示kp參數(shù) mov a,25h sjmp dspi2 dspi1:cjne a,#2,dspi3 mov 7ch,#1 ;t給定=02h時顯示ki參數(shù) mov a,26h sjmp dspi2 dspi3:cjne a,#3,dspi4 mov 7ch,#1

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論