做小车、做云台,别直接把直流电机接到Arduino引脚上——电机一转就是几百毫安还可能要反转,IO根本带不动,稍不留神还会烧主板。正确的接法是用一块电机驱动板在中间当“功率中继”,L298N就是最常见也最好上手的一款双路H桥驱动板。这篇文章把接线和调速讲透。

原理:靠H桥实现正反转
L298N内部是两路独立的H桥电路,每路桥上有四个开关管,通过组合导通顺序可以让同一个电机两端电压方向翻转,从而轻松实现正转、反转和刹车。Arduino只需要用几个数字引脚给出“方向”和“速度”信号,真正的功率输出由驱动板接外部电源完成。
板上核心引脚分两组:IN1、IN2管电机A的方向,IN3、IN4管电机B的方向;ENA、ENB是使能脚,接PWM就能调速。除了电机接线端子,还有电机电源输入(VM)和执行电源输入(VSS)。

接线:两路电源要分清楚
最关键的接线是两路电源。电机电源(VM)接一组给电机的电池(比如7到12V),这块区直接给电机供电;逻辑电源走板载5V稳压输出(短接帽默认把5V接到逻辑电路),如果电机电压不高、电流不大,可以用这路5V顺便给Arduino供电。
Arduino侧接法:IN1、IN2接两个数字脚控制电机A方向,IN3、IN4控制电机B;ENA、ENB接到支持PWM的数字脚做调速。这里有个隐藏点——板上一侧并排三个短接帽,其中EN两个就是让ENA/ENB常开的,你想用PWM调速,就必须先把对应的短接帽拔掉、再把ENA/ENB接到PWM脚上。不拔帽只给IN信号也能转,但速度快不了。
代码要诀和三个高频坑
控制逻辑就两句话:用digitalWrite设置IN1/IN2的值决定方向,用analogWrite往ENA写0到255决定速度。比如IN1高、IN2低电机正转,反过来反转,两个都低是停止。两路电机配合就能让小车前进、后退、原地转向。
坑一,不拔使能跳帽PWM速度控制没效果,只能全速或停。坑二,电机供电电压别太高(一般不超过12V),否则板载5V稳压会过热甚至烧坏;如果电机要24V,就别用板上5V给Arduino供电,改外接5V但保证共地。坑三,电机和Arduino之间一定要共地,否则逻辑信号悬空,电机根本不受控。




电机供电太高会烧板上5V稳压,我怼到十几伏差点冒烟,还是外接稳压省心
一正一反小车原地转向,这个双电机玩法对刚做小车的人最实用
不拔使能短接帽PWM就没调速效果,我爬了半天坑,拔了立刻能调速了
两路电源和要共地讲得清楚,之前没共地逻辑悬空电机乱转