Sincronize várias placas Mega para executar vários servomotores

8

Meu amigo Jules pergunta:

O objetivo é obter o maior número possível de controles de servomotor - parece que o máximo que um Arduino produzirá é 14?

Pinos de E / S digitais54 (dos quais 14 fornecem saída PWM)

Eu acho que então se torna um problema de software para sincronizar várias placas Mega? - ou seja, matriz 14 x 14 usando 14 placas

mad_z
fonte
Eu acho que quando você diz "servo motor", você quer dizer o tipo de modelo de controle de rádio integrado de "servo"? Geralmente, "servo motor" significa o motor usado em um sistema servo de circuito fechado PID (ou similar). No título, pensei que essa pergunta fosse sobre a implementação de vários loops de controle de servo simultâneos em um atmega.
Connor Lobo

Respostas:

10

Eu também iria para a mesma rota que todbot sugeriu. No entanto, como sou um grande fã do I2C, estou usando o servo controlador SD21, que pode acionar 21 servos. Se você precisar ainda mais, há um servo controlador SD84 que pode acionar (você adivinhou) 84 servos.

tuupola
fonte
7

Se você deseja acionar vários servos, a melhor rota pode ser conectar alguns servo controladores dedicados a um único Arduino. Existem muitos exemplos de código-fonte aberto de servo-controladores por aí, mas você também pode comprar os completos. Por exemplo, aqui estão um controlador servo 8 Polulu e um controlador servo 16 Pololu . Obtenha alguns deles, conecte-os a qualquer pino digital do Arduino e use a biblioteca SoftSerial para enviar comandos para eles.

todbot
fonte
Os servocontroladores que você está recomendando estão desatualizados. A nova família de servocontroladores Maestro é melhor em todos os aspectos. pololu.com/catalog/category/12
ryantm
1

Eu concordo com os outros caras, use um servo controlador dedicado.

Estou no processo de construir o meu próprio para meu robô hexapod, veja aqui o código-fonte e os esquemas disponíveis.

Len Holgate
fonte
1

Outra abordagem é usar servos "digitais", como o OpenServo . Dessa forma, você pode dirigir uma dúzia de servos usando 2 pinos do Arduino e uma dúzia de servos usando mais 2 pinos.

davidcary
fonte
1

Eu uso um servo controlador SSC-32 do Lynxmotion. Ele usa um ATmega8 ou ATmega168 e pode controlar até 32 servos. Você pode encontrar tudo (diagrama de circuito, firmware) para construí-lo em sua página. Eu mesmo construí um e funcionou bem.

Achim
fonte