刚入坑做两驱小车,很多人第一步就卡在驱动板接线上:明明照着教程把板子接好了,电机却纹丝不动,或者只会全速转、一调速就没反应。今天就把L298N这块最经典的电机驱动板彻底捋一遍,把方向脚、使能脚、供电和接地这几个坑一次填平。
L298N到底是干什么的
L298N的核心是ST的L298双全桥驱动芯片,一块板子能同时带两路直流电机,也可以带一路双极步进电机。它的价值在于电流放大:单片机引脚只能输出几毫安,根本带不动电机,L298N用小信号控制大电流,让电机能正转、反转、刹车和调速。
它有三组接线:一是电机供电端和地线,二是两路电机的输出端,三是控制信号接口。搞清楚这三组,剩下的就是按部就班接线。
控制引脚:方向和速度是分开管的
每一路电机有两个方向脚加一个使能脚。电机A是IN1、IN2和ENA,电机B对应IN3、IN4和ENB。IN1高IN2低,电机正转,反过来就反转,IN1和IN2电平均相同就刹车。速度则由ENA上的PWM信号决定,占空比越大转速越高,50%就是大概半速。
这里有个最经典的坑:很多模块出厂时ENA和ENB上都套着一顶黑色跳线帽,把它接到高电平上,相当于使能脚一直被拉高。这时候你烧PWM想调速,程序写了半天一点反应都没有,因为硬件已经强制全速了。想调速的第一件事,就是把这两顶帽子拔下来收好。
供电与接地,两个命门
供电要分两路:电机用外部电源,一般7到12伏(常见是9V电池或12V适配器),接在+12V端子上;逻辑侧用5伏,可以靠板上稳压器从电机电源取,也可以单独供。注意两点,一是电压别超12V太多,板上那路5V线性稳压器会把超出的部分烧成热,久了就过热保护;二是电机和单片机的地线必须共地,地不相连传感器和逻辑信号就没有参考电位,这是最常见的"完全不动"的元凶。
还要提醒的是,L298N本身有大约2V的压降,电机实际得到的电压比供电少一截。想让6V的电机跑满,得给它供上8V左右的电源,别指望5V的USB供电能把小车跑起来。
PWM频率和电源滤波
调速时PWM频率也讲究,实测500赫兹到2千赫兹电机响应最好也发热最小;搞到5千赫兹以上功耗和发热都会上升,太低则电机肉眼可见地一抖一抖。接在UNO这类板子上,用带波浪号标记的PWM引脚就好。
电机启动瞬间电流很大,容易把电压拉垮。建议在电机电源两端并联一个470到1000微法的电解电容吸收尖峰,再在逻辑引脚附近加0.1微法的陶瓷电容滤高频噪声,能大大减少单片机莫名其妙重启的问题。
说点实在的
L298N虽然老、压降也不小,但它皮实、便宜、资料多,特别适合入门。记住三句话:两个方向脚管转向、使能脚上的PWM管速度、电机和单片机必须共地。先把这几条搞定,你的小车就知道怎么直走、怎么拐弯、怎么调速了。
等玩熟了想上更高效、发热更小的方案,再考虑TB6612或者MOSFET直驱,那是后话。第一步,先把这块经典板子调明白。



共地这个我深有体会,第一次接小车电机死活不动,排查半天发现地线没连到arduino上,白折腾一晚上。
L298N压降2V是真事,我之前用6V电池带6V电机跑起来软绵绵的,后来换了9V才正常,新手真得留这个余量。
PWM频率那段讲得实在,我之前调到8kHz电机烫得能煎蛋,降到1kHz就正常了,发热和效率确实要权衡。
入门用L298N真心够用,先把地和供电搞对,小车就能跑起来了。后面真想上性能再换TB6612,这篇路线讲得清楚。
终于知道为啥我之前调速度没反应了,ENA上的跳线帽没拔,我一直以为使能脚默认就是开着的,坑。