(SKU: DFR0601)双通道直流电机驱动板-12A

来自DFRobot Product 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 常亮:正常运行;快闪;电源过电压,输出关闭;慢闪:电源欠电压,输出关闭;双闪:驱动过热,输出关闭;

原理框图

DFR0601原理框图.png

运行逻辑

运行逻辑
信号输入 功率输出
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商城购买链接]

个人工具
名字空间

变换
操作
导航
工具箱