---
title: 步進馬達的原理與驅動—PART8
description: "**作者：Bird** 上一回【Maker電子學】步進馬達的原理與驅動—PART…"
url: "https://makerpro.cc/docs/principles-and-drive-of-stepper-motor-part8/"
updated: "2025-04-17"
category: 步進馬達
---

# 步進馬達的原理與驅動—PART8

**作者：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 的達靈頓電路構成一組半橋驅動電路。

 ![](https://makerpro.cc/wp-content/uploads/2024/02/Screenshot-2024-02-25-155657.png)

（圖片來源：Bird 提供）

### **電路結構**

 ![](https://makerpro.cc/wp-content/uploads/2024/02/Screenshot-2024-02-25-155706.png)

（圖片來源：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 接腳上的電阻決定，計算公式是：

T~off = ROSC / 825

R 的單位是 ohm，T 的單位是 us。實務上 Rosc 多半放數 K 到 10 K 左右的電阻。以 10 K 爲例，PWM off 的週期長度就是：

T~off = 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 做成的模組，以及我們該如何應用這些模組。

（責任編輯：賴佩萱）
