Arduino 步進電機

2018-11-22 14:48 更新

步進電機是無刷同步電機,它將完整的旋轉分成多個步驟。與無刷直流電機不同,當向其施加固定的直流電壓時,它將連續(xù)旋轉,步進電機以不連續(xù)的步進角旋轉。

因此,步進電機被制造成具有每轉12,24,72,144,180和200的步長,從而產(chǎn)生每步30°,15°,5°,2.5°,2°和1.8°的步進角。步進電機可以有或沒有反饋控制。

想象一下在RC飛機上的電機。電機在一個方向或另一個方向上轉速非??臁D?/span>可以通過給予電機的功率量來改變速度,但是你不能讓螺旋槳停在特定位置。

現(xiàn)在想象一個打印機。打印機內(nèi)有很多移動部件,包括電機。一個電機用作進紙,當墨水開始印在紙上時旋轉滾軸移動紙張。此電機需要能夠將紙張移動一個精確的距離,以便能夠打印下一行文本或圖像的下一行。

還有另一個電機連接到一個螺桿上來回移動打印頭。同樣,該螺桿需要移動一個精確的量,以便一個字母接一個地打印。這就是步進電機派上用場的地方。

進步機電

步進電機如何工作?

常規(guī)的直流電動機只在方向上旋轉,而步進電動機可以以精確的增量旋轉。

步進電機可以根據(jù)需要轉動精確的度數(shù)(或步長)。這使你可以完全控制電機,允許你將其移動到精確的位置并保持在該位置。它通過為電機內(nèi)部的線圈非常短時間的供電來實現(xiàn)。缺點是你必須給電機一直供電,以將它保持在你想要的位置。

你現(xiàn)在需要知道的是,要移動步進電機,你要告訴它在一個方向或另一個方向上移動一定數(shù)量的步進,并告訴它沿那個方向步進的速度。步進電機的種類繁多。這里描述的方法可以用于推斷如何使用本教程中未提到的其他電機和驅動程序。但是,始終建議你查閱針對具體型號的電機和驅動器的數(shù)據(jù)表和指南。

增量旋轉

必需的組件

你將需要以下組件:

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

程序

按照電路圖進行連接,如下圖所示。

電路圖

草圖

在計算機上打開Arduino IDE軟件。使用Arduino語言進行編碼控制你的電路。通過單擊“New”打開一個新的草圖文件。

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的數(shù)字引腳8-11。

結果

電機將在一個方向上旋轉一圈,然后在另一個方向上旋轉一圈。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號