課程設(shè)計(jì)(論文)基于PID控制的電熱恒溫水壺_第1頁
課程設(shè)計(jì)(論文)基于PID控制的電熱恒溫水壺_第2頁
課程設(shè)計(jì)(論文)基于PID控制的電熱恒溫水壺_第3頁
課程設(shè)計(jì)(論文)基于PID控制的電熱恒溫水壺_第4頁
課程設(shè)計(jì)(論文)基于PID控制的電熱恒溫水壺_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘要 在能源日益緊張的今天,電熱水器,飲水機(jī)和電飯煲之類的家用電器在保溫時(shí),由于其簡單的溫控系統(tǒng),利用溫敏電阻來實(shí)現(xiàn)溫控,因而會(huì)造成很大的能源浪費(fèi)。 但是利用at89c51 單片機(jī)為核心,配合溫度傳感器,信號(hào)處理電路,顯示電路, 輸出控制電路,故障報(bào)警電路等組成的控制系統(tǒng)卻能解決這個(gè)問題。單片機(jī)可將溫度傳感器檢測(cè)到的水溫模擬量轉(zhuǎn)換成數(shù)字量,并顯示于 1602顯示器上。該系統(tǒng)具有靈活性強(qiáng),易于操作,可靠性高等優(yōu)點(diǎn),將會(huì)有更廣闊的開發(fā)前景。abstractthe growing tension in the energy today, electric water heaters, drinkin

2、g fountains and home appliances like rice cookers in the insulation, due to its simple temperature control system, the use of thermo-sensitive resistors to achieve temperature control, which may cause great waste of energy . however, the use of at89c51 single-chip microcomputer as the core, with the

3、 temperature sensor, signal processing circuit, display circuit, the output control circuit, fault alarm circuitry and other components of the control system can solve this problem. single-chip temperature sensor can detect temperature analog to digital volume, and display monitors in 1602. the syst

4、em has flexibility, easy operation, high reliability, there will be a broader development prospects.電熱恒溫系統(tǒng)概述 能源問題已經(jīng)是當(dāng)前最為熱門的話題,離開能源的日子,世界將失去一切顏色,人們將寸步難行,我們知道雖然電能是可再生能源,但是在今天還是有很多的電能是依靠火力,核電等一系列不可再生的自然資源所產(chǎn)生,一旦這些自然資源耗盡,我們將面臨電能資源的巨大的缺口,因而本設(shè)計(jì)從開源節(jié)流的角度出發(fā),節(jié)省電能,保護(hù)環(huán)境。本設(shè)計(jì)任務(wù)和主要內(nèi)容 設(shè)計(jì)并制作一個(gè)電熱恒溫系統(tǒng)控制系統(tǒng),控制對(duì)象為 1 升凈水,容

5、器為搪瓷或塑料器皿。水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)控制,以保持設(shè)定的溫度基本不變。 本設(shè)計(jì)主要內(nèi)容如下: 1.基本要求: 用電熱器加熱水壺中的水,使用單片機(jī)檢測(cè)壺內(nèi)溫度,使溫度恒溫于80度,持續(xù)10分鐘以上。2.發(fā)揮部分:(1)溫度設(shè)定范圍為:室溫4090,最小區(qū)分度為 1,標(biāo)定溫度1。 (2)環(huán)境溫度降低時(shí)溫度控制的靜態(tài)誤差1。 (3)用1602液晶顯示水的實(shí)際溫度。 (4 )采用適當(dāng)?shù)目刂品椒?,?dāng)設(shè)定溫度突變(由40提高到60)時(shí),減小系統(tǒng)的調(diào)節(jié)時(shí)間和超調(diào)量。 (5)溫度控制的靜態(tài)誤差0.5。1 系統(tǒng)方案1.1 溫度傳感器的選取 目前市場(chǎng)上溫度傳感器較多,主要

6、有以下幾種方案: 方案一:選用鉑電阻溫度傳感器。此類溫度傳感器線性度、穩(wěn)定性等方面性能都很好,但其成本較高。 方案二:采用熱敏電阻。選用此類元器件有價(jià)格便宜的優(yōu)點(diǎn),但由于熱敏電阻的非線性特性會(huì)影響系統(tǒng)的精度。 方案三:采用ds18b20溫度傳感器。ds18b20是dallas公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳to92小體積封裝形式;溫度測(cè)量范圍為55125,可編程為9位12位a/d轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出遠(yuǎn)端引入。此器件具有體積小、質(zhì)量輕、線形度好、性能穩(wěn)定等優(yōu)點(diǎn)其各方面特性都滿足此系統(tǒng)的設(shè)計(jì)要求。 比較以上三種方案,方案三具有

7、明顯的優(yōu)點(diǎn),因此選用方案三。1.2鍵盤顯示部分 控制與顯示電路是反映電路性能、外觀的最直觀部分,所以此部分電路設(shè)計(jì)的好壞直接影響到電路的好壞。 方案一:采用可編程控制器8279與數(shù)碼管及地址譯碼器74ls138組成,可編程/顯示器件8279實(shí)現(xiàn)對(duì)按鍵的掃描、消除抖動(dòng)、提供led的顯示信號(hào),并對(duì)led顯示控制。用8279和鍵盤組成的人機(jī)控制平臺(tái),能夠方便的進(jìn)行控制單片機(jī)的輸出。方案二:采用單片機(jī)at89c52與4x4矩陣組成控制和掃描系統(tǒng),并用89c52的p1口對(duì)鍵盤進(jìn)行掃描,并用總線的方式在p0口接1602液晶來顯示水溫和設(shè)定值,這種方案既能很好的控制鍵盤及顯示,又為主單片機(jī)大大的減少了程序的

8、復(fù)雜性,而且具有體積小,價(jià)格便宜的特點(diǎn)。 對(duì)比兩種方案可知,方案一雖然也能很好的實(shí)現(xiàn)電路的要求,但考慮到電路設(shè)計(jì)的成本和電路整體的性能,我們采用方案二。 1.3控制電路部分方案一:采用8031芯片,其內(nèi)部沒有程序存儲(chǔ)器,需要進(jìn)行外部擴(kuò)展,這給電路增加了復(fù)雜度。方案二:采用2051芯片,其內(nèi)部有2kb單元的程序存儲(chǔ)器,不需外部擴(kuò)展程序存儲(chǔ)器。但由于系統(tǒng)用到較多的i/o口,因此此芯片資源不夠用。 方案三:采用at89c52單片機(jī),其內(nèi)部有4kb單元的程序存儲(chǔ)器,不需外部擴(kuò)展程序存儲(chǔ)器,而且它的i/o口也足夠本次設(shè)計(jì)的要求。 比較這三種方案,綜合考慮單片機(jī)的各部分資源,因此此次設(shè)計(jì)選用方案三。 1.

9、4 pid過程控制部分:過程控制的基本概念過程控制對(duì)生產(chǎn)過程的某一或某些物理參數(shù)進(jìn)行的自動(dòng)控制。一、 模擬控制系統(tǒng) 圖5-1-1 基本模擬反饋控制回路被控量的值由傳感器或變送器來檢測(cè),這個(gè)值與給定值進(jìn)行比較,得到偏差,模擬調(diào)節(jié)器依一定控制規(guī)律使操作變量變化,以使偏差趨近于零,其輸出通過執(zhí)行器作用于過程。 控制規(guī)律用對(duì)應(yīng)的模擬硬件來實(shí)現(xiàn),控制規(guī)律的修改需要更換模擬硬件。二、 微機(jī)過程控制系統(tǒng) 圖5-1-2 微機(jī)過程控制系統(tǒng)基本框圖以微型計(jì)算機(jī)作為控制器。控制規(guī)律的實(shí)現(xiàn),是通過軟件來完成的。改變控制規(guī)律,只要改變相應(yīng)的程序即可。三、 數(shù)字控制系統(tǒng)ddc 圖5-1-3 ddc系統(tǒng)構(gòu)成框圖ddc(di

10、rect digital congtrol)系統(tǒng)是計(jì)算機(jī)用于過程控制的最典型的一種系統(tǒng)。微型計(jì)算機(jī)通過過程輸入通道對(duì)一個(gè)或多個(gè)物理量進(jìn)行檢測(cè),并根據(jù)確定的控制規(guī)律(算法)進(jìn)行計(jì)算,通過輸出通道直接去控制執(zhí)行機(jī)構(gòu),使各被控量達(dá)到預(yù)定的要求。由于計(jì)算機(jī)的決策直接作用于過程,故稱為直接數(shù)字控制。ddc系統(tǒng)也是計(jì)算機(jī)在工業(yè)應(yīng)用中最普遍的一種形式。模擬pid控制系統(tǒng)組成 圖514 模擬pid控制系統(tǒng)原理框圖pid調(diào)節(jié)器是一種線性調(diào)節(jié)器,它將給定值r(t)與實(shí)際輸出值c(t)的偏差的比例(p)、積分(i)、微分(d)通過線性組合構(gòu)成控制量,對(duì)控制對(duì)象進(jìn)行控制。 1、pid調(diào)節(jié)器的微分方程 式中 2、pid

11、調(diào)節(jié)器的傳輸函數(shù) pid調(diào)節(jié)器各校正環(huán)節(jié)的作用1、比例環(huán)節(jié):即時(shí)成比例地反應(yīng)控制系統(tǒng)的偏差信號(hào)e(t),偏差一旦產(chǎn)生,調(diào)節(jié)器立即產(chǎn)生控制作用以減小偏差。2、積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強(qiáng)弱取決于積分時(shí)間常數(shù)ti,ti越大,積分作用越弱,反之則越強(qiáng)。3、微分環(huán)節(jié):能反應(yīng)偏差信號(hào)的變化趨勢(shì)(變化速率),并能在偏差信號(hào)的值變得太大之前,在系統(tǒng)中引入一個(gè)有效的早期修正信號(hào),從而加快系統(tǒng)的動(dòng)作速度,減小調(diào)節(jié)時(shí)間。 數(shù)字pid控制器一、模擬pid控制規(guī)律的離散化模擬形式離散化形式二、數(shù)字pid控制器的差分方程式中 稱為比例項(xiàng) 稱為積分項(xiàng) 稱為微分項(xiàng)2 總體方案原理的理論分析2.

12、1系統(tǒng)模塊分為:ds18b20模塊,1602液晶顯示模塊,繼電器模塊,鍵盤輸入模塊和聲光報(bào)警模塊,ds18b20可以被編程,所以箭頭是雙向的,cpu(89c52)首先寫入命令給ds18b20,然后ds18b20開始轉(zhuǎn)換數(shù)據(jù),轉(zhuǎn)換后通89c52來處理數(shù)據(jù)。數(shù)據(jù)處理后的結(jié)果就顯示到1602液晶上。2.2系統(tǒng)模塊總關(guān)系圖本系統(tǒng)的執(zhí)行方法是循環(huán)查詢執(zhí)行的,鍵盤掃描也是用循環(huán)查詢的辦法,由于本系統(tǒng)對(duì)實(shí)時(shí)性要求不是很高,所以沒有用到中斷方式來處理。3 電路與程序設(shè)計(jì) 1繼電器模塊下圖是一個(gè)蜂鳴器和一個(gè)繼電器的圖,我們只用到了繼電器的圖,繼電器和單片機(jī)的p1.3口進(jìn)行通訊。2.液晶顯示模塊下圖是1602液晶

13、顯示模塊的圖,按照總線接法來連接,1602數(shù)據(jù)口接單片機(jī)的p0口。3.89c51單片機(jī)最小系統(tǒng)模塊 89c51單片機(jī)最小系統(tǒng)模塊如下,p0口接10k的上拉電阻以便與顯示模塊通訊。4.鍵盤和ds18b20模塊 鍵盤和ds18b20模塊如下,采用4x4矩陣鍵盤接單片機(jī)p1口,ds18b20模塊對(duì)水溫進(jìn)行采樣,并與單片機(jī)通訊來實(shí)現(xiàn)對(duì)水溫的控制。4.軟件設(shè)計(jì)說明 本系統(tǒng)采用的是循環(huán)查詢方式,來顯示和控制溫度的。4.1總程序流程圖如下4.2中斷函數(shù)流程圖如下: 4.3主要c程序(1)主函數(shù)如下:#include #include #includekeyscan.h#includeds18b20.h#in

14、cludexianshi.h#includepid.hvoid pidbegin(void); / pid參數(shù)初始化/ void main() unsigned char key1=0,i,k; unsigned int tmp; unsigned char shu3=13,13,0; unsigned char counter=0; pidbegin(); while(1) if(counter- = 0)tmp = readtemperature(); counter = 20; view(tmp); /溫度顯示;compare_temper(); (2) pid算法溫度控制程序#ifnd

15、ef _pid_h_#define _pid_h_#include #include #include struct pid unsigned int setpoint; / 設(shè)定目標(biāo) desired value unsigned int proportion; / 比例常數(shù) proportional const unsigned int integral; / 積分常數(shù) integral const unsigned int derivative; / 微分常數(shù) derivative const unsigned int lasterror; / error-1 unsigned int p

16、reverror; / error-2 unsigned int sumerror; / sums of errors struct pid spid; / pid control structure unsigned int rout; / pid response (output) unsigned int rin; / pid feedback (input) sbit output=p34; unsigned char high_time,low_time,count=0;/占空比調(diào)節(jié)參數(shù) unsigned char set_temper=33; void pidinit (struc

17、t pid *pp) memset ( pp,0,sizeof(struct pid); unsigned int pidcalc( struct pid *pp, unsigned int nextpoint ) unsigned int derror,error; error = pp-setpoint - nextpoint; / 偏差 pp-sumerror += error; / 積分 derror = pp-lasterror - pp-preverror; / 當(dāng)前微分 pp-preverror = pp-lasterror; pp-lasterror = error; retu

18、rn (pp-proportion * error/比例 + pp-integral * pp-sumerror /積分項(xiàng) + pp-derivative * derror); / 微分項(xiàng) /* 溫度比較處理子程序 */ compare_temper() unsigned char i; /ea=0;if(set_tempertemper) if(set_temper-temper1) high_time=100; low_time=0; else for(i=0;i10;i+) get_temper(); rin = s; / read input rout = pidcalc ( &spi

19、d,rin ); / perform pid interation if (high_time=100) high_time=(unsigned char)(rout/800); else high_time=100; low_time= (100-high_time); else if(set_temper0) high_time=0; low_time=100; else for(i=0;i10;i+) get_temper(); rin = s; / read input rout = pidcalc ( &spid,rin ); / perform pid interation if

20、(high_time100) high_time=(unsigned char)(rout/10000); else high_time=0; low_time= (100-high_time);/ea=1; /* t0中斷服務(wù)子程序,用于控制電平的翻轉(zhuǎn) ,40us*100=4ms周期 */ void serve_t0() interrupt 1 using 1 if(+count=(high_time) output=1; else if(count0;i-) dq = 0; / 給脈沖信號(hào) dat=1; dq = 1; / 給脈沖信號(hào) if(dq) dat|=0x80; delay_18b

21、20(10); return(dat);/寫一個(gè)字節(jié) writeonechar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) dq = 0; dq = dat&0x01; delay_18b20(10); dq = 1; dat=1; /讀取溫度readtemperature(void)unsigned char a=0;unsigned char b=0;unsigned int t=0;/ea = 0; init_ds18b20();writeonechar(0xcc); /跳過讀序號(hào)列號(hào)的操作writeonechar(0x

22、be); /讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度a=readonechar();b=readonechar();/啟動(dòng)下一次溫度轉(zhuǎn)換init_ds18b20();writeonechar(0xcc); / 跳過讀序號(hào)列號(hào)的操作writeonechar(0x44); / 啟動(dòng)溫度轉(zhuǎn)換 t=(b*256+a)*25; b=(b4; temper=a|b; return(t2);#endif5測(cè)試方案與測(cè)試結(jié)果5.1 測(cè)試方案如下: 用繼電器模塊來控制200w“熱得快”來對(duì)1升水進(jìn)行加熱,用鍵盤設(shè)定需加熱溫度值,觀察1602所顯示的穩(wěn)定時(shí)的水溫值和環(huán)境溫度降低時(shí)溫度控制的靜態(tài)誤差。多

23、次調(diào)試并和設(shè)定pid參數(shù)來完善該系統(tǒng)。5.2 測(cè)試結(jié)果如下: 經(jīng)過多次測(cè)試,得到如下數(shù)據(jù) 由測(cè)試結(jié)果和上表數(shù)據(jù)得出:(1)用電熱器加熱水壺中的水,使用單片機(jī)檢測(cè)壺內(nèi)溫度,使溫度恒溫于80度,不僅能持續(xù)10分鐘以上,還有很高的精度。(2)溫度設(shè)定范圍為3090(在4090范圍內(nèi)),最小區(qū)分度達(dá)到0. 1(小于1)以上,標(biāo)定溫度值也符合設(shè)計(jì)要求。 (3)由于采用了pid控制,在環(huán)境溫度降低時(shí)溫度控制的靜態(tài)誤差小于0.5(精度高于設(shè)計(jì)要求)。 (4)用ts1602-1液晶來顯示水的實(shí)際溫度和設(shè)定溫度值,顯示很穩(wěn)定。 (5)采用了pid控制,當(dāng)設(shè)定溫度突變(由40提高到60)時(shí),經(jīng)過多次調(diào)試知道,當(dāng)p

24、=20;i=15;d=6時(shí)系統(tǒng)具有最小的調(diào)節(jié)時(shí)間和超調(diào)量。 (6)當(dāng)溫度穩(wěn)定時(shí),溫度控制的靜態(tài)誤差0.5。(7)經(jīng)過多次測(cè)試和改進(jìn),該系統(tǒng)各方面參數(shù)都達(dá)到和超過設(shè)計(jì)參數(shù),完成了既定目標(biāo)(包括基本要求和發(fā)揮部分的要求)。6結(jié)束語首先,通過本次應(yīng)用系統(tǒng)設(shè)計(jì),在很大程度上提高了我們的獨(dú)立思考能力和單片機(jī)的專業(yè)知識(shí),也深刻了解寫一篇應(yīng)用系統(tǒng)的步驟和格式,有過這樣的一次競(jìng)賽經(jīng)歷,相信在接下來的日子我們能在已有的基礎(chǔ)上做得更好。我們所設(shè)計(jì)的該系統(tǒng)主要根據(jù)目前節(jié)省能源的發(fā)展趨勢(shì)和國內(nèi)實(shí)際的應(yīng)用特點(diǎn)和要求,采用了自動(dòng)化的結(jié)構(gòu)形式,實(shí)現(xiàn)對(duì)水溫的自動(dòng)檢測(cè)和控制。系統(tǒng)以at89c51單片機(jī)為核心部件,單片機(jī)系統(tǒng)完成對(duì)水溫信號(hào)的采集、處理、顯示等功能; 并采用了pid算法,因而提高了控制的準(zhǔn)確度。該系統(tǒng)的主要特點(diǎn)是: 1)適用性強(qiáng),用戶只需對(duì)界面參數(shù)進(jìn)行設(shè)置并啟動(dòng)系統(tǒng)正常運(yùn)行便可滿足不同用戶水溫的要求,實(shí)現(xiàn)對(duì)水溫的實(shí)時(shí)監(jiān)控。避免了電力力資源的浪費(fèi),節(jié)省

溫馨提示

  • 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)論