Sensor – ME Stepper Motor Driver

概述:

步進電機驅動模組是用來精確驅動雙極步進電機的。當有脈衝輸入,步進電動機一步一步地轉動,每給它一個脈衝信號,它就轉過一定的角度。它可以用在3D列印、數控、Makeblock音樂機器人以及精確動作控制等方面。本模組貼有紅色色標,我們需要使用RJ25連接線連接到主控板上帶有紅色標識的介面。

 

功能特性:

  • 相容4線雙極步進電機
  • 只需要兩個埠就可以控制步進和方向
  • 可調電位器可以調節最大電流輸出,改變步進電機扭矩
  • 具有板上撥碼開關支援 全, 半, 1/4, 1/8, 1/16步進模式
  • 具有接地短路保護和載入短路保護
  • 具有反接保護,電源反接不會損壞IC
  • 模組的白色區域是與金屬梁接觸的參考區域
  • 支援Arduino IDE程式設計, 並且提供運行庫來簡化程式設計
  • 支援mBlock圖形化程式設計,適合全年齡用戶
  • 使用RJ25介面連線方便
  • 模組化安裝,相容樂高系列
  • 配有接頭支援絕大多數Arduino系列主控板

 

技術規格:

  • 最大驅動電壓:12V DC
  • 最大電流:1.35A

 

引腳定義

步進電機驅動模組有7個針腳的接頭,每個針腳的功能如下表

序號

引腳

功能

1EN使能引腳(一般接低電平)
2RST復位引腳(一般接高電平)
3SLP睡眠控制引腳(一般接高電平)
4STP步進控制介面
5DIR方向控制介面
6GND接地
7V-M電機電源(接8—12V)

表 1  7-Pin 介面功能

接線方式

  • RJ25連接

由於步進電機驅動模組介面是紅色色標,屬於電機驅動。當使用RJ25介面時,需要連接到主控板上帶有紅色色標的介面。以Makeblock Orion為例,可以連接到1,2號介面,如圖

1

圖 1 步進電機驅動模組與 Makeblock Orion連接

  • 杜邦線連接

當使用杜邦線連接到Arduino Uno主機板時,EN接低電平,RST和SLP接高電平,STP和DIR引腳需要連接到 ANALOG(類比)口(也可以只連接STP、DIR管腳),如下圖所示:

1

圖 2 步進電機驅動模組與 Arduino UNO 連接圖

注:接杜邦線時,模組上需要焊接排針。

程式設計指南

  • Arduino程式設計

如果使用Arduino程式設計,需要調用庫Makeblock-Library-master 來控制步進電機驅動模組本程式通過Arduino程式設計讓電機按需求轉動。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 #include “MeOrion.h”
#include <SoftwareSerial.h>
#include <Wire.h>

#include <AccelStepper.h>
int dirPin = mePort[PORT_1].s1;
int stpPin = mePort[PORT_1].s2;
AccelStepper stepper(AccelStepper::DRIVER, stpPin, dirPin);
void setup()
{
Serial.begin(9600);
stepper.setMaxSpeed(1000);
stepper.setAcceleration(20000);
}
void loop()
{
if(Serial.available())
{
char a = Serial.read();
switch(a)
{
case ‘0’:
stepper.moveTo(0);
break;
case ‘1’:
stepper.moveTo(200);
break;
case ‘2’:
stepper.move(50);
break;
case ‘3’:
stepper.move(100);
break;
case ‘4’:
stepper.move(200);
break;
case ‘5’:
stepper.move(400);
break;
case ‘6’:
stepper.move(600);
break;
case ‘7’:
stepper.move(4000);
break;
case ‘8’:
stepper.move(8000);
break;
case ‘9’:
stepper.move(3200);
break;
}
}
stepper.run();
}

 

步進電機驅動模組 函數功能清單

函數

功能

void setMaxSpeed(float)設置步進電機最大速度
void setAcceleration(float)設置步進電機最大加速度
void moveTo(long)電機轉動至
void move(long)電機轉動
bool run()啟動電機

 

串口顯示結果

原理解析

步進電動機是一種將脈衝信號變換成相應的角位移(或線位移)的電磁裝置,是一種特殊的電動機。一般電動機都是連續轉動的,而步進電動機則有定位和運轉兩種基本狀態,當有脈衝輸入時,步進電動機一步一步地轉動,每給它一個脈衝信號,它就轉過一定的角度

本模組主要元件為A4988微步驅動器,可在全、半、1/4、 1/8 及 1/16 步進模式時操作雙極步進電動機,在具體的使用中我們只要控制 STEP 和 DIR 就可以了。例如:當為全步進模式時,轉一圈要 200步(即每一步1.8°)。如果要求更高的精度,我們可以通過選擇其他的模式,比如我們如果選擇 1/4 步進模式,那麼電機轉一圈就要800 個微步才能完成。

模組步進模式選擇表:

MS1MS2MS3步進模式
LLL 全步
HLL 半步
LHL 1/4步
HHL 1/8步
HHH 1/16步

 

模組上有電位器,可以通過其來調節電機的扭矩,但使用時不宜將其調節過大,否則容易因為發熱而將晶片燒毀。