RoboEtch

Visitenkarten kann man, wenn man will auch aus Aluminium machen. Wie geht das? Eloxierte Rohlinge bestellen, gravieren -fertig?

Nein! Wenn die Vorder- und Rückseite graviert werden sollen, heisst das zwei Arbeitsgänge pro Karte, bei sagen wir mal vielen Karten, gibt das doppelt so viele Arbeitsgänge. Und wenn man aber eine Industriellen CoBot zur Hand hat dann…


Robotergestützte Gravur von Visitenkarten aus Aluminium

Projektübersicht & Motivation

Aus der tiefen Faszination für Robotik heraus ergab sich die Gelegenheit, ein Ausstellungs- und Vorführmodell eines sechsachsigen Industrie-Roboterarms vom Typ Universal Robots UR5e zu erwerben. Nach ersten spielerischen Versuchen um mich mit der Bedienung des Roboterarms vertraut zu machen beginnt hier die erste “industrielle” Fertigungsaufgabe: Dem vollautomatisierten, beidseitigen Gravieren von Aluminium-Visitenkarten mittels eines Galvanometer-gesteuerten Faserlasers.

Die primäre Herausforderung: Der Faserlaser verfügte weder über eine dokumentierte, quelloffene API noch über externe digitale Steuerschnittstellen. Um ein zeitintensives, manuelles Neuladen von Laser G-Code für Vorder- und Rückseite zu vermeiden, musste ich ein System entwickeln, welches beide Seiten synchron in einem einzigen Laservorgang graviert und die Beschickung an den Roboter delegiert.


Setup

  • Roboterarm Universal Robots UR5e mit integriertem Kraft-Moment-Sensor

    • Manipulator (3D-Druck) mit 4 Vakuum Saugnäpfen

    • Adapterflansch (3D-Druck) für die Standardaufnahme an der 6.Achse

    • Unterdruckschlauch 6mm Quick-Fit

    • Teach-Pendant (Toch-Display zur Steuerung und Programmierung)

    • Integrierte I/O-Box (

  • Drehteller

    • Pneumatischer Schwenkantrieb (Schwenkfügel-Antrieb) mit justierbaren Endanschlägen

    • Halterung zur Montage in die Lochrasterplatte (3D-Druck)

    • Drehteller zweiseitig mit jeweils zwei Vertiefungen für Forder- und Rückseite

    • Induktiver Näherungssensor zur verifizierung des Erreichens der Endpositionen (Nach dem ersten zersplitterten Drehteller und zu forscher Optimierung der Zykluszeiten… Grins!)

  • Laser Gravierer xTool F1 (Galvanometer gesteuerter Laser)

    • Zusatz-Auslöser zum externen Starten des Laser-Vorgangs

  • Kartenstapel

    • Kartenschacht (3D-Druck)

    • Ablageschacht (3D-Druck)

  • Technik

    • Robotersteuerung

    • Vakuumpumpe

    • Druckluftanschluss

    • Solenoid-2/5-Wege 4-Fach-Ventilblock

      • Drehteller

      • 2-Wege-Zylinder “Startknopfdrücker”

      • Exhaust-Air (Nach realisation, dass einfaches Zuschalten von Atmosphärendruck keinen zuverlässigen Kartenabwurf erzeugt)

    • Solenoid-1-Wege-Ventil zur Vakuum Steuerung

    • Vakuum-Sensor mit digitalem Ausgang und Schwellenwertdefinition

  • Basis

    • Werkzeugwagen aus Edelstahl

    • Lochrasterplatte 50×50mm mit M-8-Innengewinde aus Multiplex

    • Adapterplatte für Roboter-Basis aus Multiplex

  • Steuerung

    • Virtuelle Umgebung

      • Sichere Zonen

      • Virtuelle Begrenzungen

      • Koordinatensysteme für die verschiedenen Baugruppen

      • Exakte Koordinaten im Bezugssystem

    • Sicherheits-Einstellungen

      • Crash-Empfindlichkeit

      • Not Halt

      • Beschleunigung

      • usw.

    • Programm-Code

      • Genereller Ablauf

      • Funktionsblöcke für repetitive Sequenzen

      • Init-Phase

      • Exit-Phase

      • Geschwindigkeiten

      • Beschleunigung

      • Background Thread für Vakuumüberwachung

  • Software

    • Autodesk Fusion 360 (CAD Modellierungssoftware)

    • Prusa Slicer (3D-Druck vorbereitung)

    • xTool Studio (Laser Dienstprogramm)

Design / Prototyping / Fallstricke

Manipulator auf Adapterflansch

Manipulator

Den Manipulator mit den 4 Saugnäpfen habe ich (wie alle Teile) in Autodesk Fusion 360 designt. Die Modellierung der Internen Kavitäten für die Luftwege waren leicht und schnell mit Sweeping entlang einer 3D-Skizze erstellt. Das Innengewinde für das Fitting für den 6mm Quick-Fit-Schlauch mit dem internen Gewinde-Generator schnell erstellt. Die Pilzförmigen Basen für die 4 Saugnäpfe auf den ersten Versuch passend. Jedoch ist ein 3D-Druck durch die inhärente Mikroporosität nicht Gasdicht. Das hat dann dazu geführt, dass ich in den Slicer Einstellungen in Prusa Slicer mehrere Iterationen gebraucht habe, um die Anzahl der Perimeter und den Extrusionsfaktor so anzupassen, dass der Druck annähernd Gasdicht geworden ist. Das geplante kurzzeitige fluten der internen Luftleitungen mit hochviskosem Zyan-Acrylat (Sekundenkleber flüssig) war somit nicht mehr nötig.

 

Vereinzelung / Kartenschacht

Mein erster entwurf für die Kartenseparation war eine art Schlitten oder eine Schublade, welche durch eine Vertiefung in Kartenform, die Vereinzelung handhaben sollte. Die Karten haben eine sehr glatte Oberfläche, welche beim Versuch der Vereinzelung mit einer starken Adhäsion (Van-der-Waals-Kräfte) und einem Mikrovakuum (zwischen den planaren Oberflächen - braucht Zeit und Kraft um sich abzubauen) der Separation widerstehen. Leider war es ein totaler Fehlschlag, bei dem ca. 2-3 Karten mitfuhren und den schlitten blockierten, so dass ich das Konzept kurzerhand verwarf.

Da ich jedoch bereits einen Kartenschacht als Ablagestapel entworfen und gedruckt habe, muss es doch möglich sein, ohne weitere Hilfsmittel, also rein mit der Roboterkinematik ein Separation zu erreichen. Also habe ich mehrere schnelle Zyklen von Wackel-/Drehbewegungen um die Kartenmitte herum implementiert, welche die Karten zuverlässig separieren. Die Raue Oberfläche des 3D-Gedruckten Schachtes unterstützt die Separation insbesonders.

Drehteller

Da die Karten synchron beidseitig Graviert werden (Karte n auf Vorderseite, Karte n-1 auf der Rückseite) muss der Drehteller 2 Rotationssymmetrische Teile haben, welche jeweils zwei Vertiefungen für die Karten haben. Da die Karten jedoch einseitig angesaugt werden, was immer die Vorderseite ist, muss im Ablagefach 2 respektive 2’ ein Ausschnitt sein, um die Karten mit der Rückseite nach oben ablegen zu können. Nach initialem Modellieren des bereits vorhanden Adaprerflansches war es ein leichtes, ein Teil zu Konstruieren, welches sich mit Einschmelz-Gewindehülsen und M3 Schrauben aneinander und mit den jeweils zwei von unten kommenden Schrauben am Flansch zu befestigen.

Die Drehgeschwindigkeit des Pneumatischen Schwenkantriebes mit verstellbaren Endanschlägen habe ich mit ausgangsseitigen direktionalen Drosseln gedämpft, um Slip-n-Stick Verhalten zu reduzieren und das wegschleudern der Karten als mörderische Geschosse durch den ganzen Raum zu unterbinden. Den Systemdruck reguliere ich über ein Druckreduzierventil.

Laser-Gravierer Ansteuerung

Da der Laser kein digitales Startsignal verarbeiten konnte, wurde die Ansteuerung mechanisch gelöst: Ein pneumatischer Kurznhubzylinder ist über dem physischen Startknopf des Lasers montiert. Meldet der induktive Sensor das Einrasten des Drehtellers, löst die Robotersteuerung ein Magnetventil aus, und der Zylinder triggert den Laserprozess.

Da auch kein digitales "Fertig"-Signal vom Laser kommt, läuft die Taktung aktuell über ein empirisch ermitteltes Zeitfenster. Für die finale Ausbaustufe ist jedoch bereits das nächste Feature geplant: Das Abgreifen der Schaltspannung des internen Abluftlüfters des Lasers, welcher exakt mit dem Gravurvorgang startet und stoppt, um ein Closed-Loop-Rückmeldesignal zu generieren.

Integration

Vertrauen ist gut - Kontrolle ist besser!

Da ich feststellen musste, dass es unvorhergesehene Ereignisse gibt, Vakuumpumpe vergessen einzuschalten, Luftdruck abfall, Werkzeug liegen gelassen musste ich die relevanten Prozessschritte systematisch verifizieren.

  1. Der Drehteller rotiert um 180°. Da reine Zeitsabhängigkeit der Rotation durch Luftdruckschwankungen oder mechanische Blockaden (z. B. im Weg liegendes Werkzeug) im Entwicklungsprozess zu Ausschuss führten (Drehteller abgebrochen), habe ich einen induktiven Näherungssensor nachgerüstet. Dieser detektiert eine Justierschraube an den Endanschlägen der Drehplatte und gibt das Erreichen der Zielposition über einen digitalen Eingang (DI) der Robotersteuerung frei. Erst wenn dieses Signal anliegt, startet der Prozess des Karten-Handlings und der neuerlichen Beschickung.

  2. Der Erhalt des Vakuums ist ein Indikator für verschiedene Failure-Modes. Also habe ich einen Digitalen Vakuumsensor mit einstellbarem Schwellenwert nachgerüstet. Der Wert wird über einen Background-Thread in der Steuerung überwacht, welcher in den phasen, wo ein Unterdruck aufgebaut oder gehalten werden soll eine initiale respektive kontinuierliche Abfrage durchgeführt, welche die Exekution des Programms im Fehlerfall augenblicklich stoppt.

    • Detektion von mechanischem Versagen

      • Vakuumpumpe defekt

      • Leitungsdefekt

      • Materialermüdung

      • Elektrischer Defekt

    • Detektion von fehlender Karte (Verliert den Unterdruck nach Ansaugen und Wegfahrbewegung)

    • Detektion von menschlichem Versagen - Ooops!

      • Vakuumpumpe nicht eingeschaltet / angeschlossen

      • Karten vergessen abzuzählen

      • Kamera zu nahe hingehalten

Ablauf

  1. Init

Während der Laser auf der einen Seite des Tellers arbeitet, fährt der Roboter in Warteposition.

Sobald die Drehplatte nach dem Laservorgang zurückschwenkt, saugt der Roboter die beidseitig gravierte Karte an und bewegt die in den Ablagestapel. In Folge saugt er die einseitig gravierte Karte an, wendet sie im Raum und legt sie durch einen Ausschnitt im Drehteller umgedreht (Rückseite nach oben) in Fach B ab.

Das Problem der elastischen Rückfederung (Springback)

Beim Ablegen der gewendeten Karte passierte es anfangs regelmäßig, dass die Karte durch materialspezifischen Verzug (Flexing) elastisch nach oben federte, sobald das Vakuum abgestellt wurde. Ein reines Belüften der Leitung unter Atmosphärendruck war viel zu träge.

Die Lösung brachte die Integration eines Druckluft-Überdruckimpulses: Über ein feinfühlig eingestelltes Durchflussreduzierventil (Drosselventil) wird im Moment des Lösens ein minimaler, dosierter Druckluftstoß auf die Saugnäpfe gegeben. Durch die exakte softwareseitige Abstimmung von Vakuum-Unterbrechung und Abwurf-Timing wird die Karte nun kontrolliert in das Fach gedrückt, ohne dass sie springt oder sich verschiebt.

5. Pipeline-Management: Steady-State, Init & Exit

Befinden sich alle Karten im Durchlauf, arbeitet das System im hocheffizienten Steady-State: Bei jedem Zyklus wird eine fertige Karte in den Auswurfschacht gestapelt, eine teilgravierte Karte gewendet und ein neuer Rohling eingezogen.

Die größte logische Denkarbeit im Programmcode floss in das Pipeline-Management (Anfangs- und Schlusssequenz):

  • Die Init-Phase: Beim ersten Start des Systems ist der Drehteller leer. Der Roboter darf nicht versuchen, eine nicht vorhandene Karte zu wenden oder zu greifen, da der fehlende Unterdruck sonst sofort einen Not-Halt auslösen würde. Die Beladungssequenz muss daher schrittweise aufgebaut werden.

  • Die Exit-Phase: Ist der Kartenschacht leer (detektiert über den UR5e-Nullpunkt-Tiefenanschlag), schaltet das System in eine sequenzielle Entleerung. Die verbleibenden Karten auf dem Drehteller werden sauber zu Ende graviert und ausgeworfen, ohne dass neue Karten nachgeholt werden.

Es kann eine voreingestellte anzahl Karten definiert werden.

Learnings & Kompetenzgewinn

  • Roboterprogrammierung & Sensorik: Nutzung von Kraft-Momenten-Sensorik zur adaptiven Bauteilsuchfahrt sowie Implementierung asynchroner Hintergrund-Threads zur Sicherheitsüberwachung.

  • Pneumatik & Fluidtechnik: Beherrschung von Unterdrucksystemen, Object-Pooling im Luftstrom (Abwurfsicherung via Drosselventilen) und EMV-sicherer Sensorintegration.

  • Kreative Problemlösung: Entwicklung mechanischer und elektrischer Schnittstellen ("Hardware-Hacking") für geschlossene Fremdsysteme ohne offene Software-Schnittstellen.

Weiter
Weiter

Türe mit Blendrahmen aus Fichte