¿Cómo controlo dos motores 12VDC 10A usando un Arduino?

2

Soy nuevo en arduino y en electrónica en general, pero necesito ayuda en un proyecto en el que estoy trabajando. Esencialmente, quiero poder controlar el estado (encendido / apagado) y la dirección de dos actuadores lineales que en realidad son solo motores de CC.

Parece fácil, pero el problema es que los actuadores lineales son de 12 VCC y consumen 10 amperios de corriente a plena carga. Compré una fuente de alimentación externa de 25 A porque obviamente el microcontrolador arduino no puede proporcionar tanta corriente.

Vi algo sobre el uso de un puente H para controlar la dirección de cada motor y luego leí algo sobre el uso de un relé que actúa como un interruptor electromecánico para extraer la corriente de la fuente de alimentación. ¿Puede alguien ayudarme o dibujarme un diagrama de circuito de cómo se ve esto para poder armarlo? Me encantaría saber cómo funciona todo esto y sé que probablemente sea un reto comenzar con la electrónica, pero estoy dispuesto a aprender todo lo que pueda sobre estas cosas.

    
pregunta Greg Harrington

3 respuestas

1

Puede usar cualquier controlador de velocidad de 12v que acepte una señal PWM. Hay muchos controladores de este tipo disponibles. Compruebe eBay y Google.

Lo que harás es usar la señal PWM del arduino para controlar un controlador de velocidad que "regula" el voltaje a un motor. De esta forma, la fuente de alimentación del motor es completamente independiente del arduino.

Personalmente, tengo experiencia al utilizar Talun y Jaguar controladores de velocidad. Ambos son muy caros, pero te darán una idea de dónde empezar a buscar.

Esto es lo que buscaría en eBay

    
respondido por el Sponge Bob
1

Eche un vistazo a la Controlador de motor de alta potencia Pololu 18v15 . Parecería satisfacer (e incluso superar) sus necesidades. Compré uno de estos la semana pasada y debería llegar mañana. Editaré esta respuesta con mi comentario.

3/27/13

Lo recibí en el correo ayer por la noche. Montado esta noche. Lo probaremos mañana.

4/7/13

Mi tiempo con el interruptor fue corto pero increíblemente productivo. El barco en el que se colocó el interruptor finalmente se hundió tomando un GPS, XBee, Arduino y el interruptor con él. El cambio fue muy fácil de poner en marcha. La soldadura fue rápida y el condensador provisto funcionó muy bien para mis propósitos. El terminal positivo de mi batería se conectó al encabezado V+ y el terminal negativo se conectó al encabezado GND . Los cables del motor conectados a los encabezados OUTA y OUTB . La polaridad no importa en esos dos encabezados, ya que el dispositivo es capaz de cambiarlo.

En el lado lógico conecté el pin GND de Arduino al encabezado GND del conmutador. No utilicé los indicadores de error FF1 y FF2 , pero leerlos es tan simple como digitalRead una vez que están conectados al Arduino. El pin RESET es realmente fácil de usar. Simplemente use digitalWrite(resetPin, LOW); para poner el tablero en modo de reposo (esto también borra cualquier falla). Póngalo de nuevo en alto para reanudar el funcionamiento normal.

Hay dos formas de operar el tablero, pero solo hablaré de la que utilicé, que creo que es más simple. El pin DIR debe considerarse digital. Así que lo configura como lo haría con cualquier pin de salida digital normal en el Arduino. Tire del pin HIGH para una dirección y LOW para la dirección opuesta. Esto invierte efectivamente la polaridad en los encabezados OUTA y OUTB . El pin PWM debe estar conectado a un pin compatible con PWM en el Arduino. En el Arduino Uno, estos pines son 3, 5, 6, 9, 10 y 11. Asegúrese de que el pin que elija no esté ser obstruido por una interrupción del temporizador. Controlar la velocidad del motor es tan fácil como usar analogWrite en el pin con un número de 0 (detenido) a 255 (velocidad máxima). La función map será realmente útil aquí. Puede usarlo para tomar cualquier rango sano y convertirlo al rango que necesita (en este caso, 0-255). Lo usé para tomar 0-255 hasta 0-100 para crear un porcentaje de empuje que podría mostrar, pero en ese caso podría haber dividido el número entre 2.55. ;) Echa un vistazo a este compromiso en GitHub para ver cómo lo implementé. Contrariamente a ese compromiso, no es necesario utilizar pinMode en el pin PWM.

El único "problema" que encontré con la placa era que al ejecutar el motor crearía un tono audible en función de la velocidad. A toda velocidad no se notaba, pero a velocidades más bajas realmente se podía decir. No solucioné este problema antes de que el barco se hundiera, pero me dijeron que se puede resolver utilizando el Arduino Biblioteca de frecuencia PWM .

Espero que esto te ayude y te diviertas con el motor. Definitivamente compraría otro si una situación lo requiriera. Definitivamente, eche un vistazo a página del producto de Pololu para obtener una explicación muy detallada de todo el chipset.

    
respondido por el Kevin Mark
0

Puede ser más fácil y barato si usó un relé DPDT para cambiar la dirección del motor. Aquí hay un esquema de lo que quiero decir:

simular este circuito : esquema creado usando CircuitLab

El pin del microcontrolador que usa en el transistor de potencia (etiquetado como Q2 en el esquema) permitirá que la corriente fluya a través del relé, la dirección en que se mueve la corriente a través del motor depende del estado del relé. He usado este circuito para muchos proyectos debido a su simplicidad, costo y la robustez inherente de los relés.

* Nota rápida: el transistor utilizado en el esquema no puede manejar 10 amperios de corriente. He tenido buena suerte con el transistor tip142 darlington par, la hoja de datos dice que puede manejar 10 amperios de corriente continua. Hoja de datos: enlace

* Asegúrese de que el condensador que usa en el motor pueda manejar muchos cientos de voltios

* La bobina del relé necesitará algo para conducirlo, lo que puede requerir algunas configuraciones dependiendo del relé utilizado.

* En cuanto al costo, el relé puede ejecutar hasta cuatro o cinco dólares, lo mismo para el transistor.

    
respondido por el gr0undsk33per

Lea otras preguntas en las etiquetas