Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

In diesem Tutorial zeige ich, wie ich meinen DIY-3D-gedruckten SCARA-Roboterarm (aus einem früheren Video) in einen Lasergravierer umgebaut habe. Video ansehen oder Artikel unten lesen.

Projektüberblick

Der SCARA-Roboter hat 4 Freiheitsgrade, angetrieben von 4 NEMA-17-Schrittmotoren, gesteuert per Arduino. Im Originalvideo nutzte ich Arduino UNO + CNC-Shield; jetzt kommt Arduino MEGA + RAMPS-Board zum Einsatz, da wir die Marlin-3D-Drucker-Firmware für die Steuerung verwenden.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Mechanisch musste nur der Greifer gegen ein Lasermodul getauscht werden – hier ein 5,5-W-Modul, gut zum Gravieren.

Ein Vorteil dieses Aufbaus: großer Z-Hub, sodass auch hohe Objekte graviert werden können.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Der Arbeitsbereich ist beeindruckend für den kleinen Fußabdruck: Vorderseite und beide Seiten nutzbar, theoretisch fast 360° um den Roboter – dank Marlin-Firmware mit Laser- und SCARA-Unterstützung.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Für G-Code-Erzeugung: Open-Source Inkscape mit Plugin Inkscape-Lasertools. Konturen-only oder mit Füllung, diverse Optionen: Laserstrahl, Verfahrgeschwindigkeiten, Laser-Ein/Aus-Befehle inkl. PWM-Steuerung.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Nun der komplette Prozess: SCARA-Design, Marlin-Installation/Konfiguration, Zeichnungs-/G-Code-Vorbereitung. Los geht's.

Design und 3D-Modell

Kurzer Blick aufs 3D-Modell, falls Sie das Original-Tutorial nicht gesehen haben.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Die meisten Teile sind 3D-druckbar. Gelenke werden von NEMA-17-Motoren über GT2-Riemen und 3D-gedruckte GT2-Riemenscheiben angetrieben. 4 DOF, aber für Lasergravur nur 3 DOF nötig: zwei Rotationen für X/Y-Position, eine Linearbewegung für Z-Höhe des Lasers.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Das 4. Gelenk (Endeffektor-Rotation) wird nicht genutzt, aber der Laser wird darauf montiert. Der Halter positioniert den Laserstrahl im Drehzentrum der 4. Achse – Rotation verändert die Endposition nicht.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

3D-Modell auf Thangs finden, erkunden, herunterladen:

Assembly-3D-Modell von Thangs herunterladen.

Danke an Thangs für die Unterstützung.

STL-Dateien für 3D-Druck:

Gesponsert


Entworfen mit 3DEXPERIENCE SOLIDWORKS for Makers – Sponsor dieses Videos. SOLIDWORKS bringt seine Industrie-Tools für Maker zu einem extrem niedrigen Preis.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Maker-Zugang zu besten SOLIDWORKS-Tools für nur 99 $/Jahr, für meine Zuschauer zeitlich begrenzt 20 % Rabatt!

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Paket enthält Cloud-SOLIDWORKS, browser-basierte Tools (3D Creator, 3D Sculptor). Link klicken, kostenlose 3DEXPERIENCE-ID erstellen, 20 % Rabatt sichern. Danke an SOLIDWORKS für Sponsoring von Bildungsinhalten.

SOLIDWORKS for Makers ansehen

20 % Rabatt auf SOLIDWORKS for Makers


Lasermodul einbauen

Zuerst Greifermechanik entfernen (4 Schrauben).

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Kabel des Greifer-Servos nun für Lasermodul nutzen.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Mein Lasermodul: 12 V, PWM-Steuerung mit 2 Drähten (GND, VCC). 3-Pin-Stecker des Moduls: links schwarz = GND, mittig weiß = VCC. Zwei Male-Jumper angelötet für einfachen Anschluss an Endeffektor-Kabel.

Stecker einsetzen, Kabel durch Halteröffnung führen, Lasermodul mit zwei M3-Schrauben fixieren. Mit vier M4-Schrauben am Roboter befestigen.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Statt Arduino UNO nun Arduino MEGA + RAMPS-Board.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Schrittauflösung der Treiber wählen: für sanfte Bewegung höchste Auflösung (3 Jumper pro Treiber). Ich nutze A4988 (1/16-Schritt), DRV8825 (1/32) geht auch.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Alle Kabel anschließen (beschriftet, um Verwechslungen zu vermeiden).

Schaltplan: SCARA-Roboter Lasergravierer

Kompletter Schaltplan:

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Schrittmotoren direkt auf Treiber, Endschalter (Normally Closed, 2-Draht) an Endstop S und − Pins je Achse.

Lasermodul über Pin D9 (PWM-fähig, im 3D-Drucker für Lüfter) steuern. Netzteil: 12 V, mind. 3 A.

Komponenten-Links:

  • Schrittmotor – NEMA 17………………
  • A4988 Schrittmotortreiber…………………..…
  • RAMPS 1.6 Board………………………..…
  • Arduino MEGA………………….…..………
  • Endschalter …………………………………. Amazon / Banggood / AliExpress
  • DC-Netzteil ………………………………. Amazon / Banggood / AliExpress
  • Lasermodul ………………………………… Amazon / Banggood / AliExpress
  • Laserschutzbrille …………………….. Amazon / Banggod / AliExpress

Mechanik: siehe Originalartikel.

Nach Verdrahtung Kabel gebündelt, Elektronik abgedeckt – sauberer Look.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Montage abschließen

Eine Änderung am SCARA-Roboter für korrektes Homing: Der zweite Arm muss als Rechtshänder bei 0° (in Linie mit erstem Arm) referenzieren und nach links drehen können. Dazu ein kleines Stück am Armgelenk ankleben, das den Endschalter an dieser Position auslöst.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Zweiter Punkt: Originaler Endschalter-Auslöser kollidierte mit einer Mutter am Armende, begrenzte Bewegung. Mutter entfernt, durch Gewindeeinsatz ersetzt – nichts steht mehr über.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino
DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Mechanisch fertig. Jetzt Firmware aufspielen.

Siehe auch: DIY Arduino-Roboterarm mit Smartphone-Steuerung

Marlin-Firmware für Lasergravur mit SCARA-Roboter

Marlin = weit verbreitete Open-Source-3D-Drucker-Firmware mit Laser- und SCARA-Optionen. Download von marlinfw.org oder GitHub.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Installation via PlatformIO IDE (nicht Arduino IDE – Marlin zu groß/komplex). PlatformIO = VS Code Extension. Also: VS Code installieren, PlatformIO in Extensions suchen, installieren.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

„Open Project“ → Marlin-Ordner (entpackt) → „Open Marlin“. Alle Dateien laden. Hauptkonfigurationsdateien: Configuration.h und Configuration_adv.h.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino
DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Vorher: Im Marlin-Config-Repo auf GitHub im Ordner Examples/SCARA vorkonfigurierte Dateien herunterladen und in eigenen Marlin-Ordner kopieren.

Siehe auch: GRBL einrichten & CNC-Maschine mit Arduino steuern

Marlin-Firmware konfigurieren

Mit SCARA-Config-Dateien Marlin-Ordner neu öffnen, Configuration.h bearbeiten. Erst SCARA-Typ wählen:

/** * MORGAN_SCARA was developed by QHARLEY in South Africa in 2012-2013. * Implemented and slightly reworked by JCERNY in June, 2014. */ //#define MORGAN_SCARA /** * Mostly Printed SCARA is an open source design by Tyler Williams. See: * https://www.thingiverse.com/thing:2487048 * https://www.thingiverse.com/thing:1241491 */ #define MP_SCARA #if EITHER(MORGAN_SCARA, MP_SCARA) // If movement is choppy try lowering this value #define SCARA_SEGMENTS_PER_SECOND 100 // Length of inner and outer support arms. Measure arm lengths precisely. #define SCARA_LINKAGE_1 228.15 // Arm 1 lenght - 228(mm) #define SCARA_LINKAGE_2 136.2 // Arm 2 lenght - 136.5(mm) // SCARA tower offset (position of Tower relative to bed zero position) // This needs to be reasonably accurate as it defines the printbed position in the SCARA space. #define SCARA_OFFSET_X 300 // (mm) #define SCARA_OFFSET_Y 150 // (mm)

MORGAN_SCARA = paralleler SCARA, MP_SCARA = serieller SCARA (unser Fall). Basiert auf Open-Source-Design von Tyler Williams mit inverser Kinematik für kartesische G-Codes.

Inverse Kinematik: Berechnet Gelenkwinkel für gegebene X/Y-Koordinate. Mathematik = Trigonometrie, abhängig nur von Armlängen.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Armlängen eintragen: Arm 1 = 228 mm, Arm 2 = 136,5 mm. Nächstes: Nullposition des Arbeitsbetts via SCARA_OFFSET_X/Y (Abstand Turm/1. Gelenk zum Bett-Nullpunkt).

Weitere Parameter: MANUAL_X_HOME_POS für X und Y – Abstand vom Endeffektor (Laser) in Home-Position relativ zum Bett-Nullpunkt. Ermittlung via SOLIDWORKS-Skizze mit zwei Linien für die Arme.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Endstop-Definition: Je ein Endschalter pro Achse an Min-Position.

#define USE_XMIN_PLUG #define USE_YMIN_PLUG #define USE_ZMIN_PLUG

X_HOME_DIR = -1 (Richtung Min).

// Direction of endstops when homing; 1=MAX, -1=MIN // :[-1,1] #define X_HOME_DIR -1 #define Y_HOME_DIR -1 #define Z_HOME_DIR -1

Alle _MIN_ENDSTOP_INVERTING auf FALSE prüfen.

DEFAULT_AXIS_STEPS_PER_UNIT anpassen:

#define DEFAULT_AXIS_STEPS_PER_UNIT { 177.7777777, 142.2222222, 400, 93 }

Werte = Schritte pro Einheit (hier: Grad pro Gelenkrotation). Berechnung:

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

NEMA 17: 200 Schritte/Umdrehung. 1/16-Schritt → 3200 Schritte/Umdrehung. 1. Gelenk: 20:1 Übersetzung → 64.000 Schritte/Umdrehung. /360 = 177,777 Schritte/Grad. 2. Gelenk: 16:1 → 142,222. Z-Achse: Trapezgewindespindel 8 mm Steigung → 3200/8 = 400 Schritte/mm. 4. Wert (Extruder) irrelevant.

Motordrehrichtung: bei falschem Verdrahten Kabel tauschen oder INVERT_X_DIR etc. auf TRUE.

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. #define INVERT_X_DIR false #define INVERT_Y_DIR false #define INVERT_Z_DIR false

Weitere Fixes für SCARA-Modus-Bugs in Marlin (Stand Projektzeitpunkt):

  • In scara.cpp Zeile 75: MORGAN_SCARA → MP_SCARA
  • In motion.cpp Zeilen 1716, 1717 auskommentieren
  • In configuration.h: VALIDATE_HOMING_ENDSTOPS auskommentieren
  • In configuration_adv.h: QUICK_HOME einkommentieren

Homing trotzdem nicht 100 % – Workaround folgt.

„Upload“-Button (unten links) → Firmware auf Arduino flashen. Meinen angepassten Marlin-Build unten herunterladen oder Original von GitHub selbst patchen.

Steuerungssoftware – Repetier-Host

Marlin drauf → Steuerprogramm für G-Code-Versand. Wahl: Repetier-Host (beliebte 3D-Druck-Software, kostenlos).

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Config → Printer Settings: COM-Port, Baudrate (wie in Marlin), Druckerform: X/Y-Max und Druckbereich setzen.

Connect → Manual Control: Roboter bewegen. Hinweis: X/Y-Pfeile bewegen wegen inverser Kinematik oft beide Arme gleichzeitig.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Zuerst Homing: Gelenke manuell nah an Endschalter bringen.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Home-Button: 2. Arm fährt zu seinem Endschalter, 1. Arm entgegengesetzt. Nach Y-Endschalter fährt X zum seinen, dann Z.

Wichtiger Workaround: Nach Homing trennen und neu verbinden (Disconnect/Reconnect in Repetier-Host). Sonst seltsame Bewegungen – Marlin-Bug, SCARA-Modus wenig gepflegt.

Nach Reconnect: Manuell verfahren oder gravieren funktioniert.

G00 X0 Y0 → Roboter fährt in Nullposition (aus Marlin Config).

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Laser aktivieren: M106 S10 (PWM 0–255 = 0–100 %). S10 = schwach, nur für Fokus/Nullposition sichtbar.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Fokus: Linsenring drehen, Abstand ca. 5 cm, kleinsten Punkt einstellen.

Lasergravur mit dem SCARA-Roboter

Kalibrierung: Einfaches Quadrat gravieren.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Erster Versuch: Quadrat falsch positioniert/orientiert – falscher MANUAL_X_HOME_POS. Nach Korrektur passte es.

Logo gravieren:

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

ACHTUNG: Laserschutzbrille Pflicht! UV-Licht gefährdet Augen. Auch Atemschutzmaske & gut belüfteter Raum – Dämpfe gesundheitsschädlich.

Logo gut, aber nicht ganz quadratisch.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Ursache: Armlängen. Roboter nicht steif genug – ausgefahrene Arme beugen sich unter Eigengewicht vorwärts, tatsächliche Position abweichend.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Nach zig Tests: Arm 1 von 228 auf 228,15 mm, Arm 2 von 136,5 auf 136,2 mm korrigiert → bestes Ergebnis. Genauigkeit variiert aber je nach Armposition (ausgefahren vs. eingezogen).

G-Code für Lasergravur erzeugen

Zuletzt: Zeichnungen vorbereiten, G-Code erzeugen. Inkscape (Open-Source Vektorgrafik).

Seitengröße = Arbeitsbereich. Beispiel: Arduino-Logo.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Bild importieren, Trace Bitmap → Vektorisierung. G-Code nur aus Vektoren möglich. Plugin: Inkscape-Lasertools (GitHub, Installation: Dateien aus ZIP in Inkscape-Extensions-Ordner kopieren).

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Erweiterungen → Lasertools: Konturen only oder mit Füllung. Laser-Verfahrgeschwindigkeit, Füllgeschwindigkeit, Konturgeschwindigkeit. PWM für Laserintensität bei Füllung z. B. M106 S128 (50 %). Ähnlicher Effekt durch höhere Verfahrgeschwindigkeit in Füllbereichen. Einstellungen experimentell optimieren.

Preferences: „Remove tiny infill paths“. Bounding Box: „Generate G-Code for bounding box preview“ – sehr nützlich für Werkstückpositionierung.

G-Code generieren → in Repetier-Host laden. Da kein 3D-Druck: „Show Travel Moves“ anhaken für Vorschau.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

„Print“ → SCARA-Roboter graviert. Zufriedenstellend, viele Anwendungen möglich.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Vorteil: Verstellbare Z-Achse → hohe Objekte gravierbar, z. B. Holzbox für Forstner-Bohrer (Logo vorne, Text hinten).

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Beispiel: Batman-Silhouette – nur Konturen vs. mit Füllung.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Füllung dauert länger, sieht aber besser aus.

Großes Gravurbeispiel: 600 × 450 mm Zeichnung.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Roboter auf Werkstück platziert (erreicht Front & beide Seiten). Manuell mittig/parallel ausgerichtet.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Marlin: Nullpunkt = untere linke Ecke Werkstück (300 mm X, 150 mm Y vom Roboter). Vorzeichen beachten. MANUAL_X/Y_HOME_POS entsprechend anpassen.

Firmware neu flashen, homing, Laser auf Nullposition, Laser an (M106 S10) → Werkstück weiter ausrichten.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Mit G01 (Geraden) Position prüfen/korrigieren.

G-Code-Vorbereitung: Inkscape-Template mit Roboter/ Werkstück-Konfiguration → erreichbarer Bereich sichtbar → Zeichnung daran anpassen.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Bild herunterladen, Trace Bitmap → Vektor.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Skalieren, positionieren, Radierer: Bereiche löschen, wo Roboter steht / außerhalb Reichweite.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

G-Code generieren → Maschine arbeiten lassen. Dauer: 4 Stunden.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Leerstelle (Roboterstandort) nachfüllen: Roboter & Werkstück umpositionieren, Marlin-Parameter für neuen Arbeitsbereich (die Lücke) anpassen.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Aufwendig, aber funktioniert gut. Ergebnis gefällt mir.

Fazit

Trotz Firmware-Probleme: Workarounds gefunden, SCARA-Roboter graviert. Nahansicht zeigt: nicht perfekt.

DIY SCARA-Roboter zum präzisen Lasergravierer umbauen mit Arduino

Roboter nicht steif genug, Spiel/Backlash → keine präzisen, glatten Bewegungen. Aber gelernte Prinzipien auf jeden SCARA anwendbar – bessere Hardware = bessere Ergebnisse.

Hoffe, Tutorial hat gefallen & was Neues vermittelt. Fragen in Kommentaren, Arduino-Projekte-Sammlung anschauen.


Herstellungsprozess

  1. Retro-Numitron-Uhr mit Arduino bauen: Einfach, zuverlässig & energieeffizient
  2. Servogesteuerter Hindernisvermeidungs-Roboter: Bauen mit Arduino & HC-SR04
  3. Roomba Create 2 per Arduino & Android steuern – Schritt-für-Schritt
  4. DIY-Voltmeter mit Arduino und Nokia 5110 Display – Schritt-für-Schritt-Anleitung
  5. MobBob: Eigenen Arduino-Roboter bauen, per Android-Smartphone steuern
  6. Präzises DIY-Messrad mit Arduino Nano und Drehgeber
  7. Präzisen Luftqualitäts-Monitor mit Sharp GP2Y1010AU0F Sensor bauen
  8. 1D-Pong-Spiel mit Arduino Nano und WS2812-LED-Strip – Schritt-für-Schritt-Anleitung
  9. DIY Roboterarm mit Gestensteuerung (Hand-Tracking) – Arduino & 3D-Druck
  10. Arduino Roboterarm per Android-App & Bluetooth steuern