PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neues Projekt Laserarm



efuturetoday
09.11.2009, 18:01
Hallo liebe User,

Ich möchte gerne einen "Arm" bauen, der Bewegungen mit einem Laser verfolgt...
Ich weiss, dass man dafür die richtige Software benötigt. Ich programmier derzeit Delphi und habe bereits ein Tool fertiggestellt, welches Bewegungen (von Webcam) erkennt und deren Position ausliest. Ich möchte jetzt meinen "Arm" mit 2 Servo Motoren steuern lassen (X und Y Achse), welche ich über eine Relaiskarte über den Laptop ansteuern möchte.

Nur mir beleiben folgende Fragen:

-Welche Relaiskarten haben keine Schaltverzögerungen?
-Welche Servos sind geeignet, oder sind andere Motoren besser?
-Wie realisier ich, dass der Arm zu der Position schwingt ? Muss ich die Cam an den Arm montieren usw.

Was könnte ich besser machen ? :D

Gock
09.11.2009, 19:38
Hi!
Ein derart komplexes Problem mit Relaiskarten zu lösen ist gleichsam kreativ wie tollkühn. SolidStateRelais haben eine recht geringe Verzögerung, "keine" geht natürlich nicht.
Allerdings stellt sich die Frage, ob Du überhaupt weißt, wie man einen Servo ansteuert. Dazu benötigt man nämlich keine Relaiskarte, sondern eine PWM.
Ließ Dich mal ein und Du wirst sehen.
RNWissen -> Servo
Schwingende Arme programmiert man zB mit schlecht abgestimmten Reglern.
Gruß


Nebenbei: Kann Dein DelphiTool Tiefe erkennen???

efuturetoday
09.11.2009, 19:41
Hey, ich hab mich mal so eingelesen und denke, dass Schrittmotoren die beste Wahl wären. Die Preise sind oke, nur um diese Anzusteuern benötige ich ja noch einen microcontroller. Die meisten kosten über 100 € ... Gibt es keine günstigere Lösungen ?

Gock
09.11.2009, 19:47
100€ für Mikrocontroller oder Schrittmotoren? Billige Schrittmotoren gibts bei Pollin für 5-15€, µCs kosten >1€, Board je nachdem.
Du brauchst darüberhinaus auch noch eine Endstufe für die SM.
Schrittmotoren haben kein Haltemoment, dh sie verbrauchen ständig Strom. Ich denke, ein Servo ist schon besser geeignet, aber ohne µC wird das nicht so leicht.
Unter Pascal konnte man recht leicht auf die parallele Schnittstelle zugreifen. Damit könnte man Pulse für die Schrittmotoren erzeugen ohne µC.
Gruß

efuturetoday
09.11.2009, 20:11
hmmm .. jetzt muss ich mich egentlich zwischen Servos oder Schrittmotoren entscheiden. Doch um den Laser zu justieren, muss das alles schon ziemlich präzise sein. Sind Schrittmotoren jetzt genauer als Servos ? Hinzu kommt auch noch die Geschwindigkeit von Schrittmotoren gegenüber Servos.

Gock
09.11.2009, 20:20
"ziemlich präzise"???
Das hängt von so vielen Dingen ab. Schrittmotoren ohne Getriebe sind vermutlich ungeeignet. Ohne Encoder müssen sie stark genug sein, dass in jedem Fall kein Schritt verloren geht.
Wie ich das so sehe, nimm es nicht persönlich, aber das riecht nach Totgeburt mangels Vorwissen/Recherche.
Gruß

efuturetoday
09.11.2009, 20:23
Oke, ich versteh dich voll und ganz. Also vorwissen, habe ich nur begrenzt (bin 16 Jahre). Ich brauche nur in diesem Bereich etwas Führung... Wie, was wo ... Ich danke dir trotzdem schonmal für deine Hilfe.

nflatjor555
09.11.2009, 23:12
Um auf einfachster Weise einen Laserpointer in irgendeine Richtung zu pointen wuerde ich einen Microkontroller und zwei Servos nehmen. Auf dem hundertstels Grad genau wird das nicht aber solange du eher Personen im Raum verfolgen willst als Fliegen sollte das schon genau genug sein.

Wenn du die Webcam an deinem Arm ranbaust wird schon die Regelung ein bisschen einfacher, du musst nicht unbedingt mittels Trigonometrie die Position deines Targets in Winkel der Servos umrechnen.

Google doch mal nach "CMUCam", das macht ungefaehr das was du willst.

efuturetoday
10.11.2009, 13:52
Ich lege viel Wert auf eure Erfahrungen mit Robotik. Daher frag ich vorher nochmal nach bevor ich mir die Komponenten kaufe.

Würden 2x diese Servos http://www1.conrad.de/fas6/fh.php?fh_host=http://www1.conrad.de&fh_session=/scripts/wgate/ZCOP_B2C/~flN0YXRlPTEwMDU3ODk2Nzc=?&fh_pic_url=//media.conrad.de&layout=b2c&finder=&fh_params=fh_search%3Ddigital%2Bservo%26fh_secondi d%3Db2c205391%26fh_lister_pos%3D9%26fh_location%3D %252f%252fb2cconrad_de_b2c%252fde_DE%252f%2524s%25 3ddigital%255cu0020servo%26fh_eds%3D%25c3%259f%26f h_refview%3Dsearch
und ein S8IO Controller ausreichen oder miteinander arbeiten ?
Und welchen Schwenkradius haben die Servos (brauche mind. 180°)?

Hab mir bereits das Datenblatt des S8IO Controllers angeschaut(http://www.kreatives-chaos.com/artikel/rs232-servocontroller-s8io) und bin sehr zufrieden mit den Funktionen.

nflatjor555
11.11.2009, 09:14
Ich glaube der Schwenkradius ist schon so um die 180 Grad, wuerde aber nicht meine Hand ins Feuer legen, kann auch von Servo zu Servo unterschiedlich sein. Der S8IO sieht schon ganz OK aus, ist ja geziehlt fuer Servos ausgelegt.
Link zu den Servos kann ich nicht aufmachen (Conrad hat's "vergessen"), schreib doch lieber mal den Servotyp hin.
- Mit welche Spannung willst du das alles betreiben? 5V?
- Wie viel Gewicht wird am Ende des Robotarmes haengen? Wie lang ist der Hebelarm? Wenn wenig gewicht und kurzer Hebelarm kannst du relativ kleine Servos nehmen.

efuturetoday
12.11.2009, 19:52
Also auf jeden Fall sollen es Digitale Servos sein. Wegen den schnelleren Impulsen.

-Spannung 12V
-Schwenkradius 180 °
-Armmlänge 30 cm
-Controller über Serial oder USB-Port und Rückmeldung der Servo Position.

Habt Ihr ein paar Vorschläge ? :D

nflatjor555
13.11.2009, 12:47
Hmm... Mit digitalen Servos musst du denen einen Puls 300x die Sekunde oder so liefern (statt 50x bei "normalen" Servos). Dafuer gibt's sicherlich auch Controller aber vermutlich fuer einen hoheren Preis, und ich weiss auch nicht ob du daran so viel zu gewinnen hast...

Die Spannung von 12V scheint mir ein bisschen viel, ich denke normale Servos werden eher mit 4.8...8.4V betrieben (bin kein Experte aber habe es so verstanden).

Rueckmeldung der Servopositionen ist meines Wissens nach nicht standardmaessig moeglich. Eher funktioniert es so das du eine Position vorgibst und davon ausgehst das der Servo dann auch dort hingeht. Wenn du mit deiner Kamera vielleicht den Lichtfleck vom Laserpointer siehst kannst du dann die Ausrichtung aktiv regeln, wenn der Pointer z.B. zu weit links zeigt dann wird er halt nachjustiert und der genaue Position kennst du nicht aber das ist auch recht egal. Ungefaehr kannst du die Servoposition aber ausrechnen von dem Vorgabewert was du an deinem Servo ausgibts.

Wofuer brauchst du eine Armlaenge von 30cm? Wenn du nur einen Laserpointer steuern willst wuerde ich den Arm so kurz wie moeglich halten um weniger Kraft zu brauchen und schneller bewegen zu koennen.

Schau dir mal diese Links an:
http://profile.myspace.com/index.cfm?fuseaction=vids.individual&VideoID=25714175
http://sazary.com/Papers/Project%202%20Proposal%20R3D.doc
http://www.servocity.com/html/spt100_pan___tilt_system.html