TB6612电机驱动模块
该模块相对于传统的L298N效率上提高很多,体积上也大幅度减少,在额定范围内,芯片基本不发热,当然也就显得更加娇贵,所以我们建议有一定动手能力的朋友使用,接线的时候务必细心细心再细心,注意正负极性。
模块来源
规格参数
VM电机电压:<12V
VCC芯片电压:2.7~5.5V
输出电流:1A
控制方式:PWM
使用说明
STBY口接单片机的IO口,STBY置0电机全部停止,置1才能工作。STBY置1后通过AIN1、AIN2、BIN1、BIN2 来控制正反转。
其中A端(AIN1与AIN2)只能控制AO1与AO2端。B端(BIN1与BIN2)只能控制BO1与BO2端。因此是双路电机驱动。
硬件连接
TB6612FNG电机驱动模块通常有以下几个主要引脚:VCC, GND, VM, AIN1, AIN2, BIN1, BIN2, PWMA, PWMB,以及电机连接端A01, A02, B01, B02。下面是如何将它们连接到Arduino和电机的:
- VM 连接到外部电源的正极,用于驱动电机。(确保电压符合你电机的规格)
- VCC 连接到开发板的5V,供电给驱动器的逻辑部分。
- GND 连接到开发板的GND,以及电源的GND。
- AIN1 和 AIN2 控制电机A的方向,连接到开发板的数字输出引脚。
- BIN1 和 BIN2 控制电机B的方向,同样连接到开发板的数字输出引脚。
- PWMA 控制电机A的速度,连接到开发板的PWM输出引脚。
- PWMB 控制电机B的速度,同样连接到开发板的PWM输出引脚。
- A01, A02 连接到电机A的两个端点。
- B01, B02 连接到电机B的两个端点。 以下为适配该例程的接线:
使用方法
这段代码首先将两个方向引脚(AIN1, AIN2)和一个速度控制引脚(PWMA)设置为输出模式。在主循环loop
函数中,代码分别实现了电机的正转、停止和反转(通过改变AIN1和AIN2的高低电平实现),并通过analogWrite
调用控制速度(PWM信号)。
确保你根据需要调节PWM信号值(通过analogWrite
函数的第二个参数),以实现电机的速度控制。PWM值范围为0(完全停止)到255(最大速度)。
为了保证系统的稳定性,建议使用独立的电源供给驱动器,特别是当你驱动的电机需要较大电流时。并确保TB6612模块的地线与开发板的地线相连。
c
#define AIN1 2
#define AIN2 3
#define PWMA 5 // PWM控制引脚,支持PWM的Arduino数字引脚
void setup() {
// 设置AIN1, AIN2和PWMA为输出模式
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(PWMA, OUTPUT);
}
void loop() {
// 电机正转
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
analogWrite(PWMA, 255); // 使用PWM控制速度,0 (停止) 到 255 (最大速度)
delay(1000); // 电机运行1秒
// 电机停止
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, LOW);
delay(1000); // 停止1秒
// 电机反转
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
analogWrite(PWMA, 255); // 改变PWM值控制速度
delay(1000); // 电机运行1秒
// 可以在这里添加更多的控制逻辑
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33