Arduino - 步進電機



步進電機或步進電動機是一種無刷同步電機,它將一個完整的旋轉分成若干個步驟。與施加固定直流電壓時連續旋轉的無刷直流電機不同,步進電機以離散的步進角旋轉。

因此,步進電機制造的每轉步數為 12、24、72、144、180 和 200,導致每步步進角為 30、15、5、2.5、2 和 1.8 度。步進電機可以有反饋或無反饋地控制。

想象一下 RC 飛機上的電機。電機以非常快的速度向一個方向或另一個方向旋轉。您可以透過向電機提供的功率量來改變速度,但您無法告訴螺旋槳在特定位置停止。

現在想象一下印表機。印表機內部有很多運動部件,包括電機。其中一個電機充當送紙器,旋轉滾筒以在列印墨水時移動紙張。此電機需要能夠移動精確距離的紙張,以便能夠列印下一行文字或影像的下一行。

另一個電機連線到螺紋杆上,該螺紋杆使列印頭來回移動。同樣,需要將該螺紋杆移動精確的量以依次列印一個字母。這就是步進電機派上用場的地方。

Stepper Motor

步進電機的工作原理?

普通的直流電機只能在一個方向上旋轉,而步進電機可以以精確的增量旋轉。

步進電機可以根據需要旋轉精確的度數(或步數)。這使您可以完全控制電機,允許您將其移動到精確的位置並保持該位置。它透過在電機內部線圈上通電非常短的時間來實現這一點。缺點是您必須始終為電機供電才能使其保持在您想要的位置。

您現在只需要知道,要移動步進電機,您需要告訴它在一個方向或另一個方向上移動一定數量的步數,並告訴它在該方向上步進的速度。步進電機種類繁多。此處描述的方法可用於推斷如何使用本教程中未提及的其他電機和驅動器。但是,始終建議您查閱與您擁有的型號相關的電機和驅動器的規格書和指南。

Inner Stepper Motor

所需元件

您將需要以下元件 -

  • 1 × Arduino UNO 開發板
  • 1 × 小型雙極步進電機,如下面的圖片所示
  • 1 × LM298 驅動 IC
LM298 driving IC

步驟

按照電路圖,並按照下圖所示進行連線。

Stepper Motor Connections

草圖

在您的計算機上開啟 Arduino IDE 軟體。使用 Arduino 語言進行編碼將控制您的電路。透過點選新建來開啟一個新的草圖檔案。

Sketch

Arduino 程式碼

/* Stepper Motor Control */

#include <Stepper.h>
const int stepsPerRevolution = 90;
// change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
   // set the speed at 60 rpm:
   myStepper.setSpeed(5);
   // initialize the serial port:
   Serial.begin(9600);
}

void loop() {
   // step one revolution in one direction:
   Serial.println("clockwise");
   myStepper.step(stepsPerRevolution);
   delay(500);
   // step one revolution in the other direction:
   Serial.println("counterclockwise");
   myStepper.step(-stepsPerRevolution);
   delay(500);
}

程式碼註釋

此程式驅動單極或雙極步進電機。電機連線到 Arduino 的數字引腳 8-11。

結果

電機將沿一個方向旋轉一圈,然後沿另一個方向旋轉一圈。

廣告