Controlador de motor L293D

Un controlador de motor es un chip de circuito integrado que generalmente se usa para controlar motores en robots autónomos. El controlador del motor actúa como una interfaz entre Arduino y los motores. Los IC de controladores de motor más utilizados son de la serie L293, como L293D, L293NE, etc. Estos IC están diseñados para controlar 2 motores de CC simultáneamente. L293D consta de dos H-bridge. El puente H es el circuito más simple para controlar un motor clasificado de baja corriente. Nos referiremos al controlador de motor IC como L293D solamente. L293D tiene 16 pines.

Paso 1: Lista de piezas

1) L293D IC

2) 4 1 condensador de microfaradios

3) 6 pines macho de encabezado

4) batería o fuente de 12 voltios

5) Cables o enchufes hembra

6) 2 motores

7) Arduino (Cualquiera) para probar el controlador

8) Computadora con IDE arduino

9) Artículos diversos como soldador, alambre de soldar, etc.

Paso 2: esquema y trabajo

El L293D es un IC de 16 pines, con ocho pines, en cada lado, dedicado al control de un motor. Hay 2 pines de ENTRADA, 2 pines de SALIDA y 1 pin ENABLE para cada motor. L293D consta de dos H-bridge. El puente H es el circuito más simple para controlar un motor clasificado de baja corriente.

Pin No. - Características del Pin

  • 1 - Habilite 1-2, cuando esto sea ALTO, la parte izquierda del IC funcionará y cuando esté bajo, la parte izquierda no funcionará.
  • 2 - ENTRADA 1, cuando este pin es ALTO, la corriente fluirá a través de la salida 1
  • 3 - SALIDA 1, este pin debe estar conectado a uno de los terminales del motor
  • 4, 5 - GND, clavijas de tierra
  • 6 - SALIDA 2, este pin debe estar conectado a uno de los terminales del motor
  • 7 - ENTRADA 2, cuando este pin es ALTO, la corriente fluirá a través de la salida 2
  • 8 - VCC2, este es el voltaje que se suministrará al motor.
  • 16 - VCC1, esta es la fuente de alimentación del IC. Por lo tanto, este pin debe suministrarse con 5 V
  • 15 - ENTRADA 4, cuando este pin es ALTO, la corriente fluirá a través de la salida 4
  • 14 - SALIDA 4, este pin debe estar conectado a uno de los terminales del motor
  • 13, 12 - GND, clavijas de tierra
  • 11 - SALIDA 3, este pin debe estar conectado a uno de los terminales del motor
  • 10 - ENTRADA 3, cuando este pin es ALTO, la corriente fluirá a través de la salida 3
  • 9 - Habilite 3-4, cuando esto es ALTO, la parte derecha del IC funcionará y cuando está bajo, la parte derecha no funcionará.

¿Por qué 4 motivos en el CI?

El controlador de motor IC trata con corrientes pesadas. Debido a tanto flujo de corriente, el IC se calienta. Por lo tanto, necesitamos un disipador de calor para reducir la calefacción. Por lo tanto, hay 4 pines de tierra. Cuando soldamos los pines en la PCB, obtenemos una gran área metálica entre los terrenos donde se puede liberar el calor.

¿Por qué condensadores?

El motor de CC es una carga inductiva. Por lo tanto, desarrolla un EMF posterior cuando es suministrado por un voltaje. Puede haber fluctuaciones de voltaje mientras se usa el motor, por ejemplo, cuando de repente tomamos una marcha atrás mientras el motor se movía en alguna dirección. En este punto, la fluctuación en el voltaje es bastante alta y esto puede dañar el CI. Por lo tanto, utilizamos cuatro condensadores que ayudan a amortiguar la variación extrema en la corriente.

Paso 3: Mecanismo de trabajo y código Arduino

Ahora, dependiendo de los valores de Input y Enable, los motores rotarán en sentido horario o antihorario con velocidad máxima (cuando Enable es ALTO) o con menos velocidad (cuando Enable se proporciona con PWM). Supongamos que el motor izquierdo se activa. es ALTO y la Entrada 1 y la Entrada 2 son ALTA y BAJA respectivamente, entonces el motor se moverá en el sentido de las agujas del reloj.

Código Arduino que solía probar: -

// Probar los motores de corriente continua con
// L293D // Definir pines // Motor A int enableA = 2; int MotorA1 = 4; int MotorA2 = 5; // Motor B int enableB = 3; int MotorB1 = 6; int MotorB2 = 7; configuración nula () {Serial.begin (9600); // configurar modos pin pinMode (enableA, OUTPUT); pinMode (MotorA1, SALIDA); pinMode (MotorA2, SALIDA); pinMode (enableB, OUTPUT); pinMode (MotorB1, SALIDA); pinMode (MotorB2, SALIDA); } void loop () {// habilitando el motor A Serial.println ("Habilitando motores"); digitalWrite (enableA, HIGH); digitalWrite (enableB, HIGH); retraso (1000); // hacer algo Serial.println ("Motion Forward"); digitalWrite (MotorA1, LOW); digitalWrite (MotorA2, HIGH); digitalWrite (MotorB1, BAJO); digitalWrite (MotorB2, ALTO); retraso (3000); Serial.println ("Movimiento hacia atrás"); digitalWrite (MotorA1, HIGH); digitalWrite (MotorA2, LOW); digitalWrite (MotorB1, ALTO); digitalWrite (MotorB2, BAJO); retraso (3000); Serial.println ("Motores de detención"); // detener digitalWrite (enableA, LOW); digitalWrite (enableB, LOW); retraso (3000); }

Artículos Relacionados