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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

18、壓大電流功率集成電路.直接采用 L邏輯電平控制,可以驅</p><p>  動繼電器、直流電動機 、步進電動機等電感性負載。其內部有兩個完全相同的功率放大回路。其內部結構和引腳功能如圖 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:輸出端,與對應輸入端同邏輯</p><p>  VCC:邏輯控制電源,4.5~7V GND:地</p><p>  VSS:電機驅動電源,最小值

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

21、、程序框圖</b></p><p><b>  1、主程序框圖</b></p><p>  2、中斷服務程序框圖</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>  調速程序</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;/***高低電平標志***/</p><p>

37、  bit direction=0;/***方向標志***/</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>  /****改變轉向標志*****/</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>  /*******中斷,調節(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>  八、調試運行</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),觀察數碼管,當按下加速按鈕時數碼管顯示的電動機速度應該加速,而當按下減速按鈕時,數碼管顯示的速度應該減小。</p><p>  3、運行系統(tǒng)看電動機速度是否符合要求,如不符合,則再調試,直至滿足要求。</p><p><b>  九、仿真截圖</b></p><p>  當仿真開始運行

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論