Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Soft und Firmware für eigenbau 6 Achs Robot Arm
FrankSchulze
10.05.2015, 08:59
301413014230143301443014530146
Ich bin auf der Suche nach einer Software und dazugehörigem Code für das Board: http://www.ebay.de/itm/221210591650?clk_rvr_id=827998865381&rmvSB=true
um meinen 6 achsigen Roboter zu steuern. Mir kommt es dabei nicht drauf an geradlinige Bewegungen zu fahren. Ich möchte verschiedene Positionen anfahren und diese Speichern. Zusätzlich würde ich noch gerne signale wie zum Beispiel be und Entladefreigabe abfragen und das ganze nachher in einem Ablaufprogramm selbstständig arbeiten lassen.
Die Servos http://www.ebay.de/itm/351377156390?clk_rvr_id=827996280265&rmvSB=true können direkt auf das Board gesteckt werden da dies von mir verstärkt wurde.
Auch die Roboterachsen wurden so Optimiert das für die Servos kein großer Kraftaufwand nötig ist.
Ich habe schon viel getestet und auch gelesen, aber komme einfach nicht weiter. Ich bitte hier um Hilfe bei diesem Projekt da ich mich mit der Programmierung überhaupt nicht auskenne.
LG,Frank
redround
10.05.2015, 12:24
das was DU da verlinkt hast, ist einfach nur ein UNO mit ein paar herausgeführten Anschlüssen für die Servos. Davon würde ich dringend abraten, da ich nicht glaube, dass das Ding ausreichend Strom für das Verfahren von mehr als einem Servo gleichzeitig aufbringen kann. Wenn Du also mehrere Achsen gleichzeitig verfahren willst, wird die Spannung ziemlich sicher einbrechen und der Controller resetten.
Firmware in dem Sinne gibt es für das Board eh keine. Da ist ein Bootloader drauf und fertig. Zusätzlich müssen ein paar angepasste Bibliotheken installiert werden, dass die IDE das Ding korrekt erkennt ... aber das war's dann schon. Den Rest musst Du eh selbst programmieren.
FrankSchulze
10.05.2015, 13:19
Ich habe das Board auf der Unterseite verstärkt und einen zusätzlichen Spannungseingang installiert. Im Test hat es funktioniert.
Was ich suche, ist etwas in der Richtung von Servo serial Controller, oder SSC-32 Servo Sequencer Utility.
Mir fehlt nur leider der passende Code für mein Board und davon habe ich wie schon beschrieben wenig Ahnung.
Aus diesem Grund suche ich hier Hilfe...ich hoffe das jemand eine Idee hat, was ich verwenden kann.
redround
10.05.2015, 14:37
das wird trotzdem nix. Servos brauchen 5-6 Volt. Die Versorgungsspannung des UNO ist höher. Also muss der Spannungsregler des UNO herhalten um auf die 5 Volt zu kommen. Der kann aber nur 500 mA - und das reicht nunmal nicht für mehr als 2 Servos. Vor allem dürften die von Dir vorgesehenen Servos auch etwas mehr Strom verbrauchen bei 20 KG Haltemoment. Leider habe ich auf die Schnelle da kein Datenblatt gesehen. Ich denke nachwievor nicht, dass das gehen wird. Und was bitte verstehst Du unter einem "zusätzlichen Spannungseingang"?
Beim Programm wirst Du wie gesagt selber ran müssen. Da wird es nix passendes geben.
Wenn man mir den Auftrag gäbe eine Software dafür zu entwickeln, würde ich fragen, ob ein PC per USB angeschlossen ist.
Falls ja, würde ich den Arduino-Code auf das Steuern der Gelenkwinkel beschränken. Diese Winkel würden über Serielle Schnittstelle übertragen.
Das Programm, das die Winkelberechnungen durchführt, würde ich mit Matlab oder falls nicht vorhanden Octave schreiben.
Es gibt dazu eine umfassende Bibliothek von Peter Corke, die wäre die Basis.
redround
10.05.2015, 21:01
naja ... anhand der Ausgangsbeschreibung würde ich eher zu einem Teach-In System tendieren. Dafür brauchts dann auch keinen PC. Einfach eine Tastatur, mit der jedes Servo einzeln angesteuert werden kann. Wenn dann eine Soll-Position auf diese Art erreicht wurde, speichert man diese in der Steuerung und fährt manuell zur nächsten Position. Hat man dann der Steuerung auf die Art alle Wegepunkte beigebracht, kann man diese in Zukunft dann automatisiert anfahren. Das größte Problem dabei ist dann aber, dass Servo sich oft nicht eignen um kleine Schritte zu machen. Um den Stromverbrauch in RC-Modellen zu reduzieren, ist die Steuer-Elektronik in vielen Servo darauf ausgelegt, nur Bewegungen ab einer gewissen Mindest-Schrittweite zu machen. Da muss man einfach mal probieren, ob das mit den Servos geht oder nicht. Wenn das Probleme bereitet, braucht man in der Tat eher ein System, in dem man die Ziel-Koordinaten eingibt und von der Steuerung dann die benötigten Servo-Stellungen berechnen lässt.
Rabenauge
12.05.2015, 10:19
Das Board _ist_ ein (leicht modifizierter) UNO- weiter gar nix. Hab ich auch- nettes Teil aber _gar nicht_ geeignet, um Servos direkt dran zu betreiben. Auch wenn die Anschlüsse da sind...
Bei Servos dieser Leistungsklasse sollte nicht unter 1A pro Servo zur Verfügung stehen, und das ist dann noch nich viel....
Und: irgendeine fertige oder halbfertige Software dafür gibt es nicht.
Ausserdem gibts keine Möglichkeit, aus solchen Servos die IST-Position überhaupt auszulesen.
Somit schonmal Essig mit: wir bewegen den Arm dahin, wo er soll, speichern das und fertig- das kannst du so vergessen.
Was es aber gibt ist die Arduino-IDE und ne Servobibliothek. Dort ist es auch möglich, bestimmte Stellungen zu definieren, und die dann anzufahren.
Da wirst du wohl einfach mal durch müssen- da _kann_ dir keiner helfen, der das Ding nicht vor sich stehen hat. Eigentlich auch nicht nötig, so schwer isses nicht...
021aet04
12.05.2015, 10:54
Wenn man es unbedingt mit teach in machen will benötigt man eine positions Erkennung, das kann man als Erweiterung machen.
MfG Hannes
Wenn man es unbedingt mit teach in machen will benötigt man eine positions Erkennung, das kann man als Erweiterung machen.
Das ist nicht erforderlich. Da man, um ein Servo zu bewegen, einen Winkel durch die Pulsbreite vorgibt, weiß man zu jedem Zeitpunkt, wie der Winkel ist. Beim Verfahren von Hand kann man ja auch nur die Winkel verändern. Wie genau der Winkel ist, ist zwar fraglich aber unbedeutend. Das Servo oder eher die Kette der Servos ist ja nicht besser.
Man darf sich aber nicht nur die Zielposition merken, auch der Weg ist wichtig. Nicht jede Position im Raum ist aus jeder Richtung anfahrbar. Daher muß man die inverse Kinematik bemühen.
Das größte Problem dabei ist dann aber, dass Servo sich oft nicht eignen um kleine Schritte zu machen. Um den Stromverbrauch in RC-Modellen zu reduzieren, ist die Steuer-Elektronik in vielen Servo darauf ausgelegt, nur Bewegungen ab einer gewissen Mindest-Schrittweite zu machen.
Das hat mit dem Stromverbrauch nichts zu tun. Ohne Hysterese kann so ein einfaches System nicht brauchbar funktionieren. Jede kleinste Störung, jedes Rauschen im Empfänger, jeder Schmutz auf der Versorgung würde sonst zu einem Zappeln des Systems bis zum Aufschwingen führen. Das ein stabiles System auch den geringsten Stromverbrauch hat, liegt in der Natur der Sache.
MfG Klebwax
i_make_it
12.05.2015, 13:43
Der Vorgabewert für den Servo ist die Position die abzuspeichern ist.
Also ausschließlich teach In Programmierung möglich und "erst mal" keine Bahnsteuerung.
Man schätzt wie weit man noch muß und verändert den Vorgabewert eines Servos solange bis es passt. wenn der Servo steht ist er auf dem Wert den man haben will (Plus- minus der Toleranz vom Poti) den Wert speichert man. Da der Servo immer mit der lastabhängigen maximalen Geschwindigkeit versucht den Zielwert zu erreichen, kann man keine Bewegungsbahnen programmieren. Man hat keinen Einfluß auf die Drehmomentregelung, die Stromregelung und die Positionsregelung. mann müsste mühsam alle paar mm eine Position teachen und dann waits einlegen um den Achsen auch die Zeit zu geben die Position zu erreichen. Dann zur nächsten Position und so weiter bis zum Zielpunkt.
Eine Software dazu gibt es nicht, da niemand hellsehen kann und für deinen 6-Achs Vertikal Knickarm mit RC-Servos als Antrieben ein Software im Vorraus programmiert hat.
Was möglich wäre, wäre die Servos zu hacken und so DC Getriebemotoren zu haben und wenn der Platz es hergibt möglichst motornah an einem Zahnrad mit Hall Sensoren und Magneten Encoder einbauen oder halt teure Encoder mit entsprechender Auflösung an die Achsen dranflanschen.
By the way: der Oberarm ist ein Designerprodukt kein Ingenieursprodukt. Dort wo am Biegebalken "Oberarm" das größte Trägheitsbiegemoment auftritt, ist er am dünnsten. Sofern da hinter der Verkleidung keine Spannseil Konstruktion steckt ist das entgegen aller Regeln der Statik gebaut.
Sprich kaum Masse gespart, aber sehr viel Biegesteifheit eingebüßt.
Deshalb sind Seilbrücken in der Mitte dünn
http://upload.wikimedia.org/wikipedia/commons/3/33/Suspension_bridge_pattern_german.png
und Fachwerk Brücken in der Mitte dick.
http://upload.wikimedia.org/wikipedia/commons/8/89/Elbow_bridge_pattern_1.png
Das Teil empfiehlt sich also neu zu konstruieren.
Ansonsten schon ein "optisch" schönes Stück Arbeit.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.