Inhaltsverzeichnis:

Moslty 3D-gedruckter Roboterarm, der Puppet-Controller imitiert - Gunook
Moslty 3D-gedruckter Roboterarm, der Puppet-Controller imitiert - Gunook

Video: Moslty 3D-gedruckter Roboterarm, der Puppet-Controller imitiert - Gunook

Video: Moslty 3D-gedruckter Roboterarm, der Puppet-Controller imitiert - Gunook
Video: 3D printed Claptrap from Borderlands - Arduino LED + audio player tutorial 2024, Juli
Anonim
Moslty 3D-gedruckter Roboterarm, der Puppet Controller imitiert
Moslty 3D-gedruckter Roboterarm, der Puppet Controller imitiert
Moslty 3D-gedruckter Roboterarm, der Puppet Controller imitiert
Moslty 3D-gedruckter Roboterarm, der Puppet Controller imitiert
Moslty 3D-gedruckter Roboterarm, der Puppet Controller imitiert
Moslty 3D-gedruckter Roboterarm, der Puppet Controller imitiert

Ich bin ein Maschinenbaustudent aus Indien und dies ist mein Bachelor-Abschlussprojekt.

Dieses Projekt konzentriert sich auf die Entwicklung eines kostengünstigen Roboterarms, der hauptsächlich 3D-gedruckt ist und 5 DOFs mit einem 2-Finger-Greifer hat. Gesteuert wird der Roboterarm mit einer Marionettensteuerung, die ein Desktop-Modell des Roboterarms mit den gleichen Freiheitsgraden ist, dessen Gelenke mit Sensoren ausgestattet sind. Die Manipulation des Controllers von Hand bewirkt, dass der Roboterarm die Bewegung in Master-Slave-Manier nachahmt. Das System verwendet das ESP8266-WLAN-Modul als Datenübertragungsmedium. Die Master-Slave-Bedienerschnittstelle bietet eine leicht zu erlernende Methode für die Roboterarmmanipulation. Als Mikrocontroller wird Nodemcu (Esp8266) verwendet.

Ziel dieses Projekts war die Entwicklung eines kostengünstigen Roboters, der für Bildungszwecke verwendet werden kann. Leider ist der Zugang zu einer solchen Robotertechnologie, die die moderne Welt revolutioniert, nur auf bestimmte Institutionen beschränkt. Unser Ziel ist es, dieses Projekt als Open Source zu entwickeln und zu machen, damit Einzelpersonen es selbst erstellen, ändern und erkunden können. Da es sich um eine kostengünstige und vollständig offene Quelle handelt, kann dies Kommilitonen dazu inspirieren, dieses Gebiet zu lernen und zu erkunden.

Meine Projektkollegen:

  • Shubham likhar
  • Nikhil Kore
  • Palasch lonare

Besonderer Dank an:

  • Akash Narkhede
  • Ram-Bokade
  • Ankit korde

für ihre Hilfe bei diesem Projekt.

Haftungsausschluss: Ich hatte nie vor, einen Blog oder eine Anleitung zu diesem Projekt zu schreiben, aufgrund derer ich jetzt nicht genügend Daten habe, um es zu dokumentieren. Diese Bemühungen werden lange nach Beginn des Projekts unternommen um es verständlicher zu machen. du könntest es an manchen Stellen unvollständig finden…hoffe du verstehst:) Ich werde bald ein Youtube-Video einfügen, das seine Funktionsweise zeigt und andere Testsachen

Schritt 1: Also, wie funktioniert es?

Also, wie funktioniert es?
Also, wie funktioniert es?
Also, wie funktioniert es?
Also, wie funktioniert es?
Also, wie funktioniert es?
Also, wie funktioniert es?
Also, wie funktioniert es?
Also, wie funktioniert es?

Das ist für mich das Spannendste an diesem Projekt.

(Ich behaupte nicht, dass dies effizient oder richtig ist, um es für kommerzielle Zwecke zu verwenden. Es dient nur zu Bildungszwecken)

Sie haben vielleicht schon billige Roboter mit Servomotoren gesehen, die nur zur Demonstration dienen. Auf der anderen Seite gibt es teure Schrittmotorroboter mit Planetengetriebe usw. Aber dieser Roboter ist eine Balance zwischen ihnen.

Also, wie ist es anders?

Konstruktion:

Anstatt einen leistungsschwächeren und teureren Schrittmotor zu verwenden, habe ich Gleichstrommotoren verwendet, aber wie wir wissen, haben Gleichstrommotoren kein Feedback-Steuerungssystem und können nicht direkt für die Positionssteuerung verwendet werden. Ich habe sie durch Hinzufügen eines Potentiometers als Feedback / Positionssensor in Servomotoren umgewandelt.

Um die Arbeit zu vereinfachen, habe ich billige 9g-Servos zerlegt, die Schaltung entfernt und den Gleichstrommotor durch einen Gleichstrommotor mit hohem Drehmoment und seinen kleinen Topf durch das ersetzt, was ich für den Roboter hatte. Dadurch konnte ich die Standardbibliothek verwenden arduino Sie können nicht glauben, dass die Codierung viel vereinfacht ist!

Für den Antrieb eines 12-V-Gleichstrommotors mit einem 5-V-Servochip habe ich das L298N-Motortreibermodul verwendet, das 2 Motoren gleichzeitig antreiben kann. Das Modul verfügt über 4 Eingangspins IN1 bis IN4, die die Drehrichtung des Motors bestimmen. Wobei IN1 und IN2 dem 1. Motor und IN3 entsprechen, IN4 zum 2. Motor. Daher sind die Ausgangsklemmen (2) des Servochips (ursprünglich an den kleinen Gleichstrommotor) an IN1 und IN2 des L298N-Modulausgangs angeschlossen, dessen Ausgang an den 12-V-Gleichstrommotor angeschlossen ist.

Arbeiten:

Wenn sich die Motorwelle nicht auf dem Zielpositionspotentiometer befindet, senden Sie auf diese Weise den Winkelwert an den Servochip, der das L298N-Modul befiehlt, entweder Cw oder CCW der Reihe nach anzutreiben, der 12-V-DC-Motor dreht sich entsprechend dem vom Mikrocontroller empfangenen Befehl.

Schema ist in Abbildung gezeigt (nur für 1 Motor)

IN UNSEREM FALL WIRD DER BEFEHL (GEMEINSAME WINKELWERTE) DURCH DEN PUPPET-CONTROLLER GESENDET, DER EINE 10-FACH SKALIERTER KOPIE DES TATSÄCHLICHEN ROBOTERS IST UND DEN POTENTIOMETER AN JEDEM JOINT ANGESCHLOSSEN HAT. DURCH NODEMCU (ESP8266) ÜBER WIFIS ZUM ROBOTER ROBOTERGELENK, AUF DEM JEDER GELENKMOTOR VERSUCHEN WIRD

An jedem Gelenk ist ein Potentiometer über einen Riemenzugmechanismus mit der Gelenkwelle verbunden. Wenn sich das Gelenk dreht, dreht sich das Potentiometer entsprechend und gibt Rückmeldung über die aktuelle Position des Gelenkwinkels (siehe Bilder oben)

Schritt 2: Verwendete Komponenten:

Verwendete Komponenten
Verwendete Komponenten
Verwendete Komponenten
Verwendete Komponenten
Verwendete Komponenten
Verwendete Komponenten

Wie gesagt, ich arbeite immer noch daran und verbessere es Tag für Tag, daher können sich diese Komponenten in einigen zukünftigen Updates unterscheiden.

Mein Ziel war es, es so wirtschaftlich wie möglich zu machen, daher habe ich sehr selektive Komponenten verwendet. Dies ist die Liste der wichtigsten Komponenten, die im Arm bis zum Datum verwendet wurden (ich werde sie in Zukunft aktualisieren)

  1. Esp8266 (2x)
  2. Gleichstrommotoren (mit unterschiedlichen Spezifikationen Drehmoment und Drehzahlen, 5x)
  3. L298N Motortreibermodul (2x)
  4. Potentiometer (8x)
  5. Aluminiumkanal (30x30, 1 Meter)
  6. sonstige Hardware

Schritt 3: Berechnungen und Armdesign

Berechnungen und Armdesign
Berechnungen und Armdesign
Berechnungen und Armdesign
Berechnungen und Armdesign
Berechnungen und Armdesign
Berechnungen und Armdesign
Berechnungen und Armdesign
Berechnungen und Armdesign

Für die Konstruktion des Arms habe ich die Software Catia v5 verwendet. Bevor der Konstruktionsprozess gestartet wurde, mussten zunächst die Verbindungslängen und das Drehmoment berechnet werden, das jedes Gelenk aushalten muss.

Zuerst habe ich mit einigen Annahmen begonnen, die Folgendes umfassen:

  1. Die maximale Nutzlast für den Roboter beträgt 500 g (1,1 lb)
  2. Gesamtreichweite des Roboters beträgt 500 mm
  3. Das Gewicht des Roboters wird 3 kg nicht überschreiten.

Berechnungen der Linklänge

Im Anschluss daran habe ich die Linklänge mit Bezug auf das Forschungspapier "Design of a Robotic Arm By I. M. H. van Haaren" berechnet.

I. M. H. van Haaren gab ein ausgezeichnetes Beispiel dafür, wie er die Verbindungslängen mithilfe einer biologischen Referenz bestimmt hat, in der die Längen der Hauptkörpersegmente als Bruchteil der Gesamthöhe ausgedrückt werden. Es ist in Abb.

Nach Berechnungen ergab sich, dass die Linklängen

L1=274 mm

L2=215mm

L3=160mm

Greiferlänge=150mm

Drehmomentberechnungen:

Zur Berechnung des Drehmoments habe ich grundlegende Konzepte von Drehmoment und Drehmoment verwendet, die in der Technik verwendet werden.

Ohne auf dynamische Berechnungen einzugehen, habe ich mich aufgrund einiger Einschränkungen nur auf statische Drehmomentberechnungen ausgeruht.

Es gibt 2 Hauptakteure im Drehmoment als T = FxR, dh in unserem Fall Last (Masse) und Linklänge. Da die Linklängen bereits bestimmt sind, müssen Sie als nächstes das Gewicht der Komponenten herausfinden Gewichte jeder Komponente, ohne sie tatsächlich zu messen.

Also habe ich diese Berechnungen in Iterationen durchgeführt.

  1. Ich nahm den Aluminiumkanal als einheitliches Material über seine gesamte Länge an und teilte das Gewicht von insgesamt 1 Meter Stück mit der Länge der Stücke, die ich verwenden wollte.
  2. Bei den Gelenken habe ich bestimmte Werte für jedes Gelenk (Motorgewicht + Gewicht des 3D-gedruckten Teils + andere) basierend auf der Annahme des Gesamtgewichts des Roboters angenommen.
  3. Die vorherigen 2 Schritte gaben mir Gelenkdrehmomentwerte der 1. Iteration. Für diese Werte habe ich geeignete Motoren im Internet zusammen mit anderen Spezifikationen und Gewichten gefunden.
  4. In der 2. Iteration habe ich Originalgewichte von Motoren verwendet (die ich im 3. Schritt herausgefunden habe) und erneut die statischen Drehmomente für jedes Gelenk berechnet.
  5. Wenn die endgültigen Drehmomentwerte in Schritt 4 für die in Schritt 3 ausgewählten Motoren geeignet waren, habe ich diesen Motor abgeschlossen, andernfalls wiederholen Sie die Schritte 3 und 4, bis die formulierten Werte den tatsächlichen Motorspezifikationen entsprechen.

Armausführung:

Dies war die mühsamste Aufgabe dieses ganzen Projekts und hat fast einen Monat gedauert, um es zu entwerfen. Übrigens habe ich Fotos des CAD-Modells angehängt. Ich werde hier irgendwo einen Link zum Download dieser CAD-Dateien hinterlassen:

Schritt 4: 3D-Druck der Teile

3D-Druck der Teile
3D-Druck der Teile
3D-Druck der Teile
3D-Druck der Teile
3D-Druck der Teile
3D-Druck der Teile

Alle Teile, die meistens die Gelenke sind, sind 3D-gedruckt auf einem 99$-Drucker mit 100x100x100 mm Druckfläche (ja das stimmt!!)

Drucker: Easy Threed X1

Ich habe die wichtigsten Teilefotos aus dem Slicer eingefügt und werde auf alle Teile-CAD-Datei catfile sowie stl verlinken, damit Sie sie herunterladen und bearbeiten können, wie Sie möchten.

Schritt 5: Schultergelenkmontage (Gelenk J1 & J2)

Schultergelenkmontage (Gelenk J1 & J2)
Schultergelenkmontage (Gelenk J1 & J2)
Schultergelenkmontage (Gelenk J1 & J2)
Schultergelenkmontage (Gelenk J1 & J2)
Schultergelenkmontage (Gelenk J1 & J2)
Schultergelenkmontage (Gelenk J1 & J2)

Die Basisscheibe wurde auf einem anderen Drucker gedruckt, da sie einen Durchmesser von 160 mm hatte. Ich habe das Schultergelenk so konstruiert, dass es entweder mit Riemenscheibe oder Zahnradgetriebe angetrieben werden kann (Drehung um die Z-Achse), was auf den Bildern zu sehen ist oben. Im unteren Teil passen Lager, die dann auf einer zentralen Welle auf einer Plattform montiert werden, die dazu dient, den Arm zu bewegen (Tank, mehr davon in Zukunft).

Das größere Zahnrad (im Bild gelb) ist auf einem Aluminiumkanal mit Mutternschrauben montiert, durch die eine 8-mm-Stahlwelle verläuft, über die sich das Gelenk 2 bewegt. Das Übersetzungsverhältnis am 1. Gelenk beträgt 4:1 und das des 2. Gelenks beträgt 3,4:1

Schritt 6: Ellbogen und Gelenk (Gelenk J3)

Ellbogen und Gelenk (Gelenk J3)
Ellbogen und Gelenk (Gelenk J3)
Ellbogen und Gelenk (Gelenk J3)
Ellbogen und Gelenk (Gelenk J3)
Ellbogen und Gelenk (Gelenk J3)
Ellbogen und Gelenk (Gelenk J3)
Ellbogen und Gelenk (Gelenk J3)
Ellbogen und Gelenk (Gelenk J3)

(EINIGE DER BILDER SIND NACHDEM ERSTELLT, DA ICH KEINE KOMPLETTEN PROZESSBILDER HABE)

Das Ellbogengelenk folgt dem Schultergelenk. Es ist ein 2-teiliges Gelenk, eines verbunden mit dem einen und das andere mit dem zweiten.

Teil 1 hat einen Gleichstrommotor mit Antriebsritzel und Teil 2 hat ein größeres Zahnrad und ein Lagerpaar zur Unterstützung der Welle. Das Übersetzungsverhältnis ist das gleiche wie das von J2, dh 3,4: 1, aber der Motor hat 12,5 KG-CM 60 U / min.

Gelenk J3 hat einen Bewegungsbereich von 160 Grad.

Schritt 7: Handgelenk (Gelenk J4 & J5)

Handgelenk (Gelenk J4 & J5)
Handgelenk (Gelenk J4 & J5)
Handgelenk (Gelenk J4 & J5)
Handgelenk (Gelenk J4 & J5)
Handgelenk (Gelenk J4 & J5)
Handgelenk (Gelenk J4 & J5)

(EINIGE DER BILDER SIND NACH ERSTELLUNG, DA ICH KEINE KOMPLETTEN PROZESSBILDER HABE)

Nach dem Ellbogengelenk ist das Handgelenkgelenk. Dieses besteht wiederum aus 2 Teilen, einem am vorherigen Glied (dh Glied 2) und einem aus J5-Motot, das die Handgelenkbaugruppe dreht. Das Übersetzungsverhältnis beträgt 1,5: 1 und der verwendete Gleichstrommotor beträgt 10 U / min 8 KG -CM.

Dieses Gelenk J4 hat einen 90-Grad-Drehbereich und J5 hat 360 Grad.

Schritt 8: Greifer

Greifer
Greifer
Greifer
Greifer
Greifer
Greifer

Dies war eine der schwierigsten Aufgaben beim Design. Es wurde so konzipiert, dass es die meisten Objekte aufnehmen und die meisten Dinge um uns herum wie Türriegel, Griffe, Stangen usw. greifen kann.

Wie in der Abbildung gezeigt, treibt ein am Motor befestigtes Stirnradgetriebe im Uhrzeigersinn oder gegen den Uhrzeigersinn an, die mit den Fingern verbunden sind, um sie zu öffnen und zu schließen.

Alle Teile des Greifers sind im beigefügten Bild gezeigt.

Schritt 9: Puppet-Controller für Roboterarm herstellen

Puppet-Controller für Roboterarm herstellen
Puppet-Controller für Roboterarm herstellen
Puppet-Controller für Roboterarm herstellen
Puppet-Controller für Roboterarm herstellen
Puppet-Controller für Roboterarm herstellen
Puppet-Controller für Roboterarm herstellen

Der Puppet-Controller ist die exakte 10-fach verkleinerte Version des tatsächlichen Roboterarms. Er verfügt über 4 Potentiometer, die an 4 Gelenken montiert sind, nämlich J1, J2, J3, J4 und Gelenk J5, die mit einem Druckknopf für eine kontinuierliche Drehung bedient werden (Rotation des Greifers für alle) Betrieb)

Potentiometer erfassen den Drehwinkel der Gelenke und senden diesen Wert zwischen 1-1023 an Nodemcu, der zurück in 1-360 umgewandelt und über WLAN an einen anderen Nodemcu gesendet wird. Da der ESP8266 nur einen analogen Eingang hat, habe ich einen 4051-Multiplexer verwendet.

Tutorial für die Verwendung von 4051 Multiplexer mit esp8266 -

schematische Darstellung:

Ich werde ein schematisches Diagramm hinzufügen, sobald ich es fertig habe (wenn jemand es dringend braucht, kontaktieren Sie mich bis dahin)

Code: (auch hier enthalten)

drive.google.com/open?id=1fEa7Y0ELsfJY1lHt6JnEj-qa5kQKArVa

Schritt 10: Elektronik

Elektronik
Elektronik
Elektronik
Elektronik
Elektronik
Elektronik
Elektronik
Elektronik

Ich füge Bilder der aktuellen Arbeit bei. Die vollständige Elektronik und der Schaltplan sind noch nicht vollständig. Ich werde bald Updates veröffentlichen, bis dahin in Verbindung bleiben:)

(Hinweis: Dieses Projekt ist noch nicht abgeschlossen. Ich werde alle Updates in Zukunft verfolgen)

Schritt 11: Codes und Schaltplan an einem Ort

Codes und Schaltplan an einem Ort!
Codes und Schaltplan an einem Ort!

Ich werde vollständige Roboterschemata und den endgültigen Code erstellen, sobald ich damit fertig bin!

Empfohlen: