今天让我们继续学习,利用Arduino与驱动板L298N控制电机。在开始之前,先介绍下驱动板L298N吧!

L298N 是一款双 H 桥电机驱动芯片,常用于控制直流电机或步进电机。该芯片可同时驱动两个直流电机或一个两相四线步进电机,支持宽电压输入(5V~35V),最大输出电流为 2A(单桥)。

主要特性

  • 双通道驱动:可独立控制两个直流电机或一个步进电机。
  • 逻辑电压兼容:支持 5V 电平输入,与 Arduino、STM32 等微控制器直接连接。
  • 过流保护:内置二极管续流保护,防止电机反电动势损坏电路。
  • PWM 调速:通过输入 PWM 信号实现电机调速。

引脚功能

  • 电源部分
    • VCC:驱动电压(5V~35V),接电机电源。
    • GND:公共地线。
    • 5V:逻辑供电输出(可为微控制器供电,若外接 5V 需断开板载跳线)。
  • 控制部分
    • IN1~IN4:控制电机转向的输入信号(接微控制器 GPIO)。
    • ENA/ENB:使能端(接 PWM 信号可调速)。

接下来我们进入今天的学习用Arduino与驱动板L298N控制电机

硬件准备

  • Arduino开发板(如Arduino Uno)
  • L298N控制电机
  • 小黄电机(如下图)
  • 杜邦线若干
  • 面包板(可选)

硬件连接

将L298N模块与Arduino连接时,需要确保电源和信号线正确对接。L298N的ENA和ENB引脚用于控制电机速度,通常连接到Arduino的PWM引脚(如D5、D6),这里也可以用跳帽直接连接,不管电机的速度。IN1、IN2、IN3、IN4控制电机转向,可连接到任意数字引脚(如D2、D3、D4、D7)。注意:电机电源(VMS)需单独供电(7-12V),逻辑电源(VSS)可接Arduino的5V输出!

基础代码示例

// 定义引脚
const int enA = 5;  // PWM引脚控制速度
const int in1 = 2;
const int in2 = 3;
const int in3 = 4;
const int in4 = 7;
const int enB = 6;

void setup() {
  // 设置引脚模式
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
}

void loop() {
  // 电机正转
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  analogWrite(enA, 200);  // 设置速度(0-255)
  analogWrite(enB, 200);
  delay(2000);

  // 电机反转
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  delay(2000);

  // 停止电机
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
  delay(1000);
}

电机速度控制

通过PWM信号调节ENA和ENB引脚的占空比可改变电机速度。analogWrite(pin, value)value范围为0(停止)至255(全速)。例如,analogWrite(enA, 128)将电机速度设为50%。

转向逻辑

IN1和IN2控制电机A的转向,IN3和IN4控制电机B:

  • 正转:IN1=HIGH, IN2=LOW(电机A);IN3=HIGH, IN4=LOW(电机B)
  • 反转:IN1=LOW, IN2=HIGH;IN3=LOW, IN4=HIGH
  • 停止:IN1=IN2=LOW;IN3=IN4=LOW

注意事项

  1. 电源隔离:电机电源(VMS)与逻辑电源(VSS)需分开供电,避免电流干扰导致Arduino重启。
  2. 散热:大电流负载时,L298N可能发热,建议安装散热片。
  3. 二极管保护:若驱动感性负载(如直流电机),模块内部需有续流二极管。

谢谢大家的观看,同时如果喜欢3d打印和嵌入式开发的可以私信我!

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐