Inhaltsverzeichnis:

Arduino angetriebener Malerei-Roboter - Gunook
Arduino angetriebener Malerei-Roboter - Gunook

Video: Arduino angetriebener Malerei-Roboter - Gunook

Video: Arduino angetriebener Malerei-Roboter - Gunook
Video: Arduino UNO and DM556 Leadshine stepper controller 2024, Juli
Anonim
Arduino-betriebener Lackierroboter
Arduino-betriebener Lackierroboter
Arduino-betriebener Lackierroboter
Arduino-betriebener Lackierroboter
Arduino-betriebener Malroboter
Arduino-betriebener Malroboter

Fusion 360-Projekte »

Haben Sie sich jemals gefragt, ob ein Roboter faszinierende Gemälde und Kunst schaffen könnte? In diesem Projekt versuche ich, dies mit einem Arduino Powered Painting Robot zu verwirklichen. Das Ziel besteht darin, dass der Roboter in der Lage ist, selbstständig Gemälde zu malen und ein Referenzbild als Leitfaden für die Replikation eines Kunstwerks zu verwenden. Ich nutzte die Kraft von CAD und digitaler Fertigung, um ein robustes Chassis zu schaffen, auf dem ich einen Arm montierte, der den Pinsel in einen der 7 Farbbehälter tauchen und auf die Leinwand zeichnen konnte.

Der Roboter wird aus gemeinsamen Teilen wie Schrittmotoren und Servomotoren hergestellt und ist so konzipiert, dass er mit jeder Art von Farbe arbeiten kann.

Folgen Sie, um Ihren eigenen Arduino Powered Painting Robot zu erstellen und geben Sie eine Stimme für dieses Projekt in der "Paint Challenge" ab, wenn Ihnen das Projekt gefallen hat und Sie sich entscheiden, Ihre eigene Version zu erstellen.

Schritt 1: Überblick über das Design

Überblick über das Design
Überblick über das Design
Überblick über das Design
Überblick über das Design
Überblick über das Design
Überblick über das Design

Das Design des Lackierroboters ist vom Aufbau eines Roomba Reinigungsroboters inspiriert. Es besteht aus zwei Hauptsystemen:

  • Das Antriebssystem besteht aus zwei an Rädern befestigten Schrittmotoren und passiven Gleitern. Dadurch kann sich der Roboter in jede Richtung entlang der Leinwand bewegen.
  • Das Bürstensystem besteht aus einem dritten Schrittmotor, der den Pinsel über Farbbehältern positioniert und einem Servomotor, der den Pinsel in die Farbe eintaucht.

Der Roboter kann bis zu 7 verschiedene Farben gleichzeitig tragen. Das Design wurde zunächst auf Fusion 360 von Autodesk erstellt. Die Teile wurden dann in die entsprechenden Formate exportiert, um lasergeschnitten oder 3D-gedruckt zu werden.

Das Design des Roboterchassis wurde im Hinblick auf Skalierbarkeit mit mehreren Befestigungspunkten und modularen Teilen entwickelt. Dadurch kann das gleiche Chassis für verschiedene andere Anwendungen verwendet werden. In diesem Zusammenhang wird das Chassis verwendet, um mit Farbe wunderbare Kunstwerke herzustellen.

Schritt 2: Benötigte Materialien

Benötigte Materialien
Benötigte Materialien
Benötigte Materialien
Benötigte Materialien

Hier ist die Liste aller Komponenten und Teile, die Sie benötigen, um Ihren eigenen Arduino Powered Painting Robot zu bauen. Alle Teile sollten allgemein verfügbar und in lokalen Baumärkten oder online leicht zu finden sein.

ELEKTRONIK:

  • Arduino Uno x 1
  • Towerpro MG995 Servomotor x 1
  • NEMA17 Schrittmotor x 3
  • CNC-Schild V3 x 1
  • 11,1 V LiPo-Akku x 1

HARDWARE:

  • M4 Muttern und Schrauben
  • M3 Muttern und Schrauben
  • Räder (7cm Durchmesser x 2)
  • 3D-Drucker-Filament (falls Sie keinen 3D-Drucker besitzen, sollte es einen 3D-Drucker in einem lokalen Arbeitsbereich geben oder die Drucke können recht günstig online durchgeführt werden)
  • Acrylplatten (3mm)
  • Farben
  • Pinsel

WERKZEUGE:

  • 3D Drucker
  • Laserschneider

Ohne die Werkzeuge betragen die Gesamtkosten dieses Projekts ungefähr 60 $.

Schritt 3: Digital hergestellte Teile

Digital gefertigte Teile
Digital gefertigte Teile
Digital gefertigte Teile
Digital gefertigte Teile

Die meisten für dieses Projekt benötigten Teile werden entsprechend den Anforderungen angepasst, deshalb habe ich mich entschieden, die Kraft digital gefertigter Teile zu nutzen. Die Teile wurden zunächst auf Fusion 360 gebaut und dann wurden die CAD-Modelle zum Laserschneiden oder 3D-Drucken der Teile verwendet. Die Drucke wurden mit 40% Füllung, 2 Perimetern, 0,4 mm Düse und einer Schichthöhe von 0,1 mm unter Verwendung von PLA hergestellt. Einige der Teile benötigen Stützen, da sie eine komplexe Form mit Überhängen haben, die Stützen sind jedoch leicht zugänglich und können mit einigen Fräsern entfernt werden. Sie können die Farbe Ihrer Wahl für das Filament auswählen. Die lasergeschnittenen Stücke wurden aus 3mm klarem Acryl geschnitten.

Unten finden Sie die vollständige Liste der Teile zusammen mit den Konstruktionsdateien.

Hinweis: Ab hier werden die Teile mit den Namen in der folgenden Liste bezeichnet.

3D-gedruckte Teile:

  • Stepperhalterung x 2
  • Schichtabstandshalter x 4
  • Armverbinder x 1
  • Passiver Gleiter x 2
  • Farbpalettenhalter x 2
  • Farbpalette x 2

Lasergeschnittene Teile:

  • Bodenplatte x 1
  • Obere Platte x 1
  • Bürstenarm x 1

Insgesamt gibt es 13 3D-gedruckte Teile und 3 lasergeschnittene Teile. Die Herstellung aller Teile dauert ca. 12 Stunden.

Schritt 4: Aufbau des Chassis- und Antriebssystems (untere Schicht)

Aufbau des Chassis- und Antriebssystems (untere Schicht)
Aufbau des Chassis- und Antriebssystems (untere Schicht)
Aufbau des Chassis- und Antriebssystems (untere Schicht)
Aufbau des Chassis- und Antriebssystems (untere Schicht)
Aufbau des Chassis- und Antriebssystems (untere Schicht)
Aufbau des Chassis- und Antriebssystems (untere Schicht)

Sind alle Teile gefertigt, können Sie mit dem Zusammenbau der unteren Schicht des Lackierroboters beginnen. Diese Schicht ist für das Antriebssystem zuständig und enthält auch die Elektronik. Beginnen Sie mit der Montage von 2 Schrittmotoren an zwei Schritthalterungen mit den mitgelieferten Schrauben. Als nächstes verwenden Sie 8 x M4 Muttern und Schrauben, um die beiden Stepperhalterungen an der Bodenplatte zu befestigen. Sobald die Stepper montiert sind, können Sie die beiden Räder an den Achsen der Schrittmotoren befestigen. Sie können das Arduino auch mit M3-Muttern und -Schrauben und einigen Abstandshaltern montieren, um das Arduino leicht zugänglich zu machen. Sobald das Arduino gesichert ist, montieren Sie das CNC-Schild auf dem Arduino. An der Vorder- und Rückseite des Roboters befinden sich zwei Löcher. Führen Sie die Passivgleiter durch die Löcher und kleben Sie sie fest. Diese Teile verhindern, dass der Körper des Roboters über die Oberfläche der Leinwand kratzt.

Sie können die beiden hinteren Abstandshalter auch mit M4-Muttern und -Schrauben montieren.

Hinweis: Bringen Sie die vorderen beiden noch nicht an, da Sie sie irgendwann entfernen müssen.

Schritt 5: Montage des Farbhalters (obere Schicht)

Montage des Farbhalters (obere Schicht)
Montage des Farbhalters (obere Schicht)
Montage des Farbhalters (obere Schicht)
Montage des Farbhalters (obere Schicht)
Montage des Farbhalters (obere Schicht)
Montage des Farbhalters (obere Schicht)

Sobald das Antriebssystem aufgebaut ist, können Sie mit der Montage der oberen Schicht beginnen, die den Lackierarm hält, der den Pinsel bewegt und den Pinsel in die verschiedenen Farbbehälter taucht. Beginnen Sie mit dem Anbringen der beiden Farbpalettenhalterteile. Der Schlitz entlang der Innenseite des Teils richtet sich nach den beiden Abstandsstücken der vorderen Schicht. Das kombinierte Teil wird mit zwei Muttern und Schrauben an der oberen und unteren Schicht befestigt. Das Stück wird weiter mit vier zusätzlichen Sätzen von Schraubenmuttern an der oberen Platte verstärkt.

Die Farbpaletten werden dann mit zwei Muttern und Schrauben für jede Seite an der Unterseite der Farbpalettenhalterteile befestigt.

Schieben Sie die obere Platte in Position und verwenden Sie zwei weitere Muttern und Schrauben, um die Abstandshalter der hinteren Schicht an der oberen Platte zu befestigen. Montieren Sie den schwenkbaren Schrittmotor mit den mitgelieferten Schrauben mit der Achse nach oben in der Mitte der Oberseite. Damit ist das Chassis des Roboters aufgebaut und wir können mit der Montage des Lackierarms beginnen.

Schritt 6: Aufbau des Lackierarms und der Bürstenbaugruppe

Aufbau der Lackierarm- und Bürstenbaugruppe
Aufbau der Lackierarm- und Bürstenbaugruppe
Aufbau der Lackierarm- und Bürstenbaugruppe
Aufbau der Lackierarm- und Bürstenbaugruppe
Aufbau der Lackierarm- und Bürstenbaugruppe
Aufbau der Lackierarm- und Bürstenbaugruppe

Um den Lackierarm zu bauen, befestigen Sie zunächst den Armverbinder mit 4 Muttern und Schrauben am lasergeschnittenen Bürstenarm. Als nächstes montieren Sie den Servomotor mit 4 weiteren Muttern und Schrauben am anderen Ende. Stellen Sie sicher, dass die Achse des Servomotors zum gegenüberliegenden Ende des Armverbinders zeigt. Schieben Sie den Armverbinder in die obere Schrittmotorachse.

Verwenden Sie das lange Horn des Servos und befestigen Sie den Pinsel mit Gummibändern oder Kabelbindern daran. Ich würde die Verwendung von Gummibändern empfehlen, da dies der Bürstenbaugruppe eine gewisse Nachgiebigkeit verleiht, die für das Funktionieren des Systems erforderlich ist. Stellen Sie sicher, dass die Bürste so angebracht ist, dass die Bürste nach dem Anschließen des Horns am Servo kaum über die Oberfläche des Bodens oder Papiers gleitet.

Damit ist die Hardware des Lackierroboters komplett und Sie können mit der Verdrahtung und Programmierung beginnen.

Schritt 7: Elektronik und Schaltungen

Elektronik und Schaltungen
Elektronik und Schaltungen

Die Elektronik dieses Projekts ist recht einfach, sie wird in der folgenden Tabelle erklärt:

  • Linker Rad-Stepper zum X-Achsen-Port des CNC-Schildes
  • Rechter Rad-Stepper zum Y-Achsen-Port des CNC-Schildes
  • Schwenkbarer Stepper zum Z-Achsen-Port des CNC-Schildes
  • Servomotorsignal an Spindelaktivierungsstift auf CNC-Abschirmung
  • Servomotor 5V bis +5V auf CNC-Schild
  • Servomotor GND zu GND auf CNC-Schirm

Damit ist die Schaltung für dieses Projekt abgeschlossen. Der Akku kann mit einem Kippschalter in Reihe an die Stromanschlüsse des CNC-Shields angeschlossen werden, um den Roboter ein- und auszuschalten.

Schritt 8: Ein bisschen über die Theorie

Ein bisschen über die Theorie
Ein bisschen über die Theorie

Wenn es darum geht, einen Punkt auf einem 2D-Gitter zu positionieren, ist die gängigste und einfachste Methode die Angabe der kartesischen Koordinaten des Punktes. Dies geschieht durch Angabe eines Tupels, im Allgemeinen (x, y), wobei x die x-Koordinate oder der Abstand zwischen der Projektion des Punktes auf der x-Achse zum Ursprung und y die y-Koordinate des Punktes oder der Abstand zwischen der Projektion ist des Punktes auf der y-Achse zum Ursprung. Auf diese Weise kann jedes komplexe Bild oder jede komplexe Form mit einer Folge von Punkten beschrieben werden, so dass beim "Zusammenfügen der Punkte" das Bild entsteht. Dies ist eine bequeme Möglichkeit, die Position eines Punktes in Bezug auf einen Ursprung zu beschreiben. Für dieses Projekt wurde jedoch ein anderes System verwendet.

Ein Punkt auf einem 2D-Gitter kann auch mit Polarkoordinaten beschrieben werden. Bei dieser Methode wird die Position eines Punktes mit einem anderen Tupel beschrieben, das allgemein als (Theta, r) bezeichnet wird, wobei Theta der Winkel zwischen der x-Achse und der Halblinie ist, die den Ursprung und den Punkt verbindet, und r der Abstand zwischen den Ursprung und Punkt.

Die Formel zum Umrechnen von einem zum anderen finden Sie im angehängten Bild. Es ist nicht notwendig, die Formeln vollständig zu verstehen, obwohl es hilfreich ist, sie zu kennen.

Schritt 9: Programmierung des Arduino

Programmierung des Arduino
Programmierung des Arduino
Programmierung des Arduino
Programmierung des Arduino

Das Programm wird unter Verwendung einer objektorientierten Technik erstellt, wodurch das Programm einfach zu verwenden ist. Beginnen Sie damit, ein Roboterobjekt zu erstellen, dessen Parameter die Breiten und Höhen der Leinwand sind (messen Sie diese mit einem Lineal oder einem Maßband in Zentimetern und ersetzen Sie die Werte in Zeile 4 des Skripts paintRobot.ino). Die objektorientierten Programmiertechniken lassen Raum für Weiterentwicklungen.

Ihnen stehen dann 3 einfache Funktionen zur Verfügung:

  1. gotoXY nimmt eine kartesische Koordinate und bewegt den Roboter an diese Position. (z. B. robot.gotoXY(100, 150))
  2. brushControl nimmt einen booleschen Wert an: false hebt den Pinsel von der Leinwand ab, während true den Pinsel auf der Leinwand platziert. (z. B. robot.brushControl(true))
  3. pickPaint nimmt eine ganze Zahl -4, -3, -2, -1, 1, 2, 3, 4 an, wodurch der Roboter den Pinsel in den entsprechenden Farbbehälter taucht. (z. B. robot.pickPaint(3))

Das unten angehängte Programm lässt den Roboter zufällige Positionen einnehmen und wählt zufällige Farben aus, wodurch schließlich ein schönes und einzigartiges Kunstwerk entsteht. Dies kann jedoch leicht geändert werden, damit der Roboter alles zeichnet, was Sie möchten.

Hinweis: Nach dem Hochladen des Codes müssen Sie möglicherweise das mit der Bürste verbundene Servohorn neu positionieren. Wenn das p

Schritt 10: Hinzufügen der Farbe

Hinzufügen der Farbe
Hinzufügen der Farbe
Hinzufügen der Farbe
Hinzufügen der Farbe
Hinzufügen der Farbe
Hinzufügen der Farbe

Wenn Hardware, Elektronik und Programmierung fertig sind, können Sie den einzelnen Farbbehältern endlich einige Farben hinzufügen. Ich würde empfehlen, die Farbe leicht zu verdünnen, um die Malerei glatter zu machen.

Fügen Sie auf dem äußersten Behälter der rechten Palette etwas klares Wasser hinzu. Der Roboter verwendet dieses Wasser, um den Pinsel zu reinigen, bevor er die Farben austauscht.

Um ein Gemälde zu beginnen, platzieren Sie den Roboter in der unteren linken Ecke der Leinwand, sodass er am unteren Rand entlang zeigt, und starten Sie den Roboter und lehnen Sie sich zurück und beobachten Sie, wie das Kunstwerk langsam zum Leben erwacht.

Schritt 11: Endgültige Ergebnisse

Endgültige Ergebnisse
Endgültige Ergebnisse
Endgültige Ergebnisse
Endgültige Ergebnisse
Endgültige Ergebnisse
Endgültige Ergebnisse
Endgültige Ergebnisse
Endgültige Ergebnisse

Mit dem aktuellen Programm führt der Roboter zufällige Bewegungen auf der Leinwand aus, wodurch einzigartige und schöne Gemälde entstehen. Mit einigen Modifikationen kann der Roboter jedoch dazu gebracht werden, bestimmte Gemälde unter Verwendung eines Referenzbildes auszuführen. Das aktuelle System bietet eine solide Basis für Entwicklungen. Auch das Chassis des Roboters ist modular aufgebaut mit mehreren standardisierten Befestigungspunkten, so dass der Roboter leicht für eine Anwendung nach Ihrem Bedarf umgerüstet werden kann.

Ich hoffe, Sie haben dieses Instructable genossen und es hat Sie inspiriert, Ihren eigenen Malroboter zu bauen.

Wenn Ihnen das Projekt gefallen hat, unterstützen Sie es, indem Sie eine Stimme in der "Paint Challenge" abgeben.

Viel Spaß beim Machen!

Paint Challenge
Paint Challenge
Paint Challenge
Paint Challenge

Großer Preis bei der Paint Challenge

Empfohlen: