Synchronisieren Sie mehrere Mega-Boards, um mehrere Servomotoren zu betreiben

8

Mein Freund Jules fragt:

Das Ziel ist es, so viele Servomotorsteuerungen wie möglich zu erhalten - sieht es so aus, als würde ein Arduino maximal 14?

Digitale E / A-Pins54 (von denen 14 PWM-Ausgang bieten)

Ich denke dann wird es ein Softwareproblem, mehrere Mega-Boards zu synchronisieren? - dh 14 x 14 Array mit 14 Karten

mad_z
quelle
Ich denke, wenn Sie "Servomotor" sagen, meinen Sie den integrierten Funksteuerungsmodelltyp von "Servos"? Im Allgemeinen bedeutet "Servomotor" den Motor, der in einem PID-Servosystem (oder einem ähnlichen Servosystem mit geschlossenem Regelkreis) verwendet wird. Aus dem Titel ging hervor, dass es bei dieser Frage um die Implementierung mehrerer gleichzeitiger Servosteuerungsschleifen in einer Atmosphäre ging.
Connor Wolf

Antworten:

10

Ich würde auch für den gleichen Weg gehen, den todbot vorgeschlagen hat. Da ich jedoch ein großer Fan von I2C bin, verwende ich einen SD21-Servocontroller, der 21 Servos ansteuern kann. Wenn Sie noch mehr brauchen, gibt es einen SD84-Servocontroller, der 84 Servos steuern kann (Sie haben es erraten).

Tuupola
quelle
7

Wenn Sie mehrere Servos fahren möchten, ist es möglicherweise besser, einige dedizierte Servocontroller an einen einzelnen Arduino anzuschließen. Es gibt viele Open-Source-Beispiele für Servocontroller, aber Sie können auch vollwertige kaufen. Hier ist zum Beispiel ein Polulu 8-Servo-Controller und ein Pololu 16-Servo-Controller . Holen Sie sich einige davon, schließen Sie sie an alle digitalen Pins des Arduino an und senden Sie mithilfe der SoftSerial-Bibliothek Befehle an sie.

todbot
quelle
Die von Ihnen empfohlenen Servocontroller sind veraltet. Die neue Maestro-Familie von Servocontrollern ist in jeder Hinsicht besser. pololu.com/catalog/category/12
Ryantm
1

Ich stimme den anderen zu, benutze einen dedizierten Servocontroller.

Ich bin gerade dabei, meinen eigenen für meinen Hexapod-Roboter zu bauen. Siehe hier verfügbaren Quellcode und Schaltpläne.

Len Holgate
quelle
1

Ein anderer Ansatz ist die Verwendung von "digitalen" Servos wie OpenServo . Auf diese Weise können Sie ein Dutzend Servos mit zwei Arduino-Pins und ein Dutzend Servos mit zwei weiteren Pins fahren.

Davidcary
quelle
1

Ich verwende einen SSC-32 Servo Controller von Lynxmotion. Es verwendet einen ATmega8 oder ATmega168 und kann bis zu 32 Servos steuern. Sie können alles (Schaltplan, Firmware) finden, um es auf ihrer Seite zu erstellen. Ich habe selbst einen gebaut und es hat gut funktioniert.

Achim
quelle