|
步進馬達驅動模組
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個針腳的接頭,每個針腳的功能如下表
序號 | 引腳 | 功能 | 1 | EN | 使能引腳(一般接低電位) | 2 | RST | 復位引腳(一般接高電位) | 3 | SLP | 睡眠控制引腳(一般接高電位) | 4 | STP | 步進控制接口 | 5 | DIR | 方向控制接口 | 6 | GND | 接地 | 7 | VM |
馬達電源(接8—12V) |
表1 7-Pin 接口功能 5 、接線方式
l RJ25連接 由於步進馬達驅動模組接口是紅色色標,屬於馬達驅動。當使用RJ25接口時,需要連接到主控板上帶有紅色色標的接口。以Makeblock Orion為例,可以連接到1,2號接口,如圖
圖1 步進馬達驅動模組與Makeblock Orion連接 注:驅動板長時間工作,芯片會發熱,使用的時候請注意。有需要的話可以在上面加個散熱片,幫助芯片散熱 l 杜邦線連接 當使用杜邦線連接到Arduino Uno主板時,EN接低電位,RST和SLP接高電位,STP和DIR引腳需要連接到ANALOG(模擬)口(也可以只連接STP、DIR管腳),如下圖所示:
圖2 步進馬達驅動模組與Arduino UNO 連接圖 注:接杜邦線時,模組上需要焊接排針。
6 、編程指南
l Arduino編程
- #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() | 啟動馬達
|
l mBlock編程 步進馬達驅動模組支持mBlock編程環境,如下是該模組指令簡介
程序說明 | | | 參數1:選定接口 參數2:設置轉速 參數3:設置步進距離 |
以下是如何使用mBlock控制步進馬達驅動模組的例子: mBlock可以使步進馬達在不同時間段速度由小到大轉動,循環往復。
7 、原理解析
步進馬達是一種將脈衝信號變換成相應的角位移(或線位移)的電磁裝置,是一種特殊的馬達。一般馬達都是連續轉動的,而步進馬達則有定位和運轉兩種基本狀態,當有脈衝輸入時,步進馬達一步一步地轉動,每給它一個脈衝信號,它就轉過一定的角度。 本模組主要元件為A4988微步驅動器,可在全、半、1/4、 1/8 及1/16 步進模式時操作雙極步進馬達,在具體的使用中我們只要控制STEP 和DIR 就可以了。例如:當為全步進模式時,轉一圈要200步(即每一步1.8°)。如果要求更高的精度,我們可以通過選擇其他的模式,比如我們如果選擇1/4 步進模式,那麼馬達轉一圈就要800 個微步才能完成。
模組步進模式選擇表:
模組上有電位器,可以通過其來調節馬達的扭矩,但使用時不宜將其調節過大,否則容易因為發熱而將芯片燒毀。
|
|