Necesito controlar más de 50 motores eléctricos usando un Arduino. ¿Es posible? ¿Y cómo puedo hacerlo?

Hay una serie de situaciones diferentes que podrían aplicarse.

  1. Simplest está apagado / encendido para cada motor.
  2. Control de velocidad variable con modulación de ancho de pulso, dirección única
  3. Avance / retroceso con control de velocidad variable.

Para un proyecto como este, también podría comenzar con un ATMega2560 con 54 pines de E / S digitales, 15 de los cuales pueden ofrecer salida PWM de modulación de ancho de pulso. Estas salidas PWM pueden tener una salida de conmutación rápida para permitir una velocidad variable.

Para el primer caso, parece que el mega tiene suficientes pines IO. Para cada pin de salida necesita una etapa de salida adecuada para poder proporcionar suficiente corriente. Esto podría usar un chip MOSFET para cada salida; consulte Control de alta potencia: MOSFET Arduino + N-Channel. Hay muchos otros

Para el segundo escenario, puede usar el MOSFET anterior con una de las 15 salidas PWM.

Para el tercero, necesita algún tipo de puente H para la salida. Algo así como un módulo de controlador de motor de doble canal HG7881 (L9110) puede conducir dos motores, pero cada uno requiere dos entradas, una entrada PWM para la velocidad y otra para la dirección.

Es posible que pueda cortar el número de pines de salida utilizados mediante el uso de registros de desplazamiento. Pero no puedo ver cómo podría usar esto con salida PWM. Si su situación solo tiene unos pocos motores en cualquier momento, podría usar algún tipo de Multiplexor.

Se necesitan muchas otras preguntas, como la corriente requerida para cada motor.

Arduino Playground – InterfacingWithHardware tiene una buena sección de ejemplos.

Los arduinos son tan económicos y potentes que un circuito más complejo a menudo puede ser la forma más barata y fácil.

Encuentre un escudo económico que maneje múltiples motores (eBay es una buena fuente). Suponiendo que maneja 8 motores, necesitará 7 escudos y 7 u 8 arduos baratos. Use uno como maestro y comuníquese con los demás utilizando el puerto serie, SPI, I2C o líneas digitales.

Este enfoque será mucho más fácil de construir y cablear. Los arduinos “esclavos” se pueden ubicar más cerca de cada grupo de motores.

Una advertencia: lleve el poder y los motivos de cada uno a un punto de distribución central: no los ensarte en serie.

Gracias por A2A ..

Sí, PERO necesitará algunos componentes, como transistores y una fuente de alimentación secundaria.

También necesitará un chip llamado registro de desplazamiento, esto se debe al hecho de que desea controlar 50 motores pero solo tiene salidas limitadas en un Arduino.

Por lo tanto, no es tan fácil como conectar un arduino directamente a los motores y listo, debe aprender sobre los transistores y los registros de cambios.

No es imposible, pero necesita un poco de reflexión y planificación.

Todo lo mejor, por cierto, ¿qué estás construyendo que necesita 50 motores? Estoy intrigado.

Entonces, ahora que sabemos que desea controlar 50 motores paso a paso, la respuesta puede reducirse un poco. Yo respondería que no creo que un solo Arduino esté a la altura de la tarea de controlar 50 motores paso a paso. Me inclinaría a asignar uno o dos steppers a un solo Arduino, y permitiría que los Arduinos obtengan sus instrucciones de control de una entidad de nivel superior, como una PC a través de una interfaz de red. Dependiendo de los requisitos de carga y velocidad, es posible que desee controlar cosas como la aceleración, la velocidad y posiblemente usar una lectura de posición analógica y / o monitorear interruptores de límite. Usted dice que necesita un control individual de los motores, por lo que tiene sentido asignar un controlador individual a un pequeño número de motores.