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

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

閱讀時間: 2 min read

作者: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 步,我們要依照這個順序驅動線圈:

  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 四分之一的位置,我們需要計算一下這個位置兩個線圈的磁場比例。我們用一個稍微簡化的模型來說明:

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

(責任編輯:賴佩萱)

Powered by BetterDocs

Submit a Comment

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