Sincronice varias tarjetas Mega para hacer funcionar varios servomotores

Mi amigo Jules pregunta:

El objetivo es obtener tantos controles de servomotor como sea posible. ¿Parece que el máximo que generará un Arduino es 14?

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

Supongo que entonces se convierte en un problema de software para sincronizar varias tarjetas Mega. - es decir, matriz de 14 x 14 usando 14 tableros

Creo que cuando dice "servomotor", ¿se refiere al tipo de "servo" de modelo de control de radio integrado? En general, "servomotor" significa el motor utilizado en un servosistema de bucle cerrado PID (o similar). Por el título, pensé que esta pregunta era sobre la implementación de múltiples bucles de servocontrol simultáneos en un atmega.

Respuestas (5)

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

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

Los servocontroladores que recomienda están desactualizados. La nueva familia de servocontroladores Maestro es mejor en todos los sentidos. pololu.com/catalog/category/12

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

Estoy en el proceso de construir el mío propio para mi robot hexápodo, vea aquí el código fuente y los esquemas disponibles.

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

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