水溫控制系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)
水溫控制系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁(yè)
水溫控制系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁(yè)
水溫控制系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁(yè)
水溫控制系統(tǒng)課程設(shè)計(jì)報(bào)告_第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)介

陜西理工學(xué)院課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告課程:計(jì)算機(jī)控制系統(tǒng)課程設(shè)計(jì)題目:水溫控制系統(tǒng)設(shè)計(jì)院系:電氣工程系班級(jí):自控xx班學(xué)號(hào):xxxxx姓名:xxx指導(dǎo)老師:xx時(shí)間:前言在日常生活中通過(guò)水溫控制來(lái)給人們帶來(lái)舒適的,方便的生活.例如剛在外工作回家的男人一定會(huì)很疲倦了,如果能夠洗個(gè)熱水澡,那真是非常好的事情了.這樣能夠讓一天的疲憊隨著溫?zé)岬牧魉畮ё吡?家庭主婦要為家人煮一個(gè)熱噴噴的湯水.煮好以后就這樣放著也會(huì)變涼的,如何保持水溫的恒定呢?這就需要需要水溫控制系統(tǒng)了.水溫控制在工業(yè)及日常生活中應(yīng)用廣泛,分類較多,不同水溫控制系統(tǒng)的控制方法也不盡相同,其中以PID控制法最為常見(jiàn)。單片機(jī)控制局部采用AT89C52單片機(jī)為核心,采用軟件編程,實(shí)現(xiàn)用PID算法來(lái)控制PWM波的產(chǎn)生,進(jìn)而控制電爐的加熱來(lái)實(shí)現(xiàn)溫度控制。然而,單純的PID算法無(wú)法適應(yīng)不同的溫度環(huán)境,在某個(gè)特定場(chǎng)合運(yùn)行性能非常良好的溫度控制器,到了新環(huán)境往往無(wú)法很好勝任,甚至使系統(tǒng)變得不穩(wěn)定,需要重新改變PID調(diào)節(jié)參數(shù)值以取得佳性能。本文首先用PID算法來(lái)控制PWM波的產(chǎn)生,進(jìn)而控制電爐的加熱來(lái)實(shí)現(xiàn)溫度控制。然后在模型參考自適應(yīng)算法的根底上,用單片機(jī)實(shí)現(xiàn)了自適應(yīng)控制,彌補(bǔ)了傳統(tǒng)PID控制結(jié)構(gòu)在特定場(chǎng)合下性能下降的缺乏,設(shè)計(jì)了一套實(shí)用的溫度測(cè)控系統(tǒng),使它在不同時(shí)間常數(shù)下均可以到達(dá)技術(shù)指標(biāo)。此外還有效減少了輸出繼電器的開(kāi)關(guān)次數(shù),適用于環(huán)境參數(shù)經(jīng)常變化的小型水溫控制系統(tǒng)。目錄1.概述.測(cè)試方法與測(cè)試結(jié)果7.1系統(tǒng)測(cè)試儀器DH1718E-5雙路跟蹤穩(wěn)壓穩(wěn)流電源TektronixTDS1002數(shù)字示波器偉福E6000/L仿真器GDM-8145多功能數(shù)字表數(shù)字萬(wàn)用表7.2測(cè)試方法〔1〕在電爐子中放入1升清水,電爐子和控制系統(tǒng)相連,給系統(tǒng)上電,系統(tǒng)進(jìn)入準(zhǔn)備工作狀態(tài)?!?〕分別設(shè)定溫度為40℃、45℃、50℃、60℃、70℃、75℃〔3〕觀察水溫變化的動(dòng)態(tài)情況,并記溫度穩(wěn)定的時(shí)間。填寫(xiě)表1-2。7.3測(cè)試結(jié)果〔1〕給定溫度與實(shí)測(cè)溫度的數(shù)據(jù)比照方表1-1表1-1誤差分析表設(shè)定溫度〔℃〕實(shí)測(cè)溫度〔℃〕絕對(duì)誤差〔℃〕相對(duì)誤差〔%〕設(shè)定溫度〔℃〕實(shí)測(cè)溫度〔℃〕絕對(duì)誤差〔℃〕相對(duì)誤差〔%〕135.3℃35.3℃00%46060.5℃0.5℃0.83%240.2℃40.1℃-0.10.24%57473.4℃-0.4℃0.60%34545.3℃0.3℃0.66%68181.2℃0.2℃0.25%從表1-1中的數(shù)據(jù)可知,系統(tǒng)的誤差根本穩(wěn)定在正負(fù)0.3℃能很好的滿足系統(tǒng)的設(shè)計(jì)要求?!?〕溫度穩(wěn)定和時(shí)間的關(guān)系設(shè)定溫度為50℃,每隔30s記錄實(shí)測(cè)溫度如表1表1-2溫度穩(wěn)定速度關(guān)系表〔設(shè)定溫度50℃測(cè)量時(shí)間〔分〕0.5分1分1.5分2.0分2.5分3.5分4.0分實(shí)測(cè)溫度℃35.5℃37.℃40.3℃43.5℃48.1℃50.3℃51.1℃測(cè)量時(shí)間〔分〕4.5分5.0分5.5分6.0分6.5分實(shí)測(cè)溫度℃50.6℃49.8℃50.5℃50.2℃50.1℃從表1-2中的數(shù)據(jù)可知,系統(tǒng)運(yùn)行5分鐘時(shí)系統(tǒng)根本到達(dá)穩(wěn)定。由微機(jī)逐點(diǎn)采樣所的曲線圖如圖1-8所示圖1-8溫度變化圖8.設(shè)計(jì)總結(jié)通過(guò)一個(gè)學(xué)期的努力,我成功的完成了此次設(shè)計(jì),在設(shè)計(jì)的過(guò)程中我們學(xué)會(huì)了很多知識(shí)的同時(shí)也鍛煉了自己的各方面能力。在設(shè)計(jì)的初期我也遇到了很多的困難,但通過(guò)自己的努力和老師的指導(dǎo)克服了種種困難。并在實(shí)現(xiàn)根本要求的同時(shí)擴(kuò)展了很多功能,比方和微機(jī)的通信等等。雖然此次設(shè)計(jì)比擬成功,比方說(shuō)溫度精度方面還好,但是電路還存在著很多缺乏之處,希望在今后我還能將其完善。附錄一液晶驅(qū)動(dòng)顯示程序/****************延時(shí)函數(shù)*************/voiddelay(uintm){intx,y; for(x=1;x<=m;x++) {for(y=1;y<=125;y++); }}/**********檢查忙碌信號(hào)子程序*****//*********************************/voidcheck_busy(void){lcd_rs=0;//存放器選擇輸入端,為1表示數(shù)據(jù)存放器,為0表示指令存放器 lcd_rw=1; //讀寫(xiě)操作控制端,當(dāng)為1時(shí)表示讀,為0時(shí)表示寫(xiě) lcd_en=1; //使能輸入端,當(dāng)為1時(shí)讀寫(xiě)允許,為0時(shí)讀寫(xiě)禁止 _nop_(); _nop_();while(P0&0x80) //當(dāng)P0口的最高位為1時(shí),說(shuō)明lcd忙碌,反之空閑 { lcd_en=0; _nop_(); _nop_(); lcd_en=1; _nop_(); _nop_(); } lcd_en=0; //禁止使能}/**********寫(xiě)指令到指令存放器子程序*****/voidwrite_inst(ucharw_date1){ check_busy(); //查忙碌信號(hào) lcd_en=0; lcd_rs=0; lcd_rw=0; lcd_en=1; P0=w_date1; lcd_en=0; delay(2); //延時(shí)大概2毫秒}/**********寫(xiě)數(shù)據(jù)到數(shù)據(jù)存放器子程序*****//***************************************/voidwrite_date(ucharw_date2){ check_busy(); lcd_en=0; lcd_rs=1; lcd_rw=0; lcd_en=1; P0=w_date2; lcd_en=0; delay(2);}/*********啟動(dòng)與清屏LCD_1602子程序*****//***************************************/voidinitial(void){ write_inst(0x38); //數(shù)據(jù)長(zhǎng)度為8位,兩行,為5*7點(diǎn)陣字符write_inst(0x0c); //顯示屏顯示,無(wú)光標(biāo),不閃爍 write_inst(0x06); //光標(biāo)右移一位,AC加1 write_inst(0x01); //清屏LCD_1602}/*********字符串顯示子程序***********//************************************/voiddisplay(void){ucharii,jj,kk; write_inst(0x80); //設(shè)定在顯示屏上的位置for(ii=1;ii<=16;ii++){write_date(table_0[a_0]); //顯示字符串 a_0++; } _nop_();write_inst(0xc0); //設(shè)定在顯示屏上的位置for(jj=1;jj<=16;jj++){write_date(table_1[b_0]); //顯示字符串 b_0++; } _nop_(); write_inst(0x40); //將CGRAM的地址寫(xiě)入指令存放器for(kk=1;kk<=8;kk++) //依次顯示構(gòu)成字符的8個(gè)字節(jié) { write_date(table_2[c_0]); c_0++; } write_inst(0xce); //確定用戶自定義字符在顯示屏上的位置 write_date(0x00); //采用一條寫(xiě)數(shù)據(jù)指令將所要字符顯示出來(lái) _nop_(); }附錄二DS18B20初始化程序voidds18b20_reset(void){uintr;dq=1;_nop_();//1usdq=0; r=66;while(r>0) r--;//當(dāng)總線停留在低電平超過(guò)480us,總線上所以器件都將被復(fù)位,這里//延時(shí)約530us總線停留在低電平超過(guò)480μs,總線上的所有器件都將被復(fù)位。_nop_();dq=1;r=5;//產(chǎn)生復(fù)位脈沖后,微處理器釋放總線,讓總線處于空閑狀態(tài),原因查//18b20中文資料while(r>0) //釋放總線后,以便從機(jī)18b20通過(guò)拉低總線來(lái)指示其是否在線,r--;//存在檢測(cè)高電平時(shí)間:15~60us,所以延時(shí)42us,進(jìn)行1-wirepresence//detect〔單線存在檢測(cè)〕 _nop_();_nop_();_nop_();if(dq==0)flag=1;//說(shuō)明ds18b20在線elseflag=0;//說(shuō)明ds18b20不在線 r=17; while(r>0)//存在檢測(cè)低電平時(shí)間:60~240us,所以延時(shí)約140us r--;_nop_();_nop_();_nop_();dq=1;//再次拉高總線,讓總線處于空閑狀態(tài)}/*************************************************DS18B20的讀時(shí)間隙子程序:DS18B20的數(shù)據(jù)讀寫(xiě)是通過(guò)時(shí)間隙處理位和命令字來(lái)確認(rèn)信息交換。***************************************************/bitds18b20_read_bit(void)//讀一位{ uintr; bit_bit;dq=0;//單片機(jī)〔微處理器〕將總線拉低 _nop_();//讀時(shí)隙起始于微處理器將總線拉低至少1us _nop_();dq=1;//拉低總線后接著釋放總線,讓從機(jī)18b20能夠接管總線,輸出有效數(shù)據(jù) _nop_();_nop_();//小延時(shí)一下,讀取18b20上的數(shù)據(jù),因?yàn)閺膁s18b20上輸出的數(shù)據(jù) //在讀"時(shí)間隙"下降沿出現(xiàn)1_bit=dq;//主機(jī)讀從機(jī)18b20輸出的數(shù)據(jù),這些數(shù)據(jù)在讀時(shí)隙的下降沿出現(xiàn)//15us內(nèi)有效 r=9;//所有讀"時(shí)間隙"必須60~120us,這里74us while(r>0) r--; return(_bit);//返回有效數(shù)據(jù)}uchards18b20_read_byte(void)//讀一字節(jié){ucharvalue=0,x,y;//x表示循環(huán)次數(shù),每次接收到的18b20數(shù)據(jù)送往j的最低位 for(x=0;x<8;x++) { y=ds18b20_read_bit(); value=(y<<7)|(value>>1);//這一步的說(shuō)明在一個(gè)word文檔里面 } returnvalue;//返回一個(gè)字節(jié)的數(shù)據(jù)}/*************************************************DS1820的寫(xiě)時(shí)間隙子程序:DS1820的數(shù)據(jù)讀寫(xiě)是通過(guò)時(shí)間隙處理位和命令字來(lái)確認(rèn)信息交換。***************************************************/voidds18b20_write_byte(uchardate)//寫(xiě)一個(gè)字節(jié){ uintw;uintr;bit_bit1;//一定不要忘了,_bit1是一位for(w=1;w<=8;w++){_bit1=date&0x01;date=date>>1;if(_bit1)//寫(xiě)1 { dq=0; _nop_(); _nop_();//看時(shí)序圖,至少延時(shí)1us,才產(chǎn)生寫(xiě)"時(shí)間隙" dq=1;//寫(xiě)時(shí)間隙開(kāi)始后的15μs內(nèi)允許數(shù)據(jù)線拉到高電平 r=8;//所有寫(xiě)時(shí)間隙必須最少持續(xù)60us,現(xiàn)在延時(shí)66us while(r>0) r--; } else//寫(xiě)0 { dq=0; r=8;//主機(jī)要生成一個(gè)寫(xiě)0時(shí)間隙,必須把數(shù)據(jù)線拉到低電平并保持至少60μs,這里66us while(r>0) r--; dq=1; _nop_(); _nop_(); } } }/******************************************************************讀溫度轉(zhuǎn)換子程序*****************************/uintget_temp(){ uintr;dq=1;ds18b20_reset(); if(flag==1){ds18b20_write_byte(0xcc); ds18b20_write_byte(0x44); r=94; //大概延時(shí)754uswhile(r>0) r--; ds18b20_reset(); ds18b20_write_byte(0xcc); ds18b20_write_byte(0xbe); temp_l=ds18b20_read_byte(); temp_h=ds18b20_read_byte(); temp=temp_h; temp=temp<<8; temp=temp|temp_l; //將16位數(shù)據(jù)存于temp中 flag=0; } returntemp;}/******************************************************************處理轉(zhuǎn)換后溫度值子程序*****************************/voiddeal_temp(void){ucharfu_hao; temp_hh=temp_h;fu_hao=temp_hh&0x80; if (fu_hao==0x00) {flag11=1; temp_abc=temp*0.0625; //得真實(shí)的正溫度值 } else if(fu_hao==0x80) {flag11=0; temp_abc=(~temp+1)*0.0625; //得真實(shí)的負(fù)溫度值的絕對(duì)值 } else; }/******************************************************************溫度顯示子程序*****************************/voiddisplay_temp(void){ floatb_1; uintc_1;uchara_1,a_2,a_3,a_4; b_1=temp_abc*100+5; c_1=b_1/10; shiji_1=c_1; if (flag11==1) //用flag11來(lái)區(qū)分溫度正負(fù),當(dāng)為1時(shí)是正,當(dāng)為0時(shí)是負(fù){ a_1=c_1%10; //十分位 a_2=c_1%100/10; // 個(gè)位 a_3=c_1%1000/100; //十位 a_4=c_1/1000; //百位 flag11=0; } else { a_1=c_

溫馨提示

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