PID溫度控制器_第1頁
PID溫度控制器_第2頁
PID溫度控制器_第3頁
免費預(yù)覽已結(jié)束,剩余14頁可下載查看

下載本文檔

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

文檔簡介

1、一、設(shè)計內(nèi)容21.1溫度控制21.2設(shè)計方案2二、軟件設(shè)計02.1主程序流程圖02.2DS18B20實現(xiàn)溫度轉(zhuǎn)換和溫度數(shù)值讀取流程圖02.3顯示流程圖1三、PID控制23.1PID簡介23.2PID控制算法4四、電路設(shè)計64.1功能模塊設(shè)計64.2電路連接設(shè)計74.2.1溫度檢測電路74.2.2繼電器控溫電路74.2.3夕卜部電路8參考文獻9附錄PID溫度控制器程序10亠、設(shè)計內(nèi)容1.1溫度控制本設(shè)計以水為測量對象,溫度測量電路接收傳感器的信號,并將模擬信號通過模/數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號,送入單片機系統(tǒng),與預(yù)設(shè)的溫度對比,通過一定的控制算法,控制繼電器的通斷,從而控制加熱器的工作,使得水溫維持

2、在設(shè)定的溫度。溫度控制算法精確控制溫度加熱,以溫度最小為優(yōu)化目標(biāo)。溫度是工業(yè)控制對象的主要的被控參數(shù)之一,如冶金,機械,食品,化工各類工業(yè)中廣泛使用的各種加熱爐,熱處理爐,反應(yīng)爐等。在過去多是采用常規(guī)的模擬調(diào)節(jié)器對溫度進行控制,本設(shè)計采用了單片微型機對溫度實現(xiàn)自動控制。1.2設(shè)計方案溫度控制系統(tǒng)是一種比較常見和典型的過程控制系統(tǒng)。溫度是工業(yè)生產(chǎn)過程中重要的被控參數(shù)之一,當(dāng)今計算機控制技術(shù)在這方面的應(yīng)用,已使溫度控制系統(tǒng)達到自動化、智能化,比過去單純采用電子線路進行PID調(diào)節(jié)的控制效果要好得多,可控性方面也有了很大的提高。溫度是一個非線性的對象,具有大慣性的特點,在低溫段慣性較大,在高溫段慣性較

3、小。對于這種溫控對象,一般認(rèn)為它具有以下的傳遞函數(shù)形式:這是傳統(tǒng)的二位式模擬控制方案,其基本思想與方案一相同,但由于采用上下限比較電路,所以控制精度有所提高。這種方法還是模擬控制方式,因此也不能實現(xiàn)復(fù)雜的控制算法使控制精度做得較高,而且不能用數(shù)碼管顯示,對鍵盤進行設(shè)定。采用89C51單片機系統(tǒng)來實現(xiàn)。單片機軟件編程靈活、自由度大,可用軟件編程來實現(xiàn)各種控制算法和邏輯控制。單片機系統(tǒng)可以使用數(shù)碼管來顯示水溫的實際值,能用鍵盤輸入設(shè)定值。選用了AT89C51芯片,不需要外擴展存儲器,可使系統(tǒng)整體結(jié)構(gòu)更為簡單。采用以單片機為控制核心的控制系統(tǒng),尤其對溫度控制,可達到模擬控制所達不到的效果,并且實現(xiàn)顯

4、示和鍵盤設(shè)定功能,大大提高了系統(tǒng)的智能化。這也使得系統(tǒng)所測得結(jié)果的精度大大提高。AT89C51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CM0S8位微處理器,俗稱單片機。而在眾多的51系列單片機中,要算ATMEL公司的AT89C51更實用,也是一種高效微控制器,因為它不但和8051指令、管腳完全兼容,而且其片內(nèi)的4K程序存儲器是FLASH工藝的,這種工藝的存儲器,用戶可以用電的方式達到瞬間擦除、改寫。而這種單片機對開發(fā)設(shè)備的要求非常低,開發(fā)時間也能大大縮短。DS18B20是一線式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能抗干擾能力、強易配處理器等優(yōu)點,特別適合用于構(gòu)成多點溫度

5、測控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(按9位二進制數(shù)字)給單片機處理,且在同一總線上可以掛接多個傳感器芯片。它具有獨特的單總線接口方式,僅需使用1個端口就能實現(xiàn)與單片機的雙向通訊。采用數(shù)字信號輸出提高了信號抗干擾能力和溫度測量精度。它的工作電壓使用范圍寬3.05.5V,可以采用外部供電方式,也可以采用寄生電源方式,即當(dāng)總線DQ為高電平時,竊取信號能量給DS18B20供電。它還有負(fù)壓特性,電源極性接反時,DS18B20不會因接錯線而燒毀,但不能正常工作。可以通過編程而實現(xiàn)912位的溫度轉(zhuǎn)換精度設(shè)置。設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間就越長,在實際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。R

6、S-232接口是個人計算機上的通訊接口之一,是1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo)準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”。該標(biāo)準(zhǔn)規(guī)定采用一個25個腳的DB25連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。隨著設(shè)備的不斷改進,出現(xiàn)了代替DB25的DB9接口。1、軟件設(shè)計2.1主程序流程圖系統(tǒng)的主程序流程圖如圖2-1所示,當(dāng)有信號輸入時,主程序啟動,根據(jù)內(nèi)部設(shè)定的條件逐步運行,達到設(shè)計目的。圖2-1主程序流程圖2.2DS18B20實現(xiàn)溫

7、度轉(zhuǎn)換和溫度數(shù)值讀取流程圖圖2-2為DS18B20實現(xiàn)溫度轉(zhuǎn)換和溫度數(shù)值讀取流程圖,用于系統(tǒng)的溫度轉(zhuǎn)換和溫度數(shù)值的讀取。開始初始化DS18B20發(fā)起SkipRom命令發(fā)起ConvertT命令延時1秒等待溫度轉(zhuǎn)換完成發(fā)起ReadScratchpad命令讀取第1.2字節(jié)即溫度數(shù)圖2-2DS18B20實現(xiàn)溫度轉(zhuǎn)換和溫度數(shù)值讀取流程圖2.3顯示流程圖圖2-3為系統(tǒng)的顯示流程圖。主要是通過對傳輸信號進行顯示后,給操作者提供提示。以到達為本系統(tǒng)提供對溫度的顯示和監(jiān)控的目的。開始串行口初始化向緩沖區(qū)送數(shù)據(jù)查段碼送顯示結(jié)束圖2-3顯示流程圖1、PID控制3.1PID簡介PID控制器是一種線性控制器,它根據(jù)給定

8、值廠r(t)與實際輸出值y(t)構(gòu)成控制偏差e(t):e(t)二r(時y(t)(3.1)將偏差e(t)的比例(Proportional)、積分(Integral)和微分(Derivative)通過線性組合構(gòu)成控制量,對被控對象進行控制,因此稱為PID控制。PID控制系統(tǒng)原理如圖3-1所示。比例1tu(t)二心e(t)-,0e(t)dtTdT-或者寫成傳遞函數(shù)的形式為:de(t)dt(3.2)G(s)=心(1丄TdS)(3.3)式中Kp:比例系數(shù)T-:積分時間常數(shù)Td:微分時間常數(shù)PID控制器各校正環(huán)節(jié)的作用如下:(1) 比例環(huán)節(jié)即時成比例地反映控制系統(tǒng)的偏差信號e(t),偏差一旦產(chǎn)生,控制器(

9、2) 立即產(chǎn)生控制作用,以減少偏差;積分環(huán)節(jié)主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強弱取決于積分時間常數(shù),T越大,積分作用越弱,反之則越強;微分環(huán)節(jié)能夠反映偏差信號的變化趨勢(變化速率),并且能在偏差信號值變得太大之前,在系統(tǒng)中引入一個有效的早期修正信號,從而加快系統(tǒng)的動作速度,減少調(diào)節(jié)時間。3.2PID控制算法由于計算機控制是一種采樣控制系統(tǒng),它只能根據(jù)采樣時刻的偏差值計算控制量。因此,(3.2)式中的積分和微分項不能直接使用,需要進行離散化處理?,F(xiàn)令T為采樣周期,以一系列的采樣時刻點kT代表連續(xù)時間t,以累加求和近似代替積分,以一階后向差分近似代替微分,做如下的近似變換:t二kT(

10、3.4)tkk(3.5)(3.6)店Te(jT)=T'e(j)j衛(wèi)jz9de(t)e(kT)-e|jk-1Te(k)-e(k-1)dtT-T其中,T為采樣周期,e(k)為系統(tǒng)第k次采樣時刻的偏差值,e(k-1)為系統(tǒng)第(k-1)次采樣時刻的偏差值,k為采樣序號,k=0,1,2,。將上面的(3.5)式和(3.6)式代入(3.2)式,則可以得到離散的PID表達式:tktu(k)=Kpe(k)&j)半e(k)-e(k-1)l(3.7)ITj=0TJ如果采樣周期T足夠小,該算式可以很好的逼近模擬PID算式,因而使被控過程與連續(xù)控制過程十分接近。通常把(3.7)式稱為PID的位置式控制算

11、法。若在(3.7)式中,令:心=KpT(稱為積分系數(shù))T1Kd二沁(稱為微分系數(shù))Tk則u(k)二Kpe(k)e(j)KdE(k)-e(k-1)】(3.8)j=0(3.8)式即為離散化的位置式PID控制算法的編程表達式??梢钥闯?,每次輸出與過去的所有狀態(tài)都有關(guān),要想計算u(k),不僅涉及e(k)和e(k-1),且須將歷次e(j)相加,計算復(fù)雜,浪費內(nèi)存。下面,推導(dǎo)計算較為簡單的遞推算式。為此,對(3.8)式作如下的變動:考慮到第(k-1)次采樣時有u(k1上k!eT1j=oI(k1)-ek2)(3.9)使(3.8)式兩邊對應(yīng)減去(3.9)式,得u(k)-u(k1)PKe-k)叫)-e(k)2k

12、-1)ek2)J整理后得u(k)=u(k1)PKe(-k)-e(k>2(k-1)ek2)二u(k-1)KPTdT(K)pek-)Dek-(2()3.10)=u(k_1)a0ek(-)aek(a)ek-(2)其中,a。=Kp(1右*印二Kp(1半),aKp,(3.10)式就是PID位置式得遞推形式。如果令.心(k)二u(k)-u(k-1)則:u(k)二a0e(k)-aje(k-1)a2e(k-2)式中的a0、a1、a2同(3.10)式中的一樣。因為在計算機控制中,a。、a1、a2都可以事先求出,所以,實際控制時只須獲得e(k)、e(k-1)、e(k-2)三個有限的偏差值就可以求出控制增量。

13、由于其控制輸出對應(yīng)執(zhí)行機構(gòu)的位置的增量,故(3.11)式通常被稱為PID控制的增量式算式。增量式PID控制算法與位置式控制算法比較,有如下的一些優(yōu)點:位置式算法每次輸出與整個過去狀態(tài)有關(guān),算式中要用到過去偏差的累加值'e(j),容易產(chǎn)生較大的累計誤差。而增量式中只須計算增量,算式中不需要累加,控制增量的確定僅與最近幾次偏差采樣值有關(guān),當(dāng)存在計算誤差或者精(1) 度不足時,對控制量的影響較小,且較容易通過加權(quán)處理獲得比較好的控制效果;由于計算機只輸出控制增量,所以誤動作影響小,而且必要時可以用邏輯判斷(2) 的方法去掉,對系統(tǒng)安全運行有利;手動一自動切換時沖擊比較小。鑒于以上優(yōu)點,本系統(tǒng)

14、的控制算法即采用增量式的PID控制算法四、電路設(shè)計4.1功能模塊設(shè)計數(shù)字溫度傳感器DS18B20從設(shè)備不同的位置采集溫度,并將數(shù)字信號送入AT89C51單片機系統(tǒng),單片機獲取采集的溫度值,經(jīng)過處理后得到當(dāng)前環(huán)境中一個比較穩(wěn)定的溫度值,根據(jù)當(dāng)前設(shè)定的溫度上下限值,再通過PID控制算法控制繼電器的通斷,從而控制加熱器的工作,使得水溫維持在設(shè)定的溫度。當(dāng)采集的溫度經(jīng)處理后沒有達到設(shè)定的溫度值時,單片機控制繼電器開啟升溫設(shè)備(加熱器)。UNtT圖4-1單片機電路圖;!曲5r-Z3-14.2電路連接設(shè)計4.2.1溫度檢測電路溫度檢測用DS18B20溫度傳感器,DS18B20是單線數(shù)字式測溫芯片,它能在現(xiàn)

15、場采集溫度數(shù)據(jù),并將溫度數(shù)據(jù)直接轉(zhuǎn)換成數(shù)字量,并將數(shù)字信號送入AT89C51單片機系統(tǒng)。圖4-2為溫度檢測電路圖。422繼電器控溫電路當(dāng)DS18B20采集到溫度后,會將溫度值傳送到單片機。單片機獲取采集的溫度值,經(jīng)過處理后得到當(dāng)前環(huán)境中一個比較穩(wěn)定的溫度值,根據(jù)當(dāng)前設(shè)定的溫度上下限值,再通過PID控制算法控制繼電器的通斷,從而控制加熱器的工作,使得水溫維持在設(shè)定的溫度。圖4-3繼電器控溫電路圖423外部電路啟動、復(fù)位電路用于系統(tǒng)的開始和重置圖4-4外部電路圖參考文獻1 余錫存主編單片機原理與接口技術(shù)西安電子科技大學(xué)出版社,2001,7.2 劉金琨.先進PID控制及其MATLAB仿真M.北京:電

16、子工業(yè)出版社,2003.3 曹巧媛主編.單片機原理及應(yīng)用(第二版)M.北京:電子工業(yè)出版社,2002.4 康華光主編電子技術(shù)基礎(chǔ)M.北京:高等教育出版社,1998,121-142.5 何立民.單片機高級教程應(yīng)用M.北京:北京航空航天大學(xué)出版社,2000,3-14.金發(fā)慶等編.傳感器技術(shù)與應(yīng)用M.北京機械工業(yè)出版社,2002.7 秦實宏等.單片機原理與應(yīng)用技術(shù)M.北京:中國水利水電出版社,2005,27-48.陳忠華.基于單片機的溫度智能控制系統(tǒng)的設(shè)計與實現(xiàn)D.大連理工大學(xué)碩士學(xué)位論文,2006.附錄PID溫度控制器程序#pragmadbcode#include<AT89C51.H>

17、#include"INTRINS.H"II定義busy信號/定義18B20單總線引腳#defineBUSY1(DQ1=0)sbitDQ1=P3A5;voidds_reset_1(void);voidwr_ds18_1(chardat);voidtime_delay(unsignedchartime);intget_temp_1(void);voiddelay(unsignedintx);voidread_ROM(void);intget_temp_d(void);voidds_init(void);voidds_getT(void);voidhot();I*以下定義各種變量

18、II聲明18B20復(fù)位函數(shù)II聲明18B20寫入函數(shù)II聲明延時函數(shù)II聲明18B20讀入溫度函數(shù)II聲明延時函數(shù)II聲明18B20讀ROM函數(shù)II聲明獲取溫度函數(shù)II聲明18B20初始化函數(shù)II聲明18B20獲得溫度顯示值函數(shù)*/unsignedcharResultSignal;intResultTemperatureLH,ResultTemperatureLL,ResultTemperatureH;unsignedcharROM8;unsignedcharidataTMP;unsignedcharidataTMP_d;unsignedcharf;unsignedcharrd_ds18_1(

19、);unsignedintTemH,TemL;/溫度的整數(shù)部分和小數(shù)部分unsignedintcount;II定義小數(shù)計算部分unsignedinttt1,tt2;voidmain()ds_init();/18B20初始化while(1)ds_getT();/使用該函數(shù)獲得溫度,整數(shù)部分存儲到TemH,小數(shù)部分存儲到count的低8位if(TMP_d<tt1)hot();18B20初始化函數(shù)voidds_init(void)unsignedintk=0;ds_reset_1();ds_reset_1();/resetwr_ds18_1(0xcc);/skiprom_nop_();wr_d

20、s18_1(0x7f);ds_reset_1();wr_ds18_1(0xcc);_nop_();wr_ds18_1(0x44);for(k=0;k<11000;k+)time_delay(255);ds_reset_1();voidds_getT(void)wr_ds18_1(0xcc);wr_ds18_1(0xbe);TemH=get_temp_1();TemL=get_temp_d();TemH&=0x00ff;TemL&=0x00ff;count=(TemH*256+TemL)*6.25;延時程序,單位us大于10us*/voidtime_delay(unsign

21、edchartime)time=time-10;time=time/6;while(time!=0)time-;/*resetds18b20*/voidds_reset_1(void)unsignedcharidatacount=0;DQ1=0;time_delay(240);time_delay(240);DQ1=1;return;voidcheck_pre_1(void)while(DQI);while(DQ1);time_delay(30);voidread_ROM(void)intn;ds_reset_1();check_pre_1();wr_ds18_1(0x33);for(n=0;

22、n<8;n+)ROMn=rd_ds18_1();/*/*Readabitfrom1820位讀取*/*/bittmrbit_1(void)idatachari=0;bitdat;DQ1=0;_nop_();DQ1=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();dat=DQ1;time_delay(50);returndat;/*/*readabetyfromds18b20字節(jié)讀取*/*/unsignedchar

23、rd_ds18_1()unsignedcharidatai,j,dat=0;for(i=1;i<=8;i+)j=tmrbit_1();dat=(j<<(i-1)|dat;returndat;*/*writeabetyfromds18b20寫字節(jié)*/*/voidwr_ds18_1(chardat)signedcharidatai=0;unsignedcharidataj;bittestb;for(j=1;jv=8;j+)testb=dat&0x01;dat=dat>>1;if(testb)DQ1=0;_nop_();_nop_();DQ1=1;time_de

24、lay(60);elseDQ1=0;time_delay(50);DQ1=1;_nop_();_nop_();intget_temp_1(void)unsignedcharidataa=O,b=O;unsignedcharidatai;EA=O;ds_reset_1();check_pre_1();wr_ds18_1(0xcc);wr_ds18_1(0x44);while(BUSY1);ds_reset_1();check_pre_1();wr_ds18_1(0xcc);wr_ds18_1(0xbe);a=rd_ds18_1();/*若b為1則為負(fù)溫*/b=rd_ds18_1();i=b;i=

25、(i>>4);if(i=0)f=0;TMP=(a»4)|(b<<4);a=(a&0x0f);if(a>8)TMP=(TMP+1);elsef=1;a=a>>4;b=b<<4;TMP=(a|b);TMP=TMP;TMP=(TMP+1);EA=1;return(TMP);intget_temp_d(void)unsignedcharidataa=0,b=0;unsignedcharidatai,m;EA=O;ds_reset_1();/復(fù)位check_pre_1();wr_ds18_1(0xcc);wr_ds18_1(0x44

26、);while(BUSYI);ds_reset_1();check_pre_1();wr_ds18_1(0xcc);wr_ds18_1(0xbe);a=rd_ds18_1();b=rd_ds18_1();/*若b為1則為負(fù)溫*/i=b;i=(i>>4);if(i=0)f=0;TMP=(a>>4)|(b<<4);a=(a&0x0f);TMP_d=a;elsef=1;a=a;a=(a+1);b=b;b=(b+1);m=a;a=a>>4;b=b<<4;TMP=(a|b);m=(m&OxOf);TMP_d=m;EA=1;return(TMP_d);voiddelay(unsignedintx)unsignedinti;for(i=0;i<x;i+);voidhot()2.PID控制#defineFiltA0.1;/PID輸出的濾波系數(shù)(0.0-1.0)#defineFiltB0.9/PID輸出的濾波系數(shù)(1-FilterA)#defineK

溫馨提示

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

評論

0/150

提交評論