PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Entwicklung und Bau eines 6 Achsen Gelenkroboterarms



Edding
23.03.2011, 19:48
Hallo,
ein Freund und ich sind in der Oberstufe und wollten für unser P5 (2,5 Jahre Zeit)
einen Robotarm mit 6 Achsen selber entwickeln und programmieren. Er soll zwischen 200 und 500g heben können. Der Roboterarm soll einen Greifarm haben welcher zwischen 40 -und 50cm lang ist. Dieser Arm sollte zwischen 120° und 180° schwenkbar sein und sollte verschiedene Sachen greifen können, d.h. er soll einen Greifer haben, keinen Magneten.
Für den Roboterarm an sich haben wir ein Kohlefaserchassis aus selber-
gewickelten Kohlefaserrohen vorgesehen (siehe: http://www.youtube.com/user/HomeTechnics).
Wir möchten unseren Schwerpunkt auf das Programmieren des Robotarms richten, da der Roboterarm
an sich von Jemand anderem konstruiert wird, mit dem wir fest zusammen Arbeiten.

Wie kann man sowas am besten realisieren?

- Welche Programmiersprache sollte man am besten verwenden?
- Eigenet sich ein Kohlefaserchassis dafür?
- Wie lange würde sowas in etwa dauern?, 2,5 Jahre stehen zur Verfügung. (Programmierung)
- Wie steurt man mehrere von diesen Servos [http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=8496] an?
- Welchen mikro-Chip sollte man verwenden?
- Könnte man dieses Board: http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=87&products_id=198 verwenden?

Unser Ziel ist es, eine Benutzeroberfläche auf dem PC darzustellen, mit welcher
man den Roboterarm steuern kann indem man die TeachIn-Programmierung verwendet.
:rolleyes:


MfG

Edding

Mit Sketchup erstellte Skizze:

http://250kb.de/u/110323/j/t/1z1DR85dzvdo.gif (http://250kb.de/qfs88qY)

http://250kb.de/u/110323/j/t/FArZeFCNRwdU.gif (http://250kb.de/oU7JXei)

http://250kb.de/u/110323/j/t/P4w1eh0XPmQT.gif (http://250kb.de/SAkoj9w)

TobiKa
23.03.2011, 20:00
- Welche Programmiersprache sollte man am besten verwenden?
Am besten eine die ihr schon könnte, wie C. Falls ihr noch keine Könnt und es schnell gehen soll käme Bascom in Frage.


- Eigenet sich ein Kohlefaserchassis dafür?
Im Prinzip ja, warum auch nicht, is ja schön steif und bei entsprechender Dicke hällst es auch.


- Wie lange würde sowas in etwa dauern?, 2,5 Jahre stehen zur Verfügung. (Programmierung)
Kommt wieder drauf an was ihr schon könnt. Ich nehme mal an ihr wollt eine ordentliche IK, wenn man programmieren kann und in Mathe recht fit ist, dann ist dauert das keine 2,5Jahre ;)


- Wie steurt man mehrere von diesen Servos
6 Servos könnte man noch ohne großen Aufwand direkt an einen µC anschliessen. Sonst gibt es diverso Servo Boards wie du ja schon rausgefunden hast.


- Welchen mikro-Chip sollte man verwenden?
Da kommen echt viele in Frage! Musst mal genau schreiben was noch möglich sein soll, z.B. wie er gesteuert werden soll.


- Könnte man dieses Board: http://www.shop.robotikhardware.de/s...roducts_id=198 verwenden?
Könnte man... aber absolut überdimensioniert und zu teuer. (Schreib mir mal ne PN, hab da noch was passendes)


Er soll zwischen 200 und 500g heben können.
Da solltet ihr euch in der Planung schon festlegen, 200 oder 500 ist ein großer Unterschied.

Edding
23.03.2011, 20:11
Danke für die schnelle Antwort:). Wir haben eben ausgerechnet das der Robotarm ca. 400g heben soll, wenn wir einen 40cm langen Arm verwenden. Ich habe mal mit C++ ein Spiel programmiert, jedoch denke ich das sich meine Kenntnisse nicht für unser Projekt eignen. Bascom ist mir vom Namen her bekannt - wie lernt man am besten diese Programmier-
sprache, gibt es da gute Bücher oder Video's zu empfehlen wären?

MfG

Edding

TobiKa
23.03.2011, 20:14
Dann würde ich wohl zu Bascom raten hier findest du für den ersten Einblick viele Beispiele: http://www.rn-wissen.de/index.php/Kategorie:Quellcode_Bascom
Generell ist Bascom sehr verbreitet, da besonders für Einsteiger geeignet. Aus diesem Grund findest du auch überall Support, z.B. hier im Forum.

Edding
23.03.2011, 20:21
Danke nochmal, ehm wo genau soll ich anfangen das zu lernen? Wenn ich auf der vorgeschlagenen Seite

-AVR-Einstieg leicht gemacht
-Assembler Einführung für Bascom-User

angucke, habe ich das Gefühl mitten drin zu sein.
Vll. kannst du nochmal kurz sagen wo ich anfagen soll ;)

Danke nochmal und

MfG

Edding

TobiKa
23.03.2011, 20:28
Ich würde sagen "learning by doing", aber dafür müsstest du dich erstmal für ein Board entscheiden!
Und dann gehts ganz einfach damit los eine LED blinken zu lassen und dann irgendwann Servo ansteuerung und Kommunikation mit dem PC.

Lass dir bitte nicht diese billig Board mit RS232 von Pollin einreden!
Am besten eins mit USB -> UART Konverter.
Ich selbst kann dieses Board empfehlen http://shop.myavr.de/Systemboards/myAVR%20Board%20MK2,%20bestückt.htm?sp=article.sp. php&artID=40
Da wäre dann schon alles an Hardware mit dabei.

Edding
23.03.2011, 20:34
Wird für das von Dir genannte Board auch noch eine Servo-Karte gebraucht?
und ich hab dir bzgl. deines Boards auch eine PN geschrieben (:

mfg.

TobiKa
23.03.2011, 20:38
Sorry hab an eine Sache garnicht gedacht.
Du willst ja eh vom PC aus steuern, da brauchst du natürlich garkeinen µC dazwischen, brauchst kein Bascom lernen... sondern könntest direkt ein Servocontroller Board nehmen das man mit dem PC verbinden kann.
http://www.nodna.com/product_info.php?products_id=1255&XTCsid=ure41iku9squssmn34n6uantk2 oder
http://www.nodna.com/product_info.ph...ssmn34n6uantk2http://www.nodna.com/product_info.php?products_id=1405&XTCsid=ure41iku9squssmn34n6uantk2

Edding
23.03.2011, 20:39
Sorry, aber die Links funktionieren nicht.
Mit welcher Programmiersprache muss ich dann die Servos programmieren?

TobiKa
23.03.2011, 20:44
Hab sie editiert.

Aber damit wir uns recht verstehen, ich möchte dir nur Möglichkeiten aufzeigen wie es gehen kann.
Ich denke das eins dieser USB Servocontroller Boards die einfachste und billigste Variante sind.
So musst du dich nciht mit µCs beschäftigen und kannst dich auf die Programmierung unter Windows konzentrieren.

Edding
23.03.2011, 20:47
Ehm, sorry aber der 2. Link geht auch noch nicht ;)

Aber jetzt was anderes, wir verstehen das nicht ganz, wie würden wir denn dann die Servos unter Windows programmieren?

TobiKa
23.03.2011, 20:53
Der eine Link führt zu der 6 Kanal Variante, der andere zu der 12 Kanal.

Ja wie würdest du das machen... im Prinzip musst du nur einen entsprechenden Befehl an das Board senden, damit es ein bestimmtes Servo in eine bestimmte Stellung bringt.
Oder hast du absolut garkeine Ahnung wie du unter Windows ein Programm schreibst?

Edding
23.03.2011, 20:58
Doch klar weiß ich wie ich ein Programm schreibe, nur nicht eins, das ein Servo ansteurt ... ich denke es ist nicht so einfach wie bei C++, wo man mit einem Befehl was aus der Konsole ausgeben kann. D.h. ich kann ein Programm so programmieren, das es genau die Infos für die Servos enthält, das wäre dann am besten welche Programmieresprache, denn mit C++ ist das nicht so einfach verschiedene Koordinaten anzusteurn, wenn du weisst was ich meine... musst mir bzw. uns ein wenig auf die Sprünge helfen... mehr als ein 2D Mario Spiel hab ich noch nicht gemacht ;) Womit sollte ich dann anfangen? Du musst verstehen... mir und meinem Kumpel ist das vor 1-2 Wochen in den Sinn gekommen, das wir wohl einige Zeit dafür brauchen, haben ein wenig was geplant und hier gepostet ... große ahnung von ansteuern von Hardware oder ansteuern von LED's habe ich nicht.

MfG

TobiKa
23.03.2011, 21:03
denn mit C++ ist das nicht so einfach verschiedene Koordinaten anzusteurn, wenn du weisst was ich meine...
Nee weiss nciht was du meinst, ich finde es sogar sehr einfach.
Musst dich etwas genauer ausdrücken.

Das gute an den von mir vorgeschlagenen Boards ist das du dich weiter mit der Hardware nicht beschäftigen musst!

Edding
23.03.2011, 21:08
Ok, also sagen wir es einfach so: Ich habe ABSOLUT keine Ahnung wie ich einen Servo ansteuern könnte :( (liegt vll auch daran das ich einfach nicht gut genug C++ kann, zumal ich das letzte mal vor 3 Jahren ein 2D spiel programmiert habe, das nur nach Buch). Habe keine Idee wie sowas aussehen könnte. Ein Programm schreiben ja, das mir 20+20 rechnet oder meinetwegen auch ein 2D-Spiel (mithilfe des Buches), aber einfach so mal einen servo ansteuern. Wüsste nicht wo ich da anfangen soll ... schließlich müssen diese ja auch zusammen arbeiten. Vielleicht könntest du mir bzw. uns Sagen wie du das ganze angehen würdest: Meinetwegen wollte ich gerne den arm nach rechts, dann nach links schwenken lassen? wie geht sowas? in welcher Programmiersprache? Mein Problem ist einfach meine Absolute Ratlosigkeit. Wenn ich vll. eine Anregung bekommen könnte oder so, woran ich mir das ganze verdeutlichen kann, aber so ...

MfG


PS: Wie genau zitiert man?

TobiKa
23.03.2011, 21:10
Ok, nochmal:
Mit den von mir vorgeschlagenen Boards musst du dir um die Ansteuerung der Servos keine Gedanken machen.
Du musst nur eine Verbindung zum USB Board herstellen und einen Befehl senden wie z.B. "Bringe Servo x in Position y". Fertig!

Edding
23.03.2011, 21:17
Achso, so einfach ist das ;) Kannst du C++? Das was ich bis jetzt hatte war nur sowas wie Variablen deklarieren definieren usw. rechnen mit c++, ein bisschen was mit DirectX usw. aber nix iwie direkt hardware ansteurn. Wenn ich z.b. mit C++ den befehl "Bringe Servo x in Position y" ausführen wollte, wüsste ich nicht wie das geht, kennst du eine Seite wo ich das nachschauen kann? Denn den Grundkrams von C++ kann ich ;)

Das Problem das dazu kommt, ist folgendes:
Wie können wir denn durch die x - y positions Angaben Programmierung den Greifer so mit den anderen Servos syncroniesieren das der Greifer immer die gleiche Position behält, auch wenn der arm nach oben oder rechts/Links schwenkt?
Bei einer Bewegung soll also die Lage des Greifers ausgeglichen werden.


Nur damit du mich bzw. uns richtig einschätzen kannst: Wir haben beide mal im Internet ein bisschen HTMl angeguckt, können gut mit dem Pc umgehen und haben ein bisschen C++ programmiert, so Programme die mir was ausrechnen, die Uhrzeit anzeigen oder Windows Fenster bekommen wir hin. Aber irgenwas ansteurn? Das mit dem 2D-Spiel war halt nur nach Buch, da haben wir die Zusammenhänge nicht so gerafft :) ... aber na gut, ich hoffe du verstehst unser Problem, eigentlich können wir nix, und haben große Pläne fürs gute ABI ;) (Den Arm an sich bekommen wir aber auf Jeden fall hin geht halt nur ums ansteurn)

MfG

TobiKa
23.03.2011, 21:26
Das ihr "nix" könnte macht ja "nix".

Ich würde für erste Tests einfach eine Konsolenanwendung schreiben, welche Daten über einen USB Port sendet und dann ganz einfach anfangen.
Welche Sprache du benutzt ist eigentlich egal, die Berechnungen zur IK (weisst du was das ist?) ist eigentlich in jeder Sprache gleich!

Google nach C++ oder C# (würde ich eher zu tendieren) Anfängertutorials, dann Google noch nach Tutorials zum Thema IK, wobei das erstmal nebensächlich ist.

Dir sollte nur klar sein das euer Vorhaben viel Zeit in Anspruch nehmen wird, besonders wenn man "nix" kann.
Das jetzt Schritt für Schritt zu erklären würde jeden Rahmen sprengen! Das müsst ihr euch schon selbst aneignen und dann immer möglichst spezielle Fragen zu Problemen stellen.

Hast du dir die von mir vorgeschlagenen Boards denn mal genau angesehen? Da sind schon Testprogramme mit bei. Da müsstet ihr für erste Tests nur noch die Servos ans Board anschliessen, das Board mitm PC verbinden, das Programm starten und schon gehts los.

Edding
23.03.2011, 21:36
Haha danke für die aufmunterden Worte,
leider weiß ich nicht was IK ist und ich fürchte das das nicht gut ist. Eine Konsolenanwendung schreiben die etwas über einen USB Port ausgibt, sollte ich hinbekommen.
Soweit ich weiß ist C++ ja die Objektorientierte Sprache C# eher die allgemeine, ist das richtig? Wenn ja wie unterscheiden die sich denn, kann man das so einfach sagen?

MfG

TobiKa
23.03.2011, 21:38
leider weiß ich nicht was IK ist und ich fürchte das das nicht gut ist.
Naja nciht gut... musst halt was drüber lesen.


Eine Konsolenanwendung schreiben die etwas über einen USB Port ausgibt, sollte ich hinbekommen.
Ja dann ist der Rest doch kein Problem (war weder Sarkasmus noch Ironie).


Soweit ich weiß ist C++ ja die Objektorientierte Sprache C# eher die allgemeine, ist das richtig?
Nein.

Edding
23.03.2011, 21:41
D.h. wie unterscheiden sich C++ und C#`?

PS: sollte es denn direkt USB sein? ist das nicht ein wenig schwieriger?

TobiKa
23.03.2011, 21:45
Google ach dem Unterschied zwischen C++ und C#.

Warum soll es schwieriger sein?! USB ist unproblematischer und macht von der Programmierung her keinen Unterschied.

uwegw
23.03.2011, 21:45
C++ ist der standardisierte Nachfolger von C, und C# ist eine Sonderlösung von Microsoft.

Die meisten der bereits vorgeschlagenen Servocontroller werden über eine serielle Schnittstelle (bzw. über die Emulation einer solchen per USB) angesteuert. Du muss also nur noch die Kommandos als Text auf eine serielle Schnittstelle ausgeben können. Dafür gibt es in den meisten Entwicklungsumgebungen schon fertige Funktionen.

Edding
23.03.2011, 21:47
ui ui ui ui ich muss erstmal was raffen, finde iwie kenn Turtorial wie man jetzt mit C++ einen Usb Port ansteurt, habe jetzt ganz einfach versucht die DPI meiner maus zu ändern, hat nicht gefunst ... scheint ne schwere sache zu sein zumindest raff ich das noch nicht ganz. Kannst du mir noch einen Tipp geben oder eine Seite wo ich das nachgucken kann wie man das macht? Sonst schlaff ich ne Nach drüber und gucke morgen weiter, schließlich hab ich noch 2,5 Jahre xD

Mfg


PS: Das habe ich gefunden : http://www.mikrocontroller.net/topic/30844 nur leider raff ich davon fast nix, außer variablen definieren, deklarieren, einige Befehle wie if, else, usw. :(

nanoBean
23.03.2011, 22:11
C++ ist der standardisierte Nachfolger von C, und C# ist eine Sonderlösung von Microsoft.

Jupp. Mit Mono läuft es aber auch unter Linux (Mono hinkt aber logischerweise immer hinterher). Der Nachteil von C# ist, das Zwischencode erstellt wird (MSIL=> vergleichbar mit dem Bytecode von Java).

Aber zurück zur Ansteuerung: Der USB-Servo-Controller von TobiKa wird als virtueller ComPort im System einbebunden. Und den kannst du ganz einfach ansteuern (bei C#/dotnet wäre das die SerialPort-Klasse irgendwo im IO Namespace).

Aber in C/C++ wird es genauso einfach sein ...

Den Links, den du gepostet hat bezieht sich dann auf ein mikrocontroller. Den brauchst du natürlich nicht zwingenderweise, wenn du den USB-Controller nimmst (aber mit dem µc bist du natürlich viel flexibler)

Geistesblitz
23.03.2011, 22:50
Also ich finde es schon ein wenig gemein, einfach das kürzel IK in den Raum zu werfen, ohne zu erwähnen, dass es inverse Kinematik bedeutet (was unserem Threadersteller wahrscheinlich mehr weiterhelfen wird). Er hatte ja geäußert, dass er das nicht weiß. Allerdings dürfte diese recht schwierig werden, da der Roboter, wie ich es sehe, nur 5 Achsen hat (Endeffektor, also Greifer, hat ja nichts mit Positionierung zu tun). Ansonsten zu dem Thema ein Buch besorgen, hab mir auch eins geholt "Steuern und Regeln von Industrierobotern", da bekommt man schon viel Input für die mathematischen Grundlagen. Ansonsten noch viel Erfolg mit eurem Projekt ;)

Edding
25.03.2011, 17:10
Hallo alle zusammen,
habe mir mal das zusammengebastelt, bzw. zusammengesucht:


http://stegem.de/Elektronik/Servosteuerung/index.4.gif

wäre ok oder?
Ist das allgemein oder nur für bestimmte USB Ports?
Warum geht das nur von 1-5 und nicht 1-6 obwohl es 6 servos gibt? (In der Beschreibung des ganzen Stand, ansteuerung von 6 Servos = USB_sende 5mal angeben)
Wenn wir diesen Quelltext verwenden, wie synchronisieren wir dann die achsen?

PS. Kann ich Anstatt des "getch();" auch cin.get(); einfügen?
MfG

MisterMou
25.03.2011, 17:17
PS. Kann ich Anstatt des "getch();" auch cin.get(); einfügen? Sofern du vorher die die passende Bibo eingebunden hast, sollte das gehen.

#include <iostream.h>

Edding
25.03.2011, 17:19
Danke Für die Antwort MisterMou,
hast du eine Idee wie wir die Achsen synchronisieren könnten, sodass man nur noch x- und y-Koordinate angeben muss?

MfG

MisterMou
25.03.2011, 17:26
Dafür ist das Forum ja da :D

Du brauchst 3 Achsen, plus die Neigungsachsen des Greifers, also nochmal 3.

Guck dir mal den ganzen IK (inverse Kinematik) Krams an.
Wird auch bei Hexapods verwendet.

Ein Zitat von meinem Vater:
"Ist von der Lösung keine Spur, versuch´s mit einer Hilfsfigur"

Am besten eine Zeichnung mit einem CAD Programm anfertigen, da kann man schnell Rechenversuche nachmessen.

Joe23
25.03.2011, 22:53
Hallo Edding,

hab ihr euch schon einmal Gedanken über die erzielbare Genauigkeit des Roboters gemacht?

Ich werfe hier mal das Thema Positioniergenauigkeit und Wiederholgenauigkeit in den Raum.

Ihr sprecht von einer Konstruktion aus Kohlefaserrohren....das klingt sehr vielversprechend. Ebenso ist das Handlingsgewicht von 400g ein realistischer Wert für einen Hobby-Roboter.

Wenn aber für die Mechanik entsprechend Aufwand betrieben wird, dann sollte an den Antrieben nicht gespart werden. Für eine Genauigkeit von unter 5mm am Endeffektor sind Servos vollkommen ungeeignet.

Diese haben nur eine potentiometrische Erfassung des Gelenkwinkels und dieser ist über 6 Achsen viel zu Ungenau. Dies führt bei dem fertigen Roboter zu folgenden Effekten:

A) Positioniergenauigkeit bezogen auf die Achswinkel von minimal 5mm, alles darunter ist Schwachsinn. Selbst das wird bei anderen Roboterkonfigurationen (bei 6 Achsen kann ein Zielpunkt x,y,z angefahren werden, aber die Orientierung A,B,C geändert werden. D.h. der Endeffektor bleibt am gleichen Punkt, aber der Arm dreht sich um den TCP) schwer sein.

B) Bei Dynamischen Roboterbewegungen oder externe Krafteinwirkung schwingt der Roboter bis zum schätzungsweise 10 -20 mm um die Sollposition, da die Winkelinformation der Potis zusammen mit dem Lageregler Werte darunter nicht richtig auflösen können.

C) Bei Bahnbewegungen, z.B. Linearbewegungen, fährt der Roboter keine Linie, sondern eiert von A nach B. Sieht nicht hübsch aus und ist auch zu nichts zu gebrauchen...

Nebenbei haben die Modellbauservos auch noch ordentlich Getriebespiel.

Außerdem hab ihr noch einen anderen Effekt, die fehlende Positionsrückmeldung. Schreibt ihr ein Programm mit festen Anfahrpunkten A->B->C->D, und die Strecke sind unterschiedlich lang, wisst ihr nicht wann der Roboter im Punkt B angekommen ist. Dies muss aber so sein, denn wenn ihr Position C an den Servocontroller vorab schickt, wird Position B einfach überschrieben, und der Roboter bricht seine aktuelle Bahn ab, überspringt Punkt B und fährt gleich Punkt C an. Das heist ihr müsst abhängig von der Distanz der Punkte Wartezeiten in eurem Programm implementieren...

Was kann getan werden, um die Effekte zu reduzieren...

- Externe Positionsgeber -> Absolutencoder, Inkrementalgeber anstatt der Potis
- Entsprechende Getriebeübersetzungen, welche spielfrei ausgeführt werden, um die Ungenauigkeit der Potis zu vermeiden
- Schrittmotoren mit Zahnriemen.

Wenn ihr mal ein Beipiel für Roboter mit Servos sucht...schaut nach den fertigen Roboterarmen Lyxmotion. Gibts genug Videos bei Youtube. Und diese haben maximal 100g Gewicht am Endeffektor und sehen schon von der Bewegung/Genauigkeit grauenhaft aus....

Ich würde euch zu Schrittmotoren in Verbindung mit Zahnriemen raten...da kann man einiges Machen, und die Kosten halten sich in Grenzen. Vorteil ist, das hier alls Schrittmotoren in dem Grundkörper des Roboters untergebracht werden können. Somit kann der ganze Arm zwar Steif, aber auch relativ leicht gebaut werden....

Beispiele für Roboter mit Schrittmotoren und Zahnriemen:

http://www.youtube.com/watch?v=tkDbmWAyHYw&feature=related
http://www.youtube.com/watch?v=2Dq5CRCVH5M&feature=related

Als Hinweis:
Es gibt durchaus Servos die für diese Aufgabe zu gebrauchen sind...das sind spezielle Robotikservos mit integriertem optischen Encoder, Mosfets, anpassbaren Reglerparametern sowie einer Positionsrückmeldung. Kosten dann allerdings 200 Euro/Stück.

Gruß

Edding
21.06.2011, 20:35
Hallo, wir sind jetzt zeitlich wieder an dem Projekt.
Nun wollen wir die Platine kaufen, haben aber gerade ein Verständnis-Problem, welches die richtige Platine ist.
Kann man 7 Motoren mit diesem Board: http://shop.myavr.de/Systemboards/myAVR%20Board%20MK2,%20best%C3%BCckt.htm?sp=articl e.sp.php&artID=40
ansteuern?
Ansonsten hatte wir zum Testen an folgende Platine gedacht: http://www.pololu.com/catalog/product/1354. Was haltet ihr davon? Wir wollen als bevor wir richtig anfangen erstmal versuchen alte servos anzusteuern, um ein Gefühl dafür zu bekommen und zu wissen, wie der Quelltext ungefähr auszusehen hat. Vielleich habt ihr noch ein paar Tipps oder so? Wir würden das ganze jetzt mit C++ versuchen. Habt sonst noch gute Empfehlungen was Platinen angeht? Sollten auf jeden Fall USB haben und mit C/c++ programmierbar sein.

Ich hoffe Ihr könnt uns helfen.
viele Grüße (:

MisterMou
21.06.2011, 20:51
Beide Boards sind möglich, bei dem einen musst du den Code zur Ansteuerung der Servos selbst schreiben und die Software. Bei dem anderen nur die Software für den Computer.
Such dir mal die Ansteuerung von Servos raus, ist n PWM Signal.
20ms Low
1,5-2,5ms High für den Ausschlag des Servos
20ms Low
1,5-2,5ms High für den Ausschlag des Servos
….

Die 20ms können auch weniger sein, kommt auf die Servos an. Mehr geht immer, dann ist die Positionsaktualisierung entsprechend niedriger. 20ms sind ein grobes Richtmaß.

Ich würde die Elektronik selbst bauen, da lernt man eine ganze Menge. Ich habe in meiner gesamten Elektronikzeit nur Messgeräte, Labornetzteil und einen USB Programmer gekauft ;)

Richard
22.06.2011, 13:27
Hallo, wir sind jetzt zeitlich wieder an dem Projekt.
Nun wollen wir die Platine kaufen, haben aber gerade ein Verständnis-Problem, welches die richtige Platine ist.
Kann man 7 Motoren mit diesem Board: http://shop.myavr.de/Systemboards/myAVR Board MK2, bestückt.htm?sp=article.sp.php&artID=40 (http://shop.myavr.de/Systemboards/myAVR%20Board%20MK2,%20best%C3%BCckt.htm?sp=articl e.sp.php&artID=40)
ansteuern?
Ansonsten hatte wir zum Testen an folgende Platine gedacht: http://www.pololu.com/catalog/product/1354. Was haltet ihr davon? Wir wollen als bevor wir richtig anfangen erstmal versuchen alte servos anzusteuern, um ein Gefühl dafür zu bekommen und zu wissen, wie der Quelltext ungefähr auszusehen hat. Vielleich habt ihr noch ein paar Tipps oder so? Wir würden das ganze jetzt mit C++ versuchen. Habt sonst noch gute Empfehlungen was Platinen angeht? Sollten auf jeden Fall USB haben und mit C/c++ programmierbar sein.

Ich hoffe Ihr könnt uns helfen.
viele Grüße (:

Schaut euch einmal dort um http://www.shop.robotikhardware.de/shop/catalog/index.php ,speziell für Servosteuerung
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=87&products_id=198 . Für hoch genaue Antriebe http://www.nodna.de/Roboter-und-Zubehoer/Pan/Tilt/Rotate-Koepfe/Servocity-Heavy-Duty-Getriebe-Pan-Unit-mit-Motor--1434.html oder auch http://de.nanotec.com/linearaktuatoren.html

Gruß Richard

Edding
22.06.2011, 14:20
Danke für die schnellen antworten. Wir werden uns bald absprechen welche Platine wir kaufen. Zum Glück haben wir noch 5 alte billige Servos rumliegen, an denen wir uns Proben wollen.

Lg