玩轉 AI 機器人的新境界 – Now and Future
|
View Categories

步進馬達的原理與驅動—PART3

閱讀時間: 1 分鐘

作者:Bird

上一回【Maker電子學】步進馬達的原理與驅動—PART2 我們介紹了雙極四線式和六線式步進馬達的接線方式以及驅動它們所需要的程序與訊號,也介紹了 H-bridge 驅動電路的結構和改變電流方向的方法。

由於構成一組 H-bridge 需要四顆電晶體,而驅動雙極雙相步進馬達的兩組線圈就需要兩組 H-bridge,也就是八顆電晶體,再加上週邊相關的被動元件,要用離散零件做出一組雙極雙相步進馬達的驅動電路雖然可行,但不算非常實際,因此我們通常會用一些專用的驅動 IC。

這一回我們要來介紹一顆很常用的步進馬達驅動 IC:L293D。

歷久彌新的 IC #

L293D 是一顆歷史很悠久的 H-bridge 驅動 IC,早在 1986 年它就出現在 TI 的紙本 datasheet 中。除了 TI,現在也可以買到許多其它來源如 STMicro 的 L293D。

根據 TI 的 datasheet 描述,L293D 是一顆「quadruple half-H drivers」,意思是它裡面有四個「半 H-bridge」驅動電路。我們上次講過 H-bridge,那什麼是「半 H-bridge」呢?

(圖片來源:Bird 提供)

完整的 H-bridge 有四顆電晶體,而一半的 H-bridge 其實就是把 H-bridge 對切一半,只剩單邊。

聰明的讀者一定看得出來,啊不就兩個 half bridge 就能構成一個 H-bridge?對,沒錯,就是這樣。在某些應用中,我們只需要一邊的 high-side 或 low-side 的電晶體將輸出接腳拉高或拉低,因此就只需要 half bridge 就好,但在需要將電流方向反轉的應用中,像是驅動馬達,我們就需要完整的一組 H-bridge 來驅動一個負載。

而 L293D 裡面有四個 half bridge,每兩個 half bridge 可以拼成一個 H-bridge,因此剛好有兩個 H-bridge 可以用來驅動一顆雙極雙相步進馬達。

內部結構 #

根據 TI 的 datasheet,L293D 裡面的結構長這樣:

(圖片來源:Bird 提供)

看起來就是四個 driver,那要怎麼構成 H-bridge 呢?

其實每一個三角形代表的 driver,裡面長這樣:

(圖片來源:Bird 提供)

這個電路看起來有點複雜,我們再把它簡化一下:

(圖片來源:Bird 提供)

L293D 是誕生在 MOSFET 製程還沒有那麼成熟的年代,因此它裡面的電晶體是 BJT,而非現今常用的 MOSFET。它裡面的 high-side 及 low-side 電晶體都是 NPN 電晶體,而在 high-side 電晶體的驅動電路上有一個反相電路,因此當輸入爲 high 時,high-side 電晶體會導通,將輸出與 VCC 接在一起,使得輸出爲 high,而當輸入爲 low 時,low-side 的電晶體會導通,將輸出與 GND 接在一起,使得輸出爲 low。

初次之外,L293 還有一個 EN 接腳,當 EN 接腳爲 low 時,不管是 high-side 還是 low-side 的驅動電路都不會動作,因此兩顆電晶體都不會導通,這時輸出就會形成一個高阻抗的狀態。

因此每一組驅動電路的真值表可以寫成這樣:

(圖片來源:Bird 提供)

知道 L293D 內部驅動電路的結構後,我們就可以來看看要怎麼用它來驅動步進馬達。

驅動接線 #

這是一個典型的 L293D 驅動雙極雙相步進馬達的電路:

(圖片來源:Bird 提供)

爲了畫圖簡潔,圖中省略了一些保護性和補償性的零件,只畫出了驅動所需要的接線。

我們用兩組 half bridge 電路組成一組 H-bridge 來驅動一組線圈。當 A1 輸入爲 high、A2 輸入爲 low 時,Y1 的輸出會是 high、Y2 的輸出會是 low,這時電流就會由 pin 3 流向 pin 6,而當 A1 輸入爲 low、A2 輸入爲 high 時,Y1 的輸出會是 low、Y2 的輸出會是 high,這時電流就會由 pin 6 流向 pin 3。

如果 A1 和 A2 的輸入爲同樣的電位,不管是同爲 high 還是同爲 low,都不會有電流流過馬達連接 pin 3 和 pin 6 之間的線圈。

我們可以把這個組合也畫成真值表:

(圖片來源:Bird 提供)

而根據我們上一回的說明,要讓一個雙極雙相步進馬達持續朝同一個方向轉動,需要以下的驅動順序:

  1. A 相線圈電流順向
  2. B 相線圈電流順向
  3. A 相線圈電流膩向
  4. B 相線圈電流逆向

假設上圖中步進馬達連接在 pin 3、pin 6 之間的線圈是 A 相,而連接在 pin 11、pin 14 之間的線圈是 B 相,我們就可以知道 A1、A2、A3、A4 需要什麼樣的輸入訊號,才能讓馬達持續轉動。我們將這些訊號的順序畫成表:

(圖片來源:Bird 提供)

於是,我們只需要使用四支 GPIO,依照上面的順序產生 A1 – A4 的輸出,就可以透過 L293D 驅動步進馬達旋轉了。

如果我們將驅動的時序由 1234 改爲 4321,步進馬達就會往另一個方向旋轉。

小結 #

這一回,我們介紹了 L293D 這顆很常用的四個半橋馬達驅動 IC,它相當於八顆電晶體所組成的兩個 H-bridge 電路,可以用來驅動一個雙極雙相步進馬達,也說明了驅動步進馬達所需要的時序和波形。

下一回我們會繼續來看,實際使用 L293D 來驅動步進馬達時,還有哪些事情需要注意。

(責任編輯:賴佩萱)

Powered by BetterDocs

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *