简介
步进电动机是一种将脉冲信号变换成相应的角位移(或线位移)的电磁装置,是一种特殊的电动机。一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入肘步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。
现在步进电机应用的领域越来越多。你也想要用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、菜单“连接设备”,“上传到设备”
**注意:**控制单个电机使用前面两个积木,控制两个电机使用后面两个积木,不可混合使用。
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

购买