做小车最核心的事就是让电机转起来、转得快慢随心、方向还能换。Arduino的引脚直接驱动不了电机那种大电流,得靠电机驱动模块放大控制信号。老牌的L298N够用但压降大、发热明显,现在很多人换成了TB6612FNG——体积小、效率高、还一次能带两台直流电机。这篇文章把接线和调速讲清楚。
看清三类引脚:电源、输入、输出
TB6612FNG的引脚分三类。电源类是VM(电机电源,2.2V到13.5V)、VCC(逻辑电源,2.7V到5.5V)、GND(所有电源共地);输入类是AIN1/AIN2(A电机的方向)、BIN1/BIN2(B电机的方向)、PWMA/PWMB(A/B电机的速度PWM)、还有一个STBY(待机使能);输出类是A01/A02(接A电机两根线)、B01/B02(接B电机两根线)。
它的核心是两个H桥,能独立控制两台直流电机,比L298N更轻更省电,是这些电机驱动件里很受欢迎的一块。

供电三步:逻辑VCC、电机VM、全部共地
接线照三条走:第一,VCC接Arduino的5V,给芯片逻辑电路供电;第二,VM接电机用的电池正极(比如7.4V锂电或6V电池组,电压按电机额定电压来,常见3V/6V/12V);第三,也是最关键的——把Arduino的GND、模块的GND、电池负极三者全部连在一起共地。如果不共地,信号电平就没有参照,电机表现会飘忽不定,这是这块板最容易出的怪问题。
逻辑和电机两路电源各管各的:逻辑用小电流的5V,电机用有劲儿的大电流电池,互相分开,靠共地把它们拧成一套系统。
方向加减速接线:IN脚管方向、PWM管快慢、STBY必须拉高
控制信号接法如下(沿用一个常见例程):PWMA接3、AIN2接4、AIN1接5、BIN1接7(PWMB用9、BIN2用8时亦然)。AIN1/AIN2两个高低电平组合决定A电机是正转、反转还是刹车;PWMA这只脚接受来自Arduino的PWM信号,专门控制速度,PWM值越大电机转得越快。
STBY这只待机脚一定要拉高(接5V或Arduino的HIGH)。很多新手忘了它,结果电机怎么都不转——因为模块默认处于待机状态,STBY为高才让H桥真正工作。电机输出就接在A01/A02上(另一个电机接B01/B02),两根线没有固定正反,转反了调换一下即可。
接电机的四根控制脚(方向+速度)要选Arduino上支持PWM输出的脚,普通数字脚不能调速。
转不动、只转不调速,常见排查
电机完全不动,先查STBY有没有拉高、三处GND有没有共地;只转不调速,先确认PWMA接在PWM脚上(别用普通脚);一个方向有反应一个方向没反应,检查该路IN1/IN2对不对、电机线有没有断。电源部分别忽略共地,它是这块板“行为诡异”的头号元凶。
TB6612FNG把“驱动两台直流电机”这件事做得很干净。供电三步走通、STBY拉高、IN管方向PWM管速度,一个能控速能换向的小车底盘就ready了,是比L298N更现代的电机驱动选择。





比L298N轻还省电,现在做小车用它的多
PWM得接在带~号的脚上,普通脚只能开合不能调速
STBY忘了拉高电机纹丝不动,排查半天才发现
IN管方向PWM管速度,分工理清就不乱
三处GND不共地电机就是各种飘,这是头号坑