Controle el motor paso a paso con el controlador de motor L298N y Arduino

¿Quieres aprender a controlar un motor paso a paso de forma sencilla y efectiva? ¡Entonces estás en el lugar adecuado! En este artículo te enseñaremos cómo utilizar el controlador de motor L298N junto con Arduino para manejar tu motor paso a paso de manera precisa y eficiente. Sigue leyendo para descubrir todos los detalles y empezar a sacarle el máximo provecho a tu proyecto. ¡Vamos allá!

Si planea ensamblar su nuevo robot, es posible que desee aprender a controlar motores paso a paso. La forma más sencilla y rentable de controlar motores paso a paso es utilizar el controlador de motor L298N. Puede controlar tanto la velocidad como la dirección de rotación de cualquier motor paso a paso bipolar de tamaño pequeño a mediano, como el NEMA 17.

Si desea controlar varios motores paso a paso, se recomienda utilizar un controlador de motor paso a paso independiente y dedicado, como el A4988. Si quieres obtener más información al respecto, consulta este tutorial.

Controle el motor paso a paso con el controlador de motor L298N y Arduino
Controle el motor paso a paso con el módulo controlador A4988 y Arduino
Para aplicaciones con motor paso a paso, un controlador como el L298N está bien, pero si desea construir su propia máquina CNC o impresora 3D, necesitará…

Controlar un motor paso a paso con un puente H

El módulo L298N tiene dos puentes H. Cada puente H acciona una de las bobinas electromagnéticas de un motor paso a paso.

Al excitar estas bobinas electromagnéticas en un orden específico, el eje del motor paso a paso se puede mover con precisión hacia adelante o hacia atrás en pequeños incrementos.

Sin embargo, la velocidad del motor está determinada por la frecuencia con la que se energizan estas bobinas.

La siguiente animación muestra cómo los puentes H accionan un motor paso a paso.

Controle el motor paso a paso con el controlador de motor L298N y Arduino

Chip controlador de motor L298N

En el medio del módulo hay un gran chip negro con un disipador de calor grueso: el L298N de ST Semiconductor.

Controle el motor paso a paso con el controlador de motor L298N y Arduino

En el chip L298N encontrará dos puentes H estándar que pueden accionar un par de motores de CC o un solo motor paso a paso.

El controlador de motor L298N tiene un rango de suministro de 5 V a 35 V y es capaz de entregar 2 A de corriente continua por bobina, por lo que funciona muy bien con la mayoría de nuestros motores paso a paso.

Especificaciones técnicas

Aquí están las especificaciones:

Tensión de salida del motor 5V – 35V
Voltaje de salida del motor (recomendado) 7V – 12V
Tensión de entrada lógica 5V – 7V
Corriente continua por canal 2A
Pérdida de potencia máxima 25W

Consulte la siguiente hoja de datos para obtener más detalles.

Distribución de pines del módulo controlador de motor L298N

El módulo L298N tiene un total de 11 pines que lo conectan con el mundo exterior. Los pines son los siguientes:

Controle el motor paso a paso con el controlador de motor L298N y Arduino

Conozcamos todos los pines uno por uno.

Pines de alimentación

El módulo controlador de motor L298N se alimenta a través de un terminal de tornillo de 3 pines con paso de 3,5 mm.

Controle el motor paso a paso con el controlador de motor L298N y Arduino

El controlador del motor L298N en realidad tiene dos conexiones de alimentación de entrada: VS y VSS.


contra El pin suministra energía a los puentes H internos del IC para accionar el motor. Puede conectar un voltaje de entrada entre 5 y 12 V a este pin.

VSS se utiliza para controlar el circuito lógico en el IC L298N, que puede ser de 5 a 7 V.

Tierra es el pin de tierra común.

pines de salida

Los canales de salida del controlador del motor L298N. SALIDA1, OUT2, OUT3 Y OUT4 se separan con dos terminales de tornillo en un paso de 3,5 mm hasta el borde del módulo. Puede conectar cualquier motor paso a paso de 12-24 V a estos terminales.


Controle el motor paso a paso con el controlador de motor L298N y Arduino

Cada canal del módulo puede suministrar hasta 2A al motor paso a paso. Sin embargo, la cantidad de energía suministrada al motor depende de la fuente de alimentación del sistema.

Pasadores de control

Usando los cuatro pines de control EN 1, EN 2, EN 3 Y IN4Puedes controlar tanto la velocidad como la dirección de rotación del motor paso a paso. Estos pines en realidad controlan los interruptores del circuito H-Bridge en el chip L298N.

Controle el motor paso a paso con el controlador de motor L298N y Arduino

La forma en que pulsa estos pines afecta el comportamiento del motor.

  1. La secuencia de impulsos determina el sentido de rotación del motor.
  2. La frecuencia de los pulsos determina la velocidad del motor.
  3. El número de pulsos determina cuánto gira el motor.

Activar pines

Los pines de activación ENA Y ENB Se utilizan para activar o desactivar el motor independientemente de las señales de entrada.

Controle el motor paso a paso con el controlador de motor L298N y Arduino

Al tirar de estos pines a ALTO se activa el motor, mientras que al tirar de ellos a BAJO se desactiva el motor.

El módulo suele venir con puentes en estos pines. Si los puentes están conectados, el motor se activa. Si desea controlar el motor mediante programación, debe quitar los puentes y conectar estos pines a los pines digitales del Arduino.

Regulador y puente integrados de 5 V.

El módulo tiene un regulador integrado de 5V – 78M05. Se puede activar o desactivar mediante un jumper.

Controle el motor paso a paso con el controlador de motor L298N y Arduino

Cuando este puente está colocado, el regulador de 5 V está habilitado, derivando la fuente de alimentación lógica (VSS) de la fuente de alimentación del motor (VS). En este caso, el puerto de entrada de 5 V (VSS) actúa como un pin de salida y suministra 5 V 0,5 A. Puede usarlo para alimentar su Arduino u otros circuitos que requieran una fuente de alimentación de 5 V.


Al quitar el jumper el regulador de 5V queda deshabilitado y tenemos que suministrar 5V por separado a través del pin VSS.

Advertencia:

Podrás dejar el jumper enchufado cuando la alimentación del motor sea inferior a 12V. Si el voltaje es superior a 12 V, deberá quitar el puente para evitar daños al regulador de 5 V incorporado.

Además, NO suministre energía a los pines VSS y VS mientras el puente esté en su lugar.

¿Cómo identifico las fases de un motor paso a paso bipolar?

Antes de comenzar a conectar el motor al módulo, debe identificar las fases del motor que desea utilizar. La mejor manera de hacerlo es consultar la hoja de datos del motor.

Si no puede encontrar la hoja de datos, utilice el siguiente truco.


  • Pon tu multímetro en modo de resistencia y simplemente mide la resistencia de pares de cables.
  • Si la resistencia es de sólo unos pocos ohmios (<100 Ω), tienes un par.
  • Los otros dos cables deberían formar el segundo par.
Controle el motor paso a paso con el controlador de motor L298N y Arduino

Cableado de un motor paso a paso bipolar al módulo L298N y Arduino

Comencemos conectando la fuente de alimentación al módulo. En nuestro experimento, utilizamos un motor paso a paso bipolar NEMA 17 con un voltaje nominal de 12 V. Por lo tanto, conectaremos la fuente de alimentación externa de 12 V al puerto VS.

A continuación, necesitamos suministrar 5 V al circuito lógico del L298N. Usaremos el regulador de 5 V integrado para derivar 5 V de la fuente de alimentación del motor, así que deje el puente EN de 5 V en su lugar.

También debes dejar colocados los puentes ENA y ENB para que el motor esté siempre activado.

Ahora conecte los pines de entrada (IN1, IN2, IN3 e IN4) del módulo L298N a los cuatro pines de salida digital de Arduino (8, 9, 10 y 11).

Finalmente, conecte una fase del motor al terminal A (OUT1 y OUT2) y la otra fase al terminal B (OUT3 y OUT4). La polaridad no importa.

La siguiente imagen muestra cómo está cableado todo.

Controle el motor paso a paso con el controlador de motor L298N y Arduino
Cableado del motor paso a paso NEMA 17 con L298N y Arduino

Código Arduino – Control de motor paso a paso NEMA 17

Aquí está el boceto simple que hace que el motor paso a paso gire en el sentido de las agujas del reloj y luego en el sentido contrario a las agujas del reloj a 60 RPM.

Este boceto le brindará una comprensión integral del control de un motor paso a paso bipolar como NEMA 17 con un controlador de motor L298N y puede servir como base para futuros experimentos y proyectos prácticos.

// Include the Arduino Stepper Library
#include <Stepper.h>

// Number of steps per output rotation
const int stepsPerRevolution = 200;

// Create Instance of Stepper library
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);


void setup()
{
	// set the speed at 60 rpm:
	myStepper.setSpeed(60);
	// initialize the serial port:
	Serial.begin(9600);
}

void loop() 
{
	// step one revolution in one direction:
	Serial.println("clockwise");
	myStepper.step(stepsPerRevolution);
	delay(500);

	// step one revolution in the other direction:
	Serial.println("counterclockwise");
	myStepper.step(-stepsPerRevolution);
	delay(500);
}

Explicación del código:

El boceto comienza con la integración del biblioteca paso a paso arduino. La biblioteca paso a paso está incluida con el IDE de Arduino y se encarga de secuenciar los pulsos enviados al motor.

// Include the Arduino Stepper Library
#include <Stepper.h>

Después de incluir la biblioteca, definimos una variable llamada stepsPerRevolution. Como sugiere el nombre, este es el número de pasos por revolución para el que está diseñado su motor. En nuestro caso es 200.

// Number of steps per output rotation
const int stepsPerRevolution = 200;

A continuación, creamos un objeto de biblioteca paso a paso. El diseñador del Stepper La clase toma como argumentos los pasos por revolución del motor y las conexiones de pines de Arduino.

// Create Instance of Stepper library
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

En la sección de configuración del código, configuramos la velocidad del motor paso a paso llamando al setSpeed() funcionar e inicializar la comunicación serie.

void setup()
{
	// set the speed at 60 rpm:
	myStepper.setSpeed(60);
	// initialize the serial port:
	Serial.begin(9600);
}

Finalmente, en la sección de bucle del código, simplemente llamamos al step() Función que hace girar el motor un determinado número de pasos a una velocidad fijada por el setSpeed() Función. Pasar un número negativo a esta función invertirá el sentido de rotación del motor.

void loop() 
{
	// step one revolution in one direction:
	Serial.println("clockwise");
	myStepper.step(stepsPerRevolution);
	delay(500);

	// step one revolution in the other direction:
	Serial.println("counterclockwise");
	myStepper.step(-stepsPerRevolution);
	delay(500);
}

Tenga en cuenta que step() es una función de bloqueo. Esto significa que espera hasta que el motor haya terminado de moverse para pasar el control a la siguiente línea del boceto. Por ejemplo, si configura la velocidad para que diga 1 rpm y llame step(100) En un motor de 100 velocidades, esta función tarda un minuto en completarse.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Controle el motor paso a paso con el controlador de motor L298N y Arduino

Si estás pensando en ensamblar tu nuevo robot, eventualmente querrás aprender a controlar motores paso a paso. La forma más fácil y económica de controlar motores paso a paso es utilizar el controlador de motor L298N. Este controlador puede controlar tanto la velocidad como la dirección de giro de cualquier motor paso a paso bipolar pequeño a mediano, como el NEMA 17.

¿Por qué utilizar el controlador de motor L298N?

El controlador de motor L298N es un dispositivo versátil que puede controlar efectivamente motores paso a paso de hasta tamaño mediano. Tiene la capacidad de controlar tanto la velocidad como la dirección de giro del motor, lo que lo hace ideal para una variedad de aplicaciones, como la construcción de robots, máquinas CNC o impresoras 3D.

Especificaciones técnicas del controlador L298N:

  • Voltaje de salida del motor: 5V – 35V
  • Voltaje de salida del motor (recomendado): 7V – 12V
  • Voltaje de entrada lógica: 5V – 7V
  • Corriente continua por canal: 2A
  • Potencia máxima disipada: 25W

¿Cómo identificar las fases de un motor paso a paso bipolar?

Antes de comenzar a conectar el motor al módulo, es necesario identificar las fases del motor que planeas utilizar. La mejor manera de hacerlo es revisar la hoja de especificaciones del motor. Si no puedes encontrar la hoja de especificaciones, puedes utilizar un multímetro para medir la resistencia entre pares de cables y así identificar las fases del motor.

Conexión del motor bipolar NEMA 17 al módulo L298N y Arduino:

Para conectar el motor al módulo, simplemente sigue los pasos descritos en el tutorial y asegúrate de suministrar la energía necesaria al módulo. Asegúrate de tener el cableado correcto y de hacer las conexiones apropiadas tanto para la alimentación como para el control del motor.

Código de Arduino para controlar un motor paso a paso NEMA 17:

El siguiente código te permitirá hacer girar el motor en sentido horario a 60 RPM y luego en sentido antihorario. Este código es un punto de partida para experimentos y proyectos más avanzados que impliquen el control de motores paso a paso con el controlador L298N.

Código Arduino:

  1. Include the Arduino Stepper Library
  2. Number of steps per output rotation
  3. Create Instance of Stepper library
  4. Setup function
  5. Loop function

Con este código podrás comprender completamente cómo controlar un motor paso a paso bipolar como el NEMA 17 con el controlador L298N y Arduino. ¡Experimenta y diviértete aprendiendo!

Fuente: Controla el motor paso a paso con el controlador L298N y Arduino – Circuito.io

5 comentarios en «Controle el motor paso a paso con el controlador de motor L298N y Arduino»

  1. ¡Wow, este artículo es justo lo que necesitaba para aprender a controlar un motor paso a paso con el controlador L298N y Arduino! Gracias por explicarlo de forma tan sencilla y detallada. ¡Listo para poner en práctica! 🤖🔧👍

  2. ¡Qué chido tutorial! Me encanta cuando explican de manera clara cómo utilizar el L298N y Arduino para controlar motores paso a paso. Ya me siento preparado para probarlo, gracias por la guía. ¡A seguir investigando! 🤖🔧👾

Deja un comentario