benny 發表於 2016-7-6 10:59

Makeblcok電子模組手冊----步進馬達驅動模組

步進馬達驅動模組http://bbs.makeblock.com/data/attachment/forum/201511/14/130036qxormnn39j9mt7mj.png

1 、概述
步進馬達驅動模組是用來精確驅動雙極步進馬達的。當有脈衝輸入,步進電動機一步一步地轉動,每給它一個脈衝信號,它就轉過一定的角度。它可以用在3D打印、數控、Makeblock音樂機器人以及精確動作控制等方面。本模組貼有紅色色標,我們需要使用RJ25連接線連接到主控板上帶有紅色標識的接口。
2 、技術規格`
l 最大驅動電壓:12VDC
l 最大電流:1.35A
3 、功能特性
l 兼容4線雙極步進馬達;
l 只需要兩個端口就可以控制步進和方向;
l 可調電位器可以調節最大電流輸出,改變步進馬達扭矩;
l 具有板上撥碼開關支持全, 半, 1/4, 1/8, 1/16步進模式;
l 具有接地短路保護和加載短路保護;
l 具有反接保護,電源反接不會損壞IC;
l 模組的白色區域是與金屬梁接觸的參考區域;
l 支持Arduino IDE編程, 並且提供運行庫來簡化編程;
l 支持mBlock圖形化編程,適合全年齡用戶;
l 使用RJ25接口連線方便;
l 模組化安裝,兼容樂高系列;
l 配有接頭支持絕大多數Arduino系列主控板。
4 、引腳定義
步進馬達驅動模組有7個針腳的接頭,每個針腳的功能如下表

序號引腳功能
1EN使能引腳(一般接低電位)
2RST復位引腳(一般接高電位)
3SLP睡眠控制引腳(一般接高電位)
4STP步進控制接口
5DIR方向控制接口
6GND接地
7VM
馬達電源(接8—12V)
表1 7-Pin 接口功能5 、接線方式
l RJ25連接由於步進馬達驅動模組接口是紅色色標,屬於馬達驅動。當使用RJ25接口時,需要連接到主控板上帶有紅色色標的接口。以Makeblock Orion為例,可以連接到1,2號接口,如圖http://bbs.makeblock.com/data/attachment/forum/201511/14/130052b9ks9wnw9wl9lbkc.png
圖1 步進馬達驅動模組與Makeblock Orion連接注:驅動板長時間工作,芯片會發熱,使用的時候請注意。有需要的話可以在上面加個散熱片,幫助芯片散熱l 杜邦線連接當使用杜邦線連接到Arduino Uno主板時,EN接低電位,RST和SLP接高電位,STP和DIR引腳需要連接到ANALOG(模擬)口(也可以只連接STP、DIR管腳),如下圖所示:http://bbs.makeblock.com/data/attachment/forum/201511/14/130054zbkox0ya0pwpod7g.png
圖2 步進馬達驅動模組與Arduino UNO 連接圖注:接杜邦線時,模組上需要焊接排針。
6 、編程指南
l Arduino編程如果使用Arduino編程,需要調用庫Makeblock-Library-master來控制步進馬達驅動模組本程序通過Arduino編程讓馬達按需求轉動。
#include "MeOrion.h"
#include <SoftwareSerial.h>
#include <Wire.h>
#include <AccelStepper.h>
int dirPin = mePort.s1;
int stpPin = mePort.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()啟動馬達


l mBlock編程步進馬達驅動模組支持mBlock編程環境,如下是該模組指令簡介

程序說明描述
http://bbs.makeblock.com/data/attachment/forum/201511/14/130058bqy0dwiw61w6md70.png參數1:選定接口參數2:設置轉速參數3:設置步進距離

以下是如何使用mBlock控制步進馬達驅動模組的例子:mBlock可以使步進馬達在不同時間段速度由小到大轉動,循環往復。http://bbs.makeblock.com/data/attachment/forum/201511/14/130057ceeoqc0e6vvwckw0.png
7 、原理解析
步進馬達是一種將脈衝信號變換成相應的角位移(或線位移)的電磁裝置,是一種特殊的馬達。一般馬達都是連續轉動的,而步進馬達則有定位和運轉兩種基本狀態,當有脈衝輸入時,步進馬達一步一步地轉動,每給它一個脈衝信號,它就轉過一定的角度。本模組主要元件為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步

模組上有電位器,可以通過其來調節馬達的扭矩,但使用時不宜將其調節過大,否則容易因為發熱而將芯片燒毀。
頁: [1]
查看完整版本: Makeblcok電子模組手冊----步進馬達驅動模組