简介
想玩电机?没有驱动器怎么行。DFRobot 最新推出四路直流电机驱动扩展板,兼容5V/3.3V Arduino主控器,仅需要8个管脚,既可以同时控制四个直流电机,支持PWM调速和正反转控制。驱动板集成了两块TB6612FNG电机驱动芯片,相对于传统的L298N,效率上提高很多,体积上也大幅度减少,在额定范围内,芯片基本不发热,单路最高可输出1.2A持续电流,并且内置低压检测电路与热停机保护电路,安全可靠。适用于各类DIY制作。
产品参数
- PWR电机供电:2.5V-13.5V
- VCC逻辑供电:2.7~5.5V
- 输出电流:1.2A 单通道连续驱动电流
- 启动/峰值电流:2A(连续脉冲)/ 3.2A(单脉冲)
- Arduino控制端口:数字口3,4,5,6,7,8,11,12
- 工作温度:-20~85℃
- 尺寸: 52mm * 53mm
引脚说明
使用教程
电机控制方式:
电机 | 方向控制脚 | 正转 | 反转 | 速度控制脚 | 速度范围 |
---|---|---|---|---|---|
M1 | 4 | LOW | HIGH | 3 | 0-255 |
M2 | 12 | HIGH | LOW | 11 | 0-255 |
M3 | 8 | LOW | HIGH | 5 | 0-255 |
M4 | 7 | HIGH | LOW | 6 | 0-255 |
控制电机对应的IO口
准备
- 硬件
- DFRduino UNO R3 x1
- Quad Motor Shield for Arduino x1
- 直流电机 x 4
- 杜邦线 若干
- 软件
- Arduino IDE 点击下载Arduino IDE
连线图
样例代码
/*!
* @file QuadMotorDriverShield.ino
* @brief QuadMotorDriverShield.ino Motor control program
*
* Every 2 seconds to control motor positive inversion
*
* @author linfeng(490289303@qq.com)
* @version V1.0
* @date 2016-4-5
*/
const int E1 = 3; ///<Motor1 Speed
const int E2 = 11;///<Motor2 Speed
const int E3 = 5; ///<Motor3 Speed
const int E4 = 6; ///<Motor4 Speed
const int M1 = 4; ///<Motor1 Direction
const int M2 = 12;///<Motor2 Direction
const int M3 = 8; ///<Motor3 Direction
const int M4 = 7; ///<Motor4 Direction
void M1_advance(char Speed) ///<Motor1 Advance
{
digitalWrite(M1,LOW);
analogWrite(E1,Speed);
}
void M2_advance(char Speed) ///<Motor2 Advance
{
digitalWrite(M2,HIGH);
analogWrite(E2,Speed);
}
void M3_advance(char Speed) ///<Motor3 Advance
{
digitalWrite(M3,LOW);
analogWrite(E3,Speed);
}
void M4_advance(char Speed) ///<Motor4 Advance
{
digitalWrite(M4,HIGH);
analogWrite(E4,Speed);
}
void M1_back(char Speed) ///<Motor1 Back off
{
digitalWrite(M1,HIGH);
analogWrite(E1,Speed);
}
void M2_back(char Speed) ///<Motor2 Back off
{
digitalWrite(M2,LOW);
analogWrite(E2,Speed);
}
void M3_back(char Speed) ///<Motor3 Back off
{
digitalWrite(M3,HIGH);
analogWrite(E3,Speed);
}
void M4_back(char Speed) ///<Motor4 Back off
{
digitalWrite(M4,LOW);
analogWrite(E4,Speed);
}
void setup() {
for(int i=3;i<9;i++)
pinMode(i,OUTPUT);
for(int i=11;i<13;i++)
pinMode(i,OUTPUT);
}
void loop() {
M1_advance(100);
M2_advance(100);
M3_advance(100);
M4_advance(100);
delay(2000); ///<Delay 2S
M1_back(100);
M2_back(100);
M3_back(100);
M4_back(100);
delay(2000); ///<Delay 2S
}
结果
电机每隔2S实现正反转。
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖!