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

下載本文檔

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

文檔簡介

1、 目錄TOC o 1-5 h z HYPERLINK l bookmark0 o Current Document 1引言2 HYPERLINK l bookmark2 o Current Document 2設(shè)計要求2設(shè)計目的2基本要求3 HYPERLINK l bookmark4 o Current Document 3方案設(shè)計3 HYPERLINK l bookmark6 o Current Document 3.1溫度傳感器方案論證3 HYPERLINK l bookmark8 o Current Document 3.1.1方案一3 HYPERLINK l bookmark10 o

2、Current Document 3.1.2方案二3 HYPERLINK l bookmark12 o Current Document 3.2總體設(shè)計框圖3 HYPERLINK l bookmark14 o Current Document 4硬件設(shè)計4 HYPERLINK l bookmark16 o Current Document 單片機系統(tǒng)4 HYPERLINK l bookmark18 o Current Document 4.2數(shù)字溫度傳感器模塊5 HYPERLINK l bookmark20 o Current Document DS18B20性能64.2.2DS18B20外形

3、及引腳說明6 HYPERLINK l bookmark26 o Current Document 4.2.3DS18B20接線原理圖6 HYPERLINK l bookmark22 o Current Document 4.2.4DS18B20時序圖6 HYPERLINK l bookmark30 o Current Document 4.2.5數(shù)據(jù)處理84.3L298電機驅(qū)動模塊94.4LCD顯示電路模塊9 HYPERLINK l bookmark36 o Current Document 5應(yīng)用軟件介紹10 HYPERLINK l bookmark38 o Current Document

4、 5.1Proteus仿軟真件的介紹10 HYPERLINK l bookmark40 o Current Document Keil軟件11 HYPERLINK l bookmark42 o Current Document 6軟件設(shè)計10 HYPERLINK l bookmark44 o Current Document 主程序模塊10 HYPERLINK l bookmark46 o Current Document 讀溫度值模塊11 HYPERLINK l bookmark48 o Current Document 6.3中斷模塊136.4仿真模塊14 HYPERLINK l book

5、mark54 o Current Document 7源程序16 HYPERLINK l bookmark56 o Current Document 8總結(jié)19 HYPERLINK l bookmark58 o Current Document 參考文獻:201引言隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便是不可否定的,各種數(shù)字系統(tǒng)的應(yīng)用也使人們的生活更加舒適。數(shù)字化控制、智能控制為現(xiàn)代人的工作、生活、科研等方面帶來方便。其中溫度控制電機轉(zhuǎn)速就是利用單片機實現(xiàn)的典型實例。測量溫度時使用數(shù)字溫度計,其與傳統(tǒng)的溫度計相比,具有讀數(shù)方便、測溫范圍廣、測溫精確、

6、功能多樣話等優(yōu)點。其主要用于對測溫要求準確度比較高的場所,或科研實驗室使用,該設(shè)計使用STC89C51單片機作控制器,數(shù)字溫度傳感器DS18B20測量溫度,單片機接受傳感器輸出,經(jīng)處理用LCD實現(xiàn)溫度值顯示。電機由L298電機驅(qū)動芯片控制,實現(xiàn)電機的正反轉(zhuǎn)和加速減速.設(shè)計要求2.1設(shè)計目的設(shè)計一個基于溫度的電動機轉(zhuǎn)速控制電路,在相應(yīng)的軟件控制下可以完成要求的功能,即外部溫度大于65C時,直流電動機在L298驅(qū)動下加速正轉(zhuǎn),溫度大于75C全速正轉(zhuǎn),當外部溫度小于0C時電動機加速反轉(zhuǎn),溫度小于-10C時電動機全速反轉(zhuǎn)。溫度回到0C-65C時電動機逐漸停止轉(zhuǎn)動。在液晶顯示屏1602LCD上顯示當前的

7、溫度值。2.2基本要求控制電機正反轉(zhuǎn)即加速減速,實現(xiàn)實時溫度顯示,測溫范圍-551280C,誤差50C以內(nèi)。畫出基于溫度的電動機轉(zhuǎn)速控制電路的原理圖,通過仿真軟件來檢測所寫程序?qū)崿F(xiàn)功能的正確與否.方案設(shè)計3.1溫度傳感器方案論證3.1.1方案一由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件,將隨被測溫度變化的電壓或電流采樣,進行A/D轉(zhuǎn)換后就可以用單片機進行數(shù)據(jù)處理,實現(xiàn)溫度顯示。這種設(shè)計需要用到A/D轉(zhuǎn)換電路,增大了電路的復(fù)雜性,而且要做到高精度也比較困難。3.1.2方案二考慮到在單片機屬于數(shù)字系統(tǒng),容易想到數(shù)字溫度傳感器,可選用DS18B20數(shù)字溫度傳感器,此傳感器為單總線數(shù)字溫度傳感器

8、,起體積小、構(gòu)成的系統(tǒng)結(jié)構(gòu)簡單,它可直接將溫度轉(zhuǎn)化成串行數(shù)字信號給單片機處理,即可實現(xiàn)溫度顯示。另外DS18B20具有3引腳的小體積封裝,測溫范圍為-55+125攝氏度,測溫分辨率可達0.0625攝氏度,其測量范圍與精度都能符合設(shè)計要求。以上兩種方案相比較,第二種方案的電路、軟件設(shè)計更簡單,此方案設(shè)計的系統(tǒng)在功耗、測量精度、范圍等方面都能很好地達到要求,故本設(shè)計采用方案二。3.2總體設(shè)計框圖本方案設(shè)計的系統(tǒng)由單片機系統(tǒng)、DS18B20數(shù)字溫度傳感器、LCD溫度顯示模塊、L298電機驅(qū)動模塊、電機組成,其總體架構(gòu)如下圖1。圖1系統(tǒng)總體方框圖硬件設(shè)計4.1單片機系統(tǒng)本設(shè)計采用STC89C52單片機

9、作為控制器,完成所有功能的控制,包括DS18B20數(shù)字溫度傳感器的初始化和讀取溫度值LCD顯示驅(qū)動與控制L298電機驅(qū)動芯片驅(qū)動電機溫度值的存儲和讀取單片機系統(tǒng)電路原理圖:caMJPKSC51RC2BPvocPO.O磁WJADIPOU趣P03AESP0.4AD4PO.5AD5閃必心P0.7AD?PLDT2Pl1I2ECM:3OP13CBDP1U01PI.5-CEGPl.flCEBPJ.7CEV4史DASP2.1A9F22AWAllP2.4AL2R.5JU3P2.SA34B.1A15DoM-azTzfj-圖2單片機系統(tǒng)原理圖4.2數(shù)字溫度傳感器模塊4.2.1DS18B20性能獨特的單線接口僅需一

10、個端口引腳進行通信簡單的多點分布應(yīng)用無需外部器件可通過數(shù)據(jù)線供電零待機功耗測溫范圍-55+128C,以1C遞增可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5C、0.25C、0.125C和0.0625C溫度數(shù)字量轉(zhuǎn)換時間200ms,12位分辨率時最多在750ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費品、溫度計和任何熱感測系統(tǒng)負壓特性:電源極性接反時,傳感器不會因發(fā)熱而燒毀,但不能正常工作4.2.2DS18B20外形及引腳說明2BOTTOMVIEVJDALIASDS1&20圖3DS18B20外形及引腳GND:地DQ:單線運用的數(shù)據(jù)輸入/輸出引腳VD:可選的電源引腳4.2.3DS

11、18B20接線原理圖當總線空閑時,單總線通常要求接一個約4.7K左右的上拉電阻,這樣其狀態(tài)為高電平。圖4DS18B20接線原理圖4.2.4DS18B20時序圖主機使用時間隙來讀寫DS18B20的數(shù)據(jù)位和寫命令字的位。1.初始化時序如下圖:圖5DS18B20初始化時序2.DS18B20讀寫時序:MASTERWRITESLOT60usTx|U265C-125CCo56-Co0L2jr*rrxrvdui3-LI煜jr3vccr-sr-ar-w-EJ-Li.EJ-E-cr-cLtT4W-亠L(fēng)CD1LMDitL-iSIZa卜r|rvFc.urrerit-teriF-teriF-!-12.0C更刖EdBE

12、iiSERanRiDPB.iirMPnjwnrEJIRTTR9.4fqPS竺rlEJlFffTRa.nW35C-0C7源程序#include#include#include#defineINT8Uunsignedchar#defineINT16UunsignedintexternINT8UTemp_Value;externINT8Uread_Temperature();externvoiddelay_ms(INT16Ux);externvoidLCD_Initialise();externvoidLCD_ShowString(INT8U,INT8U,INT8U*)reentrant;sbitM

13、A=PO;sbitMB=P1A1;sbitPWM1=P1A2;INT8UBack_Temp_Value=OxFF,OXFF;charTemp_Disp_Buff17;floatf_Temp=35.O;voidTO_INT()interrupt1staticINT8Ut_Count=O;THO=(INT16U)(-11.O592/12*5OO)/256;TLO=(INT16U)(-11.O592/12*5OO)%256;if(+t_Count=1OO)t_Count=O;if(Read_Temperature()if(Temp_ValueO!=Back_Temp_ValueO|Temp_Valu

14、e1=Back_Temp_Value1)Back_Temp_ValueO=Temp_ValueO;Back_Temp_Value1=Temp_Value1;f_Temp=(int)(Temp_Value1=75)f_Temp=75;if(f_Temp=45)MA=1;MB=O;#include#include#include#defineINT8Uunsignedchar#defineINT16UunsignedintexternINT8UTemp_Value;externINT8Uread_Temperature();externvoiddelay_ms(INT16Ux);externvoi

15、dLCD_Initialise();externvoidLCD_ShowString(INT8U,INT8U,INT8U*)reentrant;sbitMA=PO;sbitMB=P1A1;sbitPWM1=P1A2;INT8UBack_Temp_Value=OxFF,OXFF;charTemp_Disp_Buff17;floatf_Temp=35.O;voidTO_INT()interrupt1staticINT8Ut_Count=O;THO=(INT16U)(-11.O592/12*5OO)/256;TLO=(INT16U)(-11.O592/12*5OO)%256;if(+t_Count=

16、1OO)t_Count=O;if(Read_Temperature()if(Temp_ValueO!=Back_Temp_ValueO|Temp_Value1!=Back_Temp_Value1)Back_Temp_ValueO=Temp_ValueO;Back_Temp_Value1=Temp_Value1;f_Temp=(int)(Temp_Value10)i-;return(dat);uchartmpread(void)uchari,j,dat;dat=0;for(i=1;i=8;i+)j=tmpreadbit();dat=(j1);return(dat);voidtmpwritebyt

17、e(uchardat)uinti;ucharj;bittestb;for(j=1;j1;if(testb)/write1DS=0;i+;i+;DS=1;i=8;while(i0)i-;elseDS=0;i=8;while(i0)i-;/write0DS=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;elseif(f_Temp=75)PWM1=1;delay_ms(30);return;PWM1=1;delay_ms(f_Temp-45);PWM1=0;d

18、elay_ms(75-f_Temp);elseif(f_Temp=10)MA=0;MB=1;if(f_Temp=10)PWM1=0;delay_ms(10);return;elseif(f_Temp=0)PWM1=1;delay_ms(10);return;PWM1=1;delay_ms(10-f_Temp);PWM1=0;delay_ms(f_Temp);elseMA=0;MB=0;voidmain()LCD_Initialise();LCD_ShowString(0,0,CurrenTemp:);Read_Temperature();delay_ms(800);TMOD=0 x01;TH0=(INT16U)(-11.0592/12*500)/256;TL0=(INT16U)(-11.0592/12*500)%256;IE=0 x82;TR0=1;while(1);8總結(jié)此次課程設(shè)計中,難點在于DS18B20的使用,即對它的時序控制、初始化以及字節(jié)讀寫方法,任何一個環(huán)節(jié)出錯或是時序控制不到位的話就不能得到正確的數(shù)據(jù)。一旦學(xué)會了正確的使用方法,就能感覺到它帶來的便利是熱電偶不能比擬的,以后再次使用的話就能很快上手了。軟件設(shè)計中,把程序按功能分模塊的話能提高編程效率,把問題一一解決,同時畫流程圖能幫助理清思路

溫馨提示

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

評論

0/150

提交評論