TB6612电机驱动板怎么接线?PWM调速与STBY避坑实操

代码杰哥硬件DIY 2026-10-10 12:45:28 10阅读 举报

做轮式小车、差速底盘,绕不开电机驱动板。很多人第一反应是上L298N,块头大、发热猛、效率还低。其实还有一块小板子被低估了——TB6612FNG,双路MOSFET H桥,一路能扛1.2A连续电流、3.2A峰值,10块钱上下,效率高还不烫手。今天就把这块板子的接线、调速和最容易让人卡一晚上的STBY引脚,一条条说清楚。

为什么选TB6612而不是L298N

两者都是双H桥,都能让直流电机正反转。区别在输出级:L298N用的是三极管,导通压降能到1.8V左右,电机越多越热,得上散热片;TB6612用的是MOSFET,导通压降只有0.1到0.5V,同样的电压喂给电机,实际到电机口上的更足,还不用敷散热铝块。对小车这种电压本来就紧的场合,这一两个伏特很值钱。

省下来的还不只是发热。TB6612自带过流、过热保护,PWM频率能顶到100kHz,高出人耳可听频段,跑起来不会一直"嘤嘤"叫。体积也小,随手就能塞进底盘,是轻量化小车的正解。

接线:一路电机三根线,还有一根STBY

每一路电机的控制一共三根信号线:两个方向脚(AIN1/AIN2控制A电机,BIN1/BIN2控制B电机)加一个PWM调速脚(PWMA/PWMB)。方向脚决定正转还是反转,PWM的占空比决定转速,就这么简单。

真正阴人的是那个共享的STBY脚。它管着整块芯片的待机:拉低,两路H桥全部关死,电机一动不动,而且没有任何报错,静悄悄的。很多新手线全接对了,就是STBY没拉高,卡了一个晚上死活想不通。记住一句话:STBY必须在程序里先digitalWrite成HIGH,这是setup里做完pinMode之后的第一件事。

供电别搞混:VM是电机电,VCC是逻辑电

这块板子要两路电源。VM接电机电池的正极,承受范围是2.5到13.5V;VCC接单片机的5V(或3.3V),专门喂逻辑。很多人图省事把VM和VCC直接短一起,电机一发力单片机就掉电重启,诡异得很。

还要注意VM的上限是13.5V,没有板上稳压,也没有余量。你手上那块3S锂电充满有12.6V,超充状态下连13V都够着,真要怼上去分分钟烧驱动。另外拉电池正极、驱动、单片机、传感器还有电池负极,全部共地,漏了共地,信号没有参考基准,故障还是静默的。

调速与转向:一句代码的事

转速靠PWM,转向上一个if就够。写个driveA(speed)函数,speed带符号:大于0时AIN1拉高、AIN2拉低,PWM给abs(speed);小于0反之。想要刹车,两个方向脚一起拉高就短接了电机。想让它自由滑行,PWM给0就行。

如果接好线发现一个电机转反了,别急着怀疑代码。先把那个电机的两根输出线对调一下,或者把软件里它的offset改成-1,两秒解决。方向这种是接线问题,不是控制bug,先排除再做别的。

上电四步自检,少踩一半坑

接完别急着跑算法,先做四件事:第一步STBY拉高动一下,确认芯片醒了;第二步低速正转,看方向对不对;第三步测PWM从0加到255,看是不是平滑调速而不是只有开和关两档(只有两档,多半是PWM引脚没选对,记住Uno上要接3/5/6/9/10/11这种PWM脚);第四步推住电机看负载,感受下有没有掉速掉压。

四关全过,这块TB6612才算真正跑通。剩下的,就是加编码器接PID,把它从"能动"调到"跑得直"。上手不难,坑也不多,把供电分开、STBY拉高、共地做扎实,一台干净利落的小车底盘就稳了。

版权声明:
作者:代码杰哥
链接:https://www.aiddithome.com/p/4c69ef92d7dd7.html
来源:硬件DIY
实践版权归作者所有,未经允许请勿转载,若此实践存在违规行为,您可以点击 “举报”。


登录 后发表评论
6条评论
胶佬憨憨
1楼 · 17小时前

VM和VCC分开供电这点必须顶一下,以前图省事短路一起,电机一发力单片机就重启,我还以为是代码问题,纯玄学现场。

板砖搬不动
2楼 · 17小时前

PWM只跑开合两档那个排查思路很实用,Uno上确实要接3/5/6/9/10/11这种PWM口,我之前接在数字口上,速度怎么调都是满的。

只看不说话
3楼 · 17小时前

上电四步自检这套流程很养习惯,反正先让轮子转顺再谈算法,物理层不对全是白搭。新手照这个顺序能少熬好几个夜。

入门没多久的新手
4楼 · 17小时前

跑起来再配个编码器加PID,小车就能走直了,这篇是纯干货,收藏了。

阿伟不emo
5楼 · 17小时前

STBY那个坑我踩过,线全对准了,电机就是不动,查了一下午才发现待机脚没拉高,真的会谢。这篇把最玄的地方直接说透了。

1 2