L298N小车电机驱动控制原理

Tutorial: 卓越工程师 Category: 嵌入式 Published: 2026-10-23 11:05:29 Views: 1 Likes: 0 Comments: 0

294.12.L298N小车电机驱动控制原理

本节只展示 L298N 模块、ESP32-CAM 接线和电机控制真值表;视频以“现在来写一下代码”结束,实际源码从第 295 节才开始编写,因此这里不提前抄入后续课程代码。

一、小车电机驱动控制原理

本节把小车的供电与控制链路连接起来:电池给 L298N 电机驱动模块供电,L298N 向车轮电机提供较大的工作电流;ESP32-CAM 只通过四根 GPIO 信号线告诉 L298N 两个电机通道应当正转、反转还是停止。原转录中的“ESP32K”“GPL 口”“电源 D”“单频机”“N1~N4”分别应为 ESP32-CAM、GPIO、GND、单片机、IN1~IN4。

1.1 L298N电机驱动原理

1. 为什么不能用 GPIO 直接接电机

直流电机启动、堵转和负载突变时需要的电流远大于 GPIO 能提供的电流,而且电机是感性负载,断电时会产生反向电动势。ESP32-CAM 的 GPIO 只输出高、低控制电平;L298N 内部的两组全桥功率级负责切换电机电流。视频中模块芯片两侧可见续流二极管,上方有散热片:二极管为电机电流提供续流路径,散热片帮助功率器件散热。ST 的数据手册也明确将 L298 定义为可驱动直流电机等感性负载的双全桥驱动器。ST L298 数据手册

2. 先认识模块上的接口

模块接口作用本课接法
OUT1、OUT2(Motor A)A 全桥的两个输出端,接 A 通道电机或同侧电机组小车一侧的车轮电机线已接好
OUT3、OUT4(Motor B)B 全桥的两个输出端,接 B 通道电机或同侧电机组小车另一侧的车轮电机线已接好
+12V / VS电机功率电源正极;“12V”是端子常见丝印,不表示只能接精确 12 V视频用电池盒正极接入,并按该板常规方式采用约 7~12 V 输入
GND电机电源、驱动逻辑和主控共同的 0 V 参考点同时接电池负极与 ESP32-CAM GND
+5VL298N 的逻辑 5 V 电源节点;装上板载稳压跳帽时可成为 5 V 输出,拔掉跳帽时则是外部逻辑 5 V 输入视频保留稳压跳帽,并由此端给 ESP32-CAM 的 5V 引脚供电
ENAA 通道使能;为高时 IN1、IN2 才能决定 A 通道状态视频插着 ENA 跳帽,使其保持高电平
IN1、IN2A 通道方向控制输入分别接 GPIO13、GPIO15
IN3、IN4B 通道方向控制输入分别接 GPIO14、GPIO2
ENBB 通道使能;为高时 IN3、IN4 才能决定 B 通道状态视频插着 ENB 跳帽,使其保持高电平

不要只凭“从左到右”插线:模块转一个方向后左右就会改变,应以 PCB 丝印 IN1、IN2、IN3、IN4 为准。视频及下一节实际使用的逻辑连接是:

L298NESP32-CAM后续程序中的含义
IN1GPIO13A 通道输入 1
IN2GPIO15A 通道输入 2
IN3GPIO14B 通道输入 1
IN4GPIO2B 通道输入 2

L298 数据手册给出的输入高电平门限最低为 2.3 V,因此 ESP32 的 3.3 V GPIO 高电平能够被它识别;这并不表示 ESP32 GPIO 可以接 5 V。模块的 +5V 只能接 ESP32-CAM 的电源 5V 引脚,绝不能误接到 GPIO13、15、14 或 2。ST L298 电气特性

3. 三种跳帽不要混淆

  • **板载 5 V 稳压输出使能跳帽:**视频图中位于稳压部分附近。以视频这种常见模块为准,当电机电源约为 7~12 V且跳帽插上时,板载稳压器给 L298N 逻辑部分供电,+5V 端可引出约 5 V;这时不能再从另一个电源向该端反向灌入 5 V。若输入超过该板允许使用板载稳压器的范围,则应按模块说明拔掉跳帽并从 +5V 端提供外部逻辑电源,不能照搬本课接法。常见 L298N 模块说明
  • **ENA 跳帽:**把 A 通道使能端接到逻辑高电平。插着时 A 通道始终使能,本节只靠 IN1、IN2 控制方向与停止。
  • **ENB 跳帽:**作用与 ENA 相同,但控制 B 通道。视频的真值表要求相应使能端为高,所以两个通道跳帽都要插好。
  • PPT 标出了 ENA、ENB 也可接 PWM。若以后要调速,应先取下相应通道跳帽,再把使能脚接到可输出 PWM 的主控引脚;占空比控制通道通电时间比例。本节和下一节的课堂程序都没有这样接线,不能把“跳帽已插、全速使能”写成已经完成 PWM 调速。

4. 本课供电路径要逐段理解

电池正极 ──> L298N 的 +12V/VS ──> 两组 H 桥 ──> 车轮电机
电池负极 ──> L298N 的 GND ───────┬────────> ESP32-CAM 的 GND
                                  └─ 作为四根 GPIO 控制信号的共同参考点
L298N 板载稳压后的 +5V ─────────────────────> ESP32-CAM 的 5V
ESP32-CAM GPIO13/15/14/2 ──────────────────> L298N IN1/IN2/IN3/IN4
  • 视频先把电池接到 L298N 的电机电源端,再把 L298N 的 GND 与 +5V 分别接到 ESP32-CAM 的 GND 与 5V,从而让小车脱离 USB 线运行。GND 共地不是为了“多供一根电”,而是让 L298N 能把 ESP32 输出的 0 V/3.3 V 判为同一参考下的低/高电平;不共地时,控制电平可能没有可靠含义。
  • 视频展示的是该次实物接法,不是所有 L298N 模块都能稳定给 ESP32-CAM 供电的保证。不同兼容板的稳压器、散热和可用输出电流可能不同,而摄像头与 Wi-Fi 工作时会产生电流峰值。上电前应用万用表核对 +5V 端的极性和电压;若出现 ESP32-CAM 反复复位、视频断流或 Wi-Fi 掉线,应优先检查电池、电源压降、稳压器温升和接线,必要时改用电流能力足够的独立 5 V 降压电源,并保持共地。Ai-Thinker ESP32-CAM 原理图
  • L298N 使用双极型功率晶体管,导通时自身会产生明显压降。ST 数据手册在每通道 1 A 时给出的上下桥总饱和压降范围为约 1.8~3.2 V,因此电机端实际电压会低于电池电压,不能把端子上的 7.4 V 直接当作电机一定得到 7.4 V。压降与电流还会转化为热量,所以散热片发热并不意外。ST L298 数据手册
  • 数据手册的 2 A/通道直流值是芯片绝对最大额定条件之一,不等于这块小模块在任意散热、任意环境下都能长期安全输出 2 A。选型应核对同一通道所接电机的合计堵转电流,不能只看空载电流;若同侧两只电机并在一个通道上,两只电机的启动/堵转电流会叠加。
  • 改线前先断开电池。重点防止电池正负极接反、螺丝端子处裸线短路,以及同时由 USB 转串口器和 L298N 的 5 V 端互相反向供电。L298N 只负责驱动和稳压使用场景中的供电转换,不是两节 18650 电池的充电器。

5. 本组 GPIO 的复用与启动注意事项

  • GPIO13、GPIO15、GPIO14、GPIO2 同时属于 ESP32 的 SD/SDIO Slot 1 引脚组;AI Thinker ESP32-CAM 的 microSD 卡槽会使用这些线路。本课把它们改作电机控制后,不能再不加处理地同时启用 microSD 四线模式。Espressif SDIO 引脚表
  • GPIO2 与 GPIO15 还是 ESP32 启动配置脚。尤其在串口下载模式下,GPIO0 被拉低时 GPIO2 必须保持低或悬空;外接电路若在复位瞬间改变这些脚的电平,可能造成烧录或启动异常。遇到问题可先断电,临时拔掉 IN1~IN4 控制线,再按下载流程排查。Espressif ESP32 启动模式说明

1.2 直流电机旋转方式调整

1. H 桥为什么能让电机正反转

一台直流电机接在 H 桥中间。让电流从电机一端流向另一端时,电机朝一个方向旋转;把桥内导通路径换到另一对开关,电流方向反过来,电机也反转。L298N 内部有 A、B 两套这样的全桥,因此能独立控制两个电机通道。这里的“正转/反转”只描述电机端电压方向;小车实际向前还是向后,还取决于电机安装方向及 OUT 端两根线的接法。

视频把 ENA、ENB 跳帽插上,相当于使能端保持高电平。在此前提下,课堂真值表可整理为:

通道使能输入组合电机状态本课小车当前接线下的称呼
AENA=1IN1=1,IN2=0一个方向旋转A 通道“正转”
AENA=1IN1=0,IN2=1与上一行相反A 通道“反转”
AENA=1IN1=0,IN2=0两输出同电位,快速停止/电气制动停止
BENB=1IN3=1,IN4=0一个方向旋转B 通道“正转”
BENB=1IN3=0,IN4=1与上一行相反B 通道“反转”
BENB=1IN3=0,IN4=0两输出同电位,快速停止/电气制动停止

表中的 1 表示逻辑高电平,0 表示逻辑低电平,不是 1 V 和 0 V。IN1/IN2 只管 A 通道,IN3/IN4 只管 B 通道;一个通道的输入不决定另一个通道。

ST 的完整真值表还包含视频没有展开的两种情况:ST L298 双向直流电机真值表

  • 使能为高且两个方向输入同为 1 时,也属于两端同电位的快速停止。
  • 使能为低时,不论两个方向输入为何值,该桥都被禁止,输出释放,电机依靠惯性自由滑行停止。这与输入同值、桥仍使能时的电气制动不是同一种停止方式。

2. 从单个通道推到整车运动

  • 两侧电机都按小车当前布线向前:小车前进。
  • 两侧都反向:小车后退。
  • 两侧方向相反:小车可原地向一侧转动;哪一侧称为左转或右转,要以实际电机安装与接线验证。
  • 两侧都停止:小车停止。由于轮胎、地面、电机差异和惯性,实际停止距离不会严格为零。

如果按照真值表后整车方向与预期相反,先断电,再检查 Motor A/B 是否接到预期的一侧以及某侧电机两根输出线是否接反;不要为了“纠正方向”带电拔插电机线。第 295 节才会把这些电平组合封装为前进、后退、左转、右转和停止函数,本节没有实际编写或验证源码。

核对依据

  • 本地 videos/294.12.L298N小车电机驱动控制原理.mp4 的 L298N 标注图、实物接线、ESP32-CAM 引脚图和电机真值表;对照 transcripts/294.12.L298N小车电机驱动控制原理.txt 与原始 notes/md/294.12.L298N小车电机驱动控制原理.md。第 295 节视频/转录只用于交叉核对 IN1~IN4 的 GPIO 对应关系与源码起始位置,没有把其代码提前写入本节。
  • STMicroelectronics 官方 L298 数据手册:核对双全桥结构、逻辑门限、使能关系、正反转/快速停止/自由停止真值表、压降及电流额定条件。
  • 视频所示同类模块的板级使用说明:核对常见红色 L298N 板的 7~12 V 板载稳压使用范围、5 V 端输入/输出角色和稳压跳帽条件;模块兼容板可能有差异,最终以手中 PCB 丝印、原理图和实测为准。
  • Ai-Thinker ESP32-CAM 原理图、Espressif 启动脚说明和SDIO 引脚表:核对 5 V 供电路径、GPIO2/GPIO15 启动注意事项以及 GPIO2/13/14/15 的 microSD 复用关系。