單片機控制直流電動機課程設(shè)計_第1頁
已閱讀1頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  設(shè)計目的</b></p><p><b>  設(shè)計任務(wù)和要求</b></p><p><b>  設(shè)計原理分析</b></p><p><b>  硬件資源及原理</b

2、></p><p><b>  硬件圖</b></p><p><b>  程序框圖</b></p><p><b>  程序</b></p><p><b>  調(diào)試運行</b></p><p><b>  仿真截

3、圖</b></p><p><b>  設(shè)計心得體會</b></p><p><b>  一、設(shè)計目的</b></p><p>  1、通過單片機課程設(shè)計,熟練掌握C語言的編程方法,將理論聯(lián)系到實踐中,提高我們的動腦和動手的能力。</p><p>  2、通過對單片機控制直流電動機控制系

4、統(tǒng)的設(shè)計,掌握A/D轉(zhuǎn)換、D/A轉(zhuǎn)換的有關(guān)原理,加深對PWM波的理解和使用,同時對單片機的使用更加熟練,通過對簡單程序的編寫提高我們的邏輯抽象能力。</p><p><b>  二、設(shè)計任務(wù)和要求</b></p><p>  任務(wù):采用單片機設(shè)計一個控制直流電動機并測量轉(zhuǎn)速的裝置。</p><p>  要求: 1、通過改變A/D輸入端的可變電阻

5、來改變A/D輸入電壓,D/A輸入檢測量大小,進而改變直流電機的轉(zhuǎn)速。</p><p>  2、手動控制。在鍵盤上設(shè)置兩個按鍵——直流電動機加速鍵和直流電機減速鍵。在手動狀態(tài)下,每按一次鍵,電機的轉(zhuǎn)速按照約定的速率改變。</p><p>  3、鍵盤列掃描(4*6)。</p><p><b>  三、設(shè)計原理分析</b></p>&

6、lt;p><b>  1. 設(shè)計思路</b></p><p>  本文設(shè)計的直流PWM調(diào)速系統(tǒng)采用的是調(diào)壓調(diào)速。系統(tǒng)主電路采用大功率GTR為開關(guān)器件、H橋單極式電路為功率放大電路的結(jié)構(gòu)。PWM調(diào)制部分是在單片機開發(fā)平臺之上,運用匯編語言編程控制。由定時器來產(chǎn)生寬度可調(diào)的矩形波。通過調(diào)節(jié)波形的寬度來控制H電路中的GTR通斷時間,以達到調(diào)節(jié)電機速度的目的。增加了系統(tǒng)的靈活性和精確性,使整

7、個PWM脈沖的產(chǎn)生過程得到了大大的簡化。設(shè)計以AT89C51單片機為核心,以鍵盤作為輸入達到控制直流電機的啟停、速度和方向,完成了基本要求和發(fā)揮部分的要求。在設(shè)計中,采用了PWM技術(shù)對電機進行控制,通過對占空比的計算達到精確調(diào)速的目的。本文介紹了直流電機的工作原理和數(shù)學(xué)模型、脈寬調(diào)制控制原理和H橋電路基本原理設(shè)計了驅(qū)動電路的總體結(jié)構(gòu),根據(jù)模型,利用PROTEUS軟件對各個子電路及整體電路進行了仿真,確保設(shè)計的電路能夠滿足性能指標(biāo)要求,并

8、給出了仿真結(jié)果。</p><p><b>  2、 基本原理</b></p><p>  主體電路:即直流電機PWM控制模塊。PWM(脈沖寬度調(diào)制)是通過控制固定電壓的直流電源開關(guān)頻率,改變負(fù)載兩端的電壓,從而達到控制要求的一種電壓調(diào)整方法。這部分電路主要由80C51單片機的I/O端口、定時計數(shù)器、外部中斷擴展等控制直流電機的加速、減速,并且可以調(diào)整電機的轉(zhuǎn)速,還可

9、以方便的讀出電機轉(zhuǎn)速的大小和了解電機的轉(zhuǎn)向,能夠很方便的實現(xiàn)電機的智能控制。其間是通過80C51單片機產(chǎn)生脈寬可調(diào)的脈沖信號并輸入到L298驅(qū)動芯片來控制直流電機工作的。</p><p><b>  四、硬件資源及原理</b></p><p>  1.1直流電機調(diào)速原理</p><p>  直流電動機根據(jù)勵磁方式不同,直流電動機分為自勵和他勵兩

10、種類型。不同勵磁方式的直流電動機機械特性曲線有所不同。但是對于直流電動機的轉(zhuǎn)速有以下公式: n=U/Cc-TR內(nèi)/CrCc 其中:U—電壓;—勵磁繞組本身的電阻;—每極磁通(Wb);Cc—電勢常數(shù);Cr—轉(zhuǎn)矩常量。由上式可知,直流電機的速度控制既可采用電樞控制法,也可采用磁場控制法。磁場控制法控制磁通,其控制功率雖然較小,但低速時受到磁極飽和的限制,高速時受到換向火花和換向器結(jié)構(gòu)強度的限制,而且由于勵磁線圈電感較大,動態(tài)響應(yīng)較差。所以在

11、工業(yè)生產(chǎn)過程中常用的方法是電樞控制法。</p><p>  圖1-1 直流電機的工作原理圖</p><p>  電樞控制是在勵磁電壓不變的情況下,把控制電壓信號加到電機的電樞上,以控制電機的轉(zhuǎn)速。在工業(yè)生產(chǎn)中廣泛使用其中脈寬調(diào)制(PWM)應(yīng)用更為廣泛。脈寬調(diào)速利用一個固定的頻率來控制電源的接通或斷開,并通過改變一個周期內(nèi)“接通”和“斷開”時間的長短,即改變直流電機電樞上電壓的“占空比”來改

12、變平均電壓的大小,從而控制電動機的轉(zhuǎn)速,因此,PWM又被稱為“開關(guān)驅(qū)動裝置”。 </p><p>  圖1-2電樞電壓占空比和平均電壓的關(guān)系圖</p><p>  根據(jù)上圖,如果電機始終接通電源時,電機轉(zhuǎn)速最大為,占空比為D=/T,則電機的平均速度為:,可見只要改變占空比D,就可以得</p><p>  到不同的電機速度,從而達到調(diào)速的目的。</p>

13、<p>  1.2直流調(diào)速系統(tǒng)實現(xiàn)方式</p><p>  PWM為主控電路的調(diào)速系統(tǒng):基于單片機類由軟件來實現(xiàn)PWM,在PWM調(diào)速系統(tǒng)中占空比D是一個重要參數(shù)在電源電壓不變的情況下,電樞端電壓的平均值取決于占空比D的大小,改變D的值可以改變電樞端電壓的平均值從而達到調(diào)速的目的。改變占空比D的值有三種方法: A、定寬調(diào)頻法:保持不變,只改變t,這樣使周期(或頻率)也隨之改變。(圖1-2)B、調(diào)寬調(diào)頻法:

14、保持t不變,只改變,這樣使周期(或頻率)也隨之改變。(圖1-2)C、定頻調(diào)寬法:保持周期T(或頻率)不變,同時改變和t。(圖1-2)</p><p>  前兩種方法在調(diào)速時改變了控制脈沖的周期(或頻率),當(dāng)控制脈沖的頻率與</p><p>  系統(tǒng)的固有頻率接近時,將會引起振蕩,因此常采用定頻調(diào)寬法來改變占空 </p><p>  比從而改變直流電動機電樞兩端電壓

15、。</p><p>  1.3 89C51單片機</p><p>  圖 1-3 89C51單片機</p><p><b>  2 硬件電路設(shè)計</b></p><p>  2.1 pwm波的實現(xiàn)</p><p>  隨計算機技術(shù)及電力電子技術(shù)的發(fā)展,PWM波形采用軟件方法實現(xiàn)顯得非常靈活和實用,

16、以89C51單片機為控制核心,晶振頻率為12MHz定 時計數(shù)器TO,T1作定時器使用,工作在方式1,定時時間為0.1ms,若PWM波形的頻率為50 Hz ,占空比為1:1,則和 R0載入30H和31H單元的值初始100,若在程序中利用按鍵產(chǎn)生中斷調(diào)用來改變30H和31H單元的值就可以改變占空比.系統(tǒng)流程圖如圖2-1所示 : </p><p>  圖 2-1 程序流程圖</p&

17、gt;<p>  2.2直流電動機驅(qū)動</p><p>  在直流電動機的驅(qū)動中對大功率的電動機常采用IGBT作為主開關(guān)元件,對中小功率的電機常采用功率場效應(yīng)管作為主開關(guān)元件.另外還可以采用集成電路來完成對電機的驅(qū)動,系統(tǒng)采用集成電路L298來驅(qū)動電機</p><p>  圖2-2 L298內(nèi)部結(jié)構(gòu)和功能引腳圖</p><p>  L298是雙H高電

18、壓大電流功率集成電路.直接采用 L邏輯電平控制,可以驅(qū)</p><p>  動繼電器、直流電動機 、步進電動機等電感性負(fù)載。其內(nèi)部有兩個完全相同的功率放大回路。其內(nèi)部結(jié)構(gòu)和引腳功能如圖 2-2所示。</p><p>  L298 引腳符號及功能</p><p>  SENSA、SENSB:分別為兩個H橋的電流反饋腳,不用時可以直接接地</p><

19、p>  ENA 、ENB:使能端,輸入PWM信號 </p><p>  IN1、IN2、IN3、IN4:輸入端,TTL邏輯電平信號</p><p>  OUT1、OUT2、OUT3、OUT4:輸出端,與對應(yīng)輸入端同邏輯</p><p>  VCC:邏輯控制電源,4.5~7V GND:地</p><p>  VSS:電機驅(qū)動電源,最小值

20、需比輸入的低電平電壓高</p><p>  當(dāng)使能端為高電平時,輸入端IN1為PWM信號,IN2為低電平信號時,電機正轉(zhuǎn);輸入端IN1為低電平信號,IN2為PWM信號時,電機反轉(zhuǎn);;IN1與IN2相 同時,電機快速停止。當(dāng)使能端為低電平時,電動機停止轉(zhuǎn)動。</p><p><b>  五、硬件圖</b></p><p><b>  六

21、、程序框圖</b></p><p><b>  1、主程序框圖</b></p><p>  2、中斷服務(wù)程序框圖</p><p><b>  七、程序</b></p><p>  #include<reg51.h></p><p>  #define

22、uchar unsigned char</p><p>  uchar TABLE[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};</p><p>  unsigned int frq1,c;</p><p>  void delay(unsigned int k)</p><p&

23、gt;<b>  {</b></p><p>  unsigned int i,j;</p><p>  for(i=0;i<k;i++)</p><p><b>  {</b></p><p>  for(j=0;j<121;j++)</p><p><

24、b>  ;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void display()</p><p><b>  {</b></p><p>  uchar qian,ba

25、i,shi,ge;</p><p><b>  qian=0;</b></p><p><b>  bai=0;</b></p><p><b>  shi=0;</b></p><p><b>  ge=0;</b></p><p&g

26、t;<b>  c=frq1;</b></p><p>  qian=c/1000;</p><p>  bai=c/100%10;</p><p>  shi=c/10%10;</p><p><b>  ge=c%10;</b></p><p><b>  P1

27、=0x01;</b></p><p>  P2=TABLE[qian];</p><p><b>  delay(5);</b></p><p><b>  P1=0x02;</b></p><p>  P2=TABLE[bai];</p><p><b&g

28、t;  delay(5);</b></p><p><b>  P1=0x04;</b></p><p>  P2=TABLE[shi];</p><p><b>  delay(5);</b></p><p><b>  P1=0x08;</b></p>

29、;<p>  P2=TABLE[ge];</p><p><b>  delay(5);</b></p><p><b>  }</b></p><p>  void chang(void) interrupt 0 using 0</p><p><b>  {</b&

30、gt;</p><p>  if(INT0==0)</p><p>  while(!INT0)</p><p><b>  frq1++;</b></p><p><b>  }</b></p><p>  void main()</p><p>&

31、lt;b>  {</b></p><p>  unsigned int i=0;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  TMOD=0x01;</p><p>  TH0=55536/

32、256;</p><p>  TL0=55536%256;</p><p><b>  TR0=1;</b></p><p><b>  EA=1;</b></p><p><b>  EX0=1;</b></p><p>  while(TF0==1)

33、</p><p><b>  {i++;</b></p><p><b>  if(i==10)</b></p><p><b>  { </b></p><p>  display();</p><p><b>  frq1=0;</

34、b></p><p><b>  TF0=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  ;</b></p><p><b>  }</

35、b></p><p><b>  }</b></p><p><b>  調(diào)速程序</b></p><p>  #include"reg51.h"</p><p>  #include"intrins.h"</p><p>  #

36、define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  sbit P20=P2^0;</p><p>  sbit P21=P2^1;</p><p>  uchar flag=0;/***高低電平標(biāo)志***/</p><p>

37、  bit direction=0;/***方向標(biāo)志***/</p><p>  static uchar constant=1;//可以改變占空比</p><p>  void time0(void) interrupt 1 using 1</p><p><b>  {</b></p><p>  static u

38、char i;</p><p><b>  i++;</b></p><p>  /**頻率為固定的1kHZ左右,只是占空比發(fā)生變化**/</p><p>  if(i<=constant)</p><p><b>  flag=1;</b></p><p>  if(

39、i<=10&&i>constant)</p><p><b>  flag=2;</b></p><p>  if(i==10) </p><p><b>  i=0;</b></p><p><b>  TH0=0X9C;</b></p&

40、gt;<p><b>  TL0=0X9C;</b></p><p><b>  }</b></p><p>  /****改變轉(zhuǎn)向標(biāo)志*****/</p><p>  void int1_srv (void) interrupt 2 using 2</p><p><b>

41、  {</b></p><p>  if(INT1==0)</p><p><b>  {</b></p><p>  while(!INT0);</p><p>  constant--;</p><p>  if(constant==10)</p><p>

42、;  constant=0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*******中斷,調(diào)節(jié)占空比********/</p><p>  void change(void) interrupt 0 using 0</p>

43、<p><b>  {</b></p><p>  if(INT0==0)</p><p><b>  {</b></p><p>  while(!INT0);</p><p>  constant++;</p><p>  if(constant==10)<

44、;/p><p>  constant=0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*************************/</p><p>  void main()</p><p&g

45、t;<b>  {</b></p><p><b>  EA=1;</b></p><p>  TMOD=0x02;</p><p><b>  ET0=1;</b></p><p><b>  TR0=1;</b></p><p&g

46、t;<b>  EX0=1;</b></p><p><b>  IT0=1;</b></p><p><b>  EX1=1;</b></p><p><b>  IT1=1;</b></p><p><b>  TH0=0X9C;</b

47、></p><p><b>  TL0=0X9C;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  P21=0;</b></p><p>  i

48、f(flag==1)</p><p><b>  {</b></p><p><b>  flag=0;</b></p><p><b>  P20=1;</b></p><p><b>  }</b></p><p>  if(f

49、lag==2)</p><p><b>  {</b></p><p><b>  flag=0;</b></p><p><b>  P20=0;</b></p><p><b>  }</b></p><p><b>

50、;  }</b></p><p><b>  }</b></p><p><b>  八、調(diào)試運行</b></p><p>  1、按硬件圖接線,加速減速按鈕分別接單片機的P3.2口、P3.3口,單片機輸出端口P2.0、P2.1接L298的IN1、IN2口,電動機測速端口接另一片單片機的INT0、INT1.&l

51、t;/p><p>  2、開始運行系統(tǒng),觀察數(shù)碼管,當(dāng)按下加速按鈕時數(shù)碼管顯示的電動機速度應(yīng)該加速,而當(dāng)按下減速按鈕時,數(shù)碼管顯示的速度應(yīng)該減小。</p><p>  3、運行系統(tǒng)看電動機速度是否符合要求,如不符合,則再調(diào)試,直至滿足要求。</p><p><b>  九、仿真截圖</b></p><p>  當(dāng)仿真開始運行

52、時,各個模塊處于初始狀態(tài)。點擊左邊的獨立鍵盤加速或減速按鈕。顯示模塊便開始顯示數(shù)字。電機的驅(qū)動模塊能夠?qū)崿F(xiàn)電機的加速、減速等操作。且改變PWM脈沖時的占空比電機的工作電壓改變。因此,從仿真結(jié)果可以看出,本設(shè)計可以得到預(yù)期仿真效果。</p><p><b>  圖9 仿真截圖</b></p><p><b>  十、心得體會</b></p&g

53、t;<p>  這次單片機期末實訓(xùn),凝結(jié)了很多老師的心血,在此我表示由衷的感謝。沒有老師們的幫助,我將無法順利完成這次實訓(xùn)。首先,我要特別感謝*老師在這一學(xué)期里給我們上了單片機課。*老師淵博的知識、嚴(yán)謹(jǐn)?shù)淖黠L(fēng)、誨人不倦的態(tài)度和學(xué)術(shù)上精益求精的精神讓我受益終生。作為一個本科生的實訓(xùn)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),想要完成這個設(shè)計是難以想象的。因此,特別需要感謝各位老師給予的耐心細(xì)致的

54、指導(dǎo),在此,再一次向全體教師以及關(guān)心幫助我的教師同學(xué)表示最誠摯的謝意!在這次的課程設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設(shè)計過程中,與同學(xué)分工設(shè)計,和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會了合作,學(xué)會了運籌帷幄,學(xué)會了寬容,學(xué)會了理解,也學(xué)會了做人與處世。在這兩周的學(xué)習(xí)中,我深刻感覺到了自己對單片機編程知識的缺乏,對實踐操作的生疏,也感覺到了單片機的重要性與實用性,在一塊

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論