Menu Close

Eggbot mit Arduino-Steuerung: Ein Corona-Projekt

Die durch Auftragseinbrüche erzwungene geschäftliche Untätigkeit nutze ich, um all die Projekte abzuarbeiten, die ich teils seit langer Zeit hier liegen habe. Jahreszeitlich angeboten hat sich jetzt der Eggbot, eine CNC-gesteuerte Eier-Malmaschine, von dessen Realisierung ist schon lange träume. Eine gute Gelegenheit, meine anderen Projekte – 3D-Drucker und CNC-Fräse – einzubinden. Und meine Kinder.

Eggbot in Action
Da muss man mal draufkommen: Der Eggbot schreibt die „Nutrition Facts“ des Eis auf die Schale.

Die Möglichkeiten, die sich dem Bastler – modern Maker genannt – heute bieten, sind nahezu unbegrenzt. Maker kommen auf die irrsten Ideen und setzen sie auch um. Anleitungen bietet das Internet für jede nur denkbare Anwendung, vom Neigungssensor, der für das Überwachen der Biergärung beim Heimbrauer eingesetzt werden kann, bis zur Fünfachsfräse mit Arduinosteuerung. Oft sind diese Anleitungen so gut, dass man mit etwas Geschick und minimalen Elektronikkenntnissen die tollsten Maschinen herstellen kann. Und meist etehen die Projekte unter Open Source-Lizenz, so dass jeder mitmachen kann.

Durch den Nachbau von Open Source-Projekten kam ich zu meinem ersten 3D-Drucker, der wiederum zu einem ganz neuen Themenbereich in meiner beruflichen Arbeit führte. Es folgte ein Buch namens „CAD für Maker“, das wiederum dazu führte, dass ich eine CNC-Fräse baute – und diese war wiederum der Auslöser für mein zweites Buch „CNC-Fräsen für Maker“.

Bei mir sollte es nun also ein Eggbot sein – im Prinzip eine 2,5-Achs-CNC-Maschine mit einer Drehachse. Die Maschine wird mit einem „flachen“ CNC-Programm gefüttert und malt rundherum auf Eier, Christbaumkugeln und alles andere, was annähernd kugelig ist. X- und Y-Achse werden über Schrittmotoren angetrieben, die Z-Achse bildet ein Servo, der den Filzstift an seinem Arm vom Ei weghebt und ablässt.

Die passende Elektronik (Arduino Uno, CNC-Shield und Motortreiber) findet sich für Preise ab 13 Euro auf ebay oder bei verschiedenen Händlern, hinzu kommen diverse M3- und M4-Schrauben, Motoren, ein Micro-Servo, Kleinteile und natürlich 3D-Druck- und Holzteile. Das gab mir Gelegenheit, meine selbstgebauten Geräte – 3D-Drucker und CNC-Fräse – mal wieder zu nutzen, die ich für meine Buchprojekte gebaut hatte.

Eggbot Muster
Unermündlich bemalt er Eier – der Eggbot.

Die Idee zum Eggbot hatte Bruce Shapiro Im Jahr 1990, dabei handelte es sich eher um ein Kunstprojekt denn um eine Maschine. Im Jahr 2009 entstand die Idee, einen Bausatz kommerziell zu vertreiben. Dazu entstand das EggBotBoard, ein speziell für diese Hardware konzipierte Steuerung. Zum Erstellen der Vorlagen im SVG-Format nutzt der originale Eggbot wie seine Clones das Open Source-Vektormalprogramm Inkscape, das mit einem Plugin zur Steuerung des Eggbot ergänzt wird. Die Kommunikation zwischen Plugin und EggBotBoard läuft über ein eigenes Protokoll.

Inzwischen existiert eine Unzahl von Eggbot- Versionen – manche lassen sich komplett 3D-drucken – von denen viele auf eine Arduino-Steuerung umgeschwenkt sind. Dazu gehört eine eigene Firmware namens EggDuino.

Eine Alternative hat der Schweizer Gaetan Collaud am Fablab Fribourg entwickelt, er nutzt eine Firmware, die G-Code versteht und eine angepasste Version der Software GCodesender. Dazu allerdings benötigt man eine Software, die SVG-Bilder in G-Code umwandelt. Auch dafür bietet Inkscape ein Plugin, das ich allerdings nie zum Laufen bekommen habe.

Der „offizielle“ Workflow mit Arduino-Firmware:

Inkscape -> Eggbot-Plugin > Eggbot-Spezial-Protokoll ->EggDuino

Alternative:

Inkscape mit G-Code-Plugin -> G-Code -> GCodesender -> EggBotArduino

Die Schwierigkeit ist nun: Die aktuelle Firmware für den Eggbot ist auf das EggBotBoard ausgelegt und nicht mit einem Arduino mit CNC-Shields kompatibel.  Immer wieder beschäftigen sich nun viele Leute mit Knowhow mit dieser Firmware und erstellen eine Version, die Arduino-kompatibel ist. Doch welche Firmware passt zu welchem Inkscape-Plugin? Github ist voller Anleitungen zu den unterschiedlichsten Varianten, es kostete mich zwei Tage, eine funktionierende Paarung zu finden.

Arduino-Steuerung
Eine vollwertige CNC-Maschinensteuerung unter 15 Euro: Arduino und CNC-Shield.

Die DXF-Daten des Rahmens und eine Sketchup-Datei mit den 3D-Druckteilen finden sich unter anderem auf der Webseite von Christoph Reinhardt, der Eggbots für das Fablab Zürich gebaut hat. Weiterhin hat mir die Seite von Arne Langer, der zwar einen anderen Eggbot-Entwurf, aber dieselbe Steuerung verwendet. Arne beschreibt im zweiten und dritten Teil seines Eggbot-Artikels detailliert, wie die Elektronik angeschlossen wird und vor allem, welche Kombination aus Firmware und Inkscape-Plugin er verwendet.

Hier und auf der Firmware-Seite von Plex3r habe ich endlich eine funktionierende Kombination zusammengeklaubt. Arne verdanke ich schließlich noch den Hinweis auf einen Kondensator, der auf dem Arduino gesteckt werden muss, damit dieser dann endlich Kontakt zu Inkscape aufnimmt. Auf der EggDuino-Github-Seite von Plex3r fand sich der rettende Hinweis, die Ebbot-Plugin-Version 2.50 zu nutzen – damit klappte es endlich, Eier zu bemalen, nur knapp eine Woche nach Ostern…

Die aktuelle Kombination ist nicht optimal, weil der Stift ungebremst auf das Ei fällt, worunter die Spitze leidet. Eine ganze Reihe von EggDuino-Varianten können die Spitze langsamer senken, die haben wiederum nicht mit der Plugin-Version 2.50 harmoniert.

Die Holzteile entstanden aus 3mm-Sperrholz auf der CNC-Fräse, die ich für mein Buch „CNC-Fräsen für Maker“ gebaut habe. Zur Erstellung des Steuerprogramms aus den DXF-Daten kommt bei mir vor allem Estlcam zum Einsatz, ein einfaches, aber leistungsfähiges CAM-Programm. Den 3D-Druck übernahm mein altbewährter, selbstgebauter Mendel90. Mit meinen Kindern verbrachte ich einige schöne Stunden, die beiden schliffen die Holzteile und löteten die Verbindungen zwischen den Motoren und dem Servo sowie der Steuerung.

Das Ergebnis kann sich sehenlassen – inzwischen ist eine ganze Reihe toller bemalter Eier entstanden. Übrigens finden sich auf Thingiverse Dutzende von Beispielen und Bildern zum Füttern des Eggbot.

Und was lernt man nun an solch einem Corona-Projekt? zum einen viel über CNC-Steuerungen, zum anderen wieder einmal, dass die Open Source-Szene viel zu oft an abgebrochenen, gescheiterten, aber nach wie vor zugänglichen Projekten krankt. Die passende, funktionierende Kombination an Firmware und Steuersoftware zu finden, war ein echter Kraftakt. Auf der anderen Seite gibt es kaum etwas Meditativeres, als dem Eggbot beim Bemalen eines Eis zuzusehen., Und wenn das dann auch noch als Familienprojekt läuft – umso besser.

Sei der Erste, der diesen Beitrag teilt

1 Comment

  1. Reinhard Schlesinger

    Lieber Hr. Steck,
    kürzlich habe ich ebenfalls meinen Eggbot fertiggestellt. Leider bin ich erst jetzt auf Ihren gut recherchierten Internetartikel gestossen. Wegen Ihrer kritischen Anmerkungen, die ich im vollen Umfang teile, und des offenen Punktes bzgl. PenSpeed möchte ich ihnen meine Erfahrungen mitteilen.

    Mein Eggbot-Projekt hat sich bedingt durch Corona (Lieferverzug CNC Shield+Treiber) stark verzögert. Der mechanische Aufbau entspricht weitestgehend dem Design von Evil Mad Scientists plus eigene Verbesserungen (z.B. Pen Arm). Die Rahmenkonstruktion von Evil Mad Scientists hat mich angesprochen, da sie mir flexibel erschien und was sich im nachhinein beim Setting auch als nützlich erwiesen hat. Habe alle Teile mit Fusion360 modelliert und auf meinem Prusa i3MK gedruckt.

    Bzgl. Software konnte ich mit Hilfe des gut gemachten Videos von „SmartHome Yourself“ (https://smarthomeyourself.de/anleitung-zum-selber-bauen/unabhaengige-projekte/arduino-und-esp-projekte/eier-bemalen-mit-arduino-eggduino-eggbot-bzw-spherobot/) meinen Eggbot relativ schnell in Betrieb nehmen. Allerdings hat mich ebenfalls der hart aufsetzende Stift erheblich gestört. Das es besser gehen konnte habe ich in Videos von den originalen Eggbots gesehen. Beim Studium der Internetveröffenlichungen durchlebte ich ähnliche Gedanken und Momente wie von ihnen Beschrieben. Die vielen „forks“ machen es einem schwer sich schnell ein Bild zu verschaffen. Auch „open source designs“ müssen gemanged werden. Ansonsten kommt ein durcheinander wie hier zustande. Gott sei Dank kommt man doch zum Ziel, wenn man sich erstens lange genug mit den Dingen auseinandersetzt und zweitens lange genug herumprobiert.

    Bzgl. PenSpeed erhielt ich den entscheidenden Hinweis im Thread „https://www.thingiverse.com/thing:3431363/comments“ von „Derigger“. Allerdings war der Hinweis unvollständig und führte nicht sofort zum gewünschen Ergebnis, nämlich den Stift sanft auf das Ei aufzusetzen.

    Hier eine Zusammenfassung meiner Konfiguration Elektrik, Elektronik, Software und meiner Vorgehensweise:

    Elektrik:
    – Schrittmotor von Trinamic QSH 4218-35-10-027
    – Mikro-Servo aus defektem Walkera Heli

    Elektronik:
    – Original Arduino Uno
    – CNC Shield von Joy-It mit A4988 Motortreiben
    – Netzteil für Treiber: 19V/4,2A (altes Notebook Netzteil von Fujitsu Siemens)

    Software:
    – Firmware
    1. Download: https://cdn.thingiverse.com/assets/b3/48/50/fa/25/EggDuinoslowservo_final.7z

    Inhalt des Ordners „EggDuinoslowservo_final“ nach entpacken:

    AccelStepper.cpp
    AccelStepper.h
    button.h
    EggDuinoslowservo_final.ino
    Functions.ino
    Helper_Functions
    SerialCommand.cpp
    SerialCommand.h

    Dem Ordner „EggDuinoslowservo_final“ wurden folgende Dateien aus dem
    2. Download „https://github.com/Yura80/EggDuino“ hinzugefügt und anschließend wurde alles hochgeladen:

    .gitattributes
    .gitignore
    LICENSE.md
    README.md
    VarSpeedServo.cpp
    VarSpeedServo.h

    Mit dieser Firmware ist es bei mir möglich die PenSpeed über EggBotControl einzustellen!!!

    – Inkscape Version 0.92.4

    – Inkscape Plugin „EggBot_281-r1.exe (https://github.com/evil-mad/EggBot/releases/download/v2.8.1/EggBot_281_r1.exe)

    – Vorhandene Datei „ebb_serial.py“ im Verzeichnis „…Inkscape/Share/Extensions“ wurde ersetzt durch die Namensgleiche aus „https://github.com/plex3r/plotink“ (siehe Ordner „libraries); Timeout in „ebb_serial.py“ habe ich wie empfohlen auf 2s gesetzt. Ob der Austausch und die Veränderung der Datei „ebb_serial.py“ notwendig ist habe ich nicht weiter hinterfragt. Habe mich da an gängige Prozeduren im WEB gehalten.

    Ein Wermutstropfen verbleibt beim mehrfarbigen Plotten: Beim Restart mit dem neuen Layer werden die Stepper kurz stromlos. Ich halte daher den Penarm kurz fest und vermeide somit ungewollte Verschiebungen.

    Viele Grüsse aus Nürnberg
    Reinhard Schlesinger

    Über eine kurze Rückmeldung würde ich mich freuen.

    Von einer eigenen Veröffentlichung im Web habe ich vorerst Abstand genommen, da ich durch meinen Nachbau keinen Mehrwert für die Maker sehe.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.