En este tutorial vas a aprender a controlar un motor de corriente continua (DC) chico usando un ESP32 y el integrado L293D. Es una configuración ideal para entender cómo manejar cargas de mayor potencia desde el microcontrolador.
Resumen
Vas a ver cómo usar el puente en H del L293D para gestionar tanto la velocidad como el sentido de giro del motor, alimentándolo de forma externa para no dañar la placa de desarrollo.
Componentes necesarios
- (1) x Elegoo ESP32
- (1) x Protoboard de 400 puntos
- (1) x Integrado L293D
- (1) x Hélice y motor de 3-6v
- (8) x Cables jumper M-M (Macho a Macho)
- (1) x Módulo de fuente de alimentación
- (1) x Adaptador 9V 1A
Introducción de los componentes
Fuente de alimentación para protoboard
Es muy probable que el motor DC consuma más energía de la que un pin GPIO del ESP32 puede bancarse directamente. Si intentás conectarlo directo, podrías quemar la placa, por eso usamos un módulo de fuente de alimentación que provee la corriente necesaria.
Especificaciones del producto:
- Switch de encendido/apagado con traba.
- Indicador LED de encendido.
- Tensión de entrada: 6.5-9v (DC) vía conector de 5.5mm x 2.1mm.
- Tensión de salida: 3.3V/5v.
- Corriente de salida máxima: 700 mA.
- Rieles de control independiente: 0v, 3.3v, 5v a la protoboard.
- Pines de salida para uso externo conveniente.
- Conector USB integrado para alimentar dispositivos externos.
Configuración de la tensión de salida: La salida de tensión izquierda y derecha se puede configurar de forma independiente. Para elegir la tensión, mové el jumper a los pines correspondientes. Ojo: el LED indicador y los rieles de la protoboard no van a encender si ambos jumpers están en la posición "OFF".
Nota importante: Asegurate de alinear bien el módulo en la protoboard. El pin negativo (-) del módulo tiene que coincidir con la línea azul (-) de la protoboard, y el positivo (+) con la línea roja (+). Si lo ponés al revés, podés invertir la polaridad y dañar tu proyecto.
L293D
Este chip es súper útil porque permite controlar dos motores de forma independiente. En esta lección vamos a usar solo la mitad del integrado; la mayoría de los pines del lado derecho son para manejar un segundo motor.
Especificaciones técnicas:
- Rango amplio de tensión de alimentación: 4.5 V a 36 V.
- Alimentación lógica de entrada separada.
- Protección interna contra ESD.
- Apagado térmico por sobrecalentamiento.
- Entradas con alta inmunidad al ruido.
- Corriente de salida: 600 mA por canal.
- Corriente de pico: 1.2 A por canal.
- Diodos de sujeción integrados para supresión de transitorios inductivos.
Los L293 y L293D son controladores de medio puente en H cuádruples de alta corriente. Están diseñados para manejar cargas inductivas como relés, solenoides y motores paso a paso bipolares o motores DC. Todas las entradas son compatibles con TTL y cada salida es un circuito de accionamiento completo.
Conexiones del ESP32
M1 PWM: Conectalo a un pin PWM del ESP32 (como el GPIO 15). Enviando un valor entero entre 0 y 255 controlás la velocidad: 0 es apagado, 128 es media velocidad y 255 es el máximo.
M1 dirección 0/1 y M1 dirección 1/0: Conectá estos dos a pines GPIO. Poniendo un pin en HIGH y el otro en LOW, el motor gira en un sentido. Si invertís los valores a LOW y HIGH, el motor va a girar para el otro lado.
Esquema de conexión y diagrama de cableado
Fijate en la siguiente tabla para realizar el cableado correctamente entre el ESP32 y el L293D:
| Pin ESP32 | Pin L293D | Función |
|---|---|---|
| GPIO 18 | Enable (1,2EN) | Habilitación y velocidad del motor |
| GPIO 19 | In1 | Control de dirección |
| GPIO 5 | In2 | Control de dirección |
| 5V | VCC1 | Alimentación lógica |
| GND | GND | Tierra |
Código
Podés hacer clic en el enlace de texto azul para bajar el archivo del programa a tu dispositivo. Una vez terminada la descarga, hacé doble clic en el archivo para abrirlo. Nota: Antes de abrirlo, asegurate de tener instalado el Arduino IDE y de haber completado la configuración del paquete de soporte de placas y el driver correspondiente para tu ESP32.
Galería de referencia
Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.