简介
我们新推出一款双通道直流电机驱动模块,仅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 | 悬空 |
注:
- INAx、INBx、PWMx、Mx_A、Mx_B 中 x 为通道号,可为 1 或 2。
- H 为高电平, L 为低电平,X 为电平无关,Z 为高阻态。
- 在进行大能量正反转切换时应先 PWM 逐步调速至 0%,再进行切换,否则可能造成驱动器损坏。
- 注:输入信号悬空时为高电平
使用教程
此教程介绍的是通过Arduino UNO控制器控制电机驱动板,如何同时驱动两个电机转动。
准备
- 硬件
- UNO x1
- 双通道直流电机驱动板-12A x1
- 杜邦线 若干
- 软件
- Arduino IDE 版本1.6.8 点击下载Arduino IDE
接线图
连线对应表 | ||||||
---|---|---|---|---|---|---|
驱动板端口序号 | 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或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖!