電子設(shè)計(jì)大賽水溫控制系統(tǒng)報(bào)告_第1頁(yè)
電子設(shè)計(jì)大賽水溫控制系統(tǒng)報(bào)告_第2頁(yè)
電子設(shè)計(jì)大賽水溫控制系統(tǒng)報(bào)告_第3頁(yè)
電子設(shè)計(jì)大賽水溫控制系統(tǒng)報(bào)告_第4頁(yè)
電子設(shè)計(jì)大賽水溫控制系統(tǒng)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩16頁(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)介

1、天津大學(xué)2013“信芯杯”電子設(shè)計(jì)大賽實(shí)驗(yàn)報(bào)告 題目:水溫控制系統(tǒng) 實(shí)驗(yàn)地點(diǎn): 時(shí)間: 目錄目錄1摘要3設(shè)計(jì)任務(wù)與要求4方案論證51.單片機(jī)供電模塊選擇方案: 52.溫度檢測(cè)電路的方案選擇:53.顯示電路的方案選擇:54.加熱方案的選擇:55控制方法選擇方案:6硬件電路設(shè)計(jì)6一. 測(cè)溫電路7二. 功率電路8三控制.鍵盤.顯示電路8軟件程序設(shè)計(jì)10一. 程序流程10二. 控制算法10測(cè)試結(jié)果及結(jié)果分析19一、靜態(tài)溫度測(cè)量19二 動(dòng)態(tài)溫控測(cè)量19三 結(jié)果分析20附錄:使用說(shuō)明21 摘要隨著微機(jī)測(cè)量和控制技術(shù)的迅速發(fā)展與廣泛應(yīng)用,以單片機(jī)為核心的溫度采集與控制系統(tǒng)的研發(fā)與應(yīng)用在很大程度上提高了生產(chǎn)生

2、活中對(duì)溫度的控制水平。本設(shè)計(jì)論述了一種以STC89C52單片機(jī)為主控制單元,以DS18B20為溫度傳感器的溫度自動(dòng)控制系統(tǒng)。該控制系統(tǒng)可以根據(jù)設(shè)定的溫度,通過(guò)單片機(jī)控制繼電器開(kāi)啟和關(guān)閉,從而控制水泥電阻的加熱和停止。硬件電路主要包括STC89C52單片機(jī)最小系統(tǒng)、穩(wěn)壓電路、DS18b20測(cè)溫電路、鍵盤電路、鎖存器SN74HC573、MT05011AR數(shù)碼管顯示電路、繼電器電路,加熱模塊電路等。系統(tǒng)程序模塊主要包括主程序控制模塊,溫度處理子程序模塊、按鍵處理程序模塊、鎖存器控制模塊、數(shù)碼管顯示模塊。關(guān)鍵詞 STC89C52單片機(jī);DS18B20;MT05011AR;SN74HC573;穩(wěn)壓電源供

3、電模塊。設(shè)計(jì)任務(wù)與要求一、任務(wù)設(shè)計(jì)并制作一個(gè)水溫自動(dòng)控制系統(tǒng),控制對(duì)象為500ml凈水,容器為搪瓷器皿。水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)控制,以保持設(shè)定的溫度基本不變。二、要求1基本要求(1)溫度設(shè)定范圍為5070,最小區(qū)分度為1,標(biāo)定溫度1。(2)環(huán)境溫度降低時(shí)(例如用電風(fēng)扇降溫)溫度控制的靜態(tài)誤差3。(3)用十進(jìn)制數(shù)碼管顯示水的實(shí)際溫度。2發(fā)揮部分(1)采用適當(dāng)?shù)目刂品椒ǎ?dāng)設(shè)定溫度突變(由50提高到60)時(shí),減小系統(tǒng)的調(diào)節(jié)時(shí)間和超調(diào)量。(2)溫度控制的靜態(tài)誤差1。(3)在設(shè)定溫度發(fā)生突變(由50提高到60)時(shí),自動(dòng)打印水溫隨時(shí)間變化的曲線。方案論證1. 單片機(jī)

4、供電模塊的方案選擇:方案一:直接用GP品牌的9v電池,然后接通過(guò)三端穩(wěn)壓芯片7805穩(wěn)壓成5伏直流電源提供給單片機(jī)系統(tǒng)使用,右邊接兩個(gè)5伏電源的濾波電容,并且接上電阻和綠色的LED組成5伏電源的工作指示電路。方案二:通過(guò)變壓器,將220v的市電轉(zhuǎn)換成5v左右的直流電。由于需要給繼電器提供穩(wěn)定的5V電壓,而方案一中導(dǎo)致電池的過(guò)度損耗,無(wú)法穩(wěn)定帶動(dòng)繼電器持續(xù)工作,所以我們選用能夠提供更加穩(wěn)定5v電源的方案二。 2.溫度檢測(cè)電路的方案選擇: 方案一:用普通半導(dǎo)體溫度傳感器作為敏感元件,再結(jié)合電壓放大器和AD轉(zhuǎn)換器將感應(yīng)到的溫度數(shù)值轉(zhuǎn)換為數(shù)字量存儲(chǔ)在某一單元內(nèi)。但由于該方案所需元件較多,且電路較繁,調(diào)

5、試起來(lái)較復(fù)雜,所以舍之不用。 方案二:使用數(shù)字溫度傳感器DS18B20檢測(cè)溫度,內(nèi)含AD轉(zhuǎn)換器,因此線路連接十分簡(jiǎn)單,它無(wú)需其他外加電路,直接輸出數(shù)字量,可直接與單片機(jī)通信,讀取測(cè)溫?cái)?shù)據(jù),電路十分簡(jiǎn)單,它能夠達(dá)到0.5的固有分辨率,使用讀取溫度暫存寄存器的方法還能達(dá)到0.0625以上精度,應(yīng)用方便。這樣的電路主要工作量就集中到了單片機(jī)軟件編程上,故我們選用該方案。3.顯示電路的方案選擇:方案:使用數(shù)碼管顯示,通過(guò)數(shù)碼管顯示被測(cè)溫度和設(shè)定溫度。該方案程序簡(jiǎn)單,數(shù)碼管為并聯(lián)狀態(tài),方便測(cè)試。4加熱方案的選擇:方案一:使用電熱爐進(jìn)行加熱,控制電爐的功率即可控制加熱速度,當(dāng)水溫過(guò)高時(shí),關(guān)掉電爐即可,但考

6、慮到電爐成本較高,且精度不好控制,故不選用。方案二:固態(tài)繼電器控制加熱器工作,固態(tài)繼電器使用非常簡(jiǎn)單,而且沒(méi)有觸點(diǎn),無(wú)需外加光耦,自身就可以實(shí)現(xiàn)電氣隔離,還可以頻繁動(dòng)作。通過(guò)控制固態(tài)繼電器的開(kāi),斷時(shí)間比來(lái)達(dá)到控制加熱器功率的目的,適合功率不大,簡(jiǎn)易水溫控制系統(tǒng),我們選擇用幾個(gè)水泥電阻作為加熱器,簡(jiǎn)單實(shí)用。故我們使用方案二。5控制方法選擇方案:方案一:采用普通的控制方法,即隨著水溫的變化調(diào)節(jié)溫度,但局限性太小,由于水溫變化快,且慣性大,不易控制精度,故采用普通控制方法顯得力不從心。方案二:通過(guò)繼電器控制加熱電路的通斷,繼電器由單片機(jī)控制,當(dāng)溫度高于設(shè)定溫度時(shí)單片機(jī)控制繼電器斷開(kāi),停止加熱,自動(dòng)通

7、斷,所以我們選擇方案二。 硬件電路設(shè)計(jì)對(duì)題目進(jìn)行深入的分析和思考,可以將整個(gè)系統(tǒng)分為以下幾個(gè)部分:?jiǎn)纹瑱C(jī)最小系統(tǒng),測(cè)溫電路,功率電路,繼電器控制指示電路,顯示電路,系統(tǒng)框圖如下:數(shù)碼管顯示電路鎖存器控制電路獨(dú)立鍵盤STC單片機(jī)控制系統(tǒng)繼電器控制電路18B20測(cè)溫加熱電路 給單片機(jī)提供5v穩(wěn)定電壓穩(wěn)壓模塊一 測(cè)溫電路 測(cè)溫電路是使用DS18b20數(shù)字式溫度傳感器,它無(wú)需其他的外加電路,直接輸出數(shù)字量,可直接與單片機(jī)通信,讀取測(cè)溫?cái)?shù)據(jù),電路十分簡(jiǎn)單。它能夠達(dá)到0.5的固有分辨率,使用讀取溫度的暫存寄存器的方法還能達(dá)到0.0625以上的精度。DS18B20溫度傳感器只有三根外引線:?jiǎn)尉€數(shù)據(jù)傳輸總線端

8、口DQ ,外供電源線VDD,共用地線GND。外部供電方式(VDD接+5V,且數(shù)據(jù)傳輸總線接10k的上拉電阻,其接口電路如圖2.1所示。圖2.1 溫度傳感器接口二 功率電路 本系統(tǒng)要控制水泥電阻加熱,固態(tài)繼電器控制加熱器工作,固態(tài)繼電器使用非常簡(jiǎn)單,而且沒(méi)有觸點(diǎn),無(wú)需外加光耦,自身就可以實(shí)現(xiàn)電氣隔離,還可以頻繁動(dòng)作。通過(guò)控制固態(tài)繼電器的開(kāi)、斷時(shí)間比來(lái)達(dá)到控制加熱器功率的目的,適合功率不大,簡(jiǎn)易水溫控制系統(tǒng)。三 控制.鍵盤.顯示電路 這部分實(shí)際上是一個(gè)單片機(jī)最小系統(tǒng)的基本電路,選用STC89C52,足夠滿足系統(tǒng)的要求。 鍵盤用三個(gè)按鍵即可,通過(guò)按鍵分別實(shí)現(xiàn)所設(shè)定溫度的復(fù)位、加減操作。 在顯示方面選

9、用數(shù)碼管顯示模塊。單片機(jī)的輸出控制鎖存器,鎖存器一個(gè)控制數(shù)碼管的選通,另一個(gè)控制數(shù)碼管的顯示.四部分整體硬件電路:軟件程序設(shè)計(jì)1. 程序流程 單片機(jī)控制程序如下: #include <reg52.h>#include <stdio.h>#define uchar unsigned char#define uint unsigned intsbit ds=P22; /溫度傳感器信號(hào)線sbit dula=P26; /數(shù)碼管段選線sbit wela=P27; /數(shù)碼管位選線sbit beep=P23;/蜂鳴器sbit jidianqia=P10;uint yuzhi=0;ui

10、nt temp;float f_temp;uint warn_l1;uint warn_l2;uint warn_h1;uint warn_h2;uint warn_h3;sbit key1=P34;sbit key2=P35;sbit key3=P36;sbit key4=P37;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef; /不帶小數(shù)點(diǎn)的編碼void delay(uint z)/延時(shí)函數(shù)

11、uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void dsreset(void) /18B20復(fù)位,初始化函數(shù) uint i; ds=0; i=103; while(i>0)i-; ds=1; i=4; while(i>0)i-;bit tempreadbit(void) /讀1位函數(shù) uint i; bit dat; ds=0;i+; /i+ 起延時(shí)作用 ds=1;i+;i+; dat=ds; i=8;while(i>0)i-; return (dat);uchar tempread(void) /讀1個(gè)字節(jié) uchar

12、i,j,dat; dat=0; for(i=1;i<=8;i+) j=tempreadbit(); dat=(j<<7)|(dat>>1); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個(gè)字節(jié)在DAT里 return(dat);void tempwritebyte(uchar dat) /向18B20寫(xiě)一個(gè)字節(jié)數(shù)據(jù) uint i; uchar j; bit testb; for(j=1;j<=8;j+) testb=dat&0x01; dat=dat>>1; if(testb) /寫(xiě) 1 ds=0; i+;i+; ds=1; i=8;while

13、(i>0)i-; else ds=0; /寫(xiě) 0 i=8;while(i>0)i-; ds=1; i+;i+; void tempchange(void) /DS18B20 開(kāi)始獲取溫度并轉(zhuǎn)換 dsreset(); delay(1); tempwritebyte(0xcc); / 寫(xiě)跳過(guò)讀ROM指令 tempwritebyte(0x44); / 寫(xiě)溫度轉(zhuǎn)換指令uint get_temp() /讀取寄存器中存儲(chǔ)的溫度數(shù)據(jù) uchar a,b; dsreset(); delay(1); tempwritebyte(0xcc); tempwritebyte(0xbe); a=tempre

14、ad(); /讀低8位 b=tempread(); /讀高8位 temp=b; temp<<=8; /兩個(gè)字節(jié)組合為1個(gè)字 temp=temp|a; f_temp=temp*0.0625; /溫度在寄存器中為12位 分辨率位0.0625° temp=f_temp*10+0.5; /乘以10表示小數(shù)點(diǎn)后面只取1位,加0.5是四舍五入 f_temp=f_temp+0.05; return temp; /temp是整型uint keyscan()if(key1=0)delay(3);if(key1=0)yuzhi=60;while(!key1);/等待按鍵釋放 if(key2=

15、0)delay(3);if(key2=0)yuzhi+;while(!key2); if(key3=0)delay(3);if(key3=0)yuzhi-;while(!key3);return yuzhi;/顯示程序/void display(uchar num,uchar dat) uchar i; dula=0; P0=tabledat; dula=1; dula=0; wela=0; i=0XFF; i=i&(0X01)<<(num); P0=i; wela=1; wela=0; delay(1);void dis_temp(uint t) uchar i; i=t

16、/100; display(0,i); i=t%100/10; display(1,i+10); i=t%100%10; display(2,i); void xianshi(uint yuzhi) uchar i; i=yuzhi/10; display(4,i); i=yuzhi%10; display(5,i); /void warn(uint s,uchar led) /蜂鳴器報(bào)警聲音 ,s控制音調(diào) uchar i;i=s; dula=0; wela=0; beep=1; while(i-) dis_temp(get_temp()+13); beep=1; i=s; while(i-)

17、 dis_temp(get_temp()+13); void deal(uint t) uchar i; uint warn_l2=(yuzhi*10-7);uint warn_h1=(yuzhi*10+13);uint warn_h2=(yuzhi*10+3);uint warn_h3=(yuzhi*10-27);uint warn_h4=(yuzhi*10+23);if(t<=60) if(t>warn_l2)&&(t<=warn_h1) P1=0XFE; else if(t>warn_h2)&&(t<=warn_l2) P1=

18、0XFC; else if(t>warn_h3)&&(t<=warn_h2) P1=0xF8; else if(t<=warn_h3) P1=0xf0; else if(t>warn_h4) beep=0; else P1=0XFF; beep=1; i=40; while(i-) dis_temp(get_temp()+13); if(t>61) if(t>warn_l2)&&(t<=warn_h1) P1=0XFE; else if(t>warn_h2)&&(t<=warn_l2) P1=

19、0XF0; else if(t>warn_h3)&&(t<=warn_h2) P1=0xF0; else if(t<=warn_h3) P1=0xf0; else if(t>warn_h4) beep=0; else P1=0XFF; beep=1; i=40; while(i-) dis_temp(get_temp()+13); void init_com(void) TMOD = 0x20; PCON = 0x00; SCON = 0x50; TH1 = 0xFd; TL1 = 0xFd; TR1 = 1;void comm(char *parr)

20、do SBUF = *parr+; /發(fā)送數(shù)據(jù) while(!TI); /等待發(fā)送完成標(biāo)志為1 TI =0; /標(biāo)志清零while(*parr); /保持循環(huán)直到字符為'0'void main() uchar buff4,i; dula=0; wela=0; init_com(); while(1) keyscan(); tempchange(); for(i=10;i>0;i-) dis_temp(get_temp()+13); xianshi(yuzhi); deal(temp); sprintf(buff,"%f",f_temp); for(i=

21、10;i>0;i-) dis_temp(get_temp()+13); xianshi(yuzhi); comm(buff); for(i=10;i>0;i-) dis_temp(get_temp()+13); xianshi(yuzhi); 2. 控制方法 在控制溫度方面,我們經(jīng)過(guò)反復(fù)的調(diào)試與修改源程序,不斷改變水泥電阻的加熱及斷電時(shí)間比,使整個(gè)系統(tǒng)不斷趨于題設(shè)要求。 測(cè)試結(jié)果及結(jié)果分析一、靜態(tài)溫度測(cè)量測(cè)量方式:斷開(kāi)系統(tǒng)的加熱裝置,裝入一定溫度的水,保持環(huán)境溫度和其他測(cè)量條件不變,利用標(biāo)準(zhǔn)的溫度計(jì)測(cè)量水溫,與系統(tǒng)給出的溫度相比較。由于在這種條件下,與測(cè)溫速度相比,水溫下降較慢,在測(cè)量中可認(rèn)為是一個(gè)靜態(tài)過(guò)程,因此可以測(cè)出系統(tǒng)的靜態(tài)溫度測(cè)量結(jié)果。測(cè)量?jī)x器:DM6801熱電偶式數(shù)字溫度計(jì)。測(cè)量結(jié)果:如表4.1所示。 表4

溫馨提示

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