PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : steuerung für 18 Servos



freekster
05.11.2013, 10:05
Hallo alle zusammen,
ich suche schon seit einiger Zeit Infos über Servosteuerung. Hab mir ein Projekt für die nächste große Gruselparty überlegt. Ich würde gerne ein bewegliches Skelett bauen was mit Servo's angetrieben wird. Nach meiner Rechnung brauche ich 18 Servo's für die Figur, habe aber keine wirkliche Ahnung wo ich anfangen soll. ich hab mir schon überlegt ob ich nicht mit mehreren ATMega arbeiten sollte um die Servos an zu steuern, was ich aber gerne hätte währe eine USB Verbindung oder ähnliches zum PC um Komplette Choreographien zu erstellen und über den PC zu steuern. ich weis nicht ob ich jetzt einen Denkfehler habe oder nicht, aber wenn ich mehrere ATMega habe, wie kann ich dann in meinem Programm am PC unterscheiden welchen Ausgang auf welchem Controller ich anspreche. Da ich leider kompletter Anfänger in Sachen Microcontroller bin, währen Anregungen und auch komplett adere Ideen herzlichst willkommen. Löten und Programmieren am PC kann ich, Handwerklich bin ich auch recht gut. Ich bräuchte einfach nur einen Punkt wo ich ein Haken kann und vielleicht ein oder zwei Vorschläge wie ich diese Steuerung hin bekomme.

Über kreative und hilfreiche Antworten würde ich mich sehr freuen,
mfg freekster

robin
05.11.2013, 10:48
Ist das thema jetzt erledigt oder nicht?

für 18 Servor reicht ein Mikrocontroller, du musst dir nur beim Programmieren ein paar Gedanken machen. Es reicht in der Regel ein Ausgang pro Servo und ein interner Timer. Für die Kommunikation mit dem PC würde ich einen USB-Seriell wandler (FT232) benutzen, dann lässt sich auch eine einfache PC Software schreiben und der µC wird nicht zu sehr mit dem USB-Stack belastet.

Ein Mega88 könnte reichen, der hat 23GPIOs, davon fallen 2 für die Serielle Schnittstelle, einer für den Reset weg. bleiben noch 2 übrig, wenn kein externer Quarz genutzt wird. Wäre wohl zu knapp, dann lieber einen ATMega644.

Als Alternative könnte man auch Serielle LED treiber mit Dimmfunktion (PWM-Generatoren) oder Schieberegister nutzen, das macht die Sache aber mMn. nur komplizierter und teurer.

Wo hakt es denn genau?
Brauchst du Empfehlungen für einen Mikrocontroller?
Ist dir die Ansteuerung von Servos nicht bekannt?
weißt du nicht, wie/wo du Anfangen sollst?
...
Unter der aktuellen Fragestellung könnte man dir theoretisch das komplette Projekt lösen. konkrete Fragen wären wohl besser um dir zu helfen.

PICture
05.11.2013, 11:05
Hallo!

@ freekster


... wenn ich mehrere ATMega habe, wie kann ich dann in meinem Programm am PC unterscheiden welchen Ausgang auf welchem Controller ich anspreche.

Du müsstest jedem ATMega eindeutige Adresse geben und danach Datenaustausch immer zwischen PC und nur dem gewählten ATMega führen. ;)

robin
05.11.2013, 11:43
Achso noch vergessen, du könntest auch einfach einen fertigen Servocontroller nehmen:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=198

Müsstest dann nur noch USB auf I2C(Master) Wandler besorgen


@PICture: für 18 Servos braucht man nicht mehrere µC

PICture
05.11.2013, 12:23
@ robin

Das ist mir klar, aber ich darf unbestraft z.B. zwei Servos mit zwei µCs steuern, oder ? :D

robin
05.11.2013, 12:34
klar darfst du das, ist auch nicht Kern meiner Aussage. Es macht aber nur bedingt Sinn, wenn dein µC genug Pins zur Verfügung und sonst nichts zu tun hat und die Servos nicht mehrere Meter von einander entfernt sind ;)

oberallgeier
05.11.2013, 13:49
Hallo freekster,

willkommen im Forum.

... brauche ... 18 Servo's ... PC um Komplette Choreographien ...Mit meiner Servosteuerung (Grundlage: selbst erstellte Platine) (https://www.roboternetz.de/community/threads/61379-Kopfsache-und-ein-m1284-etliche-Servos-viel-Alu?p=574445&viewfull=1#post574445) bediene ich aktuell zehn Servos gleichzeitig. Die doppelte Anzahl wäre auch möglich, der Controller hat genügend Ausgänge die aber von mir anders belegt sind. Bei Deiner Anwendung kann ich mir vorstellen, dass zwei Platinen schon sinnvoll wären damit man die örtliche Verteilung der Signale besser organisieren kann. Kommandos gehen bei mir, aber eher nur als Testphase, per USB-UART-Umsetzer vom PC zur Platine. Für die aktuelle Anwendung als Beispiel dieses Video (https://www.roboternetz.de/community/threads/61379-Kopfsache-und-ein-m1284-etliche-Servos-viel-Alu?p=577672&viewfull=1#post577672), im Posting mal eine skizzenhafte Information über die Ansteuerungsmöglichkeit.

Servosteuerungen mit vielen Ausgängen gibts natürlich auch fertig, ich hatte mir das selbst gebaut, weil mich die ganze Geschichte genügend interessierte um tief(er) reinzugucken in die Ansteuerungsmethode/n. Ich bin auch nicht sicher, dass die Ansprechbarkeit (ich denk mal an Deine Choreographie - und meine Anwendung ist ja auch genau diese Richtung) bei mir wirklich sehr einfach und klar ist.