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

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

**作者：Bird**

上一回[【Maker電子學】步進馬達的原理與驅動—PART5](https://makerpro.cc/2024/01/principles-and-drive-of-stepper-motor-part5/)，我們介紹了 Allegro Microsystem 的步進馬達驅動 IC A4988，並利用 Arduino UNO 來控制它，做了一個很簡單的示範。

這一回我們要繼續探討 A4988 其它許多強大的功能。

### **微步進**

我們之前提過，A4988 有一個很有趣、很強大的特異功能，可以讓一圈 200 步的步進馬達變成一圈 400 步、一圈 800 步，甚至一圈 1600 步。一圈是 360 度，當一圈 200 步時，每一步轉動的角度就是 360 / 200 = 1.8（度），也就是說，當步數變多時，每一步轉動的角度就變小，我們就能對步進馬達做更精密的控制。

比方說，像下圖的這種機械結構叫做「步進馬達同步帶滑軌」，它是利用一種叫同步帶的有齒皮帶，將步進馬達的轉動轉換爲線性方向的移動，很常用在 3D 印表機、CNC 工具機等需要精密定位的機器中。

 ![](https://makerpro.cc/wp-content/uploads/2024/01/1-6.png)

（圖片來源：Bird 提供）

假設這個同步帶滑軌的設計，是讓步進馬達每轉動一步滑軌就移動 0.1 mm，那麼它的定位精度就是 0.1 mm，但利用 A4988的微步進（microstep）功能，我們可以讓馬達每次只轉半步，而每轉半步滑軌就移動 0.05 mm，這時滑軌的定位精度就變成了 0.05 mm，可以定位在更精細的位置上。

但要怎麼讓步進馬達轉半步呢？

### **複相激磁**

我們在說明步進馬達的驅動訊號時，曾經說過，雙相的步進馬達在驅動時，總共有四個步驟：

 ![](https://makerpro.cc/wp-content/uploads/2024/01/2-6.png)

（圖片來源：Bird 提供）

雙相的步進馬達總共有 A、B 兩組線圈，要讓它轉動 4 步，我們要依照這個順序驅動線圈：

1. A 線圈正向驅動
2. B 線圈正向驅動
3. A 線圈反向驅動
4. B 線圈反向驅動

最妙的事來了！如果我們同時驅動 A 和 B 線圈，步進馬達就會卡在原來只驅動 A 線圈和原來只驅動 B 線圈時，中間一半的位置。換句話說，我們就可以讓它只轉半步。

於是如果我們用這樣的順序來驅動它：

1. A 線圈正向驅動
2. 同時 A 線圈正向驅動、B 線圈正向驅動
3. B 線圈正向驅動
4. 同時 B 線圈正向驅動、A 線圈反向驅動
5. A 線圈反向驅動
6. 同時 A 線圈反向驅動、B 線圈反向驅動
7. B 線圈反向驅動
8. 同時 B 線圈反向驅動、A 線圈正向驅動

步進馬達就會用原來單步旋轉角度的一半，走 8 步。總旋轉角度還是一樣，但是每一步的角度變一半、步數變兩倍。

還有更妙的！如果我們同時驅動 A 相和 B 相線圈時，驅動 A 線圈的電流大一點，驅動 B 線圈的電流小一點，這時馬達轉子的位置就會比較接近只驅動 A 線圈的位置，而不會在 A 和 B 的中間。

換句話說，我們可以藉由同時驅動 A 線圈和 B 線圈，並改變 A 線圈和 B 線圈的電流比例，來讓馬達轉子的位置比較靠近 A、在 A 和 B 中間、或是比較靠近 B。

但這個藉由控制兩個線圈之間電流比例的驅動方式，所造成的轉子位置並沒有和電流的比例呈線性的關係；也就是說，如果我用 1/4 的電流驅動 A 線圈、3/4 的電流驅動 B 線圈，轉子的位置並不是在 A 和 B 之間距離 A 四分之一的地方。

如果要控制轉子在 A 和 B 之間、距離 A 四分之一的位置，我們需要計算一下這個位置兩個線圈的磁場比例。我們用一個稍微簡化的模型來說明：

 ![](https://makerpro.cc/wp-content/uploads/2024/01/3-5.png)

（圖片來源：Bird 提供）

假設 A 線圈和 B 線圈是垂直的，而我們要利用 A 線圈和 B 線圈所產生的磁場，合成一個磁場，指向距離 A 約四分之一的角度的位置，也就是箭頭 c 所指的方向。圖中的粗線 a 和 b 分別就是 A 線圈和 B 線圈所產生的磁場向量，a 和 b 的線段長度代表磁場的強度。

如果 c 的長度是 1，與線圈 A 的夾角是 22.5 度，要如何求 a 和 b 的大小呢？

這其實是很簡單的三角函數。

b = c * sin (22.5°) = 0.3827
 a = c * cos (22.5°) = 0.9239

因此，我們要控制 A 相線圈的電流是原來單相驅動 A 相線圈電流的 92%，B 相線圈電流是原來單相驅動 B 相線圈電流的 38%，轉子的角度才會在距離 A 四分之一角度，也就是 22.5 度的地方。

你有沒有發現，92% 跟 38% 加起來超過百分之百？沒錯，當我們用微步驅動時，兩個相位所產生的磁場，因爲與轉子方向垂直的部分各是無效的，所以會有一部分的電流所產生的磁場被浪費掉了，因而會讓總電流大於單相驅動時的電流。

我們再來看看，如果我們要讓轉子剛好位於 A 相 和 B 相的中間，也就是 45 度時，兩個線圈各需要多少電流。

 ![](https://makerpro.cc/wp-content/uploads/2024/01/4-5.png)

（圖片來源：Bird 提供）

這時，a 和 b 的長度分別是：

b = c * sin (45°) = 0.707
 a = c * cos (45°) = 0.707

我們計算的結果也符合推論：A 線圈和 B 線圈的電流要一樣，轉子才會剛好在 A 相和 B 相的中間 45 度的位置，但兩相的電流都必須是單相驅動時的 70% 左右，所產生的綜合磁場強度，也就是馬達轉子的轉矩，才會和單相驅動電流爲 100% 時一樣，而這時兩相加起來的總電流是單相驅動時的 141% 左右，換句話說，有 41% 左右的電流被拿去產生無效的磁場了。

這種同時驅動相鄰兩個線圈的驅動技巧稱爲「複相激磁」，它其實是從無刷馬達的 FOC 磁場導向控制技術來的，現在也被用在步進馬達上。

### **小結**

這一回我們說明了如何讓步進馬達的轉子卡在兩步中間的「複相激磁」 技術，以及它背後的原理與計算。下一回我們要繼續說明 A4988 如何產生複相激磁所需要的電流，來達成微步驅動。

（責任編輯：賴佩萱）
