Sincronice múltiples placas Mega para ejecutar múltiples servomotores

8

Mi amigo Jules pregunta:

El objetivo es obtener tantos controles de servomotor como sea posible: ¿parece que el máximo que producirá un Arduino es 14?

Pines de E / S digital54 (de los cuales 14 proporcionan salida PWM)

¿Supongo que entonces se convierte en un problema de software sincronizar múltiples placas Mega? - es decir, matriz de 14 x 14 con 14 tableros

mad_z
fuente
Creo que cuando dices "servomotor", ¿te refieres al tipo integrado de "servo" del modelo de radio control? Generalmente, "servomotor" significa el motor utilizado en un servo sistema de circuito cerrado PID (o similar). Desde el título, pensé que esta pregunta se trataba de implementar múltiples bucles de servo-control simultáneos en un atmega.
Connor Wolf

Respuestas:

10

También iría por la misma ruta todbot sugerida. Sin embargo, dado que soy un gran fanático de I2C, estoy usando el servocontrolador SD21 que puede manejar 21 servos. Si necesita aún más, hay un servocontrolador SD84 que puede conducir (lo adivinó) 84 servos.

tuupola
fuente
7

Si desea conducir múltiples servos, la mejor ruta podría ser conectar algunos servocontroladores dedicados a un solo Arduino. Existen muchos ejemplos de código abierto de servocontroladores, pero también puede comprar los completos integrados. Por ejemplo, aquí hay un controlador de servo Polulu 8 y un controlador de servo Pololu 16 . Obtenga algunos de esos, conéctelos a cualquier pin digital del Arduino y use la biblioteca SoftSerial para enviarles comandos.

todbot
fuente
Los servocontroladores que recomienda no están actualizados. La nueva familia de servocontroladores Maestro es mejor en todos los sentidos. pololu.com/catalog/category/12
ryantm
1

Estoy de acuerdo con los otros chicos, use un servo controlador dedicado.

Estoy en el proceso de construir el mío para mi robot hexapod, mira aquí el código fuente y los esquemas disponibles.

Len Holgate
fuente
1

Otro enfoque es utilizar servos "digitales", como OpenServo . De esa manera, puede conducir una docena de servos con 2 pines Arduino, y una docena de servos con 2 pines más.

davidcary
fuente
1

Yo uso un servocontrolador SSC-32 de Lynxmotion. Utiliza un ATmega8 o ATmega168 y puede controlar hasta 32 servos. Puede encontrar todo (diagrama de circuito, firmware) para construirlo en su página. Yo mismo construí uno y funcionó bien.

Achim
fuente