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

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

**作者：Bird**

上一回[【Maker電子學】步進馬達的原理與驅動—PART3](https://makerpro.cc/2023/12/principles-and-drive-of-stepper-motor-part3/)，我們介紹了 L293D 這顆很常用的四個半橋馬達驅動 IC，它相當於八顆電晶體所組成的兩個 H-bridge 電路，可以用來驅動一個雙極雙相步進馬達，同時我們也說明了驅動步進馬達所需要的時序和波形。

不過我們上一回爲了方便說明 H-bridge 的驅動時序，示範的電路只著重在 H-bridge 的電晶體部分，簡化了許多補償和保護用的零件。這一次我們要來看一下，實際上的驅動電路應該要怎麼設計。

### **驅動電路**

 ![](https://makerpro.cc/wp-content/uploads/2023/12/1-3.png)

（圖片來源：Bird 提供）

這是我們上次用 L293D 驅動一顆雙極雙相步進馬達的示範電路。這個電路可以用 A1 和 A2 接腳控制其中一組線圈的電流流向，而用 A3 和 A4 控制另一組線圈的電流流向，只要依照特定的時脈操作 A1 - A4 的 high 與 low，就可以讓步進馬達持續旋轉。

如果你直接照這個電路接，電路會動，馬達也會轉，但很有可能馬達轉一轉，就不動了，而且 L293D 可能燒掉了。

爲什麼呢？因爲 back EMF。

### **反電動勢**

Back EMF（back electromotive force），又叫做反電動勢，是所有電感性負載都會有的特性。電感的特性是上面的電流不會突然變化，因此當我們加一個驅動電壓在電感上時，電感上的電流會從 0 慢慢往上增加，直到電感飽和後電流才會直接衝到電路允許的最大電流，而當我們將電感上的驅動電壓關掉時，電感上的電流也不會馬上停止，而是持續流動、慢慢下降到 0。

在這個電流下降的過程中，如果我們將電感上的迴路斷開，這個電流想流動但是沒有迴路可以流動、沒地方去，就會在電感兩端產生一個很高的電壓；依據電感的大小，這個電壓有高有低，但很有可能高到足以破壞驅動馬達的電晶體或是 IC 裡的其它電路。

因此我麼要設法讓 back EMF 產生的這個能量有地方去，最好是把它消耗掉，以免傷害到驅動電路。

典型的做法是在 H-bridge 的驅動電路中加上四個二極體，方向與驅動線圈的電流方向相反：

 ![](https://makerpro.cc/wp-content/uploads/2023/12/2-4.png)

（圖片來源：Bird 提供）

當我們驅動線圈時，二極體會在逆向偏壓的狀態，所以不會導通；當我們關閉驅動的電晶體時，線圈產生的反電動勢方向剛好會讓二極體進入順向偏壓的狀態而導通，於是這個能量就會在二極體上消耗掉（因爲二極體需要承受這個能量，它的耐壓和功率都必須足夠大）。

如果使用 MOSFET 來驅動馬達，如上面的電路，MOSFET 在 drain 和 source 之間有一個 body diode，方向剛好和我們要保護電路的二極體一樣。在某些功率不大的驅動電路中，確實可以利用這個 body diode 來保護驅動電路，但 MOSET 的 body diode 因爲是製程上自然形成的零件，並不是刻意做出來的，它的特性通常沒有經過製程控制，不會太一致也不會太好，因此在大部分的設計中，還是另外加上專用的保護二極體比較好。

如果是用 L293 來設計 H-bridge 驅動電路，因爲 L293 裡面的驅動電晶體是 BJT，沒有 body diode，就一定要外加保護二極體，否則反電動勢產生的電壓極有可能超過 BJT 電晶體的最大 VCE 而燒毀電晶體，而 L293 的另一個版本 L293D，它裡面內建了這四顆保護二極體，就不用另外再加。

如果用 L293 設計驅動電路，加上外部保護二極體的電路是這樣：

 ![](https://makerpro.cc/wp-content/uploads/2023/12/3-3.png)

（圖片來源：Bird 提供）

L293/L293D 有兩組電源接腳。VCC1 是內部的邏輯電路電源，它決定了 A1 - A4 這四個用來控制 H-bridge 電路的邏輯輸入準位最大電壓，它必須介於 4.5 V 到 7 V 之間，通常我們會用 5 V - 6 V 來供應它，而 A1-A4 的控制電壓門檻在 2.3 V，當 A1-A4 的輸入電壓大於 2.3 V，就會讓對應的驅動電路導通。

VCC2 則是透過驅動電路供應負載的電源，最大可以到 36 V，因此 L293D 可以用來設計驅動電壓高達 36 V 的步進馬達（一般的步進馬達通常用 5 V 或 12 V 驅動，在一些需要大扭力的設計中可能會用 24 V）。

L293D 每一路可以承受 600 mA 的驅動電流，而 L293 則是 1 A。由於這顆 IC 裡面沒有其它的限流電路，而步進馬達線圈上的電流跟驅動的電壓有關，因此使用者需要自行控制 VCC2 來控制流過驅動電路及馬達的電流，避免超過 L293/L293D 可以承受的上限。

由於 L293D 的價格便宜、線路簡單，很適合使用 Arduino 之類的控制器來控制、驅動步進馬達。坊間可以很容易買到這樣的 L293D 模組：

 ![](https://makerpro.cc/wp-content/uploads/2023/12/4-3.png)

（圖片來源：Bird 提供）

它上面除了 L293D 之外其實沒幾個零件，就是加了濾波電容和一個用來產生 VCC1 的穩壓 IC 而已，但由於接線的端子都幫你做好了，其實用這樣的模組來做實驗還是蠻方便的。

### **小結**

這一回我們介紹了驅動電感性負載時，電路中的可怕殺手：電感的反電動勢，也說明了如何利用與驅動電路電流方向相反的保護二極體來吸收這個反電動勢，藉以保護驅動電路。

下一回我們要介紹另一顆步進馬達驅動用的 IC：A4988。這是一顆功能更強大、更複雜，可以做更多事的步進馬達驅動 IC。它有個特異功能叫做 microstep，可以讓一圈 100 步的步進馬達變成 200 步、400 步、甚至 800 步。我們下一回再來介紹這顆 IC。

（責任編輯：賴佩萱）
