MegaPi Pro 步进电机驱动模块

优质
小牛编辑
160浏览
2023-12-01

概述

MegaPi Pro 步进电机驱动模块用于驱动步进电机适用于 MegaPi 和MegaPi Pro 主控板。采用 DRV8825 芯片,最大驱动电流为 2.5A。DRV8825是一款完整的微步进电机驱动器,内置转换器,操作方便。它可用于驱动以 1/2,1/4,1/8 / 1/16 或 1/32 步进模式操作的双极步进电机。它还配备有一个板载电位器,可轻松地调整电机的电流大小。配合丝杆机构可以做运动精确控制,可以用于工业级的直线运动控制,如3D打印机,激光切割机等XYZ结构的机器。

技术规格

  • 电机驱动:DRV8825
  • 输出电流:1.75A(24V和25℃散热适当条件下)
  • 最大电流:2.5A(注意散热)
  • 驱动电压:8.2V-45V 注: MegaPi 最大电源电压为 12V。 • 逻辑电压:5V • 尺寸:1.5cm x 2.0cm

功能特性

  • 兼容四线双极步进电机
  • 板载电位器,用于控制步进电机的电流
  • 板载散热器,用于散热
  • 可驱动一步步进电机(绿色接口)
  • 公母针脚采用颜色进行区分,确保连接正确
  • 小尺寸,便于连接
  • 有 Arduino 库,方便编程
  • 支持图形化编程软件 mBlock3 及 慧编程
  • 支持树莓派 Python 编程

编程指南

Arduino编程(以 MegaPi Pro 为例)

函数功能
MeStepperOnBoard (uint8_ port)选择接口
(stepper_1(1) ~ stepper_4(4))
move(position)移动到指定位置(非负整数)
setSpeed(speed)设置速度(最大速度由电机型号决定)

编程示例

以下程序运行后步进电机 1 以 3000/RPM 的速度旋转到指定位置,停止 1 秒,重复此过程。

#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>

#include <MeMegaPiPro.h>
MeStepperOnBoard stepper_1(1);

void setup(){
    TCCR1A = _BV(WGM10);//PIN12
    TCCR1B = _BV(CS11) | _BV(CS10) | _BV(WGM12);
    stepper_1.setMicroStep(16);
    stepper_1.enableOutputs();
}

void loop(){
    stepper_1.move(1000);
    stepper_1.setMaxSpeed(3000);
    stepper_1.setSpeed(3000);
    delay(1);
    stepper_1.move(0);
    stepper_1.setMaxSpeed(0);
    stepper_1.setSpeed(0);
    delay(1);
    loop();
}

下载示例程序

mBlock编程

积木块说明(以MegaPi Pro为例)

.tg {border-collapse:collapse;border-spacing:0;} .tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;} .tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;} .tg .tg-ycr8{background-color:#ffffff;text-align:left;vertical-align:center} .tg .tg-7g6k{font-weight:bold;background-color:#ffffff;border-color:inherit;text-align:center;vertical-align:center} .tg .tg-3xi5{background-color:#ffffff;border-color:inherit;text-align:center;vertical-align:center} .tg .tg-c6of{background-color:#ffffff;border-color:inherit;text-align:left;vertical-align:center} .tg .tg-i81m{background-color:#ffffff;text-align:center;vertical-align:center}

积木块说明
设置接口(接口1~接口4);设置速度(–3000~+3000);设置距离(非负整数)

以下程序运行后 MegaPi Pro 接口 1 的步进电机以 3000 的速度运动 1000 距离,停止运动 1 秒,以 –3000 的速度运动 1000 距离,停止运动 1 秒,重复此过程。


下载示例程序

慧编程编程

积木块说明

.tg {border-collapse:collapse;border-spacing:0;} .tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;} .tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;} .tg .tg-ycr8{background-color:#ffffff;text-align:left;vertical-align:center} .tg .tg-7g6k{font-weight:bold;background-color:#ffffff;border-color:inherit;text-align:center;vertical-align:center} .tg .tg-3xi5{background-color:#ffffff;border-color:inherit;text-align:center;vertical-align:center} .tg .tg-c6of{background-color:#ffffff;border-color:inherit;text-align:left;vertical-align:center} .tg .tg-i81m{background-color:#ffffff;text-align:center;vertical-align:center}

积木块说明
设置接口(接口1~接口4);设置距离(非负整数);设置速度(–3000~+3000)

以下程序运行后 MegaPi Pro 接口 1 的步进电机以 1000 的速度运动 1000 距离,停止运动1 秒,以 –1000 的速度运动 1000 距离,停止运动 1 秒,重复此过程。


下载示例程序

Python3 编程

1、主控板 MegaPi Pro 和树莓派连接。
2、树莓派安装最新的 makeblock 库 pip3 install makeblock --upgrade
3、新建 Python 文件,后缀为 .py。
4、在 Python 文件里写入程序。
5、运行 Python文件,如 “python123.py ”。

函数功能说明

.tg {border-collapse:collapse;border-spacing:0;} .tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;} .tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;} .tg .tg-ycr8{background-color:#ffffff;text-align:left;vertical-align:center} .tg .tg-7g6k{font-weight:bold;background-color:#ffffff;border-color:inherit;text-align:center;vertical-align:center} .tg .tg-3xi5{background-color:#ffffff;border-color:inherit;text-align:center;vertical-align:center} .tg .tg-c6of{background-color:#ffffff;border-color:inherit;text-align:left;vertical-align:center} .tg .tg-i81m{background-color:#ffffff;text-align:center;vertical-align:center}

函数功能
StepperMotor(port)创建步进电机对象。
port:MegaPiPro.PORT1~MegaPiPro.PORT4
run(speed)以指定速度旋转。
speed:转速
move_to(position,speed,callback)以指定速度旋转到指定位置。
position:目标位置;speed:转速;callback:达到目标位置时触发回调
set_home()设置当前位置为原点

示例程序 1

以下程序运行后 MegaPi Pro 接口1的步进电机以 50 的速度旋转 2 秒,停止 1 秒,以 –50 的速度旋转 2 秒,停止 1 秒,按照此过程循环。

from time import sleep
from makeblock import MegaPiPro 
board = MegaPiPro.create()
stepper = board.StepperMotor(MegaPiPro.PORT1)
while True:
    stepper.run(50)
    sleep(2)
    stepper.run(0)
    sleep(1)
    stepper.run(-50)
    sleep(2)
    stepper.run(0)
    sleep(1)

下载示例程序

示例程序 2

以下程序运行后 MegaPi Pro 接口 1 的步进电机旋转到指定位置。

from time import sleep
from makeblock import MegaPiPro 
board = MegaPiPro.create()
stepper = board.StepperMotor(MegaPiPro.PORT1)
position = 0
def on_finished(value):
    position = 5000 - position
    stepper.move_to(position,100,on_finished)

on_finished(position)

下载示例程序