嵌入式系統(tǒng)課程論文:基于ARM的溫度測控系統(tǒng)設(shè)計_第1頁
嵌入式系統(tǒng)課程論文:基于ARM的溫度測控系統(tǒng)設(shè)計_第2頁
嵌入式系統(tǒng)課程論文:基于ARM的溫度測控系統(tǒng)設(shè)計_第3頁
嵌入式系統(tǒng)課程論文:基于ARM的溫度測控系統(tǒng)設(shè)計_第4頁
嵌入式系統(tǒng)課程論文:基于ARM的溫度測控系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng)課程論文基于ARM的溫度測控系統(tǒng)的設(shè)計 專業(yè):電氣工程及其自動化 姓名: 左立剛 學(xué)號: 031040522 指導(dǎo)老師: 劉三軍 日期:2013年11月3日目 錄第1節(jié) 引言 31.1 溫度控制系統(tǒng)概述 31.2 本設(shè)計的主要任務(wù)和目標 4第2節(jié) 系統(tǒng)設(shè)計原理及方案選擇 42.1 系統(tǒng)框圖 42.2 方案論證 42.3 各部分電路方案 5第3節(jié) 硬件電路設(shè)計與計算 73.1 溫度采樣和轉(zhuǎn)換電路 73.2 溫度控制電路 83.3 ARM控制部分 93.4 鍵盤顯示設(shè)定部分 10第4節(jié) 實驗測試 11 4.1整個系統(tǒng)的軟件流程圖 11 4.2 溫度設(shè)定13 4.3 PWM輸出 13第5節(jié)

2、 課程設(shè)計總結(jié) 13 5.1 設(shè)計中遇到的問題及解決 13 5.2 設(shè)計還存在的問題 14第六節(jié) 附錄 14 第一節(jié) 引 言溫度測量與控制在現(xiàn)代化工業(yè)企業(yè)及日常生活中應(yīng)用廣泛,分類較多,不同場合不同環(huán)境的溫度控制系統(tǒng)也不盡相同,因而要根據(jù)不同的控制目標與要求設(shè)計出較好的溫度測控系統(tǒng),其中比較簡單應(yīng)用也十分廣泛的就是采用PID調(diào)節(jié)控制,從而達到較理想的控制指標。本課題的控制內(nèi)核采用PHILIPS的ARM2131控制整個系統(tǒng)。采用軟件編程,實現(xiàn)用PID算法來控制PWM波的產(chǎn)生,進而控制電爐的加熱時間來實現(xiàn)溫度控制。然而,單純的PID算法無法適應(yīng)不同的溫度環(huán)境,在某個特定場合運行性能非常良好的溫度控

3、制器,到了新環(huán)境往往無法很好勝任,甚至使系統(tǒng)變得不穩(wěn)定,需要重新改變 PID 調(diào)節(jié)參數(shù)值以取得佳性能。本文首先用PID算法來控制PWM波的產(chǎn)生,進而控制電爐的加熱時間來實現(xiàn)溫度控制。當實際溫度偏離控制溫度系統(tǒng)會通過軟件自動修改重新穩(wěn)定在控制目標附近,從而不至于使控制要求產(chǎn)生不理想的偏差。當系統(tǒng)環(huán)境變化時可以通過軟件修改參數(shù)達到較好的控制要求。1.1 溫度控制系統(tǒng)概述溫度控制是無論是在工業(yè)生產(chǎn)過程中,還是在日常生活中都起著非常重要的作用,現(xiàn)代冶金、石油、化工及電力生產(chǎn)過程中,溫度是極為重要而又普遍的熱工參數(shù)之一。在環(huán)境惡劣或溫度較高等場合下,為了保證生產(chǎn)過程正常安全地進行,提高產(chǎn)品的質(zhì)量和數(shù)量,

4、以及減輕工人的勞動強度、節(jié)約能源,要求對加熱爐爐溫進行測、顯示、控制,使之達到工藝標準。經(jīng)過近年來的發(fā)展,ARM控制技術(shù)的發(fā)展越來越進步,ARM技術(shù)的應(yīng)用也已經(jīng)日趨成熟。可以預(yù)見在不遠的將來以ARM 控制為核心嵌入式的發(fā)展會越來越廣泛。以ARM為核心設(shè)計的溫度控制系統(tǒng),可以同時采集多個數(shù)據(jù),并將數(shù)據(jù)通過通訊口送至數(shù)碼管進行顯示和控制。那么無論是哪種控制,我們都希望溫度控制系統(tǒng)能夠有很高的精確度(起碼是在滿足我們要求的范圍內(nèi)),幫助我們實現(xiàn)我們想要的控制,解決身邊的問題。在計算機沒有發(fā)明之前,這些控制都是我們難以想象的。而當今,隨著電 子行業(yè)的迅猛發(fā)展,計算機技術(shù)和傳感器技術(shù)的不斷改進,而且計算

5、機和傳感器的價格也日益降低,可靠性逐步提高,用信息技術(shù)來實現(xiàn)溫度控制并提高控制的精確度不僅是可以達到的而且是容易實現(xiàn)的。用高新技術(shù)來解決工業(yè)生產(chǎn)問題, 排除生活中對溫度的控制問題已成為我們電子行業(yè)的任務(wù),以此來加強工業(yè)化建設(shè),提高人民的生活水平。1.2 本系統(tǒng)的主要任務(wù)和目標 1、基本要求 整個系統(tǒng)可以自由修改要達到的控制溫度,即修改給定量,并能在環(huán)境溫度降低時實現(xiàn)自動調(diào)整,以保持設(shè)定的溫度基本不變。 2、性能指標 控制精度 溫度控制誤差 3600時,積分作用去除)系統(tǒng)投運后先把P參數(shù)調(diào)好,爾后再把I參數(shù)逐步往小調(diào),觀察系統(tǒng)響應(yīng),以系統(tǒng)能快速消除靜差進入穩(wěn)態(tài),而不出現(xiàn)超調(diào)振蕩為最佳。D參數(shù)設(shè)置

6、如不能肯定微分時間參數(shù)D應(yīng)為多少,請先把D參數(shù)設(shè)置為O,即去除微分作用,系統(tǒng)投運后先調(diào)好P參數(shù)和I參數(shù),P、I確定后,再逐步增加D參數(shù),加微分作用,以改善系統(tǒng)響應(yīng)的快速性,以系統(tǒng)不出現(xiàn)振蕩為最佳,(多數(shù)系統(tǒng)可不加微分作用)。5.2 設(shè)計還存在的問題1) 采樣經(jīng)過數(shù)字濾波之后采樣值還是不夠準確。2) 溫度的變化電阻值具體變化的真實值還是不清楚。3) 經(jīng)過PID算法之后的控制精度有待于進一步提高,波動范圍還是有一點大。4) 信號的處理還存在不科學(xué)的地方。5) 要提高控制精度還是要做好信號處理,最好做一個傳感器線性變化的系統(tǒng)出來做一下比較。 第 六節(jié) 附錄附錄一:參考書籍、網(wǎng)站深入淺出ARM7LPC

7、213X/214X(上冊)百度網(wǎng)站、百度文庫附錄二:元件清單:LPC2131開發(fā)板 一塊鍵盤顯示板、電路板一塊三極管9013、滑動變阻器各一枚繼電器、加熱陶瓷、溫度傳感器各一個發(fā)光二極管 三枚電阻、電容、導(dǎo)線若干附錄三:程序如下#include config.h#define KEY 10;i-) for(j=5000;j0;j-);/*=timer0youguan=*/void Timer0_Init(void)T0TC = 0; /定時器設(shè)置為0T0PR = 0; / 時鐘不分頻T0MCR = 0x03; /復(fù)位T0TC,并產(chǎn)生中斷標志T0MR0 = Fpclk/1000;/T0TCR =

8、 0x01; /1毫秒定時void _irq Timer0Int(void)T0Flag = 1;Disp+; / T0中斷標志置位T0IR = 0x01; / 清除中斷標志VICVectAddr = 0; / 向量中斷處理結(jié)束void IRQ_Init(void)VICIntSelect = 0x00; / 設(shè)置所有的通道為IRQ中斷VICVectCntl0 = 0x20 | 4; / Timer0分配到IRQ slot1VICVectAddr0 = (uint32)Timer0Int; / 設(shè)置Timer0向量地址VICIntEnable = (1 4) ; / 使能Timer0和Time

9、r1中斷/*=conbit=*/void CONVBIT0(uint16 num,uint8 hor)DATA0hor+3 = num/1000;DATA0hor+2 = num%1000/100;DATA0hor+1 = num%100/10;DATA0hor+0 = num%10/1;/*=spi=*/void MSPI_Init(void) SPI_SPCCR = 0x10; / 設(shè)置SPI時鐘分頻 SPI_SPCR = (0 3) | /在SCK 第一個時鐘沿采樣 (1 4) |/ CPOL = 1, SCK 為低有效 (1 5) |/ MSTR = 1, SPI 處于主模式 (0 6

10、) |/ SPI 數(shù)據(jù)傳輸MSB (位7)在先 (0 7);/ SPIE = 0, SPI 中斷被禁止uint8 MSPI_SendData(uint8 data) SPI_SPDR = data; while( 0 = (SPI_SPSR & 0x80);/ 等待數(shù)據(jù)發(fā)送完畢 return(SPI_SPDR);/*=ADCaiyang=*/void ADC_Init(void)uint32 ADclk=(Fpclk / 1000000 - 1),h=0;AD0CR = (1 3)|/ SEL=8,選擇通道3(ADclk 8)|/ CLKDIV=Fpclk/1000000-1,轉(zhuǎn)換時鐘為1MH

11、z(0 16)|/ BURST=0,軟件控制轉(zhuǎn)換操作(0 17)|/ CLKS=0, 使用11clock轉(zhuǎn)換(1 21)| / PDN=1,正常工作模式(0 22)| / TEST1:0=00,正常工作模式(1 24)|/ START=1,直接啟動ADC轉(zhuǎn)換(0 27);delay();h= AD0DR;uint16 ADC(void)uint32 ADC_R;uint16 ADC_R1;AD0CR |= 1 24; / 進行第一次轉(zhuǎn)換while (AD0DR & 0x80000000) = 0); / 等待轉(zhuǎn)換結(jié)束AD0CR |= 1 6) & 0x3FF;ADC_R1 = ADC_R1 *

12、 2480/ 1024;return (ADC_R1);/*=PINinit=*/void pininit()PINSEL1 = (PINSEL1 & (0x0328)|(0x0128);/P0.30選擇AD0.3通道PINSEL0 = (PINSEL0 & (0xFF8)|(0x558); / 選擇SPI功能/*=Pwminit=*/void PWMinit()PINSEL0 = (PINSEL0 & (0x0314)|(0x0214);PWMPR = 0;PWMTC = 0;PWMMR0 = Fpclk / 1;PWMMR2 = PWMMR0 * pwm_value /100;PWMPCR

13、 = (1 0)/pwm_value = pwm_value + 5;/if(pwm_value100)pwm_value = 90;i_pid_result=i_pid_result+10;if(i_pid_result100)i_pid_result = 90;PWMMR2 = PWMMR0 * i_pid_result / 100;if(i_pid_result 0)/pwm_value = pwm_value - 10;/i_pid_result= (- i_pid_result)-10;i_pid_result = 1;/if(pwm_value5)pwm_value = 5;PWM

14、MR2 = (PWMMR0 * i_pid_result) / 100;if(i_pid_result = 0)/pwm_value = pwm_value;PWMMR2 = PWMMR0 * i_pid_result / 100;PWMLER = 0x05;PWMTCR = 0x09;/*=*/*=*/int main (void)uint8 s=0,x=0,k=4,i=0; Timer0_Init(); IRQ_Init(); MSPI_Init(); ADC_Init(); pininit(); PWMinit(); T0TCR = 0x01; IRQEnable(); while(1)

15、 if(Disp=240) Disp=0; ADC_Datas=ADC(); if(s=4) /ADC_Result=0; for(s=0;s5;s+) ADC_Result=ADC_Result + ADC_Datas; ADC_Result=ADC_Result/5; s=0; else s+; /TempraPid(TEM); /*if(T0Flag=1) T0Flag=0; TempraPid(TEM); CONVBIT0(ui_Ad_Cnl,0); CONVBIT0(ADC_Result,4); x=DATA0k; MSPI_SendData(digitablex); MSPI_Se

16、ndData(selectablek); if(k=7) k=0; else k+; */ if(T0Flag=1) T0Flag=0; TempraPid(TEM); W+; if(W=80) W=0; if(M=0) switch(PAGE) case 0: CONVBIT0(ui_Ad_Cnl,0); CONVBIT0(ADC_Result,4); break; case 1: CONVBIT0(TEM,0); CONVBIT0(0,4); break; /M=0 if(SF)SF=0;elseSF=1; /W=80 if(M=0)x=DATA0k;elseif(k=R)if(SF=0)

17、x=10;elsex=DATA0k;elsex=DATA0k;MSPI_SendData(digitablex); MSPI_SendData(selectablek); if(IO0PIN & KEY) !=0) if(TK=k) switch(TK) case 0: if(M=2) M=1; else M+; switch(M) case 1: CONVBIT0(ui_Ad_Cnl,0); CONVBIT0(ADC_Result,4); break; case 2: CONVBIT0(TEM,0); CONVBIT0(0,4); break; break; case 1: if(R=3) R=0; else R+; break; case 2: if(M=2) if(DATA0R=9)DATA0R=0;elseDATA0R+

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論