Arduino+TB6612驱动电机,智能小车控制
TB6612驱动器是一款常用的双路直流电机驱动器,相较于常用的L298N,它更加稳定,且支持PWM控制
TB6612的优势:
1.强大的驱动能力:TB6612驱动器能够提供足够的功率和电流输出,适用于各种类型的直流电机,包括直流有刷电机和直流无刷电机。它可以驱动高转速和高扭矩的电机,使其能够应对各种应用需求。
2.可靠的性能:TB6612驱动器采用了高质量的元件和设计,具有稳定和可靠的性能。它具有过热保护、过流保护和低电压保护等安全功能,可以有效保护电机和驱动器免受损坏。
3.高效的PWM控制:TB6612驱动器支持PWM(脉冲宽度调制)控制,可以通过调整PWM信号的占空比来控制电机的速度和方向。这种精确的速度控制使得TB6612驱动器非常适合需要精确控制的应用,如机器人、无人机和自动化设备。
TB6612模块引脚介绍:
引脚接线
接下来我们来实现arduino+tb6612模块控制双电机。
材料准备:
TB6612FNG电机驱动模块一个(排针会送)
Arduino模块
一个输出9V的电源
杜邦线诺干
电机两个
arduino与tb6612的接线
因为TB6612的接口比较多,接线过程中要多一些耐心,千万不要接错线,否则会烧坏模块
我选用的是一个常见的可调控电源
下面是我的接线
接下来我们通过代码部分对电机进行控制,让电机正转2秒,反转2秒
int pwma = 3;
int ain1 = 9;
int ain2 = 8;
int stby = 10;
int pwmb = 5;
int bin1 = 6;
int bin2 = 7;
void setup() {
// put your setup code here, to run once:
pinMode(pwma,OUTPUT);
pinMode(ain1,OUTPUT);
pinMode(ain2,OUTPUT);
pinMode(pwmb,OUTPUT);
pinMode(bin1,OUTPUT);
pinMode(bin2,OUTPUT);
pinMode(stby,OUTPUT);
digitalWrite(stby,HIGH);
analogWrite(pwma,255);
analogWrite(pwmb,255);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(ain1,HIGH);
digitalWrite(ain2,LOW);
digitalWrite(bin1,HIGH);
digitalWrite(bin2,LOW);
delay(2000);
digitalWrite(ain1,LOW);
digitalWrite(ain2,HIGH);
digitalWrite(bin1,HIGH);
digitalWrite(bin2,LOW);
delay(2000);
}