在我們的世界中,舉目所及都有馬達的存在,冷氣機、風扇、鐵捲門、抽水馬達...等等,因此如何控制馬達,可說是電機控制中一件重要的事,而本篇承襲著"PWM_LED"的方法,將8051中的計時中斷法運用於直流馬達上,並示範如何驅動兩相4線式步進馬達。除了原有的MCU 8051外,我們還需要IC L293D的幫忙,L293D是一半H橋式IC,它可同時驅動2顆DC馬達或一顆兩相步進式馬達,連續驅動下可支援600mA電流的輸出,藉由它的幫助可讓我們更加便利及安全地控制DC馬達的轉速、轉向。

L293D 腳位簡單說明如下: (詳細說明請自行參閱DataSheet)

L293D

 

Pin 3及6為直流馬達1的連接腳

Pin 11及14為直流馬達2的連接腳

Pin 8為馬達的高電位輸入腳

Pin 16為L293D的高電位輸入腳

Pin 1、9分別為馬達1及2的致能腳位,高電壓時可使其作動

Pin 2及7為控制馬達1的轉向;10及15能控制馬達2的轉向

Pin 4、5、12、13為接地腳位

 

L293D-CIRCUIT  

 

直流馬達

下圖為本篇直流馬達的電路連接圖,將一顆DC馬達連接於馬達2的位置上,因Pin 9為馬達的致能腳位,故以8051 P1_0輸出一PWM訊號,藉以控制馬達的轉速;而P1_2及P1_3分別接到L293D的Pin 10及15,以控制馬達的轉向,在後續的程式碼中,僅示範如何控制馬達的轉速,至於如何控制轉向就留給大家去動一下腦筋。

PWM_Motor  

 

下為部份對應的8051程式碼,其它則與另一篇"PWM_LED"中的相同,只在initialze( )中多了P1_2及P1_3的設定,這可控制馬達的轉向。馬達轉速: SW1>SW2>SW3>SW4>SW5>SW6。

DC code  

經過實際製作後發現,若於電路上沒接馬達旁的4顆二極體,馬達跑久了常會有"秀逗"的情況發生;在馬達的兩端接上一0.1uF無極性的去耦電容,也是一不錯的方法。另外也有人說馬達的電源最好與IC的電源分開,這樣比較不會有干擾的情況發生,我想這都是因為馬達是一電感性元件,易感應出高電位差,進而影響其它元件的正常運作,所以必須將馬達獨立出來。

 

步進馬達

幾年前買了一個2相4線式步進馬達,買回來後就一直給它晾在那邊,趁著此次機會,就來研究一下如何讓它也來動一動。

Stepping Motor  

下圖為本篇步進馬達的電路連接圖,將一顆2相4線式步進馬達與L293D相連,SW1與SW2分別可使步進馬達朝著相反的方向各旋轉10步,P1_0、P1_1、P1_2及P1_3輸出對應2相的0/1電位,以驅動馬達的轉動與轉動的方向。

PWM_Stepping Motor      

  

Stepping Motor code-1

Stepping Motor code-2  

Stepping Motor code-3  

 

  

Yan ~ 生活日記 發表在 痞客邦 PIXNET 留言(0) 人氣()