版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 課 程 設 計 任 務 書分 院(系)信息學院專 業(yè)測控技術與儀器學 生 姓 名蘇德川學 號0903020326設 計 題 目單片機PWM溫度閉環(huán)控制系統(tǒng)設計內(nèi)容及要求:1)利用數(shù)字溫度傳感器DS18B20采集和轉(zhuǎn)換溫度;2)利用傳感器得到的數(shù)據(jù)通過單片機編程實現(xiàn)溫度的閉環(huán)控制;3)了解和使用PID算法在閉環(huán)控制中的應用;4)完成單片機外圍電路的設計以及溫度顯示等程序工作;要求在課程設計報告中給出:1)裝置的結構和電路原理圖。2)調(diào)試過程,說明發(fā)現(xiàn)的向題及處理過程。3)分析存在的問題。4)收獲與改進方案。進度安排:2011年12月26日2011年12月30日根據(jù)設計要求和內(nèi)容查閱參考文獻或資
2、料,提出設計方案,進行原理設計。2012年1月10日2012年1月12日根據(jù)設計方案,進行調(diào)試,測試,撰寫課程設計報告,答辯。指導教師(簽字): 年 月 日分院院長(簽字): 年 月 日目錄1摘要 32 引言43 設計內(nèi)容與要求4 3.1設計內(nèi)容4 3.2設計要求44 系統(tǒng)總體設計方案5 4.1 方案提出5 4.2 總體框圖55 系統(tǒng)工作原理6 5.1 PID算法6 5.2 DS18B20 傳感器工作原理86 系統(tǒng)硬件設計97 系統(tǒng)軟件設計117.1程序設計組成117.2程序代碼118 系統(tǒng)調(diào)試與測試結果.219 測試結果分析.2110 結論和體會2111 參考文獻22摘要:以溫度控制系統(tǒng)為例
3、研究嵌入式系統(tǒng),實現(xiàn)了對工業(yè)現(xiàn)場的溫度實時監(jiān)測和控制。以AT89C51單片機為控制核心,采用典型大慣性環(huán)節(jié)的PID閉環(huán)控制裝置,可自動控制惡劣環(huán)境下的溫度,使被控對象溫度保持在恒定范圍內(nèi)。本系統(tǒng)溫度信號由數(shù)字溫度傳感器DS18B20采集,送AT89C51單片機進行處理,并通過數(shù)碼管顯示。當溫度超過設定值范圍后,單片機將發(fā)出控制信號啟動升溫裝置或降溫裝置,使溫度保持在一定的范圍。實驗測試證明,設計的樣機系統(tǒng)測溫控溫精度均為01,測溫控溫的范圍可達-55+125。關鍵詞: 單片機;PID;工業(yè)控制;溫度;DS18B202 引言 溫度的測量和控制在日常生活和工業(yè)領域中具有廣泛的應用,隨著人們生活水平
4、的大幅提高,對溫度測量控制的精度和范圍也有著更高的要求。在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術人員努力解決的問題,這類控制對象慣性大,滯后現(xiàn)象嚴重,存在很多不確定的因素,難以建立精確的數(shù)學模型,從而導致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控等現(xiàn)象。PID控制方式控制穩(wěn)定且精度高,但是控制對象的模型難以建立,并且當擾動因素不明確時,參數(shù)調(diào)整較復雜。本文采用DS18B20數(shù)字溫度傳感器,該傳感器具有微型化、封裝簡單、低功耗、高性能抗干擾能力、測量范圍廣、強易配處理器等優(yōu)點,可使系統(tǒng)測量更加精確,電路更加簡單。實驗測試證明,設計的樣機系統(tǒng)測溫控溫精度均為01,
5、測溫控溫的范圍可達-55+125,可應用于家用電器、汽車、冷庫等領域。3內(nèi)容及要求:3.1 設計內(nèi)容1)利用數(shù)字溫度傳感器DS18B20采集和轉(zhuǎn)換溫度;2)利用傳感器得到的數(shù)據(jù)通過單片機編程實現(xiàn)溫度的閉環(huán)控制;3)了解和使用PID算法在閉環(huán)控制中的應用;4)完成單片機外圍電路的設計以及溫度顯示等程序工作;3.2設計要求1)裝置的結構和電路原理圖。2)調(diào)試過程,說明發(fā)現(xiàn)的向題及處理過程。3)分析存在的問題。4)收獲與改進方案。4總體計設計方案 4.1方案提出考慮到用溫度傳感器,在單片機電路設計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以
6、很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設計要求。同時本系統(tǒng)采用AT89C52作為溫度控制系統(tǒng)主控單元。AT89C51是一種帶4 kB閃存可編程可擦除只讀存儲器的低電壓、高性能CMOS的8位微處理器。指令系統(tǒng)和引腳與典型的MCS-51系列完全兼容,方便軟件的編寫。系統(tǒng)整體電路包括:主控電路、數(shù)碼管顯示、控制輸出、控制對象、雙向可控硅模塊。4.2總體設計框圖溫度控制電路設計總體設計方框圖如圖所示,控制器采用單片機AT89C52,溫度傳感器采用DS18B20,用4位LED數(shù)碼管實現(xiàn)溫度顯示。數(shù)碼管顯示DS18B20溫度傳感器信號調(diào)理控制對象雙向控制控制輸出輸入電源AT89C52單片機5 系統(tǒng)
7、工作基本原理5.1 PID算法在模擬控制系統(tǒng)中,控制器最常用的控制規(guī)律是PID控制。工業(yè)控制算法常用位置型PID算法,經(jīng)離散化后的算式為 式中,U(n)為第n個采樣時刻控制器的輸出量,e(n)第n個采樣時刻的偏差值,Kp為比例系數(shù),Ki為積分作用系數(shù),Kd為微分作用系數(shù)。由于位置式算法每次輸出與整個過去狀態(tài)有關,算式中用到過去偏差的累加值,容易產(chǎn)生較大的累計誤差。而增量式中只需計算增量,算式中不需要累加,控制增量的確定僅與幾次偏差采樣值有關,當存在計算誤差或精度不足時,對控制量計算的影響較小,且容易通過加權處理獲得較好的控制效果。由于計算機只輸出控制增量,所以誤動作時影響較小,且必要時可用邏輯
8、判斷的方法去掉,對系統(tǒng)安全運行有利。 由于上述優(yōu)點,所以增量式PID控制算法得到廣泛的應用。其控制算法表達式為 式(3)是PID位置式的遞推形式,是編程時常用的形式之一。按增量式PID控制算法編程時,a0,a1,a2可預先算出存入固定單元。PID算法流程圖如圖5所示。 5.2 DS18B20 傳感器工作原理DS18B20溫度傳感器是美國DALLAS半導體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)位的數(shù)字值讀數(shù)方式。DS18B20的測溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固
9、定頻率的脈沖信號送給減法計數(shù)器;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器的脈沖輸入。器件中還有一個計數(shù)門,當計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù)進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將55所對應的一個基數(shù)分別置入減法計數(shù)器、溫度寄存器中,計數(shù)器和溫度寄存器被預置在55所對應的一個基數(shù)值。減法計數(shù)器對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器的預置值減到時,溫度寄存器的值將加,減法計數(shù)器的預置將重新被裝入,減法計數(shù)器重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)
10、器計數(shù)到時,停止溫度寄存器的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計數(shù)器的預置值,只要計數(shù)器門仍未關閉就重復上述過程,直到溫度寄存器值大致被測溫度值。表2一部分溫度對應值表溫度/二進制表示十六進制表示+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單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作按協(xié)議進行。操作協(xié)議為:初使化DS18B20(發(fā)復位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)6系統(tǒng)整體硬件電路(原理圖)系統(tǒng)整體硬件電路包括:傳感器數(shù)據(jù)采集電路,溫度顯示電路,單片機主板電路,外圍溫度控制電路等,如圖所示。7系統(tǒng)軟件設計7.1程序設計組成:系統(tǒng)程序主要包
12、括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計算溫度子程序,顯示數(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)/延時子程序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; /給定:要求達到的溫度值char IBAND=0x60; /積分分離值:PID算法中積分分離值int KP=12; /比例系數(shù):PID算法中比例項系數(shù)char KI=20; /積分系數(shù)char KD=
15、32; /微分系數(shù)int CK; /控制量:PID算法產(chǎn)生用于控制的量int TC; /采樣周期變量char FPWM; /PWM脈沖中間標識位int CK_1; /控制量變量,用于記錄上次控制的值int AAAA; / PWM高電平脈沖時間計算int VAA; /AAAA變量int BBB; /PWM低電平脈沖時間計算int VBB; /BBB變量int TKMARK; /采樣標志值int EK;/溫度誤差int EK_1;int AEK;int BEK;unsigned char dis; /BCD碼顯示bit flash=0; /顯示開關標記sbit DQ = P33; /定義DS18B
16、20端口DQsbit DIN = P07; /小數(shù)點sbit P17=P17;/PWM的驅(qū)動 /*延時子程序*/void delay(unsigned int time) unsigned int i; for(i=0;i 0; i-) DQ = 0; / 給脈沖信號 dat = 1; DQ = 1; / 給脈沖信號 if(DQ) dat |= 0x80; Delay(4); return (dat);WriteOneChar(uchar dat) /寫一個字節(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); /跳過讀序號列號的操作 WriteOneChar(0x44); /啟動溫度轉(zhuǎn)換 Init_DS18B20(); WriteOneChar(0xCC); /跳過讀序號列號的操作 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; /顯示個位DIN = 0; /小數(shù)點P2 = 0xfb;Delay(250);P0 =LEDDatadisplay2; /顯示十位P2 = 0xfd;Delay(250);P0 =LEDDatadisplay3; /顯示百位P2 = 0xfe;Delay(250);P2 = 0xff; /關閉顯示void myint2(void) interrupt 1 TH0=0xd8; TL0=0xef; ET0=1;
20、 /啟動定時器0 if(TCabs(IBAND) I=0; /判積分分離 else I=(EK*TS)/KI; /計算積分項 P=AEK; D=(KD/TS)*BEK)/10000; /計算微分項 /與書上對照,忽略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) /同號相乘,
22、符號位變反說明溢出 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不正常,關閉顯示 while(1); while(1) if(TRMARK=0x01) break; /采樣周期到否 TRMARK=0x00;pid(); /PID算法 if(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人民版九年級歷史上冊階段測試試卷含答案
- 二零二五版農(nóng)村集體資產(chǎn)農(nóng)民房屋租賃合同2篇
- 2025年度智能化農(nóng)場承包經(jīng)營合同4篇
- 二零二五年度建筑幕墻施工安全協(xié)議合同4篇
- 二零二五年度健康營養(yǎng)面包研發(fā)與訂購合同4篇
- 二零二五版專業(yè)攝影棚場地租賃及拍攝服務合同范本4篇
- 2025年度木飾面產(chǎn)品市場推廣與廣告投放合同
- 房屋抵債合同(2篇)
- 2025版南京商業(yè)地產(chǎn)租賃稅費結算合同4篇
- 著火場景的火源辨識與處置
- 紅色革命故事《王二小的故事》
- 《白蛇緣起》賞析
- 海洋工程用高性能建筑鋼材的研發(fā)
- 蘇教版2022-2023學年三年級數(shù)學下冊開學摸底考試卷(五)含答案與解析
- 英語48個國際音標課件(單詞帶聲、附有聲國際音標圖)
- GB/T 6892-2023一般工業(yè)用鋁及鋁合金擠壓型材
- 冷庫安全管理制度
- 2023同等學力申碩統(tǒng)考英語考試真題
- 家具安裝工培訓教案優(yōu)質(zhì)資料
- 在雙減政策下小學音樂社團活動有效開展及策略 論文
- envi二次開發(fā)素材包-idl培訓
評論
0/150
提交評論