




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 課 程 設(shè) 計(jì) 任 務(wù) 書分 院(系)信息學(xué)院專 業(yè)測(cè)控技術(shù)與儀器學(xué) 生 姓 名蘇德川學(xué) 號(hào)0903020326設(shè) 計(jì) 題 目單片機(jī)PWM溫度閉環(huán)控制系統(tǒng)設(shè)計(jì)內(nèi)容及要求:1)利用數(shù)字溫度傳感器DS18B20采集和轉(zhuǎn)換溫度;2)利用傳感器得到的數(shù)據(jù)通過單片機(jī)編程實(shí)現(xiàn)溫度的閉環(huán)控制;3)了解和使用PID算法在閉環(huán)控制中的應(yīng)用;4)完成單片機(jī)外圍電路的設(shè)計(jì)以及溫度顯示等程序工作;要求在課程設(shè)計(jì)報(bào)告中給出:1)裝置的結(jié)構(gòu)和電路原理圖。2)調(diào)試過程,說明發(fā)現(xiàn)的向題及處理過程。3)分析存在的問題。4)收獲與改進(jìn)方案。進(jìn)度安排:2011年12月26日2011年12月30日根據(jù)設(shè)計(jì)要求和內(nèi)容查閱參考文獻(xiàn)或資
2、料,提出設(shè)計(jì)方案,進(jìn)行原理設(shè)計(jì)。2012年1月10日2012年1月12日根據(jù)設(shè)計(jì)方案,進(jìn)行調(diào)試,測(cè)試,撰寫課程設(shè)計(jì)報(bào)告,答辯。指導(dǎo)教師(簽字): 年 月 日分院院長(zhǎng)(簽字): 年 月 日目錄1摘要 32 引言43 設(shè)計(jì)內(nèi)容與要求4 3.1設(shè)計(jì)內(nèi)容4 3.2設(shè)計(jì)要求44 系統(tǒng)總體設(shè)計(jì)方案5 4.1 方案提出5 4.2 總體框圖55 系統(tǒng)工作原理6 5.1 PID算法6 5.2 DS18B20 傳感器工作原理86 系統(tǒng)硬件設(shè)計(jì)97 系統(tǒng)軟件設(shè)計(jì)117.1程序設(shè)計(jì)組成117.2程序代碼118 系統(tǒng)調(diào)試與測(cè)試結(jié)果.219 測(cè)試結(jié)果分析.2110 結(jié)論和體會(huì)2111 參考文獻(xiàn)22摘要:以溫度控制系統(tǒng)為例
3、研究嵌入式系統(tǒng),實(shí)現(xiàn)了對(duì)工業(yè)現(xiàn)場(chǎng)的溫度實(shí)時(shí)監(jiān)測(cè)和控制。以AT89C51單片機(jī)為控制核心,采用典型大慣性環(huán)節(jié)的PID閉環(huán)控制裝置,可自動(dòng)控制惡劣環(huán)境下的溫度,使被控對(duì)象溫度保持在恒定范圍內(nèi)。本系統(tǒng)溫度信號(hào)由數(shù)字溫度傳感器DS18B20采集,送AT89C51單片機(jī)進(jìn)行處理,并通過數(shù)碼管顯示。當(dāng)溫度超過設(shè)定值范圍后,單片機(jī)將發(fā)出控制信號(hào)啟動(dòng)升溫裝置或降溫裝置,使溫度保持在一定的范圍。實(shí)驗(yàn)測(cè)試證明,設(shè)計(jì)的樣機(jī)系統(tǒng)測(cè)溫控溫精度均為01,測(cè)溫控溫的范圍可達(dá)-55+125。關(guān)鍵詞: 單片機(jī);PID;工業(yè)控制;溫度;DS18B202 引言 溫度的測(cè)量和控制在日常生活和工業(yè)領(lǐng)域中具有廣泛的應(yīng)用,隨著人們生活水平
4、的大幅提高,對(duì)溫度測(cè)量控制的精度和范圍也有著更高的要求。在工業(yè)企業(yè)中,如何提高溫度控制對(duì)象的運(yùn)行性能一直以來都是控制人員和現(xiàn)場(chǎng)技術(shù)人員努力解決的問題,這類控制對(duì)象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控等現(xiàn)象。PID控制方式控制穩(wěn)定且精度高,但是控制對(duì)象的模型難以建立,并且當(dāng)擾動(dòng)因素不明確時(shí),參數(shù)調(diào)整較復(fù)雜。本文采用DS18B20數(shù)字溫度傳感器,該傳感器具有微型化、封裝簡(jiǎn)單、低功耗、高性能抗干擾能力、測(cè)量范圍廣、強(qiáng)易配處理器等優(yōu)點(diǎn),可使系統(tǒng)測(cè)量更加精確,電路更加簡(jiǎn)單。實(shí)驗(yàn)測(cè)試證明,設(shè)計(jì)的樣機(jī)系統(tǒng)測(cè)溫控溫精度均為01,
5、測(cè)溫控溫的范圍可達(dá)-55+125,可應(yīng)用于家用電器、汽車、冷庫(kù)等領(lǐng)域。3內(nèi)容及要求:3.1 設(shè)計(jì)內(nèi)容1)利用數(shù)字溫度傳感器DS18B20采集和轉(zhuǎn)換溫度;2)利用傳感器得到的數(shù)據(jù)通過單片機(jī)編程實(shí)現(xiàn)溫度的閉環(huán)控制;3)了解和使用PID算法在閉環(huán)控制中的應(yīng)用;4)完成單片機(jī)外圍電路的設(shè)計(jì)以及溫度顯示等程序工作;3.2設(shè)計(jì)要求1)裝置的結(jié)構(gòu)和電路原理圖。2)調(diào)試過程,說明發(fā)現(xiàn)的向題及處理過程。3)分析存在的問題。4)收獲與改進(jìn)方案。4總體計(jì)設(shè)計(jì)方案 4.1方案提出考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以
6、很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。同時(shí)本系統(tǒng)采用AT89C52作為溫度控制系統(tǒng)主控單元。AT89C51是一種帶4 kB閃存可編程可擦除只讀存儲(chǔ)器的低電壓、高性能CMOS的8位微處理器。指令系統(tǒng)和引腳與典型的MCS-51系列完全兼容,方便軟件的編寫。系統(tǒng)整體電路包括:主控電路、數(shù)碼管顯示、控制輸出、控制對(duì)象、雙向可控硅模塊。4.2總體設(shè)計(jì)框圖溫度控制電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖所示,控制器采用單片機(jī)AT89C52,溫度傳感器采用DS18B20,用4位LED數(shù)碼管實(shí)現(xiàn)溫度顯示。數(shù)碼管顯示DS18B20溫度傳感器信號(hào)調(diào)理控制對(duì)象雙向控制控制輸出輸入電源AT89C52單片機(jī)5 系統(tǒng)
7、工作基本原理5.1 PID算法在模擬控制系統(tǒng)中,控制器最常用的控制規(guī)律是PID控制。工業(yè)控制算法常用位置型PID算法,經(jīng)離散化后的算式為 式中,U(n)為第n個(gè)采樣時(shí)刻控制器的輸出量,e(n)第n個(gè)采樣時(shí)刻的偏差值,Kp為比例系數(shù),Ki為積分作用系數(shù),Kd為微分作用系數(shù)。由于位置式算法每次輸出與整個(gè)過去狀態(tài)有關(guān),算式中用到過去偏差的累加值,容易產(chǎn)生較大的累計(jì)誤差。而增量式中只需計(jì)算增量,算式中不需要累加,控制增量的確定僅與幾次偏差采樣值有關(guān),當(dāng)存在計(jì)算誤差或精度不足時(shí),對(duì)控制量計(jì)算的影響較小,且容易通過加權(quán)處理獲得較好的控制效果。由于計(jì)算機(jī)只輸出控制增量,所以誤動(dòng)作時(shí)影響較小,且必要時(shí)可用邏輯
8、判斷的方法去掉,對(duì)系統(tǒng)安全運(yùn)行有利。 由于上述優(yōu)點(diǎn),所以增量式PID控制算法得到廣泛的應(yīng)用。其控制算法表達(dá)式為 式(3)是PID位置式的遞推形式,是編程時(shí)常用的形式之一。按增量式PID控制算法編程時(shí),a0,a1,a2可預(yù)先算出存入固定單元。PID算法流程圖如圖5所示。 5.2 DS18B20 傳感器工作原理DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。DS18B20的測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固
9、定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測(cè)量前,首先將55所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器、溫度寄存器中,計(jì)數(shù)器和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器的預(yù)置值減到時(shí),溫度寄存器的值將加,減法計(jì)數(shù)器的預(yù)置將重新被裝入,減法計(jì)數(shù)器重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)
10、器計(jì)數(shù)到時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測(cè)溫度值。表2一部分溫度對(duì)應(yīng)值表溫度/二進(jìn)制表示十六進(jìn)制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 111
11、1 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H 另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)6系統(tǒng)整體硬件電路(原理圖)系統(tǒng)整體硬件電路包括:傳感器數(shù)據(jù)采集電路,溫度顯示電路,單片機(jī)主板電路,外圍溫度控制電路等,如圖所示。7系統(tǒng)軟件設(shè)計(jì)7.1程序設(shè)計(jì)組成:系統(tǒng)程序主要包
12、括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序,PID閉環(huán)控制算法程序,PWM波產(chǎn)生程序等。7.2程序代碼:#include #include #include #define uint unsigned int#define uchar unsigned char /宏定義#define C8255_A XBYTE0x7F00#define C8255_B XBYTE0x7F01#define C8255_C XBYTE0x7F02#define C8255_CON XBYTE0x7F03void pid(void)/PID算法子程序void init(vo
13、id)/初始化子程序void display(void)/延時(shí)子程序void clear()/清零子程序int mmul(int x,int y) /16位乘法,溢出賦極值int madd(int x,int y) /16位加法,溢出賦極值int change32_16(int x,int t) /3216char change16_8(int wd) /168 uchar presence;uchar code LEDData = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff;uchar data temp_data2= 0x0
14、0,0x00;uchar data display5 = 0x00,0x00,0x00,0x00,0x00;uchar code ditab16 = 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;char TS=0x64;/采樣周期int X=0x80;char SPEC=0x28; /給定:要求達(dá)到的溫度值char IBAND=0x60; /積分分離值:PID算法中積分分離值int KP=12; /比例系數(shù):PID算法中比例項(xiàng)系數(shù)char KI=20; /積分系數(shù)char KD=
15、32; /微分系數(shù)int CK; /控制量:PID算法產(chǎn)生用于控制的量int TC; /采樣周期變量char FPWM; /PWM脈沖中間標(biāo)識(shí)位int CK_1; /控制量變量,用于記錄上次控制的值int AAAA; / PWM高電平脈沖時(shí)間計(jì)算int VAA; /AAAA變量int BBB; /PWM低電平脈沖時(shí)間計(jì)算int VBB; /BBB變量int TKMARK; /采樣標(biāo)志值int EK;/溫度誤差int EK_1;int AEK;int BEK;unsigned char dis; /BCD碼顯示bit flash=0; /顯示開關(guān)標(biāo)記sbit DQ = P33; /定義DS18B
16、20端口DQsbit DIN = P07; /小數(shù)點(diǎn)sbit P17=P17;/PWM的驅(qū)動(dòng) /*延時(shí)子程序*/void delay(unsigned int time) unsigned int i; for(i=0;i 0; i-) DQ = 0; / 給脈沖信號(hào) dat = 1; DQ = 1; / 給脈沖信號(hào) if(DQ) dat |= 0x80; Delay(4); return (dat);WriteOneChar(uchar dat) /寫一個(gè)字節(jié)uchar i = 0;for (i = 8; i 0; i-) DQ = 0; DQ = dat&0x01; Delay(5); D
17、Q = 1; dat=1; Read_Temperature(void) /讀取溫度 Init_DS18B20(); if(presence=1) flash=1; else flash=0; WriteOneChar(0xCC); /跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0x44); /啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20(); WriteOneChar(0xCC); /跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE); /讀取溫度寄存器 temp_data0 = ReadOneChar();/溫度低8位 temp_data1 = ReadOneChar();/溫度高8
18、位 /*顯示子程序*/Disp_Temperature() /顯示溫度 uchar n=0; display4=temp_data0&0x0f; display0=ditabdisplay4; /查表得小數(shù)位的值 display4=(temp_data0&0xf0)4)|(temp_data1&0x0f)4); display3=display4/100; display1=display4%100; display2=display1/10; display1=display1%10; if(!display3) /高位為0,不顯示 display3=0x0a; if(!display2)
19、/次高位為0,不顯示 display2=0x0a; P0 =LEDDatadisplay0; /顯示小數(shù)位P2 = 0xf7;Delay(250);P0 =LEDDatadisplay1; /顯示個(gè)位DIN = 0; /小數(shù)點(diǎn)P2 = 0xfb;Delay(250);P0 =LEDDatadisplay2; /顯示十位P2 = 0xfd;Delay(250);P0 =LEDDatadisplay3; /顯示百位P2 = 0xfe;Delay(250);P2 = 0xff; /關(guān)閉顯示void myint2(void) interrupt 1 TH0=0xd8; TL0=0xef; ET0=1;
20、 /啟動(dòng)定時(shí)器0 if(TCabs(IBAND) I=0; /判積分分離 else I=(EK*TS)/KI; /計(jì)算積分項(xiàng) P=AEK; D=(KD/TS)*BEK)/10000; /計(jì)算微分項(xiàng) /與書上對(duì)照,忽略KP K=madd(I,P); K=madd(D,K); K=mmul(K,KP); K=K/10; CK=K+CK_1; CK=change16_8(CK); CK_1=CK; EK_1=EK; CK=CK+X; int mmul(int x,int y) int t,z; long s; s=x*y; z=(int)(s&0x0ffff); t=(int)(s16)&0x0ff
21、ff); s=change32_16(z,t); return(s);int change32_16(int z,int t) /t=高字節(jié),z=低字節(jié) int s; if(t=0) if(z&0x8000)=0) s=z; else s=0x7fff; else if(t&0xffff)=0xffff) if(z&0x8000)=0) s=0x8000; else s=z; else if(t&0x8000)=0) s=0x7fff; else s=0x8000; return(s);int mmad(int x,int y) int t; t=x+y; if(x=0&y=0) /同號(hào)相乘,
22、符號(hào)位變反說明溢出 if(t&0x8000)!=0) t=0x7fff; else if(x=0&y8)&0x0ff; if(t=0x00) if(z&0x80)=0) s=z; else s=0x7f; else if(t&0xff)=0xff) if(z&0x80)=0) s=0x80; else s=z; else if(t&0x80)=0) s=0x7f; else s=0x80; return(s);void clear() C8255_B=0x00; /*主程序*/void main() init();while(1) Read_Temperature(); if(flash=0) Disp_Temperature(); else P2 = 0xff ; /DS18B20不正常,關(guān)閉顯示 while(1); while(1) if(TRMARK=0x01) break; /采樣周期到否 TRMARK=0x00;pid(); /PID算法 if(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 預(yù)防中暑主題班會(huì)課件
- 預(yù)制廠安全教育課件
- 大學(xué)誠(chéng)信文明主題教育
- 公務(wù)接待培訓(xùn)
- 項(xiàng)痹中醫(yī)診療課件
- 鋼筆畫技能培訓(xùn)課件視頻
- 健康飲食產(chǎn)業(yè)園項(xiàng)目環(huán)境影響報(bào)告書
- 2025年核設(shè)施退役技術(shù)設(shè)備項(xiàng)目建議書
- xx片區(qū)城鄉(xiāng)供水一體化項(xiàng)目投資計(jì)劃書(模板范文)
- 2025年工業(yè)爐窯的新型燃燒裝置項(xiàng)目建議書
- 建設(shè)項(xiàng)目安全設(shè)施‘三同時(shí)’課件
- 2022語文課程標(biāo)準(zhǔn):“語言文字積累與梳理”任務(wù)群解讀及實(shí)操
- DB15T 489-2019 石油化學(xué)工業(yè)建設(shè)工程技術(shù)資料管理規(guī)范
- 內(nèi)蒙古自治區(qū)通遼市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)及行政區(qū)劃代碼
- 螺旋溜槽安裝標(biāo)準(zhǔn)工藝
- 2022年人教版六年級(jí)下冊(cè)語文期末考試卷
- 《土地開發(fā)整理項(xiàng)目預(yù)算編制暫行辦法》
- 智能家居設(shè)備產(chǎn)業(yè)提質(zhì)增效行動(dòng)方案(參考意見稿)
- 安徽省評(píng)議公告的中小學(xué)教輔材料零售價(jià)格表
- 德龍自卸車合格證掃描件(原圖)
- 西子otis梯oh con6423中文調(diào)試手冊(cè)
評(píng)論
0/150
提交評(píng)論