L293d motor driver: controlando motores de corriente continua con arduino

Valoración: 2.79 (283 votos)

El L293D es un circuito integrado esencial para controlar motores de corriente continua (DC) con Arduino. Este componente, también conocido como driver de motor, te permite controlar la dirección y la velocidad de tus motores de forma sencilla y eficiente. En este artículo, exploraremos en detalle cómo funciona el L293D y te guiaremos a través de un proyecto práctico para ponerlo en acción.

¿Qué es un L293D?

El L293D es un circuito integrado que contiene cuatro puentes H. Un puente H es un circuito electrónico que te permite invertir la polaridad de la corriente que se aplica a un motor. Esto te da la capacidad de controlar la dirección de giro del motor, haciéndolo girar hacia adelante o hacia atrás.

Características Clave del L293D

  • Voltaje de operación: El L293D puede operar con un voltaje de entrada entre 5V y 36V.
  • Corriente de salida: Puede manejar hasta 600 mA por canal.
  • Compatibilidad TTL: Sus entradas son compatibles con niveles TTL, lo que facilita su integración con Arduino.
  • Dos puentes H independientes: El L293D incluye dos puentes H independientes, lo que te permite controlar dos motores simultáneamente.

Control de Motores con L293D

Para controlar un motor con el L293D, necesitas conectar las salidas del chip a las terminales del motor. El sentido de giro del motor se controla mediante los pines de entrada del L293D. Estos pines se activan con señales lógicas (HIGH o LOW) desde Arduino.

El pin Enable del L293D controla la activación o desactivación del motor. Cuando el pin Enable está en HIGH, el motor puede girar, mientras que cuando está en LOW, el motor se detiene.

Ejemplo Práctico: Control de un Motor con Arduino y L293D

A continuación, se muestra un ejemplo de código Arduino para controlar un motor de corriente continua utilizando un L293D:

l293 motor driver - Cuántos pines tiene el L293D

#define E1 10 // Enable Pin for motor 1#define I1 8 // Control pin 1 for motor 1#define I2 9 // Control pin 2 for motor 1void setup() { for (int i = 8 ; i<11 ; i++) // Inicializamos los pines pinMode( i, OUTPUT);}void loop() { digitalWrite(E1, HIGH); // Activamos Motor1 digitalWrite(I1, HIGH); // Arrancamos digitalWrite(I2, LOW); delay(3000); digitalWrite(E1, LOW); // Paramos Motor 1 delay(1000); digitalWrite(E1, HIGH); // Activamos Motor1 digitalWrite(I1, LOW); // Arrancamos con cambio de direccion digitalWrite(I2, HIGH); delay(3000); digitalWrite(E1, LOW); // Paramos Motor 1 delay(1000);}

Este código activa el motor, lo hace girar en una dirección, lo detiene, luego lo activa nuevamente en la dirección opuesta y lo detiene de nuevo.

Variación de la Velocidad del Motor

El L293D también te permite controlar la velocidad del motor utilizando la modulación de ancho de pulso (PWM). Conectando el pin Enable a un pin PWM de Arduino, puedes variar la velocidad del motor ajustando la duración del pulso PWM.

l293 motor driver - Cuántos motores con control bidireccional pueden manejar el circuito integrado L293D

El siguiente código muestra cómo variar la velocidad del motor utilizando un potenciómetro:

l293 motor driver - Cuál es el voltaje de salida del integrado L293D

#define E1 10 // Enable Pin for motor 1#define I1 8 // Control pin 1 for motor 1#define I2 9 // Control pin 2 for motor 1void setup() { for (int i = 8 ; i<11 ; i++) // Inicializamos los pines pinMode( i, OUTPUT);}void loop() { analogWrite(E1, analogRead(A1) / 4); // Activamos Motor1 digitalWrite(I1, HIGH); // Arrancamos digitalWrite(I2, LOW); delay(3000); digitalWrite(E1, LOW); // Paramos Motor 1 delay(1000); analogWrite(E1, analogRead(A1) / 4); // Activamos Motor1 digitalWrite(I1, LOW); // Arrancamos con cambio de direccion digitalWrite(I2, HIGH); delay(3000); digitalWrite(E1, LOW); // Paramos Motor 1 delay(1000);}

En este código, el valor del potenciómetro conectado al pin A1 de Arduino controla la velocidad del motor.

El L293D es un driver de motor versátil y fácil de usar que te permite controlar motores de corriente continua con Arduino. Con su capacidad de manejar dos motores independientes y su compatibilidad con PWM, el L293D es una herramienta ideal para una amplia gama de proyectos de robótica, automatización y electrónica. Recuerda que es importante elegir una fuente de alimentación adecuada para el L293D y los motores que estás utilizando. ¡Experimenta con el L293D y dale vida a tus proyectos!

Si quieres conocer otros artículos parecidos a L293d motor driver: controlando motores de corriente continua con arduino puedes visitar la categoría Motor.

Subir