作者:Bird
上一回【Maker電子學】步進馬達的原理與驅動—PART7,我們介紹 A4988 的微步進設定接腳以及 A4988 的微步進模式,也看了 A4988 的微步進驅動電流,確實如我們之前計算的複相激磁電流一樣。
這一回我們要來看一下 A4988 的實際電路設計。
功耗與電晶體
A4988 是一顆 28 隻腳的 QFN 封裝 IC,腳距只有 0.5 mm,因此整體的大小只有 5 mm x 5 mm。A4988 這麼小的封裝卻可以承受最大 2A 的馬達線圈電流,而我們之前介紹的 L293 那麼大一顆,卻只能承受 1A 的電流,A4988 到底怎麼辦到的呢?
A4988 裡面的功率晶體是 DMOS 製程的 MOFSET。DMOS 是一種 power MOSFET 的製程,它利用雙倍擴散(double-diffusion)來讓 MOSFET 的通道在開啟時電阻更低、承受更大的電流,而 L293 因爲是上個世紀的產品,它裡面的功率晶體是 BJT。BJT 在飽和時,仍然會有一個不算小的 VCE 飽和電壓,流過的電流乘上這個電壓就是 BJT 上額外的功耗,因此 L293 的 H-bridge 在導通時,會比 A4988 發出更多的熱,而限制了它的最大電流。
A4988 內部在調控相電流時,使用的是 PWM 開關調變,利用 PWM on 週期所佔的比例,也就是 duty cycle 來調整相電流,也就是說 A4988 的 MOSFET 永遠只工作在飽和導通與完全不導通兩種狀態,不會工作在線性區,因此它可以用效率很高的方式調控電流,只有在 MOSFET 導通時,微小的 RDS(ON)會消耗額外的功率導致發熱。
下圖是取自 A4988 和 L293 的 datasheet 中,它們的驅動電路部分的電路圖。可以看到 A4988 是用四顆 MOSFET 構成一組全橋驅動電路,而 L293 則是用兩組 BJT 的達靈頓電路構成一組半橋驅動電路。

(圖片來源:Bird 提供)
電路結構

(圖片來源:Bird 提供)
上圖是 A4988 的應用範例電路。A4988 需要兩組電源,VDD 是 A4988 內部邏輯電路和控制電路的電源,可以從 3 V 到 5.5 V,適合 3.3 V 或 5 V 的邏輯準位;VBB 則是用來驅動馬達的電源,最高可以到 3 5 V。
由於 A4988 裡面的 power MOSFET 都是 N-channel 的,H-bridge 的 high-side MOSFET 需要一個比 drain 高一些的電壓用來驅動 gate,才能讓 N-channel MOSFET 導通,而 high-side MOSFET 的 drain 是接在馬達的電源 VBB 上,因此我們需要一個比 VBB 更高的電源來驅動 MOSFET。A4988 內部有一個 charge pump 電路,只要在 CP1 和 CP2 腳之間接上一個 0.1 uF 的電容器,就可以產生這個電壓,另外還要在 VCP 腳和 VBB 之間接上一個 0.1 uF 的電容器,用來儲存並將這個電壓墊高到比 VBB 還高的電位,用以驅動 high-side 的 MOSFET。
A4988 內部使用 PWM 來控制相電流,而兩組全橋各需要一個電阻,用來測量流過線圈及驅動電路的電流,以作爲 PWM 電流控制的參考。SENSE1 及 SENSE2 這兩支腳就是 low-side MOSFET 的 source,流經線圈的電流會經過 low-side MOSFET 後從這裡出來,經過電流測量電阻 Rs 之後回到 ground,因此只要測量 SENSE1 及 SENSE2 腳上的電壓,就可以知道電流測量電阻 Rs 上的壓降,除以 Rs 之後就可以得到 Rs 上的電流大小。
而 A4988 設定最大相電流的公式則是:
Imax = Vref /(8 * Rs)
Vref 就是在 REF 腳上的電壓。我們可以用一個分壓電路從 VDD 得到所需要的 Vref,來控制馬達的最大相電流。比方說我們用 0.05ohm 的 Rs,並把 Vref 設爲 0.5V,這時馬達的最大相電流就是:
0.5(V)/(8 * 0.05(ohm))= 1.25(A)
這個電流就是 A4988 驅動單相線圈 100% 時的電流,而在微步進模式下的電流就是用這個電流乘上各個不同的比例。
A4988 內部的 PWM 電流調控電路是固定 off 週期、變動 on 週期的做法,而 off 週期的時間則是由接在 Rosc 接腳上的電阻決定,計算公式是:
Toff = ROSC / 825
R 的單位是 ohm,T 的單位是 us。實務上 Rosc 多半放數 K 到 10 K 左右的電阻。以 10 K 爲例,PWM off 的週期長度就是:
Toff = 10000 / 825 = 12.12 us
除了 charge pump 電容、電流感測電阻 Rsense 以及 Rosc 用來設定 PWM 週期,A4988 就只需要一些濾波電容之類的零件接在電源接腳上,就可以工作了,相當簡單。
接下來我們只要利用 MS1、MS2、MS3 設定好微步進的模式,把 EN 腳拉低讓驅動電路開始工作,用 DIR 接腳設定方向,A4988 就可以開始驅動馬達。STEP 接腳上每收到一個脈波,A4988 就會將輸出的驅動狀態前進一步。STEP 腳上如果有持續不斷的脈波,步進馬達就會一直朝著 DIR 所設定的方向旋轉。
小結
這一回我們說明了 A4988 的應用電路,以及幾個重要接腳所需要的零件如 charge pump、電流感測電阻、PWM 週期設定電阻等。下一回我們要介紹一些使用 A4988 做成的模組,以及我們該如何應用這些模組。
(責任編輯:賴佩萱)
- 【Maker電子學】Flash 記憶體的原理與應用—PART22 - 2025/02/27
- 【Maker電子學】Flash 記憶體的原理與應用—PART21 - 2025/02/21
- 【Maker電子學】Flash 記憶體的原理與應用—PART20 - 2025/01/24
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!