Roboterarm Trifecta (Science Olympiad) 14 Steps (mit Bildern)


Es gibt 16 Motoren in
dieser Entwurf. 10 von ihnen sind Dynamixel Servos (2 AX-12W, 4 AX-12A, 2 RX-24F und 2 MX-64), 3 Autofenstermotoren, 2 sind Hobbyking micro Hobbys Servos und 1 Maxon Motor.
Jeder der beiden Hauptarme hat die Hälfte der Dynamixel Servos und einer der Autofenstermotoren. Der Rest der Motoren ist in der Verlängerungsarmanordnung verwendet.
Wir haben unsere Motortreiber von den großen Menschen bei Dimension Engineering über. Wir haben eine Syren 50 für jede der Autofenstermotoren an der Basis jedes der Hauptarme und ein Syren 25 für das Autofenster Motor, der den Verlängerungsarm nach oben und unten dreht. Diese Treiber waren ein Kinderspiel mit dank der Arduino-Bibliotheken zu arbeiten, die Dimension Engineering liefert. (Im Ernst, wir können nicht oft genug sagen, wie hilfreich Dimension Engineering in diesem Projekt war.)
einen Gleichstrommotors für den Hauptbasisdrehantrieb Verwendung wurde wegen des Drehmoments erfolgt erforderlich, um die Basisachse des gesamten beweglichen Roboterarms zu steuern. Ein Standard-Servomotor wäre eine absurde Menge kosten, und wir dachten, dass wir die Herausforderung annehmen würden unsere eigenen zu machen. Der Unterschied zwischen einem Windschutzscheibenmotor und einem Servo ist nur ein bisschen der Logik, und ein hochqualitatives Motortreiber. Mit den Motortreiber von Dimension Engineering in der Hand, angebracht wir einen Photometer an die Basisachse und einen PD-Regelkreis implementiert, wie in dem Programmierschritt gesehen. Um eine noch höhere Festigkeit zu erreichen und steuern wir implementiert ein 2: 1 Riemenantrieb Übersetzungsverhältnis.
Schritt 10: Programmierung

Dieser Roboter wird durch drei verschiedene Arduino Mikrocontroller-Boards mit Strom versorgt. Die beiden Arduino Mega Pro-Boards laufen beide das gleiche Programm (mehr oder weniger), während der dritte ein sehr einfaches Programm hat nur zu steuern, um die Neigung und das Anheben des Auslegers.
Wir haben uns für drei Bretter zu verwenden, so dass im Falle einer Störung in einem Stück Code auf einem Arm, die anderen Arme noch richtig funktionieren Lage wäre, und noch Punkte für den Wettbewerb zu punkten.
Das Hauptmerkmal des Codes war die PD-Steuerung für den Basismotor. Dies ermöglicht es dem Arm seiner Lage ohne abrupte Stopps zu bewegen, wenn er dort ankommt. Die Syren Motortreiber waren extrem einfache Befehle zu senden, dank der Bibliotheken von Dimension Engineering.
Die Dynamixel Servos in der PID-Regelung eine gebaut haben, so alles, was getan werden musste war die Lage zu senden, um diese Befehle. Weil wir Servos aus der AX verwendet, MX, und RX-Leitungen, brauchten wir zwei verschiedene Pufferchips. Wir haben gelernt, wie man die Arduino verwenden, um diese Servos von Savage Elektronik zur Steuerung und wir verwenden leicht modifizierte Versionen seiner Bibliotheken (im Code-Ordner enthalten). Alles, was getan wurde, um diese Bibliotheken zu modifizieren für unseren Gebrauch war die serielle Schnittstelle in einer Bibliothek zu ändern, so dass jeder Pufferchip seine eigene serielle Schnittstelle hat.
Wenn wir schreiben den Code gestartet, schrieben wir jede Funktion Schritt für Schritt. Wir begannen mit nur den Code für den Basismotor läuft, dann gingen wir die Stücke eins nach dem anderen weiter unten den Arm hinzuzufügen. Wir wollten sicherstellen, dass jedes Stück des Codes korrekt gearbeitet, bevor wir jede Funktion zusammen versucht, das Risiko zu verringern alle unsere harten Arbeit bis zu diesem Punkt zu ruinieren.
Der Code-Ordner umfasst hier alle Bibliotheken erforderlich, dass der Code der Arduino Skizzen für jeden Arm zu kompilieren und zu.
Schritt 11: Fehlerbehebung



Mit Hunderten von Teilen kommen dort zusammen gebunden war zumindest ein Problem zu sein.
Bei jedem Projekt wird es Probleme geben, aber bei jedem Problem bekommen Sie bis zur Fertigstellung näher. Wenn man durch diese Stufe kann frustrierend sein, aber die Art, wie wir damit umgehen gefunden ist mit einem Partner. Wir würden einander gesund in den frühen Morgenstunden halten und öffnen jeweils anderen Augen auf die Antwort eines Problems, das direkt auf uns anstarrte. Wenn Sie solo arbeiten, manchmal das Beste, was zu tun ist, stehen zurück und Blick auf Ihr aktuelles Problem aus einem anderen Blickwinkel. Erklären Sie Ihr Problem out-loud und Verdummung es nach unten können Sie einfach so tun, helfen.
Unsere größten Probleme waren mit den Linearschlitten und dem Spiel der Motoren. Unsere kundenspezifischen PCB hat eine blätterte Spur, die in 8 Stunden Kopf hämmern geführt und wir nie gedacht, über die Leitungsführung zu denken, während ein Roboter entwerfen, die auf 17 Punkte artikuliert. Hoppla.
Probleme sollen über kam sein, so haben wir genau das.
Schritt 12: Optimierung



Montiert und arbeitete, war es Zeit, um die PD-Steuerung für den Basismotor zu kalibrieren. Dies würde steuern, um die Geschwindigkeit, mit der der Arm in eine bestimmte Position schwenken würde, und die Menge an Totgang von dem Motor plötzlich zu stoppen reduzieren. Da wir keine Art von Art und Weise haben, leicht die Werte einzustellen, hatten wir den Wert in dem Code zu ändern und neu laden jedes Mal, wenn wir die Änderung vorgenommen haben. Wir begannen mit dem P-Wert Aufdrehen zunächst auf ein Niveau, das wir mit komfortabel waren. Dann passten wir den D-Wert, bis es schön, wie wir zogen es wollte. Es gab nicht viel Verfahren zu dem, was wir getan haben, so dass wir wirklich nur gespielt um mit den Werten, bis wir es gern.
Die Klaue Griffstärke war viel zu hoch am Anfang. Auf harten Gegenständen, würde es zu einer Über Drehmoment selbst versuchen und die Servo mehr reagiert, sein Leben zu bewahren. Um dies zu lösen, bearbeiten wir nur die maximale Drehmomenteinstellung auf der Kralle Servo. Tada, Problem gelöst.
Unser Verlängerungsarm wurde vor allem durch die Menge der Rohre begrenzt, die wir finden konnten ineinander passen. Damit endete 7 Röhren zu sein und es könnte etwa 18 Meter Höhe erreichen. Je höher er kam, offensichtlich ist, desto weniger stabil war. Bei voller Ausdehnung, die Spitze des Armes würde wiegt ein paar Füße hin und her um und es wäre es sehr schwer für die Richter zu messen.
Schritt 13: Verpackung







Der Fall, dass wir gebaut sichergestellt, dass der Roboter in seinen Reisen in all den verschiedenen Wettbewerben geschützt würde. Eine Box wurde entwickelt und auf den CNC-Tisch-Router in unserer High-School-und montiert schneidet. Der Roboter gleitet in schön in einer zusammengefalteten Position und ist fest an seinem Platz mit einer Kombination aus Klammern und Polsterung an strategischen Standorten statt. Der Fall sah ziemlich spiffy zu booten.
Die beiden Lenker wurden einzeln in diesen Fällen von Harbor Freight verpackt. Es gab mehrere Schaumschichten, die die Arme aus, um sie während des Transports verhindert.
Schritt 14: Fazit


Alle unsere harte Arbeit hat sich gelohnt
schlussendlich! Wir stellten zunächst auf regionaler und Landesebene von Science Olympiad und gewann den ersten Platz in der regionalen und den zweiten Platz in den staatlichen Ebenen des MITES Wettbewerb.
Durch dieses Projekt haben wir viel gelernt über Technik und wie durch den Prozess mit einem Gedanken kam bis zu gehen und dann diese Gedanken in ein physisches Objekt drehen, das genau das tut, was es tun sollte zu. Es war ein sehr lohnendes Projekt und auf jeden Fall das Highlight unseres Jahr an der High School. Wir kamen zu erkennen, dass es so viele Stufen zwischen Prototyping und einer Vorrichtung, die Sie vertrauen können und nur durch diese Phasen gehen braucht Zeit.
In diesen Tagen, Jordan Vanderham ist im Grand Valley State University studiert Maschinenbau und Elektrotechnik und Matthew Budde ist an der Michigan Technological University Computer studieren und Elektrotechnik. Sie sind gespannt auf die Zukunft zu kommen und zu welchem Projekt sie arbeiten als nächstes,
Gehen Sie aus und tun etwas, das Sie nie für möglich gehalten hätte meine Freunde! Wir hielten nur mit der Aufregung der Reise und der Liebe der Technik auf dem Druck.