fbpixel
Etiquetas: ,

El módulo L298N es una placa de desarrollo basada en el CI L298N para accionar motores de corriente continua o motores paso a paso. Ya hemos visto el uso del puente H. Se trata de un módulo cómodo de utilizar con diferentes prestaciones en función de los componentes utilizados. Veremos en este tutorial el uso del módulo L298N con un microcontrolador Arduino.

Material

  • Ordenador
  • Arduino UNO (u otro microcontrolador)
  • Cable USB A Macho/B Macho
  • Módulo L298N

Principio de funcionamiento

El módulo L298N se basa en el circuito integrado del mismo nombre. El circuito L298N es un doble puente H que permite cambiar la dirección y la intensidad de la tensión en el terminal de dos cargas eléctricas.

Las características del módulo L298N son:

  • Control del motor de 5 a 35 V de tensión nominal
  • 2A de corriente máxima (pico)
  • Tensión de 5V aceptada en los pines de entrada
L298N-Module-Pinout Uso de un módulo L298N con Arduino

Diagrama de cableado

El módulo L298N se alimenta de una fuente de tensión externa. Cada medio puente requiere 3 pines de salida de un microcontrolador.

  • GND Tierra del CI conectada a la tierra del microcontrolador y a la tierra de la fuente de alimentación
  • Habilitación ENA del motor M1 conectada al pin 2
  • Input1 Dirección frontal del motor M1 conectada al pin 3
  • Input2 dirección trasera del motor M1 conectada al pin 5
  • ENB habilitación del motor M2 conectado a la clavija 4
  • Input3 dirección frontal del motor M2 conectada al pin 6
  • Input4 dirección trasera del motor M2 conectada al pin 9
arduino-module-l298n_bb-1280x639 Uso de un módulo L298N con Arduino

En algunos modelos de este módulo, es posible añadir dos puentes para conectar directamente los pines de habilitación (ENA y ENB) a 5V. Esto permite activar siempre el puente H y guardar dos salidas del microcontrolador

Código de gestión del módulo L298N

Para utilizar el módulo L298N, es necesario activar el puente H aplicando una tensión de 5V al pin EN. A continuación, envíe una señal PWM al pin Forward (Input1/4) o Reverse (Input2/3) para controlar el sentido y la velocidad de rotación. El sentido de giro hacia delante o hacia atrás depende del sentido de la conexión del motor.

//Constants
#define nbL298N 2

//Parameters
const int enaL298NPin[2] = {2, 4};
const int fwdL298NPin[2] = {3, 5};
const int bwdL298NPin[2] = {6, 9};

//Variables
int Power = 200;

void setup() {
  //Init Serial USB
  Serial.begin(9600);
  Serial.println(F("Initialize System"));
  //Init DCmotor
  for (int i = 0; i < nbL298N; i++) {
    pinMode(fwdL298NPin[i], OUTPUT);
    pinMode(bwdL298NPin[i], OUTPUT);
    pinMode(enaL298NPin[i], OUTPUT);
  }
}

void loop() {
  testL298N();
}

void testL298N() { /* function testL298N */
  ////Scenario to test H-Bridge
  for (int i = 0; i < nbL298N; i++) {
    digitalWrite(enaL298NPin[i], HIGH);
    analogWrite(bwdL298NPin[i], 0);
    for (int j = 0; j <= Power; j = j + 10) {
      analogWrite(fwdL298NPin[i], j);
      delay(20);
    }
    for (int j = Power; j >= 0; j = j - 10) {
      analogWrite(fwdL298NPin[i], j);
      delay(20);
    }
    delay(2000);
  }
}

Resultado

Una vez cargado el código, deberías ver los motores funcionando en una dirección y luego en la otra.

Aplicaciones

  • Controla la velocidad y el sentido de giro de dos motores de corriente continua o de un motor paso a paso

Fuentes

Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie