_SKU__DFR0601_双通道直流电机驱动板 12A - jimaobian/DFRobotWikiCn GitHub Wiki

电机驱动板产品图

简介

我们新推出一款双通道直流电机驱动模块,仅5cm×5cm×1.25cm,和四枚一元硬币大小相当。该模块有两个电机通道,可同时驱动两个电机转动,且每通道都配有指示灯提示电机转向,蓝色表示正转,红色表示反转。支持电压范围为6.5-37V,每通道可持续输出12A电流,可驱动最高290W电功率的直流电机。瞬间的峰值电流可达到70A,能持续100ms左右。同时驱动器内器件时序高度优化,允许PWM输入最小脉宽低至2us,充分保证PWM的动态调节范围,提高对电机的控制品质。 这个模块不仅性能强大,而且保护也是极佳的,该模块内置过电压、欠电压、过热保护电路,只要发生电压过高,电压不足,板载温度过高的现象保护措施均会立即触发,保护状态由指示灯实时输出,常亮时表示正常运行;快闪时表示电源过电压;慢闪时表示电源欠电压;双闪时表示驱动过热;三种现象均会使输出关闭,有效降低了驱动器在异常工作条件下受损的可能。 控制输入端子为2.54mm间距2x5双排针,可以直接在面包板和原型板上使用,使用非常方便,满足各类DIY要求。 配合Arduino源码,可以轻松实现电机控制,可控制电机转速,正反转以及停止,可应用于自动化机器人、机电一体化、设备制造、科研生产、电子竞赛等多种场合。创客时代,我们能为您带来更多!

产品参数

  • 电机通道:2个
  • 输入电压:6.5-37VDC
  • 控制信号输入电压:兼容3-5V
  • 控制信号输入电流:15mA(5V控制信号电压输入下)
  • PWM输入频率:18-60KHz
  • PWM最小脉宽:2us
  • 峰值电流:70A(最多持续100ms),随着温度的升高,电流将受到限制
  • 连续电流:每通道可持续输出12A电流
  • 工作温度:-25℃~85℃
  • 过热温度:85℃~95℃
  • 尺寸:50mm*50mm*12.5mm
  • 过电压:37.5V
  • 欠电压:6.3V
  • 内置过电压、欠电压、过热保护电路,通过STATE指示灯闪烁表示

电机驱动板模块说明

引脚说明

| | | | ------------------------------------------------- | | | :引脚及指示灯示意图 | |

标号 名称 功能描述
1 VCC 电源输入,兼容3.3V、5V电源
2 PWM1 M1通道占空比调制输入,带宽50MHz
3 INA1 M1通道控制逻辑输入A
4 INB1 M1通道控制逻辑输入B
5 GND 电源地
6 VCC 电源输入,兼容3.3V、5V电源
7 PWM2 M2通道占空比调制输入,带宽50MHz
8 INA2 M2通道控制逻辑输入A
9 INB2 M2通道控制逻辑输入B
10 X 电源地
11 M1_A 电机通道1的输出引脚A
12 M1_B 电机通道1的输出引脚B
13 M2_A 电机通道2的输出引脚A
14 M2_B 电机通道2的输出引脚B
15 P- 外接电源负极输入
16 P+ 外接电源正极输入
17 LM1 电机通道1转向指示,蓝色正转,红色反转
18 LM2 电机通道2转向指示,蓝色正转,红色反转
19 STATE 常亮:正常运行;快闪;电源过电压,输出关闭;慢闪:电源欠电压,输出关闭;双闪:驱动过热,输出关闭;

接口对应表

原理框图

运行逻辑

运行逻辑
信号输入 功率输出
INAx INBx PWMx Mx_A Mx_B 电机状态
L L X L L 制动
L H PWM PWM L 正转
H L PWM L PWM 反转
H H X Z Z 悬空
驱动器发生过欠压保护、过热保护 Z Z 悬空

注:

  1. INAx、INBx、PWMx、Mx_A、Mx_B 中 x 为通道号,可为 1 或 2。
  2. H 为高电平, L 为低电平,X 为电平无关,Z 为高阻态。
  3. 在进行大能量正反转切换时应先 PWM 逐步调速至 0%,再进行切换,否则可能造成驱动器损坏。
  4. 注:输入信号悬空时为高电平

使用教程

此教程介绍的是通过Arduino UNO控制器控制电机驱动板,如何同时驱动两个电机转动。

准备

  • 硬件
    • UNO x1
    • 双通道直流电机驱动板-12A x1
    • 杜邦线 若干
  • 软件

接线图

Arduino Connection

连线对应表
驱动板端口序号 2 3 4 7 8 9
主板数字口序号 2 3 4 5 6 7

样例代码

|

/*
This sample code is for testing the 2 stepper motors
The rotation velocity can be adjusted by the code switch
Microcontroller: Arduino UNO
*/
int PWM1 = 2;
int INA1 = 3;
int INB1 = 4;
int PWM2 = 5;
int INA2 = 6;
int INB2 = 7;
void setup()
{
  pinMode(PWM1, OUTPUT);
  pinMode(INA1, OUTPUT);
  pinMode(INB1, OUTPUT);
  pinMode(PWM2, OUTPUT);
  pinMode(INA2, OUTPUT);
  pinMode(INB2, OUTPUT);
}
void loop()
{
  digitalWrite(INA1,LOW);
  digitalWrite(INA2,LOW);
  digitalWrite(INB1,HIGH);
  digitalWrite(INB2,HIGH);
  analogWrite(PWM1,255);   //PWM调速
  analogWrite(PWM2,255);   //PWM调速
  delay(1000);
  digitalWrite(INA1,LOW);
  digitalWrite(INB1,HIGH); //电机1正转
  digitalWrite(INA2,HIGH);
  digitalWrite(INB2,LOW);   //电机2反转
  analogWrite(PWM1,255);   //PWM调速
  analogWrite(PWM2,255);  //PWM调速
  delay(1000);
  digitalWrite(INA1,LOW);
  digitalWrite(INB1,LOW); //电机1停止
  digitalWrite(INA2,LOW);
  digitalWrite(INB2,LOW); //电机2停止
  analogWrite(PWM1,255);
  analogWrite(PWM2,255);
  delay(1000);
}

|}

结果

电机实现的效果分别为:同时正向转动;一个正向转动一个反向转动;停止转动。

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

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

更多

DFshopping_car1.png DFRobot商城购买链接