基于單片機的溫度控制電機轉(zhuǎn)速課程設計報告_第1頁
基于單片機的溫度控制電機轉(zhuǎn)速課程設計報告_第2頁
基于單片機的溫度控制電機轉(zhuǎn)速課程設計報告_第3頁
基于單片機的溫度控制電機轉(zhuǎn)速課程設計報告_第4頁
基于單片機的溫度控制電機轉(zhuǎn)速課程設計報告_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-. z 目 錄 TOC o 1-3 h z u HYPERLINK l _Toc2937841861 引言2HYPERLINK l _Toc2937841872 設計要求2HYPERLINK l _Toc2937841882.1 設計目的2HYPERLINK l _Toc2937841892.2 根本要求3HYPERLINK l _Toc2937841903 方案設計3HYPERLINK l _Toc2937841913.1 溫度傳感器方案論證3HYPERLINK l _Toc2937841923.1.1 方案一3HYPERLINK l _Toc2937841933.1.2 方案二3HYPE

2、RLINK l _Toc2937841943.2 總體設計框圖3HYPERLINK l _Toc2937841954 硬件設計4HYPERLINK l _Toc2937841964.1 單片機系統(tǒng)4HYPERLINK l _Toc2937841974.2 數(shù)字溫度傳感器模塊5HYPERLINK l _Toc2937841984.2.1 DS18B20性能6HYPERLINK l _Toc2937841994.2.2 DS18B20外形及引腳說明6HYPERLINK l _Toc2937842004.2.3 DS18B20接線原理圖6HYPERLINK l _Toc2937842014.2.4

3、DS18B20時序圖 PAGEREF _Toc293784201 h 7HYPERLINK l _Toc2937842024.2.5 數(shù)據(jù)處理8HYPERLINK l _Toc2937842034.3 L298電機驅(qū)動模塊9HYPERLINK l _Toc2937842034.4LCD顯示電路模塊9HYPERLINK l _Toc3754011395應用軟件介紹10HYPERLINK l _Toc2937842075.1Proteus仿軟真件的介紹10HYPERLINK l _Toc2937842085.2Keil軟件 PAGEREF _Toc293784208 h 10HYPERLINK l

4、 _Toc2937842066軟件設計 PAGEREF _Toc293784206 h 10HYPERLINK l _Toc2937842076.1 主程序模塊 PAGEREF _Toc293784207 h 10HYPERLINK l _Toc2937842086.2 讀溫度值模塊 PAGEREF _Toc293784208 h 11HYPERLINK l _Toc2937842096.3 中斷模塊136.4 仿真模塊14HYPERLINK l _Toc2937842137源程序16HYPERLINK l _Toc2937842148總結(jié)19HYPERLINK l _Toc293784215

5、參考文獻:201 引言隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便是不可否認的,各種數(shù)字系統(tǒng)的應用也使人們的生活更加舒適。數(shù)字化控制、智能控制為現(xiàn)代人的工作、生活、科研等方面帶來方便。其中溫度控制電機轉(zhuǎn)速就是利用單片機實現(xiàn)的典型實例。測量溫度時使用數(shù)字溫度計,其與傳統(tǒng)的溫度計相比,具有讀數(shù)方便、測溫圍廣、測溫準確、功能多樣話等優(yōu)點。其主要用于對測溫要求準確度比較高的場所,或科研實驗室使用,該設計使用STC89C51單片機作控制器,數(shù)字溫度傳感器DS18B20測量溫度,單片機承受傳感器輸出,經(jīng)處理用LCD實現(xiàn)溫度值顯示。電機由L298電機驅(qū)動芯片控制,實現(xiàn)電

6、機的正反轉(zhuǎn)和加速減速.2 設計要求2.1設計目的 設計一個基于溫度的電動機轉(zhuǎn)速控制電路,在相應的軟件控制下可以完成要求的功能,即外部溫度大于65C時,直流電動機在L298驅(qū)動下加速正轉(zhuǎn),溫度大于75C全速正轉(zhuǎn),當外部溫度小于0C時電動機加速反轉(zhuǎn),溫度小于-10C時電動機全速反轉(zhuǎn)。溫度回到0C-65C時電動機逐漸停頓轉(zhuǎn)動。在液晶顯示屏1602LCD上顯示當前的溫度值。2.2 根本要求控制電機正反轉(zhuǎn)即加速減速,實現(xiàn)實時溫度顯示,測溫圍-551280C,誤差50C以。畫出基于溫度的電動機轉(zhuǎn)速控制電路的原理圖,通過仿真軟件來檢測所寫程序?qū)崿F(xiàn)功能的正確與否.3 方案設計3.1 溫度傳感器方案論證3.1.

7、1 方案一由于本設計是測溫電路,可以使用熱敏電阻之類的器件,將隨被測溫度變化的電壓或電流采樣,進展A/D轉(zhuǎn)換后就可以用單片機進展數(shù)據(jù)處理,實現(xiàn)溫度顯示。這種設計需要用到A/D轉(zhuǎn)換電路,增大了電路的復雜性,而且要做到高精度也比較困難。3.1.2 方案二考慮到在單片機屬于數(shù)字系統(tǒng),容易想到數(shù)字溫度傳感器,可選用DS18B20數(shù)字溫度傳感器,此傳感器為單總線數(shù)字溫度傳感器,起體積小、構(gòu)成的系統(tǒng)構(gòu)造簡單,它可直接將溫度轉(zhuǎn)化成串行數(shù)字信號給單片機處理,即可實現(xiàn)溫度顯示。另外DS18B20具有3引腳的小體積封裝,測溫圍為-55+125攝氏度,測溫分辨率可達0.0625攝氏度,其測量圍與精度都能符合設計要求

8、。以上兩種方案相比較,第二種方案的電路、軟件設計更簡單,此方案設計的系統(tǒng)在功耗、測量精度、圍等方面都能很好地到達要求,故本設計采用方案二。3.2 總體設計框圖本方案設計的系統(tǒng)由單片機系統(tǒng)、DS18B20數(shù)字溫度傳感器、LCD溫度顯示模塊、L298電機驅(qū)動模塊、電機組成,其總體架構(gòu)如下列圖1。單片機測溫電路時鐘、復位電路L298電機驅(qū)動LULU路電路電機轉(zhuǎn)動電路LCD溫度顯示電路圖1 系統(tǒng)總體方框圖4 硬件設計 4.1 單片機系統(tǒng)本設計采用STC89C52單片機作為控制器,完成所有功能的控制,包括:DS18B20數(shù)字溫度傳感器的初始化和讀取溫度值LCD顯示驅(qū)動與控制L298電機驅(qū)動芯片驅(qū)動電機溫

9、度值的存儲和讀取單片機系統(tǒng)電路原理圖:圖2 單片機系統(tǒng)原理圖 4.2 數(shù)字溫度傳感器模塊 4.2.1 DS18B20性能獨特的單線接口僅需一個端口引腳進展通信簡單的多點分布應用無需外部器件可通過數(shù)據(jù)線供電零待機功耗測溫圍-55+128,以1遞增可編程的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625溫度數(shù)字量轉(zhuǎn)換時間200ms,12位分辨率時最多在750ms把溫度轉(zhuǎn)換為數(shù)字應用包括溫度控制、工業(yè)系統(tǒng)、消費品、溫度計和任何熱感測系統(tǒng)負壓特性:電源極性接反時,傳感器不會因發(fā)熱而燒毀,但不能正常工作 4.2.2 DS18B20外形及引腳說明圖3 DS18B20外形及

10、引腳GND:地DQ:單線運用的數(shù)據(jù)輸入/輸出引腳VD:可選的電源引腳 4.2.3 DS18B20接線原理圖單總線通常要求接一個約4.7K左右的上拉電阻,這樣,當總線空閑時,其狀態(tài)為高電平。圖4 DS18B20接線原理圖 4.2.4 DS18B20時序圖主機使用時間隙來讀寫DS18B20的數(shù)據(jù)位和寫命令字的位。初始化時序如下列圖:圖5 DS18B20初始化時序DS18B20讀寫時序:圖6 DS18B20讀寫時序 4.2.5 數(shù)據(jù)處理高速暫存存儲器由9個字節(jié)組成,其分配如表5所示。當溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在 高速暫存存儲器的第0和第1個字節(jié)。單片機可通過單線接口

11、讀到該數(shù)據(jù),讀取時低位在前,高位在后。圖7 字節(jié)分配下表為12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0, 這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際 溫度。 例如+125的數(shù)字輸出為07D0H,實際溫度=07D0H*0.0625=2000*0.0625=125。例如-55的數(shù)字輸出為FC90H,則應先將11位數(shù)據(jù)位取反加1得370H符號位不變,也不作運算,實際溫度=370H*0.0625=880*0.0625=55??梢娖?/p>

12、中低四位為小數(shù)位。圖8 DS18B20溫度數(shù)據(jù)表 4.3關于L298電機驅(qū)動芯片的簡介L298是ST公司生產(chǎn)的一種高電壓、大電流電機驅(qū)動芯片。該芯片的主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;含兩個H橋的高電壓大電流全橋式驅(qū)動器,可以用來驅(qū)動直流電動機和步進電動機、繼電器、線圈等感性負載;采用標準TTL邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或制止器件工作;有一個邏輯電源輸入端,使部邏輯電路局部在低電壓下工作;可以外接檢測電阻,將變化量反應給控制電路。 4.4 顯示電路LCD顯示簡單明了,可以直接讀出溫度值

13、。圖9 LCD驅(qū)動顯示電路5應用軟件介紹 5.1Proteus仿軟真件的介紹Proteus是一款Labcenter出品的電路分析實物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機,元件庫齊全,使用方便,是不可多得的專業(yè)的單片機軟件仿真系統(tǒng)。該軟件的特點:1全部滿足我們提出的單片機軟件仿真系統(tǒng)的標準,并在同類產(chǎn)品中具有明顯的優(yōu)勢。2具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS一232動態(tài)仿真、1C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC1

14、2系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。支持大量的存儲器和外圍芯片??傊撥浖且豢罴瘑纹瑱C和SPICE分析于一身的仿真軟件,功能極其強大,可仿真51、AVR、PIC。5.2Keil軟件KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、構(gòu)造性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KeilC

15、51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能表達高級語言的優(yōu)勢。6 軟件設計6.1 主程序模塊主程序流程圖:主程序流程圖6.2 讀溫度值模塊讀溫度值模塊需要調(diào)用4個子程序,分別為:DS18B20初始化子程序:讓單片機知道DS18B20在總線上且已準備好操作DS18B20寫字節(jié)子程序:對DS18B20發(fā)出命令DS18B20讀字節(jié)子程序:讀取DS18B20存儲器的數(shù)據(jù)延時子程序:對DS18B20操作時的時序控制讀溫度值模塊流入口數(shù)據(jù)轉(zhuǎn)換處理讀取溫度值上下位跳過讀序列號DS18B20初始化延時DS18B20初始化跳過讀序列號啟動溫度轉(zhuǎn)換返回 讀溫度值子

16、程序流程圖 DS18B20初始化子程序流程圖:入口DQ為低電平?延時1560msDQ拉高電平延時480msDQ復位0稍延時DQ置高電平N返回Y DS18B20初始化子程序流程圖DS18B20寫字節(jié)和讀字節(jié)子程序流程圖: DS18B20寫字節(jié)子程序流程圖 DS18B20讀字節(jié)子程序流程圖6.3 中斷模塊中斷采用T0方式1,初始值定時為50ms。中斷模塊需調(diào)用兩個子程序:讀溫度值子程序:定時讀取溫度值,實時更新溫度值記錄溫度值子程序:定時記錄溫度值,供查詢使用把這兩個子程序放在中斷的原因是,不會因為調(diào)整報警溫度或查詢歷史溫度值而停頓更新溫度值和記錄溫度值。中斷模塊流程圖:1秒?計數(shù)值加1定時器重置

17、初值中斷入口讀溫度值Y中斷返回記錄溫度值 N中斷模塊流程圖6.3 中斷模塊 仿真圖65 - 1250- 6535- 07 源程序#include#include#include#define INT8U unsigned char#define INT16U unsigned inte*tern INT8U Temp_Value;e*tern INT8U read_Temperature();e*tern void delay_ms(INT16U *);e*tern void LCD_Initialise();e*tern void LCD_ShowString(INT8U,INT8U,INT

18、8U*) reentrant;sbit MA=P10;sbit MB=P11;sbit PWM1=P12;INT8U Back_Temp_Value=0*FF,0*FF;char Temp_Disp_Buff17;float f_Temp=35.0;void T0_INT() interrupt 1 static INT8U t_Count=0; TH0=(INT16U)(-11.0592/12*500)/256; TL0=(INT16U)(-11.0592/12*500)%256; if(+t_Count=100) t_Count=0; if(Read_Temperature() ) if(

19、Temp_Value0!=Back_Temp_Value0|Temp_Value1=Back_Temp_Value1) Back_Temp_Value0=Temp_Value0; Back_Temp_Value1=Temp_Value1; f_Temp=(int)(Temp_Value1=75) f_Temp=75; if (f_Temp=45) MA=1;MB=0; #include#include#include#define INT8U unsigned char#define INT16U unsigned inte*tern INT8U Temp_Value;e*tern INT8U

20、 read_Temperature();e*tern void delay_ms(INT16U *);e*tern void LCD_Initialise();e*tern void LCD_ShowString(INT8U,INT8U,INT8U*) reentrant;sbit MA=P10;sbit MB=P11;sbit PWM1=P12;INT8U Back_Temp_Value=0*FF,0*FF;char Temp_Disp_Buff17;float f_Temp=35.0;void T0_INT() interrupt 1 static INT8U t_Count=0; TH0

21、=(INT16U)(-11.0592/12*500)/256; TL0=(INT16U)(-11.0592/12*500)%256; if(+t_Count=100) t_Count=0; if(Read_Temperature() if(Temp_Value0!=Back_Temp_Value0|Temp_Value1!=Back_Temp_Value1) Back_Temp_Value0=Temp_Value0; Back_Temp_Value1=Temp_Value1; f_Temp=(int)(Temp_Value10)i-; return (dat); uchar tmpread(v

22、oid) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tmpreadbit(); dat=(j1); return(dat); void tmpwritebyte(uchar dat) uint i; uchar j; bit testb; for(j=1;j1;if(testb) /write 1 DS=0; i+;i+; DS=1; i=8;while(i0)i-; else DS=0; i=8;while(i0)i-;/write 0 DS=1; i+;i+; if (f_Temp=75) f_Temp=75; if (f_Temp=45) MA=1;MB=0; if(f_Temp=45) PWM1=0;delay_ms(30);return; else if(f_Temp=75) PWM1=1;delay_ms(30);return; PWM1=1;delay_ms(f_Temp-45); PWM1=0;delay_ms(75-f_Temp);else if(f_Temp=10) MA=0;MB=1; if (f_Temp=10) PWM1=0;delay_ms(10);return;

溫馨提示

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

評論

0/150

提交評論