Módulos Arduino - L298N Controlador de motor de doble puente en H: 4 pasos

Módulos Arduino - L298N Controlador de motor de doble puente en H: 4 pasos

Tabla de contenido:

Anonim

Guía de inicio rápida y sencilla para usar y explorar un módulo de controlador de motor de puente H doble L298N con un Arduino.

El modelo en el ejemplo que estoy usando es de Ebay.

Materiales necesitados:

  • L298N Módulo de controlador de motor de puente doble H (varios modelos funcionarán)
  • Cables de puente macho a hembra
  • Un Arduino, cualquier sabor.
  • Una fuente de alimentación DC, 7-35v.
  • Un motor que es el voltaje correcto para su fuente de alimentación utilizada.

Suministros:

Paso 1: Familiarícese con su módulo de controlador de motor de puente H doble L298N:

Uso:

Los H-Bridge se utilizan normalmente para controlar la velocidad y la dirección de los motores, pero se pueden usar para otros proyectos, como controlar el brillo de ciertos proyectos de iluminación, como los conjuntos de LED de alta potencia.

Cómo funciona:

Un puente H es un circuito que puede conducir una corriente en cualquiera de las dos polaridades y ser controlado por * Modulación de ancho de pulso (PWM).

* La modulación por ancho de pulso es un medio para controlar la duración de un pulso electrónico. En los motores, intente imaginar el cepillo como una rueda de agua y los electrones como las gotas de agua que fluyen. El voltaje sería el agua que fluye sobre la rueda a una velocidad constante, mientras más agua fluya, mayor será el voltaje. Los motores se clasifican a ciertos voltajes y pueden dañarse si el voltaje se aplica en gran medida o si se cae rápidamente para disminuir la velocidad del motor. Por lo tanto PWM. Tome la analogía de la rueda hidráulica y piense en el agua que golpea en pulsos pero a un flujo constante. Cuanto más largos sean los impulsos, más rápido girará la rueda, cuanto más cortos sean los impulsos, más lenta girará la rueda hidráulica. Los motores durarán mucho más tiempo y serán más confiables si se controlan a través de PWM.

Patas:

  • Salida 1: Salida del motor A
  • Salida 2: Salida del motor A
  • Salida 3: Salida del motor B
  • Fuera 4: Mo (En realidad puede ser de 5v-35v, solo marcado como 12v)
  • GND: tierra
  • 5v: 5v de entrada (innecesario si su fuente de alimentación es 7v-35v, si la fuente de alimentación es 7v-35v entonces puede actuar como un 5v fuera)
  • EnA: Habilita la señal PWM para el Motor A (consulte la sección "Consideraciones de croquis de Arduino")
  • In1: Habilitar Motor A
  • In2: Habilitar Motor A
  • In3: Habilitar Motor B
  • In4: Habilitar Motor B
  • EnB: habilita la señal PWM para el motor B (consulte la sección "Consideraciones de bocetos de Arduino")

Presupuesto:

  • Chip H de doble puente H: L298N
  • Tensión lógica: Voltaje de accionamiento 5V: 5V-35V
  • Corriente lógica: 0-36mA Corriente de accionamiento: 2A (puente único MAX)
  • Máximo poder: 25W
  • Dimensiones: 43 x 43 x 26 mm
  • Peso: 26 g

Paso 2: Cableado a un Arduino:

Hay varios modelos diferentes de estos controladores de motor de puente doble L298N. El esquema de cableado genérico anterior debería hacer el truco para la mayoría.

Dos cosas para mencionar;

  • Asegúrate de tener todos tus argumentos unidos; Arduino, fuente de poder, y el controlador del motor.
  • Los pines PWM no son necesarios si no desea controlar las funciones de PWM.

Paso 3: Consideraciones de Arduino Sketch:

El bosquejo del código de Arduino es bastante sencillo. Como no hay una biblioteca para el Controlador de Motor de Puente H Dual L298N, solo tiene que declarar a qué pines está conectado el controlador.

los "Int dir (número) Pin (letra)" los pines se pueden conectar a cualquier pin digital disponible que tenga disponible, siempre y cuando declare el pin correcto en su boceto. Esto hace que el controlador de motor de puente H doble L298N sea muy versátil si su proyecto usa muchos pines Arduino.

los En t"SpeedPin (letra)" los pines deben estar conectados a un pin PWM en el Arduino si desea habilitar el control de velocidad a través de PWM.

Como truco rápido, he incluido una lista de pines PWM para los dos tipos principales de Arduino que utilizo:

  • EN MEGA - PWM: 2 a 13 y 44 a 46. Proporcione una salida PWM de 8 bits con la función analogWrite ().
  • UNO - PWM: 3, 5, 6, 9, 10 y 11. Proporcione una salida PWM de 8 bits con la función analogWrite ().

Paso 4: Ejemplo de Arduino Sketch:

Este ejemplo de código que escribí para permitir que un programa de monitoreo en serie como Putty controle el controlador de motor de puente doble L298N a través de un teclado al presionar las teclas.

Controles:

Llave ………. Motor

1 …………… Motor 1 adelante

2 …………… Motor 1 Stop

3 …………… Motor 1 Reversa

4 …………… Motor 2 adelante

5 …………… Motor 2 Stop

6 …………… Motor 2 Reverse

Código:

  • Se corrigieron los problemas de formato. (12/29/2014):

Descarga el adjunto L298N_Dual_H_Bridge_Keyboard_Control_Reichenstein7.ino

Descarga alternativa:

¡2 personas hicieron este proyecto!

  • Mihai Bucur lo hizo!

  • Chiobesek lo hizo!

¿Hiciste este proyecto? ¡Compártelo con nosotros!

Recomendaciones

  • Mash Up Arduino Code Samples

  • Prototipo de ornitóptero de código abierto. Arduino accionado y control remoto.

  • Clase de internet de las cosas

  • Concurso de carpintería

  • Concurso de Colores del Arcoiris

  • Reto de fiesta

114 discusiones

0

Reichenstein7

Hace 4 años en Introducción

He agregado un enlace al archivo.ino a través de Mediafire para aquellos que aún están viendo errores de formato.

3 respuestas 0

YveG1 Reichenstein7

Responder hace 3 años sobre Introducción

¿Por qué conectas los 5V de Pi a los 5V en el tablero?

Esto parece extraño. En todos los demás sitios, leo que la placa suministrará 5V cuando se ejecute el suministro de 7-12V. ¡¡Pero nunca dicen que debas poner 5V del Pi en él ???!

0

Reichenstein7 YveG1

Responder hace 3 años sobre Introducción

Este paso no es necesario, me gusta unir rieles de igual valor V para la estabilidad de mis proyectos (algunos componentes son más pesados ​​que otros y v-droop es molesto). Lo que se necesita es asegurarse de que los componentes de sus proyectos siempre estén conectados a tierra.

0

IgorS32 Reichenstein7

Responder hace 3 años.

Esa no es una buena idea. En el mejor de los casos, no hará nada, en el peor de los casos (más probable), está cortocircuitando 2 fuentes de voltaje que no son * idénticas, generando un delta de voltaje en una resistencia muy pequeña.

0

shoikat

Pregunta hace 10 meses sobre Introducción

¿Cuánto uso del motor en L298N H Bridge motor driver

1 respuesta 0

rubruble shoikat

Respuesta hace 3 meses

1,000,000

0

rubruble

Pregunta hace 3 meses en el paso 4

Por favor

0

alraed_engs

Pregunta hace 1 año

¿Cuánto voltaje y corriente eléctrica hay en el Módulo de controlador de unidad de puente doble H azul L298N?

0

surajb26

Pregunta hace 1 año en Introducción

¿Cuál es el límite de corriente para que este módulo de derivador de motor funcione con un motor de alto amperio e.i. más de 3 amperios?

0

flocs

hace 1 año

Hola, Intenté esto con los dos módulos que tiene en las instrucciones (uno con los conectores azules para el motor en el lado opuesto y el otro con los conectores amarillos del motor en el mismo lado). Estoy tratando de controlar el uso de PWM, así que uso esto:

// su valor se calcula en otra función, donde leo un codificador rotatorio.

// El valor es 0-100 con pasos de 10

int pwmSpeed;

void setPWM () {

digitalWrite (LOCO_LEFT_PIN, dirección == 1? ALTO: BAJO);

digitalWrite (LOCO_RIGHT_PIN, direction == -1? HIGH: LOW);

analogWrite (LOCO_SPEED_PWM_PIN, pwmSpeed);

}

Cuando pruebo el código "seco" todo se ve bien. Giro el codificador rotatorio 1 clic a cada lado y los valores de direction y pwmSpeed ​​están impresos y son correctos.

Sin embargo, cuando coloco una locomotora (tren modelo) en los rieles, luego cada vez que salgo algo menos de 0 al pin pwm, solo escucho un zumbido en el motor del loco. ¿Alguna idea de por qué?

1 respuesta 0

flocs flocs

Responder hace 1 año

Resultó que funciona, es solo la naturaleza de PWM de baja frecuencia. En ciclos de trabajo más altos, el motor comienza a girar. En una frecuencia más alta no escuchas el zumbido.

0

Champarl

Hace 2 años

Hola, De acuerdo con la hoja de datos L298n, hay sensores de corriente en este chip. Podemos ver la salida en la "imagen de cableado" (pines CSA y CSB).

Compré este chip pero en la configuración de tu primera foto.

¿Alguna idea para tener acceso al sensor de corriente?

1 respuesta 0

flocs Champarl

Responder hace 1 año

¿Has descubierto cómo usar CSA, CSB con arduino?

0

MuhannadS2

hace 1 año

Ya conozco la forma de cambiar la velocidad de los motores, pero me pregunto cómo el puente H controla la velocidad.

0

Packers_Fan

Hace 2 años

¿Es posible duplicar los controladores para un páramo que tiene un consumo de corriente mayor que el valor nominal para este dispositivo?

1 respuesta 0

VedA1 Packers_Fan

Responder hace 1 año

Sí. Tú podrías. Un conductor puede controlar dos motores. Primer paralelo ambas salidas para doble corriente. Si eso no es suficiente, conecte más controladores y ponga en paralelo todas las salidas.

0

Stephen RoyK

hace 1 año

¿Puedo usarlo como fuente de alimentación de 5v después de conectar el suministro de 12v?

0

fbujold

Hace 2 años

He estado buscando por un tiempo pero no puedo encontrar la respuesta.

Conecté un motor paso a paso a la salida A y B, dejé los 5 voltios y ambos habilita el puente en su lugar, conecté el IN1-4 al arduino 8-11, alimenté al arduino con la fuente del puente 5 V, cargué el arduino "una vuelta" (200 pulsos) rutina de muestra paso a paso. Funciona como un amuleto durante unos 90 segundos y luego entra la protección térmica.

¿Alguna idea de alguien?

2 respuestas 0

tengfoong_lam fbujold

Responder hace 1 año

Tuve el mismo problema al suministrar 12 V para alimentar mi motor paso a paso. Aparentemente, la batería estaba suministrando demasiada energía al conductor y, después de un tiempo, los steppers se detendrán, probablemente debido al sobrecalentamiento del chip. Esencialmente, la solución es usar los pines EnA y EnB para controlar la energía que va al stepper.

Lo que hice fue:

1) Mantuve el puente 12V (etiquetado número 3 en http: //www.instructables.com/id/Control-DC-and-st … en el chip, en contra de las instrucciones en línea que indicaron que se debe eliminar si suministrando> 12 V. Intenté quitarlo y el chip completo no funcionaría en absoluto.

2) Saqué los puentes de los pines PWM EnA y EnB. Conecté dos Arduino Pins con funcionalidad PWM (por ejemplo, 45 y 46 en el Arduino Mega) a EnA y EnB. En el Código de Arduino, utilicé analogWrite para los pines y ajusté el valor escrito (debería ser alrededor de 50-200 dependiendo de las especificaciones de la fuente de alimentación y del motor paso a paso) hasta que la potencia suministrada al stepper sea la correcta para que pueda girar durante un largo tiempo sin sobrecalentamiento del conductor).

Nota 1: el valor máximo para analogWrite es 255, lo que equivale a volver a colocar los puentes en los pines EnA y EnB, lo que significa que se suministra toda la energía de la batería al stepper. Por lo tanto, un valor inferior reduciría la potencia al paso a paso y evitaría el sobrecalentamiento.

Nota 2: Utilizo "potencia" en mi respuesta porque no estoy seguro de que la tensión o la corriente estén fallando aquí. Tal vez un experto en electrónica podría arrojar algo de luz sobre esto?

Sí, esa es la respuesta que se me ocurrió en base a mi experimentación con este controlador de motor. La mayoría de los tutoriales en Internet ignoran los pines En cuando enseñan cómo cablear los motores paso a paso, que es una solución que solo funcionará si la fuente de su batería se adapta al motor paso a paso que está utilizando.

0

fbujold fbujold

Responder hace 2 años.

Olvidé, estoy ejecutando el puente de 7 a 9 VDC, con los mismos resultados