溫度控制系統(tǒng)課程設(shè)計_第1頁
溫度控制系統(tǒng)課程設(shè)計_第2頁
溫度控制系統(tǒng)課程設(shè)計_第3頁
溫度控制系統(tǒng)課程設(shè)計_第4頁
溫度控制系統(tǒng)課程設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、智能儀表課程設(shè)計題 目: 溫度控制系統(tǒng) 學(xué) 院: 沈陽工業(yè)大學(xué) 專 業(yè): 測控技術(shù)與儀器 班 級: 0801 姓 名: 學(xué) 號: 指導(dǎo)教師: 李英順 完成日期:2011年12月12日 目錄一、設(shè)計目的及原理21.1設(shè)計題目和目的21.1.1設(shè)計題目21.1.2設(shè)計目的31.2設(shè)計原理3二、硬件設(shè)計42.1系統(tǒng)原理框圖42.2基本模塊簡介52.2.1 atmega16單片機52.2.2 cu100熱電阻傳感器及電路52.2.3數(shù)碼管顯示及指示電路62.2.4按鍵電路82.2.5報警電路82.2.6下載電路92.2.7通信電路92.2.8輸出驅(qū)動電路102.2.9電源電路10三、軟件設(shè)計語言及注釋

2、11總結(jié)17五、參考文獻18 摘要 在工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。其中,溫度控制也越來越重要。在工業(yè)生產(chǎn)的很多領(lǐng)域中,人們都需要對各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進行檢測和控制。采用單片機對溫度進行控制不僅具有控制方便、簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控溫度的技術(shù)指標,從而能夠大大的提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的控制問題。單片機是一種集cpu、ram、rom、i/o接口和中斷系統(tǒng)等部分于一體的器件,只需要外加電源和晶振就可實現(xiàn)對數(shù)字信息的處理和控制。因此,單片機廣泛用于現(xiàn)代工業(yè)

3、控制中。 本論文側(cè)重介紹“單片機溫度控制系統(tǒng)”的軟件設(shè)計及相關(guān)內(nèi)容。論文的主要內(nèi)容包括:采樣、濾波、鍵盤、led顯示和報警系統(tǒng),加熱控制系統(tǒng),單片機mcs-51的開發(fā)以及系統(tǒng)應(yīng)用軟件開發(fā)等。作為控制系統(tǒng)中的一個典型實驗設(shè)計,單片機溫度控制系統(tǒng)綜合運用了微機原理、自動控制原理、模擬電子技術(shù)、數(shù)字控制技術(shù)、鍵盤顯示技術(shù)等諸多方面的知識,是對所學(xué)知識的一次綜合測試。一、設(shè)計目的及原理1.1設(shè)計題目和目的1.1.1設(shè)計題目采用atmega16單片機實現(xiàn)智能數(shù)字顯示儀表。要求8位數(shù)碼管顯示(4位顯示測量值,4位顯示設(shè)定值),4輸入按鈕(功能選擇、數(shù)碼管選擇、數(shù)字增加、數(shù)字減少),可設(shè)定上下限報警(蜂鳴器

4、報警)。適配cu100熱電阻,測溫范圍為0150。采用比例控制、并用晶閘管移相驅(qū)動1000w電加熱器(電源電壓為ac220v)。1.1.2設(shè)計目的單片機綜合練習(xí)是一項綜合性的專業(yè)實踐活動,目的是讓學(xué)生將所學(xué)的基礎(chǔ)理論和專業(yè)知識運用到具體的工程實踐中,以培養(yǎng)學(xué)生綜合運用知識能力、實際動手能力和工程實踐能力,為此后的畢業(yè)設(shè)計打下良好的基礎(chǔ)。1.2設(shè)計原理 由熱電阻傳感器送來的電信號在測量橋路進行冷端自動補償后,送入放大器,一面把信號進行放大,同時把非線性信號校正為線性信號,經(jīng)線性放大信號一路轉(zhuǎn)換電路把模擬量轉(zhuǎn)換成數(shù)字信號進行數(shù)字顯示,另一路傳輸?shù)秸{(diào)節(jié)網(wǎng)絡(luò),進行規(guī)定的比較運算,同時輸出一個需要的控制

5、信號和進行工作狀態(tài)指示。二、硬件設(shè)計2.1系統(tǒng)原理框圖atmega16l單片機按鍵報警指示和顯示熱電阻輸入下載通信本設(shè)計智能溫度數(shù)顯表由溫度監(jiān)測、信號處理、輸出控制三部分組成。其系統(tǒng)框圖如圖1所示,它通過cu100熱電阻傳感器獲取繞組溫度值,經(jīng)信號調(diào)理電路處理后直接送入控制器的a/d轉(zhuǎn)換輸入端。微控制器根據(jù)信號數(shù)據(jù)及設(shè)定的各種控制參數(shù),按照嵌入的軟件控制規(guī)律執(zhí)行計算與處理,自動顯示智能儀表數(shù)顯表可測的溫度范圍、并根據(jù)當(dāng)前狀態(tài)輸出正常、設(shè)定上下線報警等2.2基本模塊簡介2.2.1 atmega16單片機溫控儀控制核心采用atmega16單片機, 具有16kb 系統(tǒng)內(nèi)可編程flash的8 位微控制

6、器 atmega16 有如下特點:16k字節(jié)的系統(tǒng)內(nèi)可編程flash(具有同時讀寫的能力,即rww), 512 字節(jié)eeprom,1k 字節(jié)sram,32 個通用i/o 口線,32 個通用工作寄存器,用于邊界掃描的jtag 接口,支持片內(nèi)調(diào)試與編程,三個具有比較模式的靈活的定時器/ 計數(shù)器 (t/c),片內(nèi)/外中斷,可編程串行usart,有起始條件檢測器的通用串行接口,8路10位具有可選差分輸入級可編程增益(tqfp 封裝) 的adc ,具有片內(nèi)振蕩器的可編程看門狗定時器,一個spi 串行端口,以及六個可以通過軟件進行選擇的省電模式。工作于空閑模式時cpu 停止工作,而usart、兩線接口、a

7、/d 轉(zhuǎn)換器、sram、t/c、spi 端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式時晶體振蕩器停止振蕩,所有功能除了中斷和硬件復(fù)位之外都停止工作;在省電模式下,異步定時器繼續(xù)運行,允許用戶保持一個時間基準,而其余功能模塊處于休眠狀態(tài); adc 噪聲抑制模式時終止cpu 和除了異步定時器與adc 以外所有i/o 模塊的工作,以降低adc 轉(zhuǎn)換時的開關(guān)噪聲; standby 模式下只有晶體或諧振振蕩器運行,其余功能模塊處于休眠狀態(tài),使得器件只消耗極少的電流,同時具有快速啟動能力;擴展standby 模式下則允許振蕩器和異步定時器繼續(xù)工作。2.2.2 cu100熱電阻傳感器及電路銅電阻在測溫范圍內(nèi)電阻值和溫

8、度呈現(xiàn)線性關(guān)系,溫度系數(shù)大適用于無腐蝕介質(zhì),超過150易被氧化,銅電阻有r0=100和r0=50兩種,本次課程設(shè)計采用的是cu100的熱電阻,cu100熱電阻測溫范圍為0-150,其分度表如下:t()-50-40-30-20-10-0r()78.4882.8087.1191.4195.71100t()010203040506070r()100104.29108.57112.85117.13121.4125.68129.96t()8090100110120130140150r()134.24138.52142.80147.08151.37155.67156.96164.27熱電阻輸入電路:該電路

9、采用cu100熱電阻進行測溫,1n4148二極管對熱電偶冷端進行補償,采用tlv2252m放大器對輸入信號進行放大。2.2.3數(shù)碼管顯示及指示電路a:顯示電路sm1顯示的是熱電偶測的電加熱器的實際溫度值,sm2顯示的是人工設(shè)計的電加熱器的期望溫度值。數(shù)碼管是有hc595芯片來驅(qū)動的,hc595接在spi通信的3個接口上。b:指示電路指示電路是指示按鍵的輸入狀態(tài)的。d1、d2、d3、d4與s1、s2、s3、s4一一對應(yīng),當(dāng)某個按鍵按下時,單片機相應(yīng)的引腳將置低電平,使該按鍵相對應(yīng)的二極管發(fā)光。2.2.4按鍵電路4個按鍵與單片機的接線圖及個按鍵的作用如上圖所示;當(dāng)單片機的引腳輸入為低電平時,表示該

10、引腳所對應(yīng)的按鍵按下,單片機實現(xiàn)相應(yīng)的功能。2.2.5報警電路當(dāng)溫度超過報警限時,單片機相應(yīng)管腳輸出一定頻率的電平。蜂鳴器發(fā)出響聲。2.2.6下載電路下載程序代碼用的是spi接口,用isp電纜對單片機進行編程。2.2.7通信電路該模塊用到跳線,不通信時d0、d1口作為常規(guī)i/o口使用;通信時其作為通信口使用,實現(xiàn)單片機與單片機或是其它上位機的通信。2.2.8輸出驅(qū)動電路采用光控過零驅(qū)動晶閘管,進而控制電加熱器的通斷電。2.2.9電源電路三、軟件設(shè)計語言及注釋#include /atmega16單片機頭文件#include flash unsigned char shuma=0xc0,0xf9,

11、0xa4,0xb0,0x99,0x92 0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,;/定義數(shù)碼管譯碼數(shù)組定義數(shù)碼管位選數(shù)組;spi初始化;void spi_masterinit(void)ddrb|=(15)|(17);spcr=(16)|(14) |(15)|(11)| (10);void spi_595_out(unsigned char i)spdr=i;while(!spdr&(17);void main(void)unsigned char saomiao=0;unsigned char w10;ddra=0x00;porta

12、=0x00;ddrb=0xb0;portb=0xff;ddrc=0xfc;portc=0xff;portd=0x00;ddrd=0xff;spi_masterlnit();while(1)data0=1234;data1=5678;w0=data0%10;w1=data0/10%10;w2=data0/100%10;w3=data0/1000%10;w4=data0%10;w5=data0/10%10;w6=data0/100%10;w1=data0/1000%10;portb&=(14);spi_595_out(weizhisaomiao);spi_595_out(dispwsaomiao;

13、portb=|(1=8saomiao=0;while(1)uchar j=0;uint i;ddar=0xff;ddrb=0xff;portd=0xff;ddrd=0x00;while(1)if(pind|0xee)=0xef)for(i=0;i99)j=0;while(pind|0xef)=0xef);portb=shumaj/10;portc=shumaj%10;porta=j;while(1)portc=shumacounter;/數(shù)碼管與led燈顯示語句: if(display_time= =1) /如果顯示標記display_time=1,則執(zhí)行顯示任務(wù),完成一位數(shù)碼管顯示數(shù)碼管掃描

14、顯示語句;/采用兩片74hc595掃描數(shù)碼管display_time= =0;/adc轉(zhuǎn)換與數(shù)字濾波語句:if(sample_time= =1) adc轉(zhuǎn)換、數(shù)字濾波與非線性校正程序;sample_time= =0;/adc輸出數(shù)值判斷、報警、位式算法運算與控制量輸出:if (control_time= =1) 溫度值判斷與報警語句;/具有比例算法的運算語句:error = setpoint temp_value; /求偏差 lasterror = error; out=proportion*error /比例算法control_time=0;/dac轉(zhuǎn)換語句:if (dac_time= =1

15、) dac數(shù)據(jù)輸出語句;dac_time=0;/pca0中斷服務(wù)程序用于產(chǎn)生pwm輸出(高優(yōu)先級中斷)void pca0_isr (void) interrupt 11 /使用定時器0溢出作為時鐘源/pwm輸出語句:unsigned int duty; /定義占空比變量,5000s對應(yīng)5v,1000s對應(yīng)1vtmod=0x10; /定時器1,工作模式1,16位定時模式th1=(65536-1000)/256; /定時1初始化tl1= (65536-1000)%256;et1=1; /允許定時器1中斷ea=1; /允許總中斷tr1=1; /啟動定時器1/定時器1中斷服務(wù)程序,用于產(chǎn)生顯示、adc

16、轉(zhuǎn)換、dac與控制周期等標記定時器1中斷服務(wù)程序:timer1() interrupt 3 static bit w; /定義位變量if(w=0) /當(dāng)w=0時,p2.0輸出低電平tl1= (65535-(6000-duty)%256;p2_0=0; /這里用p2.0引腳輸出pwm信號elseth1=(65535-duty)/256; /定時器1賦初值(高電平區(qū)間)tl1= (65535-duty)%256;p2_0=1; /當(dāng)w=0時,p2.0輸出高電平w=!w; /設(shè)置定時器1中斷級別低于pcavoid timer1() interrupt 3 static n,m,k,h;n+; m+,

17、k+;h+;if(n= = display_time0) /display_time0為顯示周期n=0; display_time=1; if(m= = sample_time0) /sample_time0為adc轉(zhuǎn)換周期m=0; sample_time=1;if(k= = control_time0) /control_time0為控制周期k=0; control_time=1;if(h= = dac_time0) /dac_time0為控制周期h=0; dac_time=1;3.1 數(shù)字pid本文控制算法采用數(shù)字pid 控制,數(shù)字pid 算法表達式如下所示:其中,kp 為比例系數(shù);ki=

18、kpt/ti 為積分系數(shù);t 為采樣周期,ti 為積分時間系數(shù);kd=kptd/t 為微分系數(shù),td 為微分時間系數(shù)。u(k) 為調(diào)節(jié)器第k次輸出, e(k) 為第k 次給定與反饋偏差。 對于pid 調(diào)節(jié)器,當(dāng)偏差值輸出較大時,輸出值會很大,可能導(dǎo)致系統(tǒng)不穩(wěn)定,所以在實際中,需要對調(diào)節(jié)器的輸出限幅4,即當(dāng)|u|umax 時,令u=umax 或u=-umax ,或根據(jù)具體情況確定。 總結(jié)通過為期兩周的課程設(shè)計學(xué)習(xí),我受益匪淺。此次課程設(shè)計基本靠自學(xué)完成,在短短的兩周時間內(nèi)要完成這項任務(wù),對我來說有一定的難度和挑戰(zhàn)。通過自己搜索知識以及向老師和其他同學(xué)請教,我一步步提高自己的綜合知識水平和創(chuàng)新能力,鞏固了以前學(xué)過的基礎(chǔ)知識并擴大了知識面。在設(shè)計過程中學(xué)到了很多課堂上沒有接觸到的東西,讓我感到很有意義。 通過此次課程設(shè)計學(xué)習(xí),讓我感觸最深的有兩點:一是基礎(chǔ)知識的決定性作用,沒有足夠的知識做根基是無法完成設(shè)計的;而是熟練掌握一些電子電工設(shè)計軟件的必要性,例如multisim、protel 和proteus等,因為再好的創(chuàng)新都需要通過這些途徑來表達。在設(shè)計的過程中,我遇到了一些難題,例如仿真軟件操作問題;設(shè)計毒氣檢測時,如何實現(xiàn)靈明度的調(diào)節(jié);小車的正反轉(zhuǎn)電路設(shè)計,以及其驅(qū)

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論