PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Wie baue ich einen 3D-Roboter ?



Robo
20.01.2004, 12:53
Ich benötige einen Roboter der in alle drei Richtungen (X , Y, Z) bewegt werden kann. Die Positioniergenauigkeit sollte bei ca. 1mm liegen.

Das Ganze würde ich gerne mit einem AVR-Mikrokontroller realisieren. Die Frage ist nun,
wie wähle ich den für mich richtigen dieser Produktfamilie in Bezug auf
(Speichergröße, Ein-/Ausgänge, Taktfrequenz, Interrupts, Timer, …) aus?

Der Roboterarm soll nicht nur durch die Schrittmotoren in eine bestimmte Position im Raum fahren, sondern auch per Handkraft bewegbar sein
d.h. es müsste eine Möglichkeit geben die Schrittmotoren vom Roboterarm Mikrokontroller gesteuert zu entkoppeln.
Wie mache ich das?
Des weiteren sollte der M-controller nachdem der Roboterarm per Handkraft in eine Endposition bewegt wurde die X, Y, Z Koordinaten registrieren können.
Welche Möglichkeit der Positionsbestimmung schlagt ihr vor?

Für Ideen / Links / Bezugsadressen wäre ich sehr dankbar

Gruß
Robi

Steffen
20.01.2004, 15:30
Hallo Robi,

nicht gerade einfah, was du dir da vorgenommen hast.
Ich versuch mal deine Fragen zu beantworten:
- Mit einem AVR bist du gut beraten. Für drei Achsen musst du auch drei Stellungen von Gelenken auslesen. Dafür würden sich Potis eignen, also benötigst du mindestens 3 AD- Wandler Ports. Speichergröße ist denke ich mal nicht so wichtig, da dürften ein paar kb sicherlich reichen. Ein und Ausgänge eigentlich nur Eingänge als AD Wandler und Ausgänge für die Ansteuerung der Schrittmotoren. Taktfrequenz ist unkritisch - Timer benötigst du auf jeden Fall für die Ansteuerung der Schrittmotoren. Als AVR kannst du sowohl den ATMega8, als auch größere Typen nehmen. (Ich würde jetzt mal mit dem ATMega 16 anfangen - falls du mehr Flash brauchst kannst du dan auch noch auf den Mega32 umsteiegn.
- Durch Hand bewegbar könntest du folgendermaßen umsetzen. Du probierst aus, wieviel Strom du durch die Schrittmotoren schicken musst, nur um sie zu halten (also der Gewichtskraft entgegen zuwirken). Dann sollten diese auch noch per Hand bewegbar sein.
- Die Endposition auslesen ist eigentlich dann kein Problem. Das benötigst du sowieso, um die Schrittmotoren anzusteuern (Soll und Ist Position).

Soweit mal zu deine Fragen.
Jetzt meine Bedenken:
Ich stelle mir es alles andere als einfach vor, die Mechanik hierfür zu bauen. Wenn du tatsächlich nur 1 mm Abweichung zulassen willst muss alles sehr exakt sein. Je nach Größe und Gewicht benötigst du hierfür auch sehr starke Schrittmotoren (evtl. mit Getriebe). In welcher Größe stellst du dir das vor?

Die Potis sind leider etwas ungenau und werden natürlich mechanisch auch belastet. Besser wäre hier die Anwendung eines Permanentmagneten in Verbindung mit einem Hallsensor (das ist allerdings viel schwerer auszulesen, da nicht linear...)

Was willst du mit dem Teil anstellen? Vielleicht kannst du das Bewegen mit der Hand dadurch vermeiden, indem du eine Joysticksteuerung mit einbaust?!?

Ach ja, Conrad hat(te) glaub ich mal einen Bausatz für einen Roboterarm. Ich denke nur, dass der deinen Ansprüchen (v.a. wegen Genauigkeit) nicht genügen wird ...

Ich hoffe dir etwas geholfen zu haben.

Viele Grüße
Steffen

Matthias
20.01.2004, 15:55
Haben die auch noch, ist aber so´n Plastikteil, das nicht sehr präzise aussieht...

Matthias

robo
21.01.2004, 11:45
Zuerst mal vielen Dank für die Infos, Anregungen und auch die Bedenken die zum Teil auch die meinigen sind.

Damit das Ganze besser vorstellbar ist, werde ich mal kurz eine Beschreibung geben was mit dem Roboter gemacht werden soll.
Ich habe einen Freund, der einen Freund hat der Neuropsychologie ist. Dieser untersucht die motorischen Fähigkeiten von Sehenden versus Blinden.
Was er vor hat ist folgendes:
Die Hand von Blinden als auch von Sehenden soll vom Roboter in verschiedene Positionen im Raum geführt werden. Anschließend sollen beide Gruppen diese zuvor eingenommenen Positionen möglichst genau reproduzieren.
Einfach ausgedrückt: Es wird untersucht ob Blinde besser/ gleich gut /schlechter wie Sehende (mit geschlossenen Augen) die Positionen im Raum wieder finden können.
Während der Prozedur werden die Potentiale d.h. das EEG der Probanten abgeleitet und geschaut in welchen Arialen des Gehirns Sehende / Blinde ihre motorischen Fähigkeiten „versteckt“ haben.

Mechanik:
Der mechanische Aufbau wird von einer Metallwerkstatt übernommen. Bin überzeugt, dass die das mit der Genauigkeit hin bekommen.

Größe:
X: 1000mm Y:1000mm Z: 600mm

Positionsbestimmung:
Ich dachte dabei an optische Sensoren zur Bestimmung der Position.
Hat jemand von euch Erfahrung damit?

Ich werde mich jetzt erstmal mit der Programmierung von Atmels beschäftigen.
Was haltet ihr vom Starterkit STK 500 / Software? Gibt´s gute Alternativen?

Timer:
Steffen, du schreibst ich bräuchte zur Ansteuerung der Schrittmotoren einen Timer.
Brauche ich einen für jede Achse ?

22.01.2004, 10:40
Hallo!

Nicht schlecht.

Die Ansteuerung prinzipiell dürfte nicht so schwer sein. Du benötigst eben Schrittmotoren, die das Teil bewegen könnn (rel. großes Drehmoment) und ein Getriebe. Wenn sich damit eine Metallwerkstatt beschäftigt ist das in Ordnung. Die Gelenke sollten 'leicht' beweglich sein, weshalb es sicherlich sinnvoll ist, gute Kugellager einzubauen.

Prinzipiell solltest du mal den Aufbau skizzieren, wie du dir das vorgestellt hast. Ich habe an zwei Geleke gedacht und das ganze auf einer drehbaren Scheibe. Alle mit Schrittmotoren angesteuert.

Positionsbestimmung mit optischen Sensoren? Ich kann mir leider nicht ganz vorstellen, was für Sensoren da in Frage kommen würden. Es würde reichen, wenn du die Winkel der drei Gelenke kennst, dann kannst du die Position ausrechnen.

Mit der Programmierungen der Atmels anfangen ist natürlich sinnvoll. Empfehlen kann ich da das Tutorial auf www.mikrocontroller.net. Hier wird alles gut erklärt und du kannst alles aufbauen mit ca. 20 Euro. Ein STK 500 ist für den Anfang wenig sinnvoll, da es recht teuer ist. Ich würde erst einmal probieren, ob du mit den Atmels zurecht kommst. Wenn du später noch mehr mit uC machen möchtest, kannst du dir das Board dann auch noch kaufen.

Du brauchst für die Schrittmotoren nur einen Timer, das reicht vollkommen aus ...

Grüße
Steffen

Red Dragon
10.02.2004, 13:33
die Idee ist icht schlecht. Ich habs auch erst mit dem tutorial versucht aber (leider) hat das garnicht geklappt. bin schon an der programmierung gescheitert. Jetztz habe ich mir ein stk 500 gekauft und alles klappt wunderbar. also die investition lohnt sich wenn man nicht nur ein projekt mahcen will auf alle fälle

skammel
13.02.2004, 16:04
hallo Robi,

habe jetzt erst deinen beitrag vom 20.01 gelsen
das projekt des psycho-menschen klingt interessant
er wird dann erstaunlicherweise estellen, dass der hirnbereich der fuers sehen zustaendig ist
auch bei den blinden aktiviert wird bzw. als zusaetzliche resource genutzt wird
und! er sollte auch zwischen geburstblind und spaet-erblindet unterscheiden

ok, es geht ja um roboter
die hand der versuchspersonen ueber einen robo zu positionieren find ich erstmal gut
aber wenn du eine genauigkeit bei der re-positionierung brauchst
wuerde man normalerweise zwei kameras nehmen und die bilder auswerten
der artige versuche sind mir beaknnt (da selber blind)

stk 500:
ich halte das stk500 fuer eine gute sache wenn man
nicht viel loeten will und bereit ist etwas mehr gel auszugeben
ich selbst verwende es auch allerdings unter linux
gruss skammel

Red Dragon
13.02.2004, 21:28
Entschuldige die frage, aber wie funktioniert das arbeiten als blinder mit Computern und so kleinen sachen wie µCs. Das is ja als sehender schon nicht leicht. aber ohne was zu sehen stelle ich mir das absolut unmöglich vor. vorallem wie funktioniert die darstellung vom monitorbild zum "ertasten(?)"

skammel
14.02.2004, 10:33
hi,
arbeiten als blinder:
es gibt zum einen sprachausgaben die einem teile des bildschirmsvorlesen koennen
oder sog. braillezeilen (braille = punktschrift)
ueber die braillezeile wird immer eine bildschirmzeile ausgegeben und ich kann
ueber so einen art navigationstasten sagen ob ich eine zeile nach unten oder oben lesen will
bilder von diesen geraeten gibt es hier:
http://www.papemeier.de -> reha
http://www.handytech.de
oftmals wird auch eine kombination von beiden eingesetzt
alles genau zu erklaeren sprengt den rahmen - aber das ist grob die arbeitsweise
das geht auch recht fix mit diesen hilfsmitteln

mcs:
naja, ist schon etws knifflig fuer mich - ich benutze das stk500 und weiss wo welche ports liegen
und das anstecken eines flachbandkabels ist nicht so schwer
ein bekannter hat mir noch zwei platinen geloetet
servo, motor
die kann ich auch uber das 2x5pol flachbandkabeln anschliessen
ist fasst wie lego :-)

wenn unsere steckerdiskussion mal abgeschlossen ist dann erhofe ich mir auch viele vorteile von den einheitlichen steckern
alles was ich einigermassen fuehlen kann kann ich auch stecken
nur loeten usw. geht eben nicht

gruss skammel

Franziskus
14.02.2004, 14:38
Hei Robi

Die Ide von der optischen Positionserkenung ist gut wen man bedenkt das pracktisch alle Fräs Dreh und Kordinaten Bohrmaschienen so gesteuert werden mit einer genauikeit von etwa 0,001mm.

Das System ist denkbar einfach an den beweglichen Teilen wird irgend eine Skalierung an einem Glasmastab (es eignen sich bestimt auch Folien) angebracht die dan von einer Lichtschranke gelesen werded.

In diesem fal würde sich soger der Schritmotor erübrigen da die position über die Skelierung abgelesen werden kann.

Franziskus
14.02.2004, 14:51
Beina hät ich s vergessen
Es giebt bei " http://www.micromaus.de/ " Kreis runde Skalascheiben mit Gabelschrange
Artikelname: SHARP GP1A70R
Artikelnummer: 00210
Preis: 14.89 EUR