Tabla de contenido:

Tutorial Arduino L293D Motor Driver Shield: 8 pasos
Tutorial Arduino L293D Motor Driver Shield: 8 pasos

Video: Tutorial Arduino L293D Motor Driver Shield: 8 pasos

Video: Tutorial Arduino L293D Motor Driver Shield: 8 pasos
Video: Motor driver shield control (L293D IC) 2024, Noviembre
Anonim
Tutorial Arduino L293D Motor Driver Shield
Tutorial Arduino L293D Motor Driver Shield

Puede leer este y muchos otros tutoriales increíbles en el sitio web oficial de ElectroPeak

Visión general

En este tutorial, aprenderá a conducir motores de CC, paso a paso y servomotores utilizando un protector de controlador de motor Arduino L293D.

Lo que vas a aprender:

  • Información general sobre motores DC
  • Introducción al blindaje del motor L293D
  • Conducción de motores DC, servo y paso a paso

Paso 1: Motores y controladores

Motores y controladores
Motores y controladores

Los motores son una parte inseparable de muchos proyectos de robótica y electrónica y tienen diferentes tipos que puede utilizar según su aplicación. A continuación, se ofrece información sobre los diferentes tipos de motores:

Motores de CC: el motor de CC es el tipo de motor más común que se puede utilizar para muchas aplicaciones. Lo podemos ver en coches de control remoto, robots, etc. Este motor tiene una estructura sencilla. Comenzará a rodar aplicando el voltaje adecuado a sus extremos y cambiará su dirección al cambiar la polaridad del voltaje. La velocidad de los motores de CC se controla directamente mediante la tensión aplicada. Cuando el nivel de voltaje es menor que el voltaje máximo tolerable, la velocidad disminuiría.

Motores paso a paso: en algunos proyectos, como impresoras 3D, escáneres y máquinas CNC, necesitamos conocer con precisión los pasos de giro del motor. En estos casos utilizamos motores paso a paso. El motor paso a paso es un motor eléctrico que divide una rotación completa en varios pasos iguales. La cantidad de rotación por paso está determinada por la estructura del motor. Estos motores tienen una precisión muy alta.

Servomotores: el servomotor es un motor de CC simple con un servicio de control de posición. Al usar un servo, podrá controlar la cantidad de rotación de los ejes y moverlo a una posición específica. Suelen tener unas dimensiones reducidas y son la mejor opción para brazos robóticos.

Pero no podemos conectar estos motores a microcontroladores o placa controladora como Arduino directamente para controlarlos, ya que posiblemente necesiten más corriente de la que puede conducir un microcontrolador, por lo que necesitamos controladores. El controlador es un circuito de interfaz entre el motor y la unidad de control para facilitar la conducción. Las unidades vienen en muchos tipos diferentes. En esta instrucción, aprenderá a trabajar en el protector del motor L293D.

El escudo L293D es una placa de controlador basada en L293 IC, que puede impulsar 4 motores de CC y 2 motores paso a paso o servomotores al mismo tiempo.

Cada canal de este módulo tiene la corriente máxima de 1.2A y no funciona si el voltaje es más de 25v o menos de 4.5v. Por lo tanto, tenga cuidado al elegir el motor adecuado de acuerdo con su voltaje y corriente nominales. Para más características de este escudo, mencionemos la compatibilidad con Arduini UNO y MEGA, protección electromagnética y térmica del motor y circuito de desconexión en caso de aumento de voltaje no convencional.

Paso 2: ¿Cómo usar el protector del controlador del motor Arduino L293D?

¿Cómo utilizar Arduino L293D Motor Driver Shield?
¿Cómo utilizar Arduino L293D Motor Driver Shield?

Mientras usa este escudo, 6 pines analógicos (que también se pueden usar como pines digitales), el pin 2 y el pin 13 de arduino están libres.

En el caso de utilizar servomotor, los pines 9, 10, 2 están en uso.

En el caso de usar un motor de CC, el pin 11 para el n. ° 1, el pin 3 para el n. ° 2, el pin 5 para el n. ° 3, el pin 6 para el n. ° 4 y los pines 4, 7, 8 y 12 para todos ellos están en uso.

En el caso de utilizar un motor paso a paso, los pines 11 y 3 para el n. ° 1, los pines 5 y 6 para el n. ° 2 y los pines 4, 7, 8 y 12 para todos ellos están en uso.

Puede utilizar pines libres mediante conexiones cableadas.

Si está aplicando una fuente de alimentación separada a Arduino y al escudo, asegúrese de haber desconectado el puente en el escudo.

Paso 3: conducción del motor de CC

Conducir el motor de CC
Conducir el motor de CC

#incluir

La biblioteca que necesita para controlar el motor:

AF_DCMotor motor (1, MOTOR12_64KHZ)

Definición del motor de CC que está utilizando.

El primer argumento representa el número de motores en el escudo y el segundo representa la frecuencia de control de velocidad del motor. El segundo argumento puede ser MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ y MOTOR12_8KHZ para los motores número 1 y 2, y puede ser MOTOR12_8KHZ, MOTOR12_8KHZ y MOTOR12_8KHZ para los motores número 3 y 4. Y si se deja sin marcar, por defecto será 1.

motor.setSpeed (200);

Definición de la velocidad del motor. Se puede configurar de 0 a 255.

bucle vacío () {

motor.run (ADELANTE);

retraso (1000);

motor.run (HACIA ATRÁS);

retraso (1000);

motor.run (LIBERAR);

retraso (1000);

}

La función motor.run () especifica el estado de movimiento del motor. El estado puede ser ADELANTE, ATRÁS y LIBERAR. RELEASE es lo mismo que el freno, pero puede llevar algún tiempo hasta que el motor se detenga por completo.

Se recomienda soldar un condensador de 100 nF a cada clavija del motor para reducir el ruido.

Paso 4: conducción del servomotor

Servomotor de conducción
Servomotor de conducción

La biblioteca y los ejemplos de Arduino IDE son adecuados para conducir un servomotor.

#incluir

La biblioteca que necesita para conducir el servomotor

Servo myservo;

Definición de un objeto servomotor.

configuración vacía () {

myservo.attach (9);

}

Determine el pin que se conecta al Servo. (Pin 9 para sevo # 1 y pin 10 para servo # 2)

bucle vacío () {

myservo.write (val);

retraso (15);

}

Determine la cantidad de rotación del motor. Entre 0 a 360 o 0 a 180 según tipo de motor.

Paso 5: conducción del motor paso a paso

Conducción de motor paso a paso
Conducción de motor paso a paso

#include <AFMotor.h>

Determine la biblioteca que necesita

AF_Motor paso a paso (48, 2);

Definición de un objeto de motor paso a paso. El primer argumento es la resolución del paso del motor. (por ejemplo, si su motor tiene la precisión de 7.5 grados / paso, significa que la resolución del paso del motor es. El segundo argumento es el número del motor paso a paso conectado al blindaje.

configuración vacía () {motor.setSpeed (10);

motor.onestep (ADELANTE, SIMPLE);

motor.release ();

retraso (1000);

}

bucle vacío () {motor.step (100, ADELANTE, ÚNICO);

motor.step (100, HACIA ATRÁS, UNICO);

motor.paso (100, ADELANTE, DOBLE); motor.step (100, HACIA ATRÁS, DOBLE);

motor.paso (100, ADELANTE, INTERCAMBIO); motor.step (100, HACIA ATRÁS, INTERCAMBIO);

motor.step (100, ADELANTE, MICROSTEP); motor.step (100, HACIA ATRÁS, MICROSTEP);

}

Determine la velocidad del motor en rpm.

El primer argumento es la cantidad de paso necesario para moverse, el segundo es para determinar la dirección (HACIA ADELANTE o HACIA ATRÁS), y el tercer argumento determina el tipo de pasos: SINGLE (Activar una bobina), DOBLE (Activar dos bobinas para más torque), INTERLEAVED (Cambio continuo en el número de bobinas de una a dos y viceversa a doble precisión, sin embargo, en este caso, la velocidad se reduce a la mitad), y MICROSTEP (El cambio de pasos se realiza lentamente para mayor precisión. En este caso, el par es menor) Por defecto, cuando el motor deja de moverse, mantiene su estado.

Debe utilizar la función motor.release () para liberar el motor.

Paso 6: Compre Arduino L293D Motor Driver Shield

Compre Arduino L293D Shield de ElectroPeak

Paso 7: Proyectos relacionados:

  • L293D: teoría, diagrama, simulación y distribución de pines
  • La guía para principiantes para controlar motores de Arduino y L293D

Paso 8: Me gusta en FaceBook

Si encuentra este tutorial útil e interesante, por favor haga clic en Me gusta en Facebook.

Recomendado: