Lección 95: Uso de un escudo de motor de CC L293D de 4 motores | Curso de Arduino Paso a Paso

Lección 95: Uso de un escudo de motor de CC L293D de 4 motores | Curso de Arduino Paso a Paso

En este tutorial, exploraremos cómo controlar cuatro motores de corriente continua utilizando el escudo de motor L293D con Arduino. Esta configuración es particularmente útil para aplicaciones de robótica, como la construcción de un coche robot, donde el control preciso del motor es esencial. Al final de esta lección, tendrás un modelo funcional que puede operar múltiples motores simultáneamente.

El escudo de motor L293D simplifica el proceso de cableado y te permite controlar los motores con solo unas pocas conexiones. Aprenderás cómo cablear el escudo al Arduino, configurar el código y ejecutar comandos de control del motor de manera efectiva. Para una explicación más visual, puedes consultar el video en marcas de tiempo específicas para detalles de cableado y codificación (en el video en mm:ss).

Hardware Explicado

El componente principal de este proyecto es el escudo de motor L293D, que es un controlador de motor de medio puente H cuádruple. Esto significa que puede controlar dos motores en ambas direcciones, lo que permite un control total sobre la rotación del motor. El escudo se conecta directamente al Arduino, lo que facilita la gestión de la energía y las señales de control sin un cableado desordenado.

Cada chip L293D puede manejar hasta 600 mA de corriente por canal y opera a voltajes que oscilan entre 4.5V y 36V. Este rango lo hace adecuado para una variedad de motores de corriente continua. Además, el escudo cuenta con un puente que te permite alimentar tanto los motores como el Arduino desde una única fuente de alimentación externa.

Detalles de la hoja de datos

Fabricante Texas Instruments
Número de pieza L293D
Voltaje de lógica/IO 5 V
Tensión de alimentación 4.5 - 36 V
Corriente de salida (por canal) 600 mA
Corriente pico (por canal) 1.2 A
Guía de frecuencia de PWM 1 kHz - 20 kHz
Umbrales de lógica de entrada 2 V min (alto), 0.8 V max (bajo)
Caída de voltaje / RDS(on)/ saturación 1.5 V max
Límites térmicos 150 °C
Paquete 16-DIP
Notas / variantes Configuración de puente H dual

  • Asegúrese de que los motores no superen los 600 mA para evitar daños.
  • Utilice un disipador de calor adecuado para aplicaciones de alta corriente.
  • Conecta la alimentación externa antes de encender el Arduino.
  • Verifica la colocación de los puentes para alimentar el escudo y el Arduino.
  • Pruebe la dirección del motor intercambiando las conexiones si es necesario.

Instrucciones de cableado

L293d_Shield_wiring

Comienza conectando el escudo de motor L293D a tu Arduino Uno o Mega. Alinea los pines del escudo con los conectores del Arduino y presiona firmemente. A continuación, conecta tus motores de corriente continua a los terminales etiquetadosM1,M2,M3, yM4en el escudo. Cada motor requerirá dos terminales, así que asegúrate de conectarlos correctamente para la dirección de rotación adecuada.

Para la alimentación, conecta una batería externa o una fuente de alimentación a los terminales de entrada de alimentación del escudo, asegurándote de que el voltaje esté dentro del rango de 4.5V a 36V. No olvides conectar el jumper en el escudo para permitir que la energía fluya hacia el Arduino. Finalmente, conecta la tierra de la fuente de alimentación al pin de tierra del Arduino para completar el circuito.

Instala la biblioteca requerida

haz clic en el icono de Biblioteca y busca:Adafruit Motor Sheild Libraryy haz clic en Instalar para instalarlo.

Ejemplos de código y guía paso a paso

AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);

En el código, inicializamos cuatro objetos de motor:motor1,motor2,motor3, ymotor4Cada motor se asigna un número de canal que corresponde a las conexiones de terminal del escudo del motor. Esto nos permite controlar cada motor de forma individual.

void setup() {
  Serial.begin(9600); // set up Serial library at 9600 bps
  Serial.println("Robojax L293D Example");
}

Elsetup()La función inicializa la comunicación serial, permitiéndonos enviar y recibir mensajes desde el Arduino IDE. Esto es útil para depurar y monitorear el proceso de control del motor.

motor1.setSpeed(speed(50)); //set speed for motor 1 at 50%
motor1.run(FORWARD); //send motor 1 to Forward rotation

Para controlar los motores, establecemos la velocidad usando elsetSpeed()método, que toma un valor entre 0 y 255. Elrun()método luego inicia el motor en la dirección especificada, comoFORWARDoBACKWARDLa velocidad se puede ajustar dinámicamente según sea necesario.

Demostración / Qué Esperar

Una vez que todo esté cableado y el código esté cargado, deberías ver los motores girar de acuerdo con los comandos en el código. Inicialmente, un motor se encenderá, seguido por los otros en secuencia, cada uno funcionando durante una duración establecida. Si los motores no funcionan como se esperaba, verifica tu cableado, asegúrate de que el conector esté conectado y verifica que la fuente de poder sea adecuada (en el video a mm:ss).

Marcas de Tiempo del Video

  • 00:00 Introducción
  • 03:00 Hoja de datos para L293D
  • 03:56 Explicación del cableado
  • 07:21 Código y biblioteca
  • 13:51 Demostración controlando 4 motores

Imágenes

L293D-Sheild-1
L293D-Sheild-1
L293D-Sheild-2
L293D-Sheild-2
L293D-Sheild-3
L293D-Sheild-3
L293d_sheild_main
L293d_sheild_main
L293d_Shield_wiring
L293d_Shield_wiring
439-Lesson 95: Using L293D 4 DC Motor Shield | Arduino Step-by-Step Course
Idioma: C++
¡Copiado!

Recursos y referencias

Archivos📁

No hay archivos disponibles.