Arduino 步進(jìn)電機(jī)

2018-11-22 14:48 更新

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

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

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

現(xiàn)在想象一個打印機(jī)。打印機(jī)內(nèi)有很多移動部件,包括電機(jī)。一個電機(jī)用作進(jìn)紙,當(dāng)墨水開始印在紙上時旋轉(zhuǎn)滾軸移動紙張。此電機(jī)需要能夠?qū)⒓垙堃苿右粋€精確的距離,以便能夠打印下一行文本或圖像的下一行。

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

進(jìn)步機(jī)電

步進(jìn)電機(jī)如何工作?

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

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

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

增量旋轉(zhuǎn)

必需的組件

你將需要以下組件:

  • 1 × Arduino UNO板
  • 1 ×小型雙極步進(jìn)電機(jī),如下圖所示
  • 1 ×LM298驅(qū)動IC
小型雙極步進(jìn)電機(jī)

程序

按照電路圖進(jìn)行連接,如下圖所示。

電路圖

草圖

在計算機(jī)上打開Arduino IDE軟件。使用Arduino語言進(jìn)行編碼控制你的電路。通過單擊“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);
}

代碼說明

該程序驅(qū)動單極或雙極步進(jìn)電機(jī)。電機(jī)連接到Arduino的數(shù)字引腳8-11。

結(jié)果

電機(jī)將在一個方向上旋轉(zhuǎn)一圈,然后在另一個方向上旋轉(zhuǎn)一圈。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號