Forum: Mikrocontroller und Digitale Elektronik Welcher Servocontroller ?


von Vdfgvgv V. (mikemet)


Lesenswert?

Liebe Forumuser & innen!

Für meinen humanoiden Roboter (robotik.cc) suche ich einen 
Servocontroller mit dem ich möglichst viele Servos ansteuern kann. Dzt 
sind folgende Servos
im Roboter verbaut:

4 x Augen
6 x Hals
12 x Schultern
6 x Bauch
12 x Hüfte
4 x Knie
8 x Füsse
4 x Ellbogen
4 x Handgelenk
12 x Finger

das sind 72 Stück wobei 30 Servos in der Laufrichtung umgebau wurden und 
diese mit einem weiteren Servo gemeinsam (pärchenweise) angesteuert 
werden.
Das heisst es bleiben 42 Stück die ich unabhängig ansteuern möchte.
Nachdem die Mechanik des Roboters bis auf die Arme fertig gebaut ist, 
suche ich nach einem entsprechenden Controller. Ürsprünglich wollte ich 
über einen Raspberry Pi mehrere Arduinos ansteuern, mittlerweile ist die 
Anzahl der Servos aber auf die 42 Stück gestiegen und ich denke es gibt 
bessere Möglichkeiten!?

Bei der Suche bin ich auf den "servotor32" 
http://arcbotics.com/products/servotor32/
gestossen, hat damit schon jemand Erfahrung?

Gibt es einen anderen Servocontroller den ihr für mein Projekt empfehlen 
könnt?

DANKE

LG mikemet
robotik.cc

von Test (Gast)


Lesenswert?

Was verstehst du unter servo ? Einen richtigen servomotor oder diese 
Modellbau Dinger ?
Wenn letzteres, Schau dir mal den pca9685 an, das sind 16 Kanal 12bit 
pwm Controller, bis zu 63 kann man kaskadieren.

von Stefan (Gast)


Lesenswert?

10 Kanal 8 bit Servo Controller mit I2C Interface, Open-Source: 
http://stefanfrings.de/servocontroller/index.html

von Vdfgvgv V. (mikemet)


Lesenswert?

Test schrieb:
> Was verstehst du unter servo ? Einen richtigen servomotor oder diese
> Modellbau Dinger ?
> Wenn letzteres, Schau dir mal den pca9685 an, das sind 16 Kanal 12bit
> pwm Controller, bis zu 63 kann man kaskadieren.

Ja, diese "Modellbaudinger" :-)
Danke für den Tipp, ich werde mir den pca9685 mal genauer ansehen!

von Vdfgvgv V. (mikemet)


Lesenswert?

Stefan schrieb:
> 10 Kanal 8 bit Servo Controller mit I2C Interface, Open-Source:
> http://stefanfrings.de/servocontroller/index.html

Hallo Stefan, bis 10 Modellbauservos... sind mir leider zu wenig. Danke 
trotzdem für deine Antwort!

von L. P. (lpg)


Lesenswert?

Michael Metzger schrieb:
>> 10 Kanal 8 bit Servo Controller mit I2C Interface, Open-Source:
>> http://stefanfrings.de/servocontroller/index.html
>
> Hallo Stefan, bis 10 Modellbauservos... sind mir leider zu wenig. Danke
> trotzdem für deine Antwort!

Hi,
dann kaskadiere halt einfach ein paar von den 2313ern und hängst alles 
am I²C zusammen.

lg.

von Franz B. (byte)


Lesenswert?

Wie willst du die den überhaupt ansteuern. Bzw. was wird die Logik 
übernehmen? Mit einem uC/I2C oder gleich via USB mit nem Rechner? Bzw. 
wie soll das Steuerungskonzept aussehen. So ein Gestell mit ein paar 
Servos ist schnell gebaut.. bzw. schnell im Verhältnis dazu was dann auf 
dich zu kommt. Wenn der mal selbständig "richtig" laufen soll wird das 
System ziemlich komplex. Das ist ein sehr aufwendiges Netzwerk aus 
Sensoren, Aktoren, Laufzeiten, meherere Level von Regelkreisen und 
Steuerungseinheiten... jaja.. "da Mensch is scho a varrekte Maschi" 
würde ein Arbeitskollege sagen.

> Hallo Stefan, bis 10 Modellbauservos... sind mir leider zu wenig. Danke
> trotzdem für deine Antwort!

Du must die Funktionseinheiten eh Gliedern und an nen Bus hängen. Ein 
großes Modul was alles steuert ist meiner bescheidenen Meinung nach 
Unsinnig.

Hier noch ein USB-Modul zum nachbauen...
http://www.kreatives-chaos.com/artikel/s8io8-servocontroller

Ziemlich klein. Könnte man zb. jeweils für "Gruppen" ala Arm, Bein, etc. 
einsetzen.

: Bearbeitet durch User
von Vdfgvgv V. (mikemet)


Lesenswert?

Franz B. schrieb:
> Wie willst du die den überhaupt ansteuern. Bzw. was wird die Logik
> übernehmen? Mit einem uC/I2C oder gleich via USB mit nem Rechner? Bzw.
> wie soll das Steuerungskonzept aussehen. So ein Gestell mit ein paar
> Servos ist schnell gebaut.. bzw. schnell im Verhältnis dazu was dann auf
> dich zu kommt. Wenn der mal selbständig "richtig" laufen soll wird das
> System ziemlich komplex. Das ist ein sehr aufwendiges Netzwerk aus
> Sensoren, Aktoren, Laufzeiten, meherere Level von Regelkreisen und
> Steuerungseinheiten... jaja.. "da Mensch is scho a varrekte Maschi"
> würde ein Arbeitskollege sagen.
> Ziemlich klein. Könnte man zb. jeweils für "Gruppen" ala Arm, Bein, etc.
> einsetzen.....

Danke für die Anregungen, ich hatte mir als Laie vorgestellt ich nehme 
(m)einen RaspberryPi programmiere ein bisserl Python und sende dann über 
USB die Servopositionen an die/den Servocontroller. Mit den Bussystemen 
habe ich mich noch gar nicht befasst aber des scheint eine brauchbare 
Alternative (oder überhaupt die Lösung) zu sein. Meine bisherigen Tests 
habe ich mit einem Arduino über USB am RaspberryPi gemacht, das hat sehr 
gut funktioniert!

Ich möchte an meinem Roboter lernen, d.h. mir ist schon bewusst das es 
zum Laufen ein weiter und steiniger Weg ist. :-)

von Franz B. (byte)


Lesenswert?

Michael Metzger schrieb:
> Danke für die Anregungen, ich hatte mir als Laie vorgestellt ich nehme
> (m)einen RaspberryPi programmiere ein bisserl Python und sende dann über
> USB die Servopositionen an die/den Servocontroller.

Ok, als Laie ist die vorgehensweise mit Sicherheit nicht so verkehrt. 
Mit dem Setup solltest zumidest bis zur "Zahnradsteuerung" und evtl. 
noch ein wenig darüber hinaus kommen.

Prinzipiell kommts darauf an was du mit der Aktion erreichen willst. 
Soll sich da nur was bewegen per Fernsteuerung, evtl. eigenständig auf 
gerader Fläche gehen oder sogar laufen mit ausregeln von 
Fremdeinwirkungen etc. Das sind 3 einfache Punkte zwischen denen Welten 
liegen. Aber am besten fängt man da wirlich ganz unten an. Erst mal 
Gestell... dann "Zahnradsteuerung" (extrem einfaches Program das stumpf 
ohne ausregeln/sensoren wiederkehrende Bewegungen ausführt, zb. gehen) 
um zu sehen ob die Mechanik mitmacht. Dann erkennen (wie immer halt) das 
die Mechanik Mist ist und baut v2. :) Dann nach und nach Sensoren 
nachrüsten (Neigung, Winkel, Kammera, Kollision, etc.) und die 
Regelkreise aufbauen.

> Mit den Bussystemen
> habe ich mich noch gar nicht befasst aber des scheint eine brauchbare
> Alternative (oder überhaupt die Lösung) zu sein. Meine bisherigen Tests
> habe ich mit einem Arduino über USB am RaspberryPi gemacht, das hat sehr
> gut funktioniert!

Spricht ja nix dagegen das du mehrere dranhängst. Logisch ist es egal. 
Aber dann gehts an der anderen Ecke los. Bei den haufen Servos braucht 
auch einiges an Leistung. Welche hast du (vorwiegend) verbaut? Da kommen 
bei einer Regelbewegung schon mal 50A zusammen wenn zb. 30 gleichzeitig 
fahren. Insbesondere bei den großen Hebeln. Da brauchst dann schon ein 
Grundkonzept bezüglich Leistungsverteilung, Verdrahtung, etc.

> Ich möchte an meinem Roboter lernen, d.h. mir ist schon bewusst das es
> zum Laufen ein weiter und steiniger Weg ist. :-)

Aber lass dich bitte nicht aufhalten und ziehs bis zum Ende durch. Die 
Sachen die ich bisher gesehen haben fand ich ziemlich dürfig. Weder 
Asimo noch andere. Mir fehlen da die dynamischen Komponenten. Die 
einzigen die es geschafft haben mich zu beeindrucken waren die Jungs von 
Boston Dynamics (Darpa) mit dem Kopflosen Lastenesel. Das Video mit der 
Eisplatte war schon fast grußelig. Der Atlas war dann wieder nicht so 
der Hit.

von Stefan (Gast)


Lesenswert?

I2C ist ein Bus. Mein Servo Controller hat 10 Kanäle und 4 einstellbare 
Adress-Bits. Du kannst also 16 Stück davon an einem Bus parallel 
benutzen -> macht 160 Kanäle. Die oberen 3 Adress-Bits kannst Du im 
Quelltext ändern, womit letztendlich 127 Servo Controller ansprechbar 
sind -> macht 1270 Kanäle.

Dieser Servotor32 hat zwar mehr Kanäle, als mein Servo Controller, aber 
er kostet unverhältnismäßig mehr Geld. Ein ATtiny2313 kostet ja nichtmal 
einen Euro!

Es hindert Dich außerdem niemand daran, vier von den Dingern auf eine 
Lochraster-Platine zu löten. Dann hast Du 40 Kanäle für unter 10 Euro 
und brauchst nach wie vor nur einen I2C Bus (ist ja der Sinn des Bus).

Freilich brauchst Du auch einen ISP Programmier-Adapter. Den rechne ich 
allerdings als Werkzeug, nicht als Bauteil.

von Karl H. (kbuchegg)


Lesenswert?

Stefan schrieb:

> Es hindert Dich außerdem niemand daran, vier von den Dingern auf eine
> Lochraster-Platine zu löten. Dann hast Du 40 Kanäle für unter 10 Euro
> und brauchst nach wie vor nur einen I2C Bus (ist ja der Sinn des Bus).

Zudem macht es Sinn, den Controller physikalisch in die Nähe der Servos 
zu rücken um die Verkabelung zu vereinfachen.
D.h. pro Servo-Baugruppe ein Controller. Selbst wenn der damit nicht 
voll ausgelastet ist.


> ... Weder Asimo noch andere ....

Lass ihn erst mal lernen. Wenn sein Robot erst mal gehen kann, wie ein 
Asimo, dann kann man weiter sehen. Aber bis dahin werden noch ein paar 
Winter ins Land ziehen.

: Bearbeitet durch User
von Vdfgvgv V. (mikemet)


Lesenswert?

Franz B. schrieb:
> Ok, als Laie ist die vorgehensweise mit Sicherheit nicht so verkehrt.
> Mit dem Setup solltest zumidest bis zur "Zahnradsteuerung" und evtl.
> noch ein wenig darüber hinaus kommen......
> Prinzipiell kommts darauf an was du mit der Aktion erreichen willst.
> Soll sich da nur was bewegen per Fernsteuerung, evtl. eigenständig auf
> gerader Fläche gehen oder sogar laufenDann nach und nach Sensoren
> nachrüsten (Neigung, Winkel, Kammera, Kollision, etc.) und die
> Regelkreise aufbauen.
>
Ich möchte mit Roboter Version 1 erreichen das er selbständig ein paar 
Schritte gehen kann. Rückmeldung über die Servopotis bez. aktuellem 
Ausschlag und Sensoren. Gleichgewichtssteuerung mit 2 Kreisel die das 
Gleichgewicht halten und die Servos übersteuern.
>
> Spricht ja nix dagegen das du mehrere dranhängst. Logisch ist es egal.
> Aber dann gehts an der anderen Ecke los. Bei den haufen Servos braucht
> auch einiges an Leistung. Welche hast du (vorwiegend) verbaut? Da kommen
> bei einer Regelbewegung schon mal 50A zusammen wenn zb. 30 gleichzeitig
> fahren. Insbesondere bei den großen Hebeln. Da brauchst dann schon ein
> Grundkonzept bezüglich Leistungsverteilung, Verdrahtung, etc.
>
Als Servos wurden Modelcraft RS2 und Modelcraft MC1811. das Problem mit 
dem großen Hebeln kann ich bestätigen, bis jetzt hat der gesamte Roboter 
mit den Servos 3,2 kg (es fehlen noch die Arme und die Elektronik) die 
Stromversorgung muss er nicht schleppen da UHR¹am Kabel hängt.
>
> Aber lass dich bitte nicht aufhalten und ziehs bis zum Ende >durch...Boston 
Dynamics (Darpa) mit dem Kopflosen Lastenesel. Das Video >mit der Eisplatte war 
schon fast grußelig. Der Atlas war dann wieder >nicht so der Hit.
>
Ich lass mich nicht aufhalten, ich baue seit ca 3 Jahren an dem Roboter 
:-)
Zu Boston Dynamics die haben ein bisserl mehr Geld als Militärischer 
Zulieferer?!
Danke für die vielen Ideen und Anregungen!

von Vdfgvgv V. (mikemet)


Lesenswert?

Stefan schrieb:
> I2C ist ein Bus. Mein Servo Controller hat 10 Kanäle und 4 einstellbare
> Adress-Bits. Du kannst also 16 Stück davon an einem Bus parallel
> benutzen -> macht 160 Kanäle. Die oberen 3 Adress-Bits kannst Du im
> Quelltext ändern, womit letztendlich 127 Servo Controller ansprechbar
> sind -> macht 1270 Kanäle.
>
OK, da kenn ich mich noch zuwenig aus aber die Lösung ist sehr 
interessant!
>
> Dieser Servotor32 hat zwar mehr Kanäle, als mein Servo Controller, aber
> er kostet unverhältnismäßig mehr Geld. Ein ATtiny2313 kostet ja nichtmal
> einen Euro!
>
....vorallem bei den Preisen
>
> Es hindert Dich außerdem niemand daran, vier von den Dingern auf eine
> Lochraster-Platine zu löten. Dann hast Du 40 Kanäle für unter 10 Euro
> und brauchst nach wie vor nur einen I2C Bus (ist ja der Sinn des Bus).
>
da fehlt mir einfach (noch) das Wissen ;-)
>
> Freilich brauchst Du auch einen ISP Programmier-Adapter. Den rechne ich
> allerdings als Werkzeug, nicht als Bauteil.
>
Wird dann auch nicht die Welt kosten?!

Danke für die Tipps!

von Vdfgvgv V. (mikemet)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Stefan schrieb:
>
>> Es hindert Dich ..... hast Du 40 Kanäle für unter 10 Euro
>> und brauchst nach wie vor nur einen I2C Bus (ist ja der Sinn des Bus).
>
> Zudem macht es Sinn, den Controller physikalisch in die Nähe der Servos
> zu rücken um die Verkabelung zu vereinfachen.
> D.h. pro Servo-Baugruppe ein Controller......
>> ... Weder Asimo noch andere ....
>
> Lass ihn erst mal lernen. Wenn sein Robot erst mal gehen kann, wie ein
> Asimo, dann kann man weiter sehen. Aber bis dahin werden noch ein paar
> Winter ins Land ziehen.
>
Danke :-) , wie der Asimo - das wird nicht funktionieren - nicht als 
Hobbyprojekt, da fehlen einfach die Mittel, aber wenn ich es schaffe das 
er ein paar Schritte macht, genügt es mir mich zu motivieren vielleicht 
auch zur Version 2 !
Danke für die Antwort und die Tipps!

von mar IO (Gast)


Lesenswert?

Ich hab den Thread jetzt ned ganz g'lesen. Wie sieht es eigentlich aus? 
Hast Du eigentlich schon (Modellbau) Servos? - Wenn nicht, ich bin mal 
auf http://openservo.com/ gestoßen und fand das gar ned so schlecht. Als 
Anregung vllt. hilft dir das etwas weiter...

von Franz B. (byte)


Lesenswert?

> Zu Boston Dynamics die haben ein bisserl mehr Geld als Militärischer
> Zulieferer?!

Logisch. Und die haben auch wenigstens was dafür geliefert. Aber es gibt 
Firmen die haben da schon das X-Fache reingesteckt und kommen da nicht 
mal annährend hin.

> Danke :-) , wie der Asimo - das wird nicht funktionieren - nicht als
> Hobbyprojekt, da fehlen einfach die Mittel

Ahahah.. langsam. An den "Mitteln" würd ich mich da nicht aufhängen. Mit 
ein bischen kreativität und hardnäckigkeit kann man aus nix bzw. Schrott 
ziemlich krasse Sachen zaubern. Was man heutzutage auf 
Industrieschrottplätzen, Ebay und im Modelbau so bekommt... Mann muss 
nur einen eisernen Willen haben, ein festes Ziel im Auge, improvisieren 
können, lernfähig sein und die Fähigkeit Fehler einzugestehen. Das is 
evtl. auch der Grund warum manche "Laienprojekte" so erstaunlich weit 
kommen. Denen ist es egal wie das realisiert wird... es soll einfach 
funktionieren und beissen sich durch. Die meisten Techniker die sowas 
anfangen und eigentlich dafür prädestiniert währen versagen weil sie 
sich an den Details und konkreten Umsetzungen aufhängen. Hauts nicht so 
hin wie sie das haben wollen wird hingeworfen.

, aber wenn ich es schaffe das
> er ein paar Schritte macht, genügt es mir mich zu motivieren vielleicht
> auch zur Version 2 !
> Danke für die Antwort und die Tipps!

Jo, hau rein. Wenn du willst das der läuft, wird er auch laufen. Die 
Frage ist nur wann und mit welchem Aufwand. :)

von Franz B. (byte)


Lesenswert?

Hier mal was zum abgewöhnen in punkto "Dynamik". :)
http://www.youtube.com/watch?v=XFXj81mvInc

Wenn du das drauf hast, is mimmer so weit. Der erste (Hopper, Einbeiner) 
is auch ein schönes Beispiel das man teilweise garnicht mal soviel 
(komplexe) Technik braucht um sowas sprichwörtlich auf die Beine zu 
stellen. Der Kübel is über 30 Jahre alt.

von Stefan (Gast)


Lesenswert?

> da fehlt mir einfach (noch) das Wissen ;-)

Genau. Schau Dir mal die Beschreibung des ISP Protokolls auf Wikipedia 
oder in meinem Buch 
(http://stefanfrings.de/mikrocontroller_buch/index.html) Band 2 an. 
Danach schau Dir das datenblatt vom PCF8574 an, da ist die I2C 
Schnittstelle auch schön anschaulich beschrieben udn dieser Chip ist 
zudem ideal, um das Gelernte auszuprobieren. Denn da kannst Du ein paar 
Taster und/oder LED's dran anschließen, und natürlich deinen Raspberry 
Pi.

>> Freilich brauchst Du auch einen ISP Programmier-Adapter.
>> Wird dann auch nicht die Welt kosten?!

Ab 5 Euro. Ich würde allerdings zu einem "originalen" von Atmel ab 30 
Euro raten. Macht weniger Stress, als die billigen 5 Euro Dinger, die 
sich nichtmal vollständig an die USB Spezifikation halten. Oder nimm 
wenigsten einen mit dediziertem USB-UART Chip (zwei-Chip Lösung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.