¿Cómo puedo usar arduino para controlar la velocidad y dirección de 4 motores?

Considero que esta pregunta es diferente de otras debido a la variedad de cosas que necesito que esta configuración pueda hacer.

Descripción: Quiero construir un controlador de motor minimalista capaz de controlar la velocidad y la dirección de 2 servos y 2 motores de corriente continua con escobillas. Es decir, tengo limitaciones de tamaño y peso que no creo que se satisfagan con soluciones disponibles en el mercado.

El problema: tengo una placa arduino (todos/cualquier modelo) que solo puede generar 40 mA por pin, lo que no es suficiente para alimentar incluso el pequeño motor de CC que estoy usando. Si enciendo los motores de CC directamente desde la batería LiPo 3.7v 150mA/h 25C, parece girar a la velocidad máxima que necesito para poder lograr desde el arduino. Necesito poder controlar la velocidad y la dirección de cada uno de los motores desde la salida PWM de arduino usando energía de 1 o más baterías LiPo. La batería que tengo viene con los motores, así que sé que puede alimentarlos.

Historia: Recuperé los motores y la batería de un pequeño rc heli y quiero reconstruirlo como un UAV reemplazando el chip integrado con mi pequeño arduino (pro mini o teensy).

Actualización 1: Aparentemente, es posible que haya estado complicando demasiado el problema y todo lo que necesito es un puente H simple. Volveré a publicar si este resulta ser el caso. Gracias por los útiles comentarios. Voy a votar una vez que tenga suficiente representante.

¡Gracias!

Hay muchas preguntas existentes sobre cómo construir un controlador de motor de puente H; ¿Quizás comenzar con un diseño de escudo existente y modificarlo?
Tengo entendido que un puente H solo le permite lograr un giro bidireccional del motor y no velocidad. ¿Estoy equivocado?
Con el puente H, puede controlar la velocidad en cualquier dirección usando PWM en uno de los pines que controla.
Eso suena tan simple. Tal vez solo he estado complicando demasiado el problema. Entonces, ¿por qué hay todas estas publicaciones largas sobre transistores y amplificadores operacionales en respuesta al control de motores?
No estoy seguro de a qué publicaciones te refieres. Hay matices y precauciones que se deben tomar al diseñar circuitos de control de motores (diodos de amortiguación, etc.), o tal vez las publicaciones discutan cómo funcionan íntimamente los transistores. Sin embargo, en aplicaciones simples, un principiante puede sobrevivir con la simple idea de que los transistores y los relés son solo interruptores.
Aquí hay un artículo que recomienda un transistor TIP120 en lugar de un puente H. Sin embargo, no pude hacerlo funcionar. enlace
El artículo del transistor al que se vinculó le dará control de velocidad pero no dirección. Puede ser instructivo para usted hacer que funcione de todos modos solo para lograr una mejor comprensión de los conceptos.
@ogc-nick Estoy de acuerdo con pjc50 en que sería un buen ejercicio construir ese circuito. Esencialmente, solo está construyendo un puente de media H con el TIP120; cuando para controlar la dirección, necesita un puente H completo.

Respuestas (2)

Tienes 2 preguntas aquí:

  • ¿Cómo manejar un servomotor?
  • ¿Cómo conducir un motor DC con escobillas?

servos

Los servos se pueden controlar mediante una señal PWM. Son pulsos entre 1ms y 2ms a 50Hz, la longitud de los pulsos controla el ángulo del servo. Hay 3 cables: GND, VCC y uno para la señal de control.

Motores DC con escobillas

Los motores de CC con escobillas se pueden accionar regulando el voltaje de entrada. Esto se puede lograr mediante el filtrado de paso bajo de la salida de un amplificador operacional de bucle abierto impulsado por una señal PWM. Este es un PWM diferente que para controlar los servos, la relación de alto/bajo nivel determina la fracción del voltaje de entrada que desea usar para controlar el motor.

Un puente H podría funcionar, pero no estoy familiarizado con este tipo de circuito.

No estoy seguro de qué tipo de UAV está haciendo, suena como un bi-helicóptero. Si este es el caso, no necesita poder controlar la dirección de rotación de los motores. Solo necesita cablear los motores para que funcionen en diferentes direcciones, pero la dirección no necesita cambiar en vuelo, lo que simplifica enormemente el problema.

Esto debería darte suficientes pistas para ponerte en marcha. Si algo no te quedó claro, solo grita :)

Como dijiste que estás usando el motor de un helicóptero RC, no podrás controlarlo desde un puente H. Probablemente sea un motor de CC sin escobillas, por lo que debe usar un ESC (controlador electrónico de velocidad). SI es un motor de CC con escobillas, puede usar un lm 298 o lm 293 ic según sus requisitos de energía