L298N是最经典的直流电机驱动模块之一,双H桥设计,能同时驱动两个直流电机,单通道最大2A电流,工作电压5-35V。做2WD/4WD智能小车、云台、自动导引车这类项目,几乎绕不开它。模块十几块钱,红色PCB板很好辨认,配上Arduino UNO就能让两个电机独立正反转和调速。

L298N的引脚怎么接Arduino
L298N模块上有三组接线端子。左侧OUT1/OUT2接电机A,OUT3/OUT4接电机B。右侧是控制引脚:IN1和IN2控制电机A的方向,IN3和IN4控制电机B的方向;ENA和ENB是使能引脚,控制A/B通道的调速。
Arduino那边,IN1-IN4各接一个数字引脚(比如D5/D6/D9/D10)。ENA和ENB如果接了跳线帽就是全速运行,去掉跳线帽后接PWM引脚(D5/D6/D9/D10/D11都支持PWM)就能调速。
供电方面,L298N的VCC接电机电源(7-12V常见),GND要和Arduino共地。这点很重要,不共地控制信号传不过去,电机不转或者乱转。
H桥原理:怎么实现正反转
H桥的核心是4个开关管(L298N内部是达林顿管),通过不同组合控制电流方向。IN1=HIGH+IN2=LOW,电机正转;IN1=LOW+IN2=HIGH,电机反转;两个都是LOW,电机停止(自由滑行);两个都是HIGH,电机刹车(短路制动)。
代码里写4个函数:forward()、backward()、stop()、brake(),每个函数设置IN1和IN2的高低电平组合。电机B用IN3和IN4同理。这个逻辑理解透了,后面控制步进电机、继电器组也触类旁通。
PWM调速:ENA和ENB怎么用
ENA/ENB引脚接收PWM信号控制占空比,0-255对应全停到全速。比如analogWrite(ENA, 128)就是半速运行。注意ENA控制的是整个A通道(OUT1+OUT2共用的那个电机),不是单独控制一个电机。
PWM频率方面,Arduino默认约490Hz(D5/D6是980Hz),L298N的开关频率支持到25kHz,完全够用。如果电机运行时有明显的嗡嗡声,可以考虑改PWM频率,但一般项目不用折腾这个。
做2WD智能小车的完整接线方案
典型的Arduino智能小车配置:2个TT减速电机(3-6V)、1个L298N模块、1个Arduino UNO、1个电池盒(2节18650串联7.4V)、1个超声波模块(避障)、1个蓝牙模块(遥控)。电池盒的7.4V接L298N的VCC供电电机,L298N板载5V稳压器可以输出5V给Arduino供电(去掉Arduino上的USB线)。
共地是新手最容易忘的一步:电池负极、L298N的GND、Arduino的GND,三者必须连在一起。很多人接好线电机不转或者乱转,查半天最后发现是GND没共。
L298N的压降和发热问题
L298N是双极型达林顿管驱动,内部压降约2V。也就是说你给12V电机电源,实际到电机只有10V左右。对于6V的TT电机来说问题不大,但如果是12V电机要注意这个压降。
发热是另一个问题。L298N驱动1A以上电流时散热片会很烫。长时间大电流运行建议加散热风扇,或者考虑换MOS管驱动模块(如TB6612FNG,效率更高、压降只有0.5V、几乎不发热)。L298N胜在便宜好用、双通道集成,小电流项目足够用。
L298N是Arduino电机驱动入门的标配模块,十几块钱就能搞定双电机驱动。理解了H桥正反转和PWM调速的逻辑,后面不管是做智能小车还是机械臂底盘,都是在这个基础上扩展。










L298N的压降问题,我用12V电源驱动6V电机,电机转得挺欢快的,就是散热片有点烫手。加了个散热片+小风扇就稳了。
TB6612FNG确实比L298N好用,压降小发热低,但价格贵一倍。如果是小电流项目用L298N够了,要驱动大功率电机还是上MOS管模块吧。
共地这个问题我当初真的折腾了好久,电机死活不转,后来发现电池GND和Arduino GND没连。加了根线就好了。新手一定要记住:电机供电和控制板供电的GND必须连一起。