溫度控制系統(tǒng)的軟件設(shè)計(jì)與仿真-支持高清瀏覽_第1頁(yè)
溫度控制系統(tǒng)的軟件設(shè)計(jì)與仿真-支持高清瀏覽_第2頁(yè)
溫度控制系統(tǒng)的軟件設(shè)計(jì)與仿真-支持高清瀏覽_第3頁(yè)
溫度控制系統(tǒng)的軟件設(shè)計(jì)與仿真-支持高清瀏覽_第4頁(yè)
溫度控制系統(tǒng)的軟件設(shè)計(jì)與仿真-支持高清瀏覽_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)的溫度控制系統(tǒng)的軟件設(shè)計(jì)與仿真指導(dǎo)老師 :

勇答辯人

: 王

萍北方民族大學(xué)畢業(yè)論文答辯2009年5月20日提綱總體設(shè)計(jì)方案溫度控制器的設(shè)計(jì)各部分的軟件設(shè)計(jì)仿真結(jié)果設(shè)計(jì)結(jié)論致謝總體設(shè)計(jì)方案

系統(tǒng)控制軟件包含主程序、顯示子程序、

A/D轉(zhuǎn)換子程序、鍵盤子程序、PID數(shù)字控制器子程序及純滯后的smith預(yù)估補(bǔ)償子程序、定時(shí)中斷子程序(5S采樣周期)、PWM子程序、中間值濾波、溫度標(biāo)度的轉(zhuǎn)換、AD采樣子程序以及顯示程序等幾個(gè)模塊。對(duì)于純滯后系統(tǒng)的smith預(yù)估器的數(shù)字運(yùn)算原理在后面會(huì)詳細(xì)介紹。變送器

傳感器AD轉(zhuǎn)換單片機(jī)鍵盤顯示電阻爐PWM功率元件電源用MATLAB仿真來(lái)驗(yàn)證控制器的正確性大林算法的離散系統(tǒng)的仿真的方框圖如下:用示波器觀察其輸出波形如下:PID控制系統(tǒng)的方框圖如下所示:加有預(yù)估器的輸出波形:未加預(yù)估器的輸出波形:式中取整數(shù)、T為采樣周期。本系統(tǒng)采樣周期T為5S,延時(shí)時(shí)間為20s,所以l=4補(bǔ)償器轉(zhuǎn)化圖史密斯預(yù)估器的原理如圖所示:smith預(yù)估器的數(shù)字化設(shè)計(jì)GP(S)U(k)m(k)C(k)在程序中,可以用下列方法得到m(k-l):再內(nèi)存中專門設(shè)置L個(gè)單元存放m(k)的歷史數(shù)據(jù),每采樣一次,把m(k)存于低零號(hào)單元前,先把第0號(hào)單元的數(shù)據(jù)后移到

1號(hào)單元,同時(shí)1號(hào)單元內(nèi)的數(shù)據(jù)到2號(hào)單元,依次類推,這樣從L單元得到m(k-l)。數(shù)字PID控制器的輸入信號(hào)為:ec(k)=e(k)-c(k)、ec(k)、ec(k-1)、ec(k-2)分別替e(k)、e(k-1)、e(k-2),就可得到帶smith預(yù)估器的PID控制算式m(k-l)smith預(yù)估器方框圖有了純滯后補(bǔ)償器的Z傳遞函數(shù),便可以得到差分方程在計(jì)算機(jī)上實(shí)現(xiàn)計(jì)算C1*m(K-1)計(jì)算b1*U(K-1)計(jì)算C1*m(K-1)+b1*U(K-1)給m(K)m(K)-m(K-L)給Q(K)數(shù)據(jù)迭代預(yù)估器子程序流程圖由流程圖可以編寫程序,其中的小數(shù)運(yùn)算轉(zhuǎn)換為整數(shù)運(yùn)算來(lái)處理,例如0.9048*m(K-1)可以等效為9048*m(K-1)/1000。程序中其他地方用到小數(shù)的地方,處理同上。SMITH:MOV

R2,UK_1MOV

R3,UK_1+1MOV

R6,B1HMOV

R7,B1LLCALL

NMUL22MOV

B1U_1,R3MOV

B1U_1+1,R4MOV

R2,#00HMOV

R3,PKK+1MOV

R6,C1HMOV

R7,C1LLCALL

NMUL22MOV

C1P_1,R3MOV

C1P_1+1,R4MOV

A,B1U_1+1CLR

CADD

A,C1P_1+1MOV

PKK,AMOV

A,B1U_1ADDC

A,C1P_1ANL

A,#0FFHCJNE

A,#00H,XIANFU1SJMP

SS4MOV

A,PKKCLR

CSUBB

A,PKK+4MOV

DPTR,AMOV

R7,

DPHMOV

R6,DPLMOV

R5,

#03HMOV

R4,

#0E8HLCALL

DIV1MOV A,

R6SS5:MOV

QSMITH,AMOV

2EH,CMOV

R2,#4HMOV

R0,#PKK+4MOV

R1,#PKK+5MOV

A,@R0MOV

@R1,ADEC

R0DEC

R1DJNZ

R2,SS5RETXIANFU1:

MOV

PKK,#0FFHSS4:Y保護(hù)現(xiàn)場(chǎng)N調(diào)SMITH調(diào)PID定時(shí)器賦50MS定時(shí)中斷返回注:每50MS產(chǎn)生中斷AD采樣T1中斷子程序:1S到?jīng)]?溫度顯示溫度標(biāo)度轉(zhuǎn)換數(shù)字濾波溫度標(biāo)度變換子程序:控制系統(tǒng)在讀入被測(cè)模擬信號(hào)并轉(zhuǎn)換成數(shù)字量后,往往要轉(zhuǎn)換成操作人員所熟悉的物理量。這是因?yàn)楸粶y(cè)對(duì)象的各種數(shù)據(jù)的量綱與A/D轉(zhuǎn)換的輸入值不一樣。被測(cè)對(duì)象的參數(shù)經(jīng)傳感器和A/D轉(zhuǎn)換后得到一系列的數(shù)碼。這些數(shù)碼值并不等于原來(lái)帶有量綱的參數(shù)值,僅僅對(duì)應(yīng)于參數(shù)的大小,故必須把它轉(zhuǎn)換成帶有量綱的數(shù)值才能顯示或打印輸出。這種轉(zhuǎn)換就是標(biāo)度轉(zhuǎn)換。N采樣值始址送R0采樣次數(shù)送R2選通IN0啟動(dòng)ADC延時(shí)A/D完成?所有采樣結(jié)束?返回YNYAD采樣子程序:使用T0定時(shí)器產(chǎn)生5S定時(shí)中斷,作為本系統(tǒng)的采樣周期。在中斷服務(wù)程序中啟動(dòng)A/D轉(zhuǎn)換,讀入采樣數(shù)據(jù)。由前面

章節(jié)中所講的,采樣周期選

5S控制效果最好。定時(shí)器T0采用方式1,定時(shí)50ms,50ms的100次即為5S。因?yàn)椴蓸涌赡軙?huì)因?yàn)榕既灰蛩禺a(chǎn)生誤差,為了采樣值的精確我們采樣

三次,然后用中間值濾波對(duì)

三次采樣數(shù)據(jù)處理,從而可

以求得較為精確一點(diǎn)的采樣

值。定時(shí)與濾波在這里不詳

細(xì)敘述。數(shù)字PID算法PID調(diào)節(jié)即比例(proportional)、積分(integral)、微分(derivative)調(diào)節(jié)是連續(xù)控制系統(tǒng)中技術(shù)最成熟、應(yīng)用最廣泛的一種調(diào)節(jié)控制方式。在模擬控制系統(tǒng)中,

PID算法的表達(dá)式為:將上式離散化,用離散的PID表達(dá)式如下:增量式PID表達(dá)式如下所示:通過(guò)上述推導(dǎo),似乎PID控制算法的程序設(shè)計(jì)并不復(fù)雜,只要將給定值與每次所得到

的溫度檢測(cè)值相減,得到偏差e(k),在與上次偏差e(k-1)(設(shè)初始值為0)相減,得到

e(k)-e(k-1),又通過(guò)上次偏差e(k-1)與前次偏差e(k-2)(初始值也設(shè)為0)相減,得到e(k-1)-e(k-2).有了e(k),e(k)-e(k-1),e(k-1)-e(k-2)及、、三個(gè)常數(shù),通計(jì)算可得到U(K),然而,事實(shí)上,運(yùn)算并非那么簡(jiǎn)單,這是由于e(k),e(k)-e(k-1),e(k-1)-e(k-2)均可能為正或負(fù)。計(jì)算E(K)=給定值-SMITH(QK)計(jì)算KP[E(K)-E(K-1)]計(jì)算KD{[E(K)-E(K-1)]–[E(K-1)-E(K-2)]}U=計(jì)算KP[E(K)-E(K-1)]+

KD{[E(K)-E(K-1)]

]+KIE(K)+[E(K-1)-E(K-2)]}計(jì)算KP[E(K)-E(K-1)]+KIE(K)計(jì)算輸出U(K)數(shù)據(jù)迭代計(jì)算PWM的Ton和Toff并計(jì)算對(duì)應(yīng)的定時(shí)器所裝入的初值PID算法子程序?qū)ζ钸M(jìn)行PID算法處理,并輸出控制脈沖信號(hào),脈沖寬度由T0定時(shí)器中斷計(jì)算E(K)-E(K-1),E(K-1)-E(K-2),[E(K)-E(K-1)]

–[E(K-1)-E(K決-2定)]。在本程序計(jì)算中,例如在PID運(yùn)算中由于KP、KI、KD、CI、BI都為小數(shù),要用到浮點(diǎn)小數(shù)的運(yùn)算,浮點(diǎn)小數(shù)的運(yùn)算比較復(fù)雜,并且存放大量的浮點(diǎn)數(shù)需要很大的內(nèi)存空間,勢(shì)必會(huì)影響CPU的運(yùn)算速度,故在此,不用浮點(diǎn)運(yùn)算,對(duì)需要用浮點(diǎn)運(yùn)算的地方做一定處理。如KI*EK,KI=0.15,這里可以用15*EK/100來(lái)處理,文中需要用到浮點(diǎn)運(yùn)算的地方都作此處理。保護(hù)現(xiàn)場(chǎng)逐行掃描判鍵位置送位置碼送對(duì)應(yīng)鍵數(shù)值給KEYBUF1鍵值存儲(chǔ)單元移位,空出KEYBUF1轉(zhuǎn)BCD碼(顯示用)轉(zhuǎn)HEX(PID的設(shè)定值)調(diào)鍵盤設(shè)定值的顯示子程序YKEYBUF全部置0Y中斷返回外部中斷0子程序(鍵盤)為RESET鍵?N為ENTER鍵N?用外部中斷INT0來(lái)控制鍵盤。當(dāng)

有鍵按下時(shí),產(chǎn)

生中斷,然后

CPU去處理中斷

程序,找到鍵碼,輸入設(shè)定溫度,另外送顯示。鍵

盤上設(shè)定有0-9的數(shù)字鍵,以及清

零鍵,同時(shí)有回

車鍵,在設(shè)置數(shù)

字鍵時(shí),讓LED

顯示BCD數(shù),故

需要將鍵值轉(zhuǎn)換為BCD數(shù)。本系統(tǒng)設(shè)計(jì)結(jié)論通過(guò)本系統(tǒng)的軟件與硬件系統(tǒng)進(jìn)行聯(lián)調(diào)仿真可以看出,本系統(tǒng)可以實(shí)現(xiàn)對(duì)鍋爐溫度的控制,用鍵盤給定某一溫度時(shí),在一定的時(shí)間內(nèi)鍋爐的實(shí)際溫度與給定溫度基本一致。論文中存在的問(wèn)題:程序基本可以實(shí)現(xiàn)所需要的控制功能,但由于在數(shù)據(jù)的處理問(wèn)題上,小數(shù)部分的舍去,以及除法運(yùn)算的余數(shù)的舍去,可能會(huì)使系統(tǒng)的控制功能存在一定得誤差。由仿真結(jié)果可知,雖然有誤差存在,基本上還是可用的。同時(shí)本系統(tǒng)采用的是基于smith預(yù)估補(bǔ)償?shù)腜ID控制算法,它的被控對(duì)象(這里的加熱爐)的模型必須是可知的,而在PROTEUS仿真時(shí),軟件中的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論