作者:Bird
上一回【Maker電子學】步進馬達的原理與驅動—PART5,我們介紹了 Allegro Microsystem 的步進馬達驅動 IC A4988,並利用 Arduino UNO 來控制它,做了一個很簡單的示範。
這一回我們要繼續探討 A4988 其它許多強大的功能。
微步進 #
我們之前提過,A4988 有一個很有趣、很強大的特異功能,可以讓一圈 200 步的步進馬達變成一圈 400 步、一圈 800 步,甚至一圈 1600 步。一圈是 360 度,當一圈 200 步時,每一步轉動的角度就是 360 / 200 = 1.8(度),也就是說,當步數變多時,每一步轉動的角度就變小,我們就能對步進馬達做更精密的控制。
比方說,像下圖的這種機械結構叫做「步進馬達同步帶滑軌」,它是利用一種叫同步帶的有齒皮帶,將步進馬達的轉動轉換爲線性方向的移動,很常用在 3D 印表機、CNC 工具機等需要精密定位的機器中。

(圖片來源:Bird 提供)
假設這個同步帶滑軌的設計,是讓步進馬達每轉動一步滑軌就移動 0.1 mm,那麼它的定位精度就是 0.1 mm,但利用 A4988的微步進(microstep)功能,我們可以讓馬達每次只轉半步,而每轉半步滑軌就移動 0.05 mm,這時滑軌的定位精度就變成了 0.05 mm,可以定位在更精細的位置上。
但要怎麼讓步進馬達轉半步呢?
複相激磁 #
我們在說明步進馬達的驅動訊號時,曾經說過,雙相的步進馬達在驅動時,總共有四個步驟:

(圖片來源:Bird 提供)
雙相的步進馬達總共有 A、B 兩組線圈,要讓它轉動 4 步,我們要依照這個順序驅動線圈:
- A 線圈正向驅動
- B 線圈正向驅動
- A 線圈反向驅動
- B 線圈反向驅動
最妙的事來了!如果我們同時驅動 A 和 B 線圈,步進馬達就會卡在原來只驅動 A 線圈和原來只驅動 B 線圈時,中間一半的位置。換句話說,我們就可以讓它只轉半步。
於是如果我們用這樣的順序來驅動它:
- A 線圈正向驅動
- 同時 A 線圈正向驅動、B 線圈正向驅動
- B 線圈正向驅動
- 同時 B 線圈正向驅動、A 線圈反向驅動
- A 線圈反向驅動
- 同時 A 線圈反向驅動、B 線圈反向驅動
- B 線圈反向驅動
- 同時 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 四分之一的位置,我們需要計算一下這個位置兩個線圈的磁場比例。我們用一個稍微簡化的模型來說明:

(圖片來源: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 度時,兩個線圈各需要多少電流。

(圖片來源: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 如何產生複相激磁所需要的電流,來達成微步驅動。
(責任編輯:賴佩萱)