Selbstgebauter Armmanipulator für einen Roboter. Do-it-yourself-Desktop-Roboterarm, Plexiglas-Manipulator auf Servos oder uArm-Reverse-Engineering

Hallo zusammen!
Vor ein paar Jahren erschien auf Kickstarter ein sehr interessantes Projekt von uFactory – die Desktop-Roboterhand uArm. Sie versprachen, das Projekt im Laufe der Zeit als Open Source zu veröffentlichen, aber ich konnte es kaum erwarten und begann mit dem Reverse Engineering anhand von Fotos.
Im Laufe der Jahre habe ich vier Versionen meiner Vision dieses Manipulators erstellt und schließlich dieses Design entwickelt:
Dabei handelt es sich um einen Roboterarm mit integrierter Steuerung, der von fünf Servos angetrieben wird. Sein Hauptvorteil besteht darin, dass alle Teile entweder gekauft oder kostengünstig und schnell mit einem Laser aus Plexiglas ausgeschnitten werden können.
Da ich ein Open-Source-Projekt als Inspirationsquelle genommen habe, teile ich alle meine Ergebnisse vollständig. Sie können alle Quellen über die Links am Ende des Artikels herunterladen und bei Bedarf zusammenstellen (alle Links befinden sich am Ende des Artikels).

Aber es ist einfacher, es einmal in Aktion zu zeigen, als lange zu erzählen, was es ist:

Kommen wir also zur Beschreibung.
Spezifikationen

  1. Höhe: 300 mm.
  2. Arbeitsbereich (bei vollständig ausgefahrenem Arm): von 140 mm bis 300 mm um die Basis
  3. Maximale Tragfähigkeit auf Armlänge, nicht weniger als: 200 g
  4. Stromverbrauch, nicht mehr: 6A
Ich möchte auch einige Designmerkmale erwähnen:
  1. Lager in allen beweglichen Teilen des Manipulators. Insgesamt gibt es elf davon: 10 Stück für einen 3-mm-Schaft und eines für einen 30-mm-Schaft.
  2. Einfach zu montieren. Ich habe sehr darauf geachtet, dass beim Zusammenbau des Manipulators eine solche Reihenfolge eingehalten wird, dass das Verschrauben aller Teile äußerst praktisch ist. Besonders schwierig war dies für die leistungsstarken Servoantriebseinheiten im Stützpunkt.
  3. Alle leistungsstarken Servos sind im Sockel untergebracht. Das heißt, die „unteren“ Servos ziehen die „oberen“ nicht mit.
  4. Dank Parallelscharnieren bleibt das Gerät immer parallel bzw. senkrecht zum Boden.
  5. Die Position des Manipulators kann um 90 Grad geändert werden.
  6. Fertig Arduino-kompatibel Software. Rechts gesammelte Hand können mit der Maus gesteuert werden und anhand von Codebeispielen können Sie eigene Bewegungsalgorithmen erstellen
Beschreibung des Designs
Alle Teile des Manipulators sind aus Plexiglas mit einer Dicke von 3 und 5 mm geschnitten:

Achten Sie darauf, wie der Drehsockel zusammengebaut wird:
Am schwierigsten ist der Knoten am unteren Ende des Manipulators. In den ersten Versionen war der Zusammenbau für mich sehr aufwändig. Es verbindet drei Servos und überträgt die Kräfte auf den Griff. Die Teile drehen sich um einen Stift mit 6 mm Durchmesser. Der Griff wird parallel (oder senkrecht) gehalten Arbeitsfläche aufgrund zusätzlicher Traktion:

Der Manipulator mit installierter Schulter und Ellenbogen ist auf dem Foto unten dargestellt. Dafür müssen wir noch eine Klaue und Stäbe hinzufügen:

Auch die Klaue ist gelagert. Es kann schrumpfen und sich um seine Achse drehen:
Die Kralle kann sowohl vertikal als auch horizontal montiert werden:

Alles wird von einer Arduino-kompatiblen Platine und einem Schild dafür gesteuert:

Montage
Der Zusammenbau des Manipulators erfordert etwa zwei Stunden und eine Menge Befestigungselemente. Den Montagevorgang selbst habe ich in Form einer fotografisch dokumentierten Anleitung (Vorsicht, Verkehr!) mit detaillierten Kommentaren zu jedem Arbeitsgang dokumentiert. Ich habe auch ein detailliertes 3D-Modell in einfachen und einfachen Formen erstellt kostenloses Programm SketchUp. So können Sie es jederzeit vor Ihren Augen umdrehen und fremde Orte betrachten:


Elektronik und Programmierung
Ich habe eine ganze Abschirmung gemacht, auf der ich zusätzlich zu den Servo- und Stromanschlüssen variable Widerstände installiert habe. Zur Erleichterung des Debuggens. Tatsächlich reicht es aus, die Signale über ein Steckbrett an die Motoren anzuschließen. Aber am Ende landete ich bei diesem Schild, das ich (zufälligerweise) in der Fabrik bestellt habe:

Im Allgemeinen habe ich drei verschiedene Programme für Arduino erstellt. Eine für die Steuerung über einen Computer, eine für die Arbeit im Demo-Modus und eine für die Steuerung von Tasten und variablen Widerständen. Das interessanteste davon ist natürlich das erste. Ich werde hier nicht den gesamten Code vorstellen – er ist online verfügbar.
Zur Steuerung müssen Sie ein Programm für Ihren Computer herunterladen. Nach dem Start wechselt die Maus in den Handsteuerungsmodus. Die Bewegung ist für die Bewegung entlang der XY-Achse verantwortlich, das Rad ändert die Höhe, LMB/RMB – Erfassung, RMB+Rad – dreht den Manipulator. Und es ist tatsächlich praktisch. Es war im Video am Anfang des Artikels.
Projektquellen

Zu den Merkmalen dieses Roboters auf der Arduino-Plattform gehört die Komplexität seines Designs. Der Roboterarm besteht aus vielen Hebeln, die es ihm ermöglichen, sich entlang aller Achsen zu bewegen, verschiedene Dinge zu greifen und mit nur 4 Servomotoren zu bewegen. Nach dem Sammeln mit meinen eigenen Händen Mit einem solchen Roboter werden Sie Ihre Freunde und Lieben auf jeden Fall mit seinen Fähigkeiten überraschen können angenehme Aussicht dieses Geräts! Denken Sie daran, dass Sie zum Programmieren jederzeit unsere grafische Umgebung RobotON Studio verwenden können!

Wenn Sie Fragen oder Anmerkungen haben, sind wir jederzeit für Sie da! Erstellen und veröffentlichen Sie Ihre Ergebnisse!

Besonderheiten:

Um einen Roboterarm mit eigenen Händen zusammenzubauen, benötigen Sie einige Komponenten. Der Hauptteil besteht aus 3D-gedruckten Teilen, es gibt etwa 18 davon (es ist nicht notwendig, eine Folie zu drucken. Wenn Sie alles, was Sie brauchen, heruntergeladen und gedruckt haben, benötigen Sie Schrauben, Muttern und Elektronik:

  • 5 M4 20 mm Schrauben, 1 x 40 mm und passende Muttern mit Verdrehschutz
  • 6 M3 10 mm Schrauben, 1 x 20 mm und entsprechende Muttern
  • Steckbrett mit Anschlussdrähten oder Abschirmung
  • Arduino Nano
  • 4 Servomotoren SG 90

Nach dem Zusammenbau des Gehäuses ist es WICHTIG, sicherzustellen, dass es sich frei bewegen lässt. Wenn sich die Schlüsselkomponenten des Roboarms nur schwer bewegen lassen, sind die Servomotoren möglicherweise nicht in der Lage, die Last zu bewältigen. Beim Zusammenbau der Elektronik müssen Sie bedenken, dass es besser ist, den Stromkreis nach einer gründlichen Überprüfung der Anschlüsse an die Stromversorgung anzuschließen. Um Schäden an den SG 90-Servoantrieben zu vermeiden, ist es nicht erforderlich, den Motor selbst von Hand zu drehen, sofern dies nicht erforderlich ist. Wenn Sie SG 90 entwickeln müssen, müssen Sie die Motorwelle sanft in verschiedene Richtungen bewegen.

Spezifikationen:
  • Einfache Programmierung aufgrund der geringen Anzahl von Motoren desselben Typs
  • Bei einigen Servos gibt es tote Zonen
  • Breite Anwendbarkeit des Roboters im Alltag
  • Interessante Ingenieursarbeit
  • Die Notwendigkeit, einen 3D-Drucker zu verwenden

Wird zuerst betroffen sein allgemeine Fragen, Dann technische Spezifikationen das Ergebnis, die Details und schließlich der Montageprozess selbst.

Im Allgemeinen und im Allgemeinen

Die Erstellung dieses Geräts als Ganzes sollte keine Schwierigkeiten bereiten. Es wird notwendig sein, die Möglichkeiten, die aus physikalischer Sicht nur schwer umzusetzen sind, gründlich zu durchdenken, damit der manipulierende Arm die ihm zugewiesenen Aufgaben erfüllt.

Technische Eigenschaften des Ergebnisses

Berücksichtigt wird eine Probe mit Längen-/Höhen-/Breitenparametern von jeweils 228/380/160 Millimetern. Das Gewicht des fertigen Produkts beträgt etwa 1 Kilogramm. Die Steuerung erfolgt über Kabel Fernbedienung. Die geschätzte Montagezeit beträgt bei entsprechender Erfahrung etwa 6–8 Stunden. Wenn es nicht vorhanden ist, kann es Tage, Wochen und mit Duldung sogar Monate dauern, bis der Manipulatorarm zusammengebaut ist. Mit eigenen Händen und allein lohnt es sich in solchen Fällen, dies nur für sich selbst zu tun Eigennutz. Zur Bewegung der Bauteile werden Kommutatormotoren eingesetzt. Mit genügend Aufwand können Sie ein Gerät herstellen, das sich um 360 Grad drehen lässt. Um die Arbeit zu erleichtern, müssen Sie sich zusätzlich zu Standardwerkzeugen wie Lötkolben und Lötzinn eindecken mit:

  1. Spitzzange.
  2. Seitenschneider.
  3. Kreuzschlitzschraubendreher.
  4. 4 Batterien vom Typ D.

Fernbedienung Fernbedienung kann über Tasten und einen Mikrocontroller implementiert werden. Wenn Sie eine drahtlose Fernsteuerung durchführen möchten, benötigen Sie außerdem ein Aktionssteuerelement in der Manipulatorhand. Als Ergänzung werden nur Geräte (Kondensatoren, Widerstände, Transistoren) benötigt, die es ermöglichen, den Stromkreis zu stabilisieren und zum richtigen Zeitpunkt einen Strom der erforderlichen Stärke durch ihn zu leiten.

Kleine Details

Um die Drehzahl zu regulieren, können Sie Adapterräder verwenden. Sie sorgen für eine reibungslose Bewegung der Manipulatorhand.

Es muss auch sichergestellt werden, dass die Drähte die Bewegung nicht erschweren. Optimal wäre es, sie innerhalb der Struktur zu verlegen. Sie können alles von außen erledigen; dieser Ansatz spart Zeit, kann jedoch möglicherweise zu Schwierigkeiten beim Bewegen einzelner Komponenten oder des gesamten Geräts führen. Und jetzt: Wie baut man einen Manipulator?

Montage allgemein

Fahren wir nun direkt mit der Erstellung des Manipulatorarms fort. Beginnen wir mit dem Fundament. Es ist darauf zu achten, dass das Gerät in alle Richtungen drehbar ist. Gute Entscheidung Es wird auf einer Scheibenplattform platziert, die von einem einzelnen Motor in Rotation versetzt wird. Damit er sich in beide Richtungen drehen kann, gibt es zwei Möglichkeiten:

  1. Einbau von zwei Motoren. Jeder von ihnen ist dafür verantwortlich, sich in eine bestimmte Richtung zu drehen. Wenn einer arbeitet, ruht der andere.
  2. Einbau eines Motors mit einem Schaltkreis, der ihn in beide Richtungen drehen lässt.

Welche der vorgeschlagenen Optionen Sie wählen, hängt ganz von Ihnen ab. Als nächstes wird die Hauptstruktur erstellt. Für komfortables Arbeiten werden zwei „Gelenke“ benötigt. An der Plattform befestigt, muss es in verschiedene Richtungen neigbar sein, was mithilfe von Motoren an seiner Basis erreicht wird. Ein weiteres oder ein Paar sollte an der Ellenbogenbeuge platziert werden, damit ein Teil des Griffs entlang der horizontalen und vertikalen Linien des Koordinatensystems bewegt werden kann. Als nächstes, wenn Sie möchten maximale Möglichkeiten, können Sie anstelle des Handgelenks einen anderen Motor einbauen. Als nächstes kommt das Nötigste, ohne das eine manipulierende Hand unmöglich ist. Sie müssen das Aufnahmegerät selbst mit Ihren eigenen Händen herstellen. Hier gibt es viele Umsetzungsmöglichkeiten. Zu den beiden beliebtesten könnt ihr einen Tipp geben:

  1. Dabei kommen nur zwei Finger zum Einsatz, die den zu greifenden Gegenstand gleichzeitig zusammendrücken und wieder lösen. Es handelt sich um die einfachste Ausführung, die jedoch meist nicht mit einer nennenswerten Tragfähigkeit aufwarten kann.
  2. Ein Prototyp entsteht menschliche Hand. Hierbei kann ein Motor für alle Finger verwendet werden, mit dessen Hilfe die Beugung/Streckung durchgeführt wird. Das Design kann jedoch komplexer gestaltet werden. So können Sie an jeden Finger einen Motor anschließen und diese separat steuern.

Als nächstes muss noch eine Fernbedienung hergestellt werden, mit deren Hilfe die einzelnen Motoren und ihre Betriebsgeschwindigkeit beeinflusst werden. Und Sie können mit einem selbstgebauten Robotermanipulator experimentieren.

Mögliche schematische Darstellungen des Ergebnisses

Bietet reichlich Möglichkeiten für kreative Ideen. Daher stellen wir Ihnen mehrere Implementierungen vor, die Sie als Grundlage für die Erstellung Ihres eigenen Geräts für einen ähnlichen Zweck verwenden können.

Jede vorgestellte Manipulatorschaltung kann verbessert werden.

Abschluss

Das Wichtige an der Robotik ist, dass der funktionalen Verbesserung praktisch keine Grenzen gesetzt sind. Wenn Sie möchten, wird es daher nicht schwierig sein, ein echtes Kunstwerk zu schaffen. Wenn man über mögliche Wege zur weiteren Verbesserung spricht, ist der Kran erwähnenswert. Ein solches Gerät mit eigenen Händen herzustellen ist nicht schwierig; gleichzeitig können Sie Kinder daran gewöhnen kreative Arbeit, Wissenschaft und Design. Und das wiederum kann sich positiv auf sie auswirken zukünftiges Leben. Wird es schwierig sein, einen Kran mit eigenen Händen zu bauen? Das ist nicht so problematisch, wie es auf den ersten Blick erscheinen mag. Lohnt es sich, auf die Verfügbarkeit zusätzlicher Produkte zu achten? Kleinteile wie ein Kabel und Räder, auf denen es sich dreht.

  • DIY oder Do it yourself,
  • Elektronik für Anfänger
  • Hallo Giktimes!

    Das uArm-Projekt von uFactory sammelte vor mehr als zwei Jahren Gelder auf Kickstarter. Sie sagten von Anfang an, dass es so sein würde Projekt öffnen, aber unmittelbar nach Ende der Kampagne hatten sie es nicht eilig, den Quellcode zu veröffentlichen. Ich wollte das Plexiglas nur nach ihren Zeichnungen zuschneiden und das war's, aber da es keine Ausgangsmaterialien gab und es in absehbarer Zeit auch keine Anzeichen dafür gab, begann ich, den Entwurf anhand von Fotos zu wiederholen.

    Jetzt sieht mein Roboterarm so aus:

    Durch langsames Arbeiten gelang es mir in zwei Jahren, vier Versionen zu erstellen und dabei eine Menge Erfahrung zu sammeln. Unter dem Schnitt finden Sie die Beschreibung, den Verlauf des Projekts und alle Projektdateien.

    Versuch und Irrtum

    Als ich mit der Arbeit an den Zeichnungen begann, wollte ich uArm nicht nur wiederholen, sondern verbessern. Es schien mir, dass es unter meinen Bedingungen durchaus möglich war, auf Lager zu verzichten. Mir gefiel auch nicht, dass sich die Elektronik zusammen mit dem gesamten Manipulator drehte, und ich wollte das Design des unteren Teils des Scharniers vereinfachen. Außerdem habe ich gleich angefangen, ihn etwas kleiner zu zeichnen.

    Mit diesen Eingabeparametern habe ich die erste Version gezeichnet. Leider habe ich keine Fotos von dieser Version des Manipulators (die in hergestellt wurde). gelbe Farbe). Die Fehler darin waren einfach episch. Erstens war der Zusammenbau fast unmöglich. In der Regel waren die Mechaniken, die ich vor dem Manipulator gezeichnet habe, recht einfach und ich musste mir keine Gedanken über den Montageprozess machen. Trotzdem habe ich es zusammengebaut und versucht, es zu starten, und meine Hand bewegte sich kaum! Alle Teile drehten sich um die Schrauben und wenn ich sie so anzog, dass weniger Spiel war, konnte sie sich nicht bewegen. Wenn ich es lockerte, damit es sich bewegen konnte, entstand ein unglaubliches Spiel. Dadurch überlebte das Konzept nicht einmal drei Tage. Und er begann mit der Arbeit an der zweiten Version des Manipulators.

    Rot war schon recht arbeitstauglich. Es ließ sich normal zusammenbauen und konnte sich mit Schmierung bewegen. Ich konnte die Software darauf testen, aber es fehlten immer noch Lager und große Verluste Bei verschiedenen Entwürfen machten sie ihn sehr schwach.

    Dann gab ich die Arbeit an dem Projekt für einige Zeit auf, entschloss mich aber bald, es in die Tat umzusetzen. Ich beschloss, leistungsstärkere und beliebtere Servos zu verwenden, die Größe zu vergrößern und Lager hinzuzufügen. Außerdem habe ich beschlossen, dass ich nicht versuchen würde, alles auf einmal perfekt zu machen. Ich habe die Zeichnungen weiter skizziert schnelle Hände, ohne schöne Verbindungen zu zeichnen und aus transparentem Plexiglas geordnet zu schneiden. Mit dem resultierenden Manipulator konnte ich den Montageprozess debuggen, Bereiche identifizieren, die einer zusätzlichen Verstärkung bedurften, und den Umgang mit Lagern erlernen.

    Nachdem ich viel Spaß mit dem transparenten Manipulator hatte, begann ich mit dem Zeichnen der endgültigen weißen Version. Jetzt sind alle Mechaniken vollständig debuggt, sie passen zu mir und ich kann sagen, dass ich an diesem Design nichts anderes ändern möchte:

    Es bedrückt mich, dass ich nichts grundlegend Neues in das uArm-Projekt einbringen konnte. Als ich mit dem Zeichnen der endgültigen Version begann, waren die 3D-Modelle bereits auf GrabCad verfügbar. Deshalb habe ich die Klaue einfach ein wenig vereinfacht, die Dateien in einem praktischen Format vorbereitet und sehr einfache Standardkomponenten verwendet.

    Merkmale des Manipulators

    Bevor uArm erschien, Desktop-Manipulatoren aus dieser Klasse sah ziemlich traurig aus. Entweder hatten sie überhaupt keine Elektronik, hatten eine Art Steuerung mit Widerständen oder hatten ihre eigene proprietäre Software. Zweitens verfügten sie in der Regel nicht über ein System paralleler Scharniere und der Griff selbst veränderte während des Betriebs seine Position. Wenn Sie alle Vorteile meines Manipulators sammeln, erhalten Sie eine ziemlich lange Liste:
    1. Ein Stangensystem, das es ermöglicht, leistungsstarke und schwere Motoren an der Basis des Manipulators zu platzieren und den Greifer parallel oder senkrecht zur Basis zu halten
    2. Ein einfacher Satz Komponenten, die leicht zu kaufen oder aus Plexiglas zu schneiden sind
    3. Lager in fast allen Komponenten des Manipulators
    4. Einfach zu montieren. Es stellte sich heraus, dass es wahr war herausfordernde Aufgabe. Es war besonders schwierig, den Prozess des Zusammenbaus der Basis zu durchdenken
    5. Die Griffposition kann um 90 Grad verändert werden
    6. Open Source und Dokumentation. Alles ist in zugänglichen Formaten aufbereitet. Ich werde Download-Links für 3D-Modelle, Schnittdateien, Materiallisten, Elektronik und Software bereitstellen
    7. Arduino-kompatibel. Es gibt viele Kritiker von Arduino, aber ich glaube, dass dies eine Gelegenheit ist, die Zielgruppe zu erweitern. Profis können ihre Software ganz einfach in C schreiben – das ist ein normaler Controller von Atmel!

    Mechanik

    Zum Zusammenbau müssen Sie Teile aus 5 mm dickem Plexiglas ausschneiden:

    Sie haben mir etwa 10 US-Dollar berechnet, um alle diese Teile zu schneiden.

    Die Basis ist auf einem großen Lager montiert:

    Es war besonders schwierig, die Basis aus Sicht des Montageprozesses zu durchdenken, aber ich habe die Ingenieure von uArm im Auge behalten. Die Wippen sitzen auf einem Stift mit einem Durchmesser von 6 mm. Es ist zu beachten, dass mein Ellenbogenzug an einem U-förmigen Halter gehalten wird, während der von uFactory an einem L-förmigen Halter gehalten wird. Es ist schwer zu erklären, was der Unterschied ist, aber ich denke, ich habe es besser gemacht.

    Der Griff wird separat montiert. Es kann sich um seine Achse drehen. Die Klaue selbst sitzt direkt auf der Motorwelle:

    Am Ende des Artikels werde ich einen Link zu einer sehr detaillierten Montageanleitung mit Fotos bereitstellen. Wenn Sie alles, was Sie brauchen, zur Hand haben, können Sie das Ganze getrost in ein paar Stunden zusammendrehen. Ich habe auch kostenlos ein 3D-Modell erstellt SketchUp-Programm. Sie können es herunterladen, abspielen und sehen, was und wie es zusammengebaut wurde.

    Elektronik

    Damit Ihre Handarbeit funktioniert, müssen Sie lediglich fünf Servos an den Arduino anschließen und sie mit Strom versorgen gute Quelle. uArm verwendet eine Art Motoren mit Rückmeldung. Zur Steuerung des Greifers habe ich drei normale MG995-Motoren und zwei kleine Metallgetriebemotoren eingebaut.

    Hier ist meine Erzählung eng mit früheren Projekten verknüpft. Ich habe vor einiger Zeit damit begonnen und sogar mein eigenes Arduino-kompatibles Board für diese Zwecke vorbereitet. Andererseits hatte ich eines Tages die Gelegenheit, Boards günstig herzustellen (wovon ich auch spreche). Am Ende endete alles damit, dass ich mein eigenes Arduino-kompatibles Board und ein spezielles Schild zur Steuerung des Manipulators verwendete.

    Dieses Schild ist eigentlich sehr einfach. Es verfügt über vier variable Widerstände, zwei Tasten, fünf Servoanschlüsse und einen Stromanschluss. Dies ist aus Debugging-Sicht sehr praktisch. Sie können eine Testskizze hochladen und ein Makro zur Steuerung oder ähnliches aufzeichnen. Ich werde am Ende des Artikels auch einen Link zum Herunterladen der Platinendatei geben, diese ist jedoch für die Herstellung mit metallisierten Löchern vorbereitet und daher für die Heimproduktion kaum von Nutzen.

    Programmierung

    Das Interessanteste ist die Steuerung des Manipulators über einen Computer. uArm verfügt über eine praktische Anwendung zur Steuerung des Manipulators und ein Protokoll für die Arbeit damit. Der Computer sendet 11 Bytes an den COM-Port. Das erste ist immer 0xFF, das zweite ist 0xAA und einige der restlichen sind Signale für Servos. Anschließend werden diese Daten normalisiert und zur Verarbeitung an die Engines gesendet. Meine Servos sind an die digitalen Ein-/Ausgänge 9-12 angeschlossen, das lässt sich aber leicht ändern.

    Mit dem Terminalprogramm von uArm können Sie bei der Steuerung der Maus fünf Parameter ändern. Wenn sich die Maus über die Oberfläche bewegt, ändert sich die Position des Manipulators in der XY-Ebene. Durch Drehen des Rades ändert sich die Höhe. LMB/RMB – Klaue komprimieren/dekomprimieren. RMB + Rad – den Griff drehen. Es ist eigentlich sehr praktisch. Wenn Sie möchten, können Sie eine beliebige Terminalsoftware schreiben, die über dasselbe Protokoll mit dem Manipulator kommuniziert.

    Ich werde hier keine Skizzen bereitstellen – Sie können sie am Ende des Artikels herunterladen.

    Video der Arbeit

    Und zum Schluss noch das Video des Manipulators selbst. Es zeigt, wie man eine Maus, Widerstände und ein vorab aufgezeichnetes Programm steuert.

    Links

    Dateien zum Schneiden von Plexiglas, 3D-Modelle, eine Einkaufsliste, Brettzeichnungen und Software können am Ende meines heruntergeladen werden

    Wir erstellen einen Robotermanipulator mit einem Entfernungsmesser und implementieren eine Hintergrundbeleuchtung.

    Wir werden die Basis aus Acryl schneiden. Als Motoren verwenden wir Servoantriebe.

    Allgemeine Beschreibung des Robotermanipulatorprojekts

    Das Projekt verwendet 6 Servomotoren. Für den mechanischen Teil wurde 2 mm dickes Acryl verwendet. Der Sockel aus einer Discokugel erwies sich als Stativ (einer der Motoren ist im Inneren montiert). Außerdem kommen ein Ultraschall-Abstandssensor und eine 10 mm LED zum Einsatz.

    Zur Steuerung des Roboters kommt ein Arduino-Powerboard zum Einsatz. Die Stromquelle selbst ist das Netzteil des Computers.

    Das Projekt liefert umfassende Erklärungen zur Entwicklung eines Roboterarms. Die Fragen der Stromversorgung des entwickelten Designs werden gesondert betrachtet.

    Hauptkomponenten für das Manipulatorprojekt

    Beginnen wir mit der Entwicklung. Sie benötigen:

    • 6 Servomotoren (ich habe 2 Modelle mg946, 2 mg995, 2 futuba s3003 verwendet (mg995/mg946 haben bessere Eigenschaften als futuba s3003, aber letztere sind viel billiger);
    • Acryl 2 mm dick (und ein kleines Stück 4 mm dick);
    • Ultraschall-Abstandssensor hc-sr04;
    • LEDs 10 mm (Farbe - nach Ihrem Ermessen);
    • Stativ (als Basis verwendet);
    • Aluminiumgriff (kostet etwa 10-15 Dollar).

    Zur Steuerung:

    • Zahlen Arduino Uno(im Projekt verwendet selbstgemachtes Brett, das Arduino völlig ähnlich ist);
    • Leistungsplatine (Sie müssen es selbst herstellen, wir werden später auf dieses Thema zurückkommen, es erfordert besondere Aufmerksamkeit);
    • Netzteil (in diesem Fall wird ein Computer-Netzteil verwendet);
    • Computer zum Programmieren Ihres Manipulators (falls Sie ihn verwenden). Arduino-Programmierung, Bedeutet, Arduino-Umgebung IDE)

    Natürlich benötigen Sie Kabel und einiges grundlegende Werkzeuge wie Schraubenzieher usw. Jetzt können wir mit dem Design fortfahren.

    Mechanische Montage

    Bevor ich mit der Entwicklung des mechanischen Teils des Manipulators beginne, möchte ich darauf hinweisen, dass ich keine Zeichnungen habe. Alle Knoten wurden „auf dem Knie“ gemacht. Aber das Prinzip ist ganz einfach. Sie haben zwei Acrylglieder, zwischen denen Sie Servomotoren installieren müssen. Und die anderen beiden Links. Auch zum Einbau von Motoren. Nun, der Greifer selbst. Der einfachste Weg, einen solchen Griff zu kaufen, ist im Internet. Fast alles wird mit Schrauben befestigt.

    Die Länge des ersten Teils beträgt ca. 19 cm; der zweite - etwa 17,5; Die Länge des Frontlenkers beträgt ca. 5,5 cm. Wählen Sie die restlichen Maße entsprechend den Maßen Ihres Projekts. Grundsätzlich sind die Größen der verbleibenden Knoten nicht so wichtig.

    Der mechanische Arm muss an der Basis einen Drehwinkel von 180 Grad ermöglichen. Also müssen wir unten einen Servomotor einbauen. In diesem Fall wird es in derselben Discokugel eingebaut. In Ihrem Fall könnte dies jede geeignete Box sein. Der Roboter ist auf diesem Servomotor montiert. Sie können, wie in der Abbildung gezeigt, einen zusätzlichen Flanschring aus Metall einbauen. Sie können darauf verzichten.

    Zu installieren Ultraschallsensor Es wird Acryl mit einer Dicke von 2 mm verwendet. Direkt darunter können Sie eine LED einbauen.

    Es ist schwierig, den genauen Aufbau eines solchen Manipulators im Detail zu erklären. Viel hängt von den Komponenten und Teilen ab, die Sie auf Lager haben oder kaufen. Wenn beispielsweise die Abmessungen Ihrer Servos unterschiedlich sind, ändern sich auch die Acryl-Ankerverbindungen. Wenn sich die Abmessungen ändern, wird auch die Kalibrierung des Manipulators anders sein.

    Nach Abschluss der Entwicklung des mechanischen Teils des Manipulators müssen Sie auf jeden Fall die Servomotorkabel verlängern. Zu diesem Zweck wurden in diesem Projekt Drähte aus einem Internetkabel verwendet. Damit das alles so aussieht, seien Sie nicht faul und installieren Sie Adapter an den freien Enden der verlängerten Kabel – weiblich oder männlich, abhängig von den Ausgängen Ihres Arduino-Boards, Ihrer Abschirmung oder Ihrer Stromquelle.

    Nach dem Zusammenbau des mechanischen Teils können wir zum „Gehirn“ unseres Manipulators übergehen.

    Manipulatorgriff

    Um den Griff zu installieren, benötigen Sie einen Servomotor und einige Schrauben.

    Was genau muss also getan werden?

    Nehmen Sie die Wippe vom Servo und kürzen Sie sie, bis sie zu Ihrem Griff passt. Ziehen Sie anschließend die beiden kleinen Schrauben fest.

    Drehen Sie das Servo nach der Installation ganz nach links und drücken Sie die Greifbacken zusammen.

    Jetzt können Sie das Servo mit 4 Schrauben montieren. Stellen Sie gleichzeitig sicher, dass sich der Motor noch in der äußersten linken Position befindet und die Greifbacken geschlossen sind.

    Sie können den Servoantrieb anschließen Arduino-Board und prüfen Sie die Funktionsfähigkeit des Greifers.

    Bitte beachten Sie, dass es zu Funktionsstörungen des Greifers kommen kann, wenn die Bolzen/Schrauben zu fest angezogen werden.

    Hinzufügen einer Beleuchtung zum Zeiger

    Sie können Ihr Projekt aufhellen, indem Sie Beleuchtung hinzufügen. Hierfür wurden LEDs verwendet. Es ist einfach zu machen und sieht im Dunkeln sehr beeindruckend aus.

    Orte für die Installation von LEDs hängen von Ihrer Kreativität und Fantasie ab.

    Elektrischer Schaltplan

    Um die Helligkeit manuell anzupassen, können Sie anstelle des Widerstands R1 ein 100-kOhm-Potentiometer verwenden. Als Widerstand R2 wurden 118 Ohm Widerstände verwendet.

    Liste der Hauptkomponenten, die verwendet wurden:

    • R1 - 100 kOhm Widerstand
    • R2 - 118 Ohm Widerstand
    • Transistor bc547
    • Fotowiderstand
    • 7 LEDs
    • Schalten
    • Verbindung zum Arduino-Board

    Als Mikrocontroller wurde ein Arduino-Board verwendet. Als Netzteil wurde ein Netzteil von verwendet Personalcomputer. Wenn Sie das Multimeter an das rote und schwarze Kabel anschließen, sehen Sie 5 Volt (die für die Servomotoren und den Ultraschall-Abstandssensor verwendet werden). Gelb und Schwarz ergeben 12 Volt (für Arduino). Wir stellen 5 Anschlüsse für die Servomotoren her, verbinden die positiven parallel mit 5 V und die negativen mit Masse. Das Gleiche gilt für den Abstandssensor.

    Anschließend verbinden Sie die restlichen Anschlüsse (einen von jedem Servo und zwei vom Entfernungsmesser) mit der Platine, die wir gelötet haben, und dem Arduino. Vergessen Sie dabei nicht, die Pins, die Sie in Zukunft im Programm verwendet haben, korrekt anzugeben.

    Zusätzlich wurde auf der Powerplatine eine Power-LED-Anzeige verbaut. Dies ist einfach umzusetzen. Zusätzlich wurde ein 100-Ohm-Widerstand zwischen 5 V und Masse verwendet.

    Die 10-mm-LED am Roboter ist ebenfalls mit dem Arduino verbunden. Ein 100-Ohm-Widerstand geht von Pin 13 zum Pluszweig der LED. Negativ - zu Boden. Sie können es im Programm deaktivieren.

    Für 6 Servomotoren werden 6 Anschlüsse verwendet, da die beiden folgenden Servomotoren das gleiche Steuersignal verwenden. Die entsprechenden Leiter werden angeschlossen und an einen Pin angeschlossen.

    Ich wiederhole, dass als Stromversorgung das Netzteil eines Personalcomputers verwendet wird. Alternativ können Sie natürlich auch ein separates Netzteil erwerben. Aber unter Berücksichtigung der Tatsache, dass wir 6 Laufwerke haben, von denen jedes etwa 2 A verbrauchen kann, ist das ähnlich mächtiger Block Das Essen wird nicht billig sein.

    Bitte beachten Sie, dass die Anschlüsse der Servos mit den PWM-Ausgängen des Arduino verbunden sind. In der Nähe jedes solchen Stifts auf der Platine befindet sich ein Stift Symbol~. An die Pins 6, 7 kann ein Ultraschall-Abstandssensor angeschlossen werden. An Pin 13 und Masse kann eine LED angeschlossen werden. Das sind alle Pins, die wir brauchen.

    Jetzt können wir mit der Arduino-Programmierung fortfahren.

    Bevor Sie das Board über USB an Ihren Computer anschließen, stellen Sie sicher, dass Sie den Strom ausschalten. Wenn Sie das Programm testen, schalten Sie auch die Stromversorgung Ihres Roboterarms aus. Wenn der Strom nicht ausgeschaltet ist, erhält der Arduino 5 Volt vom USB und 12 Volt vom Netzteil. Dementsprechend wird der Strom vom USB auf die Stromquelle übertragen und es wird ein wenig „durchhängen“.

    Der Schaltplan zeigt, dass Potentiometer zur Steuerung der Servos hinzugefügt wurden. Potentiometer sind optional, aber der obige Code funktioniert ohne sie nicht. Potentiometer können an die Pins 0,1,2,3 und 4 angeschlossen werden.

    Programmierung und erster Start

    Zur Steuerung dienen 5 Potentiometer (Sie können diese komplett durch 1 Potentiometer und zwei Joysticks ersetzen). Der Anschlussplan mit Potentiometern ist im vorherigen Teil dargestellt. Die Arduino-Skizze ist hier.

    Nachfolgend finden Sie mehrere Videos des Roboterarms in Aktion. Ich hoffe, es gefällt euch.

    Das Video oben zeigt die neuesten Modifikationen der Bewaffnung. Ich musste das Design ein wenig ändern und ein paar Teile austauschen. Es stellte sich heraus, dass die Servos des Futuba S3003 eher schwach waren. Es stellte sich heraus, dass sie nur zum Greifen oder Drehen der Hand verwendet wurden. Also installierten sie mg995. Nun, mg946 wird im Allgemeinen eine ausgezeichnete Option sein.

    Steuerprogramm und Erklärungen dazu

    // Antriebe werden über variable Widerstände - Potentiometer - gesteuert.

    int potpin = 0; // Analoger Pin zum Anschluss eines Potentiometers

    int val; // Variable zum Lesen von Daten vom analogen Pin

    myservo1.attach(3);

    myservo2.attach(5);

    myservo3.attach(9);

    myservo4.attach(10);

    myservo5.attach(11);

    pinMode(led, OUTPUT);

    ( //Servo 1 Analog Pin 0

    val = analogRead(potpin); // liest den Potentiometerwert (Wert zwischen 0 und 1023)

    // skaliert den resultierenden Wert für die Verwendung mit Servos (erhält einen Wert im Bereich von 0 bis 180)

    myservo1.write(val); // bringt das Servo in eine Position entsprechend dem berechneten Wert

    Verzögerung(15); // wartet darauf, dass der Servomotor die angegebene Position erreicht

    val = analogRead(potpin1); // Servo 2 auf Analogpin 1

    val = map(val, 0, 1023, 0, 179);

    myservo2.write(val);

    val = analogRead(potpin2); // Servo 3 auf Analogpin 2

    val = map(val, 0, 1023, 0, 179);

    myservo3.write(val);

    val = analogRead(potpin3); // Servo 4 auf Analogpin 3

    val = map(val, 0, 1023, 0, 179);

    myservo4.write(val);

    val = analogRead(potpin4); //serva 5 auf analogem Pin 4

    val = map(val, 0, 1023, 0, 179);

    myservo5.write(val);

    Skizzieren Sie mit einem Ultraschall-Abstandssensor

    Dies ist wahrscheinlich einer der beeindruckendsten Teile des Projekts. Am Manipulator ist ein Abstandssensor installiert, der auf Hindernisse in der Umgebung reagiert.

    Nachfolgend finden Sie grundlegende Erläuterungen zum Code

    #trigPin 7 definieren

    Der folgende Code:

    Wir haben allen 5 Signalen (für 6 Antriebe) Namen zugewiesen (kann alles sein)

    Folgendes:

    Serial.begin(9600);

    pinMode(trigPin, OUTPUT);

    pinMode(echoPin, INPUT);

    pinMode(led, OUTPUT);

    myservo1.attach(3);

    myservo2.attach(5);

    myservo3.attach(9);

    myservo4.attach(10);

    myservo5.attach(11);

    Wir teilen dem Arduino-Board mit, an welchen Pins die LEDs, Servos und der Abstandssensor angeschlossen sind. Hier muss nichts geändert werden.

    void position1())(

    digitalWrite(led, HIGH);

    myservo2.writeMicroseconds(1300);

    myservo4.writeMicroseconds(800);

    myservo5.writeMicroseconds(1000);

    Hier können einige Dinge geändert werden. Ich habe eine Position festgelegt und sie Position1 genannt. Es wird im zukünftigen Programm verwendet. Wenn Sie unterschiedliche Bewegungen bereitstellen möchten, ändern Sie die Werte in Klammern von 0 auf 3000.

    Danach:

    void position2())(

    digitalWrite(led,LOW);

    myservo2.writeMicroseconds(1200);

    myservo3.writeMicroseconds(1300);

    myservo4.writeMicroseconds(1400);

    myservo5.writeMicroseconds(2200);

    Ähnlich wie im vorherigen Stück, nur ist es in diesem Fall Position2. Nach dem gleichen Prinzip können Sie neue Bewegungspositionen hinzufügen.

    lange Dauer, Distanz;

    digitalWrite(trigPin, LOW);

    VerzögerungMikrosekunden(2);

    digitalWrite(trigPin, HIGH);

    VerzögerungMikrosekunden(10);

    digitalWrite(trigPin, LOW);

    Dauer = pulsIn(echoPin, HIGH);

    Distanz = (Dauer/2) / 29,1;

    Jetzt beginnt der Hauptcode des Programms zu funktionieren. Du solltest es nicht ändern. Die Hauptaufgabe der oben genannten Zeilen besteht darin, den Abstandssensor zu konfigurieren.

    Danach:

    wenn (Entfernung<= 30) {

    wenn (Entfernung< 10) {

    myservo5.writeMicroseconds(2200); //Grabber öffnen

    myservo5.writeMicroseconds(1000); //Schließe den Greifer

    Sie können jetzt neue Bewegungen basierend auf der vom Ultraschallsensor gemessenen Entfernung hinzufügen.

    if(Entfernung<=30){ // данная строка обеспечивает переход в position1, если расстояние меньше 30 см.

    position1(); //im Wesentlichen berechnet der Arm alles, was Sie zwischen den Klammern angeben ( )

    else( // wenn der Abstand größer als 30 cm ist, gehe zu Position2

    position()2 // ähnlich der vorherigen Zeile

    Sie können den Abstand im Code ändern und tun, was Sie wollen.

    Letzte Codezeilen

    if (Abstand > 30 || Abstand<= 0){

    Serial.println("Außerhalb des Bereichs"); //Eine Meldung im seriellen Monitor ausgeben, dass wir den angegebenen Bereich überschritten haben

    Serial.print(distanz);

    Serial.println("cm"); //Abstand in Zentimetern

    Verzögerung (500); //Verzögerung 0,5 Sekunden

    Natürlich können Sie hier alles in Millimeter, Meter umrechnen, die angezeigte Meldung ändern usw. Mit der Verzögerung kann man ein wenig herumspielen.

    Das ist alles. Viel Spaß, aktualisieren Sie Ihre eigenen Manipulatoren, tauschen Sie Ideen und Ergebnisse aus!