版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
電阻爐爐溫控制系統(tǒng)設(shè)計課程設(shè)計要求課題內(nèi)容應(yīng)用計算機實時監(jiān)控和溫度測量技術(shù),采取單片機、溫度檢測電路、溫度控制電路等,采取百分比環(huán)反饋、數(shù)字PID閉環(huán)調(diào)整兩種方法實現(xiàn)電阻爐爐溫實時監(jiān)控。要求及技術(shù)指標(biāo)用單片機及對應(yīng)組成部件組成電阻爐溫自動控制系統(tǒng),要求測溫范圍0~100℃,使其控制系統(tǒng)控制溫度保溫值改變范圍為30~60℃。要求:(1)完成電阻爐溫度控制系統(tǒng)設(shè)計,包含硬件電路設(shè)計和軟件程序設(shè)計;(2)采取LED實時顯示控溫時實際爐溫和設(shè)定爐溫,如將爐溫加熱并控制在60℃;當(dāng)爐溫工作至設(shè)定溫度時,蜂鳴器每2秒報警一次,綠色LED燈常亮。當(dāng)爐溫超出設(shè)定溫度5℃,過溫保護電路動作,(3)對其主電路和控制電路設(shè)計對應(yīng)保護電路,使其安全可靠地工作。(4)含有防干燒功效。(5)含有定時功效,設(shè)定一段時間自動加溫,如1分鐘。元器件清單元件名稱數(shù)量電熱杯1個SL-1型51單片機綜合試驗箱1個DS18B20溫度傳感器1片STC89C52單片機1片S8550三極管放大器2片USB下載線1條單線固態(tài)繼電器1個二極管1個導(dǎo)線若干另有剪刀、鑷子等工具表1.1元器件清單電路設(shè)計總體設(shè)計方案基礎(chǔ)方案:利用溫度變送器及溫度檢測電路將電阻爐實際溫度轉(zhuǎn)換成對應(yīng)數(shù)字信號,送入單片機,進行數(shù)據(jù)處理后,經(jīng)過顯示器顯示溫度,并判定是否報警,同時將實際爐溫和設(shè)定溫度比較,依據(jù)對應(yīng)算法(如PID)計算出控制量,經(jīng)過控制對應(yīng)加熱電路實現(xiàn)對爐溫控制。本系統(tǒng)采取STC89C52作為系統(tǒng)主控芯片,負責(zé)加熱爐溫度檢測和控制。其關(guān)鍵任務(wù)是:1、讀取DS18B20溫度數(shù)據(jù);2、控制繼電器通斷,確保溫度達成設(shè)定值并保溫;3、讀取鍵盤設(shè)置溫度值;4、在LED上顯示設(shè)置溫度、目前溫度和恒溫時間;5、當(dāng)溫度抵達警戒值時候控制蜂鳴器報警。圖2.1總體結(jié)構(gòu)圖因為加熱爐僅能經(jīng)過通斷電路控制,不含有良好可控性,且加熱所需速度和精度要求并不高,這里無需使用PID算法這么高速跟蹤算法,只要使用二次線性化方法控制,就能夠很好地實現(xiàn)爐子加熱和恒溫控制了。硬件電路設(shè)計SL-I型51單片機綜合試驗箱單片機最小系統(tǒng)STC89C52系列單片機是宏晶科技生產(chǎn)單時鐘/機器周期(1T)單片機,是高速/低功耗/超強抗干擾新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對電機控制,強干擾場所。最小系統(tǒng)圖4.1所表示:圖3.1單片機最小系統(tǒng)數(shù)碼管顯示模塊數(shù)碼管顯示原理不管是共陰還是共陽,其基礎(chǔ)原理是一樣,全部是靠點亮內(nèi)部LED來發(fā)光。一位數(shù)碼管引腳是十個,顯示一個8字需要7個小段,另外還有一個小數(shù)點。圖4.2數(shù)碼管內(nèi)部原理圖試驗時為了確保編程方便,通常將數(shù)碼管數(shù)字所對應(yīng)八位數(shù)字統(tǒng)計在數(shù)組中,程序中直接使用查表方法,能夠提升程序效率,也使程序編寫愈加簡單方便。符號編碼符號編碼00xC080x8010xF990x9020xA4A0x8830xB0B0xC740x99C0xC650x92D0xA160x82E0x8670xF8F0x8E我們試驗箱中LED數(shù)碼管是四位數(shù)碼管,所以為了控制方便,四個數(shù)碼管“段選端”是連在一起,她們GND或VCC端作為“位選端”來輸入控制信號,這么單片機就能夠經(jīng)過程序來控制顯示字符。下圖是試驗箱開發(fā)板中數(shù)碼管電路圖:STC89C52Px1口作為段選(任意口)Px2口作為位選(任意口)圖4.3試驗箱數(shù)碼管電路按鍵模塊彈性按鍵被按下時閉合,松手后自動斷開。單片機檢測按鍵原理是:單片機I/O口既能夠作為輸出也可作為輸入使用,當(dāng)檢測按鍵時使用是它輸入功效,把按鍵一端接地,另一端和單片機某一個I/O口相連,開始時先給I/O口賦一高電平,然后讓單片機不停地檢測該I/O口是否變成低電平,當(dāng)按鍵閉合時,即相當(dāng)于該I/O口經(jīng)過按鍵和地相連,變成低電平,程序一旦檢測到I/O口變?yōu)榈碗娖絼t說明按鍵被按下,然后實施對應(yīng)指令。圖4.5按鍵檢測步驟圖不管獨立鍵盤還是矩陣鍵盤,單片機檢測其是否被按下依據(jù)全部是一樣,也就是檢測該鍵對應(yīng)I/O口是否為低電平。獨立鍵盤有一端固定為低電平,單片機寫程序檢測時比較方便。而矩陣鍵盤兩端全部和單片機I/O口連接,所以在檢測時需人為經(jīng)過單片機I/O口送出低電平。檢測時,先送一列為低電平,其它幾列為高電平,然后立即輪番檢測一次各行是否有低電平,若檢測到某一行為低電平,就能夠確定目前被按下按鍵是哪一行哪一列,用一樣方法輪番各列送一次低電平,再輪番檢測一次各行是否變?yōu)榈碗娖?,這么即可檢測完全部按鍵。圖4.6矩陣鍵盤按鍵電路圖4.1.4報警模塊報警模塊結(jié)構(gòu)比較簡單,只是一個蜂鳴器模塊,當(dāng)溫度高于設(shè)定值較大時,單片機在I/O口上輸入一個低電平,就能夠使蜂鳴器報警。圖4.7報警電路4.2溫度采集電路DS18B20溫度傳感器是將半導(dǎo)體溫敏器件、A/D轉(zhuǎn)換器、存放器等做在一個很小集成電路芯片上。測溫范圍為-55℃~+125℃,測溫精度為士0.5圖4.8DS18B20溫度傳感器只有三根外引線:單線數(shù)據(jù)傳輸總線端口DQ,外供電源線VDD,共用地線GND。DS18B20有兩種供電方法:一個為數(shù)據(jù)線供電方法,此時VDD接地,它是經(jīng)過內(nèi)部電容在空閑時從數(shù)據(jù)線獲取能量,來完成溫度轉(zhuǎn)換,對應(yīng)完成溫度轉(zhuǎn)換時間較長。這種情況下,用單片機一個I/O口來完成對DS18B20總線上拉。另一個是外部供電方法(VDD接+5V),對應(yīng)完成溫度測量時間較短。在本設(shè)計中采取外部供電方法實現(xiàn)DS18B20傳感器和單片機連接,其接口電路圖4所表示。4.3繼電器電路設(shè)計本系統(tǒng)采取單相固態(tài)繼電器SSR/1P-10A,當(dāng)單片機給繼電器供5V電壓時,繼電器導(dǎo)通。能夠經(jīng)過這個原理將加熱爐電源線火線分別接入繼電器兩端,所以單片機I/O口供給低電平,繼電器就能夠?qū)ǎ@么就能夠控制加熱爐加熱了。圖所表示:圖4.14繼電器結(jié)構(gòu)因為考慮到單片機引腳驅(qū)動能力可能不足,所以制作了驅(qū)動電路,放大驅(qū)動電流,并在繼電器兩端加上續(xù)流二極管確保加熱時間夠長。電路以下:圖4.15驅(qū)動電路軟件程序設(shè)計/* 1月6日 課程設(shè)計 內(nèi)容: 溫度控制系統(tǒng) 硬件: 5110+DS18B20+鍵盤*/#include<reg52.h>#include<stdio.h>#defineucharunsignedchar#defineuintunsignedintsbitds=P2^5; /*溫度傳感器信號線*/sbitbeep=P2^7; /*蜂鳴器*/sbitjdq=P2^6; /*繼電器*/sbitled_green=P2^4; /*綠燈*/sbitled_red=P2^2; /*紅燈*/uinttemp; /*讀取溫度值*/floatf_temp;uintwarn_l=300; /*低溫30*/uintwarn_h1=600; /*高溫60*/uintwarn_h2=650; /*高溫65*/ucharwarn_flag=0; /*超出60報警標(biāo)志*/uchartime=0; /*time計數(shù)器*/uchartime_1=0; /*time計數(shù)器1*/uinttime_2=0; /*time計數(shù)器2*/uinttime_3=0; /*time計數(shù)器3*/uchardis_page=0; /*數(shù)碼管頁面*/ucharkey_num=0; /*鍵盤值*/uintworking_time=0; /*預(yù)設(shè)加熱時間*/ucharheating_flag=0; /*開始加熱標(biāo)志*/ucharkey_input_temp; /*鍵盤輸入TEMP值*/ucharset_temp=30; /*設(shè)置溫度初始化為30度*/ucharkeep_flag=0; /*保持設(shè)置溫度標(biāo)志位*/unsignedcharcodetable[]={ 0x3f,0x06,0x5b,0x4f,0x66,/*不帶點編碼*/ 0x6d,0x7d,0x07,0x7f,0x6f, 0xbf,0x86,0xdb,0xcf,0xe6,/*帶小數(shù)點編碼*/ 0xed,0xfd,0x87,0xff,0xef};/*****************DS18B20部分********************/voiddelay(uintz) /*延時函數(shù)*/{ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voiddsreset(void) /*18B20復(fù)位,初始化函數(shù)*/{uinti;ds=0;i=103;while(i>0)i--;ds=1;i=4;while(i>0)i--;}bittempreadbit(void)/*讀1位函數(shù)*/{uinti;bitdat;ds=0;i++; /*i++起延時作用*/ds=1;i++; i++;dat=ds;i=8;while(i>0)i--;return(dat);}uchartempread(void) /*讀1個字節(jié)*/{uchari,j,dat;dat=0;for(i=1;i<=8;i++){j=tempreadbit();dat=(j<<7)|(dat>>1);/*讀出數(shù)據(jù)最低位在最前面,這么剛好一個字節(jié)在DAT里*/}return(dat);}voidtempwritebyte(uchardat)/*向18B20寫一個字節(jié)數(shù)據(jù)*/{uinti;ucharj;bittestb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb)//寫1{ds=0;i++; i++;ds=1;i=8; while(i>0) i--;}else{ds=0;//寫0i=8; while(i>0) i--;ds=1;i++; i++;}}}voidtempchange(void) /*DS18B20開始獲取溫度并轉(zhuǎn)換*/{dsreset();delay(1);tempwritebyte(0xcc);//寫跳過讀ROM指令tempwritebyte(0x44);//寫溫度轉(zhuǎn)換指令}uintget_temp()/*讀取寄存器中存放溫度數(shù)據(jù)*/{uchara,b;dsreset();delay(1);tempwritebyte(0xcc);tempwritebyte(0xbe);a=tempread();//讀低8位b=tempread();//讀高8位temp=b;temp<<=8;//兩個字節(jié)組合為1個字temp=temp|a;f_temp=temp*0.0625;//溫度在寄存器中為12位分辨率位0.0625°temp=f_temp*10+0.5;//乘以10表示小數(shù)點后面只取1位,加0.5是四舍五入f_temp=f_temp+0.05;returntemp;//temp是整型}/*******************顯示部分*****I****************/voiddisplay(ucharnum,uchardat)/*顯示字符*/{uchari;P0=~table[dat]; //數(shù)碼管段選i=0xff;i=i&(~(0x01<<num));P1=i; //數(shù)碼管位選delay(1);}voiddisplay_heating() /*顯示字符"H"*/{ uchari; P0=0x89; i=0xff; i=i&(~0x01); P1=i; delay(1); }voiddis_temp(uintt) /*顯示實時溫度*/{uchari;i=t/100;display(1,i);i=t%100/10;display(2,i+10);i=t%100%10;display(3,i);}voiddis_working(void) /*顯示定時加熱時間*/{uchari;i=working_time/100;display(1,i);i=working_time%100/10;display(2,i);i=working_time%100%10;display(3,i);}voiddis_set_temp(void){ uchari; i=set_temp/100; display(1,i); i=set_temp%100/10; display(2,i); i=set_temp%100%10; display(3,i); }voiddeal(uintt) /*溫度處理函數(shù)*/{warn_h1=set_temp*10;//將目前設(shè)定溫度賦給報警溫度warn_h2=(set_temp+5)*10;if((t>warn_h1)&&(t<warn_h2))/*大于設(shè)置溫度小于設(shè)置溫度+5度*/ {led_green=0; led_red=1; warn_flag=1; /*報警標(biāo)志*/ }elseif(t>=warn_h2) /*大于設(shè)置溫度+5度*/ {led_red=0; led_green=1; beep=0; warn_flag=0; /*消除報警標(biāo)志*/ }else /*小于設(shè)置溫度*/{ led_green=1; led_red=1; beep=1; warn_flag=0; /*消除報警標(biāo)志*/}}voidinit_com(void) /*定時器初始化*/{TMOD=0x01;TH0=(65536-39000)/256;TL1=(65536-39000)%256;EA=1; ET0=1; TR0=1;}uchartest_keyinput(void) /*檢測按鍵輸入*/{ ucharkey_temp; key_input_temp=~P3&0xf0; if(key_input_temp!=0x00) { delay(30); if((key_input_temp)!=0x00) { switch(key_input_temp) { case0x10: key_temp=1;break; case0x20:key_temp=2;break; case0x40: key_temp=3;break; case0x80:key_temp=4;break; default:break; } returnkey_temp; } } return0;}voiddisplay_page(void) /*捕捉按鍵輸入定義顯示dis_page*/{ key_num=test_keyinput();/*掃描鍵盤獨立鍵盤按下為低電平*/ switch(key_num) { case0: break; case1: dis_page++;//進入設(shè)置界面 if(dis_page>2) dis_page=0; /*預(yù)留三個頁面*/ if(heating_flag==1)/*加熱過程中按1號鍵停止加熱*/ { heating_flag=0; } keep_flag=0; /*取消保持溫度標(biāo)志位*/ heating_flag=0; /*取消加熱溫度標(biāo)志位*/ break; case2: if(dis_page==1) /*最大加熱時間600s///////////////設(shè)置加熱時間能夠不用設(shè)置*/ { if(working_time<600) working_time++; else working_time=600; } elseif(dis_page==2)///////////////////////////////////設(shè)置加熱溫度 { if(set_temp<60) set_temp++; else set_temp=60; } break; case3: if(dis_page==1) { if(working_time>1) working_time--; else working_time=1; } elseif(dis_page==2) { if(set_temp>30) set_temp--; else set_temp=30; } break; case4: if(dis_page==1) /*按4號鍵開始加熱*/ { heating_flag=1; } elseif(dis_page==2) { keep_flag=1; /*按4號鍵開始加熱顯示目前溫度*/ } break; default: break; } }voidmain(){init_com();/*定時器初始化50ms中止*/jdq=1; /*關(guān)繼電器*/beep=1; /*關(guān)蜂鳴器*/while(1){ switch(dis_page) /*顯示頁面*/ { case0: tempchange(); /*轉(zhuǎn)換溫度*/ dis_temp(get_temp()); /*顯示溫度*/ break; case1: dis_working(); /*顯示設(shè)置時間*/ break; case2: tempchange(); /*轉(zhuǎn)化溫度*/ if(ke
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于決策樹集成算法的學(xué)生成績與心理建模方法研究
- 四粲兩輕六夸克態(tài)的研究
- 2025年綠色環(huán)保型餐館經(jīng)營權(quán)變更合同模板3篇
- 2025-2030全球水泥航運服務(wù)行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國個人水上摩托艇行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球蒸汽吸收式冷水機行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國汽車皮革清洗劑和護理劑行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球現(xiàn)磨咖啡飲品連鎖店行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球托管型AI數(shù)據(jù)中心行業(yè)調(diào)研及趨勢分析報告
- 二零二五年度保安公司員工培訓(xùn)及服務(wù)質(zhì)量提升合同2篇
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期期末 地理試題(無答案)
- 勞動法培訓(xùn)課件
- 2024年建筑施工安全工作計劃(3篇)
- 2024屆九省聯(lián)考英語試題(含答案解析、MP3及錄音稿)
- 倉庫消防知識安全培訓(xùn)
- 從事專業(yè)與所學(xué)專業(yè)不一致專業(yè)技術(shù)人員申報職稱崗位任職合格證明附件6
- 我國房屋建筑模板技術(shù)的研究綜述
- 人教版小學(xué)三年級上冊數(shù)學(xué)豎式筆算練習(xí)題
- 航天科工集團在線測評題
- 山東省濰坊新2025屆高三語文第一學(xué)期期末經(jīng)典試題含解析
- 搞笑個性YY娛樂頻道分組設(shè)計圖
評論
0/150
提交評論