如何使用Arduino使用L298N运动驱动器

How to Use the L298N Motor Driver with Arduino

L298N电动机驱动器是控制直流电动机和步进电动机的流行模块。它使您可以使用Arduino的PWM信号来控制运动速度和方向,从而使其非常适合机器人和自动化项目。本教程将指导您与Arduino连接和使用L298N。


你需要什么

  1. L298N电机驱动器模块
  2. Arduino董事会(例如Uno,Mega,Nano)
  3. 直流电动机或步进电动机
  4. 外部电源(例如9V或12V电池)
  5. 面包板和跳线电线
  6. 安装了带有Arduino IDE的计算机

步骤1:了解L298N电动机驱动器

L298N模块是双H桥电动机驱动器,这意味着它可以独立控制两个DC电动机的速度和方向或一个步进电动机。

L298N PINOUT

别针 功能
in1,in2 电机A方向控制输入
in3,in4 电机B方向控制输入
恩纳 电机速度控制(PWM输入)
ENB 电机B速度控制(PWM输入)
OUT1,OUT2 电机A输出
out3,out4 电机B输出
12V(VCC) 电动机的外电源
5V(可选) 逻辑电源(如果卸下跳线)
gnd 地面

笔记:

  • 该模块包括一个板载5V调节器,如果套头衫到位,VCC为7-12V,则为逻辑电路提供动力。
  • 卸下跳线需要您单独提供5V逻辑供应。

步骤2:将L298N接线到Arduino

这是将L298N连接到Arduino Uno和两个DC电机的方法:

L298N针 Arduino Pin
恩纳 引脚10(PWM)
在1 引脚8
in2 引脚9
ENB 引脚11(PWM)
in3 引脚6
in4 引脚7
gnd Arduino Gnd
12V(VCC) 外部电源(9V/12V)
OUT1,OUT2 电动机端子
out3,out4 电机B端子

步骤3:上传代码

这是控制两个DC电机的示例草图:

示例代码

// Motor A connections
#define ENA 10
#define IN1 8
#define IN2 9

// Motor B connections
#define ENB 11
#define IN3 6
#define IN4 7

void setup() {
  // Set all pins as outputs
  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(ENB, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

void loop() {
  // Move Motor A forward
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 150); // Set speed (0-255)

  // Move Motor B backward
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENB, 150); // Set speed (0-255)

  delay(2000); // Run for 2 seconds

  // Stop both motors
  digitalWrite(ENA, LOW);
  digitalWrite(ENB, LOW);

  delay(1000); // Pause for 1 second

  // Move both motors in reverse
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 200);
  analogWrite(ENB, 200);

  delay(2000); // Run for 2 seconds

  // Stop both motors
  digitalWrite(ENA, LOW);
  digitalWrite(ENB, LOW);
  delay(1000); // Pause for 1 second
}

步骤4:测试设置

  1. 通过USB将Arduino连接到您的计算机。
  2. 打开Arduino IDE并选择正确的 木板港口工具 菜单。
  3. 单击将代码上传到Arduino 上传.
  4. 根据程序序列观察电动机向前旋转,停止和逆转。

可选:动态控制速度

您可以通过更改发送到的PWM值来动态调整电动机速度 ENAENB 使用AnalogWrite()引脚。例如:

analogWrite(ENA, 100); // Slow speed
analogWrite(ENA, 255); // Full speed

L298N的应用

  1. 建造机动机器人
  2. 控制传送带
  3. 驾驶步进电动机
  4. 使用直流电动机自动化系统

故障排除

  • 电动机不旋转: 确保连接外部电源并提供足够的电流。
  • 不正确的电机方向: 检查销钉的接线,并在需要时进行反向连接。
  • 不稳定的运动行为: 使用稳定的电源并避免连接松动。

结论

您已成功将L298N电机驱动器与Arduino连接起来,以控制直流电动机。这个多功能模块使您可以轻松管理电动机速度和方向。通过将传感器,遥控器或其他模块集成到您的电动项目中,进一步实验!

发表评论

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.