Raspi5通过TB6612FNG驱动直流电机

/ 默认分类 / 0 条评论 / 145浏览

之前入手了最新的树莓派5B,近期准备用它来做一些小项目练练手,这里记录下树莓派5通过TB6612FNG驱动直流电机的过程。

一. TB6612FNG

TB6612FNG 是日本东芝(Toshiba)公司生产的一款高效的 双通道 H 桥电机驱动芯片,非常适合用于控制 两个直流电机 或 一个四线步进电机。相比于传统的 L298N 模块,它拥有更小的体积、更高的效率和更低的发热量。

1.1 芯片特性

参数 数值说明
工作电压范围(VM) 4.5V ~ 13.5V(电机供电)
逻辑电压(VCC) 2.7V ~ 5.5V(控制部分)
输出电流 每通道连续最大 1.2A,峰值可达 3.2A
控制方式 方向控制 + PWM(速度)
输出结构 低导通电阻的 MOSFET(高效率)
控制通道 双通道(A、B),可独立控制两个电机

1.2 引脚说明(以模块为例)

引脚名 说明
VM 电机电源正极(6~12V 推荐),也就是接给电机供电的电源的正极即可
VCC 控制逻辑电源(3.3V 或 5V),也就是接给驱动模块提供控制逻辑的开发板的VCC即可,例如树莓派的vcc
GND 地线(电源和逻辑共地)
PWMA 电机 A 的 PWM 控制(调速)
AIN1/2 控制电机 A 的方向
PWMB 电机 B 的 PWM 控制
BIN1/2 控制电机 B 的方向
STBY 芯片待机控制(HIGH 启用,LOW 禁用)
AO1/2 电机 A 的输出
BO1/2 电机 B 的输出


1.3 控制逻辑

AIN1 AIN2 电机状态
0 0 停止
0 1 正转
1 0 反转
- **AIN1** 和 **AIN2** 控制电机 A 的正反转。
- **PWMA** 控制电机 A 的速度(PWM 信号)。
BIN1 BIN2 电机状态
0 0 停止
0 1 正转
1 0 反转
- **BIN1** 和 **BIN2** 控制电机 B 的正反转。
- **PWMB** 控制电机 B 的速度(PWM 信号)。

1.4 待机模式控制

确保电源电压在模块的额定范围内。电机的工作电流不应超过模块的额定电流(持续 1.2A,峰值 3.2A)。在连接电机和电源时,注意极性,避免反接。

二. 为什么不能使用树莓派直接驱动电机

2.1 GPIO 输出电压不足

如果拿一个 3.3V GPIO 引脚直接连一个小电机,结果只会看到微微抖动或者根本不转,甚至有烧坏 GPIO 的风险。

2.2 电机启动电流大、干扰大

2.3 控制精度和安全性问题

树莓派或者arduino的gpio支持在软件层面模拟PWM信号(有的端口可能支持硬件级别的PWM输出)

正确的分工是这样的:

任务 由谁完成
产生 PWM 信号 树莓派 GPIO
控制方向(AIN/BIN) 树莓派 GPIO
驱动大电流电机 TB6612FNG
电源切换、电压保护 TB6612FNG
提供电机电压(VM) 外接供电电源

三. 实际接线

3.1 硬接测试电路联通性

这里我直接将TB6612的PWMA接到了vcc上(模拟高电平)加速。将AIN1接到VCC,AIN2接到接地,模拟1,0真值时候的反转动。将STBY接到vcc,模拟开机。

实际测试电路工作正常:

3.2 接入树莓派GPIO

也就是将STBY,AIN1,AIN2,PWM1交给GPIO进行控制。