步进电机驱动扩展板

简介

步进电动机是一种将脉冲信号变换成相应的角位移(或线位移)的电磁装置,是一种特殊的电动机。一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入肘步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。

现在步进电机应用的领域越来越多。你也想要用Arduino控制你的步进电机吗,那将会有许多有趣的应用,如绘画仪,3D打印机,自动窗帘..?然而,市面上很难找到能够驱动步进电机的Arduino扩展板。让很多Arduino爱好者无法使用这一功能强大,转动精确的电机。但是现在不同了!DFRobot隆重推出步进电机扩展板,让你的Arduino主控轻松驱动步进电机。该步进电机驱动扩展板子上拥有两块DRV8825步进电机驱动模块,可以接两路步进电机。

技术规格

  • 适用于两相四线步进电机
  • 板上带两块DRV8825驱动芯片,并已安装散热片;
  • 驱动芯片输入电压8.2-45V,输出电流1.6A;
  • 通过六个数字I/O驱动2个步进电机;
  • 驱动芯片使能引脚引出至两个数字口,可分别使能电机;
  • 扩展板兼容Arduino UNO R3、Leonardo、Mega等控制器,具备完整端口扩展功能。预留XBee,XBee Wi-Fi,蓝牙和射频模块接口,保证您无线通信的需要。
  • 具备6个模拟口,8个数字口和1个I2C接口。在连接方式上,按压式无螺丝接线柱能够轻松与电机连接。具体接线,请参考我们的产品资料库。
  • 每个步进电机都有一个拨码开关设置步进分辨率。6种不同的步进模式:全,1/2,1/4,1/8,1/16,1/32步模式,具体调试说明请参考产品资料库。
  • 板子Xbee接口角落上有一个wireless开关。PROG时停止无线模块工作,可用USB编程。RUN时能够用无线模块通信。

使用连接图及引脚说明

电机连接引脚说明:

Tips:不同步进电机的线序可能也各有不同,如何快速区分步进电机的两组引脚?

万用表直接测量阻值,相同的线圈是相互导通的

任意两根接线相连,当你发现输出轴被完全锁死时,相互接触的两根线为同一线圈的两端(其他接法均会出现转动的状态)。

细节说明:
*无线编程开关:

    • **RUN:**完成下载,运行无线模块
    • **PROG:**下载代码时不用拔掉Xbee或蓝牙
  • 3.3V EN 5V跳线帽:

    • 当Arduino板io口电压为3.3V时,请将跳线帽连接3.3V与EN
    • 当Arduino板io口电压为5V时,请将跳线帽连接5V与EN
  • 两路电机分别引出使能端口,X方向电机使能引脚为D8,Y方向电机使能引脚为D12,低电平使能,真值表如下:

D8 D12 M1 M2
Low Low ENABLE ENABLE
High Low DISENABLE ENABLE
Low High ENABLE DISENABLE
High High DISENABLE DISENABLE

*3位编码开关:用来设置步进电机微步分辨率,板子背面有相应设置说明,如下表;

MS1 MS2 MS3 Microstep Resolution
Low Low Low Full step
High Low Low Half step
Low High Low 1/4 step
High High Low 1/8 step
Low Low High 1/16 step
High Low High 1/32 step
Low High High 1/32 step
High High High 1/32 step

样例代码


    /*
    This sample code is for testing the 2 stepper motors
    The rotation velocity can be adjusted by the code switch
    Microcontroller: Arduino UNO
    */
    int M1dirpin = 4;   //电机Y方向引脚
    int M1steppin = 5;  //电机Y驱动引脚
    int M1en=12;        //电机Y使能引脚
    int M2dirpin = 7;   //电机X方向引脚
    int M2steppin = 6;  //电机X驱动引脚
    int M2en= 8;        //电机X使能引脚

    void setup()
    {
      pinMode(M1dirpin,OUTPUT);
      pinMode(M1steppin,OUTPUT);
      pinMode(M1en,OUTPUT);
      pinMode(M2dirpin,OUTPUT);
      pinMode(M2steppin,OUTPUT);
      pinMode(M2en,OUTPUT);

      digitalWrite(M1en,LOW); //低电平使能
      digitalWrite(M2en,LOW); //低电平使能

    }
    void loop()
    {
        int j;
      delayMicroseconds(2);
      digitalWrite(M1dirpin,LOW);
      digitalWrite(M2dirpin,LOW);
      for(j=0;j<=5000;j++){
        digitalWrite(M1steppin,LOW);
        digitalWrite(M2steppin,LOW);
        delayMicroseconds(2);
        digitalWrite(M1steppin,HIGH);  //上升沿步进
        digitalWrite(M2steppin,HIGH);  //上升沿步进
        delay(1);
      }
    }

Mind+(基于Scratch3.0)图形化编程

1、下载及安装软件。下载地址:http://mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装
2、切换到“上传模式”。 详细教程:Mind+基础wiki教程-上传模式编程流程
3、“扩展”中选择“主控板”中的“Arduino Uno”。“扩展”中选择“执行器”中的步进电机。 详细教程:Mind+基础wiki教程-加载扩展库流程
4、进行编程,程序如下图:
5、菜单“连接设备”,“上传到设备”
**注意:**控制单个电机使用前面两个积木,控制两个电机使用后面两个积木,不可混合使用。

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

更多

<File:DFshopping_car1.png>购买 双路步进电机驱动扩展板(DRV8825)(SKU:DRI0023)