Ich bin eher zufällig auf ein Video gestoßen, wo mit so einem EggDuino (EggBot) ein Ei sehr ansprechend mit einem grafischen Muster bemalt wurde. Nun bin ich nie wirklich jemand gewesen, der Ostereier bemalt hat. Da ich aber zufällig bis auf den Servo alle Bauteile in der Elektronikkiste liegen hatte, hat sich der Aufwand auf das Drucken des Gehäuses, die Beschaffung des Servos und den Zusammenbau beschränkt. Das war es mir wert. Ganz nebenbei denke ich, es ist auch ein prima Geschenk für einen Teenager, der sich dafür sicher begeistern kann, der hiermit seine kreative Ader ausleben kann. Oder ich zerlege ihn wieder und nutze die Bauteile anderweitig. Oder ich baue nochmal um. Mit einem etwas größeren Gehäuse und einem kleinen Zusatz wäre es auch möglich, Gläser, Christbaumkugeln oder sonstiger zylindrischer oder kugelförmiger Körper zu gravieren. Schaun wir mal ..
3D-Druck Gehäuse für den EggBot
Wer sich mal im Netz umschaut, der findet massig Varianten dieser EggBots. Das Prinzip ist aber bei allen das Gleiche: Es kommen zwei Schrittmotoren und ein Modellbauservo zum Einsatz. Als Steuerung wird ein Arduino und ein CNC-Shield eingesetzt. Das Design kann mit der freien, kostenlosen, quelloffenen Software Inkscape erstellt werden. Über eine Erweiterung im Inkscape wird der EggBot direkt angesteuert, so dass keine zusätzliche Software zur G-Code Erstellung und Verarbeitung nötig ist. Die Software ist für Windows, Linux und Apple-OS verfügbar, so kann der EggBot von jedem betrieben werden, der eines dieser Betriebssysteme im Einsatz hat.
Die Hardware wird in einem Gehäuse zusammengefasst – auch hier ist so viel Auswahl vorhanden, dass jeder mit seinen Möglichkeiten zurecht kommt. Ob nun aus Sperrholzteilen mit Gewindestangen, lasergeschnitten, gefräst oder wie bei mir mit dem 3D-Drucker erzeugt.
Für mich war eben die Möglichkeit, das Gehäuse per 3D-Drucker herzustellen, der ausschlaggebende Grund, das Ding zu bauen, denn hier beschränkt sich der Aufwand auf das Anpassen der Druckdaten an meinen 3D-Drucker.
Aber auch hier gibt es unzählige Varianten. Ich habe mich für diese hier von Imko entschieden: Okmi EggBot.
Warum? Na ja, das Design hat mir gefallen und ich mag die Lösung, dass die Elektronik gut verpackt ist – auch im Hinblick darauf, das dass evtl. an einen Jugendlichen zu verschenken.
Das Gehäuse selbst ist sehr Stabil und war mit rund 24 Stunden der zeitaufwendigste Teil des ganzen Projektes. Ich habe mich für das Gehäuse für die 8mm-Achse entschieden. einfach, weil ich ein Stück 8mm Alu-Rohr zu Hand hatte und auch die passenden Kugellager in der Teilekiste verfügbar waren. Allerdings muss dann der Eihalter rechts und der Drehgriff am Ender der Achse aufgebohrt werden.
Eigentlich sind für den Aufbau Vierkantmuttern vorgesehen, die hatte ich nicht da, aber es hat auch super mit Sechskantmuttern funktioniert. Die gehen ziemlich stramm rein, bleiben dann aber an ihrer Position. Ich musste noch die Achsbohrungen für den Stiftservo nachbohren, sowie die beiden Löcher für die Abdeckung der Elektronikbox. Ansonsten waren die Teile super maßhaltig.
Der Zusammenbau
Der Zusammenbau des EggDuinos ist schnell erledigt. Ich habe zuerst die Muttern in ihre Aussparungen gedrückt und die Schrauben dazu angesetzt. Für die Servowellen habe ich 8mm Schraiben benutzt, ebenso für die Servobefestigung und die Elektronikboxabdeckung. Für das Scharnier des Stiftarmes kamen zwei 12mm Schrauben zum Einsatz, ebenso für die Befestigung des Lüfters. Der Stift selbst wird mit einer 20mm Schraube festgeklemmt und der Arduino hält mit zwei 6mm-Schrauben an seinem Platz.
Zuerst habe ich den Stromanschluss-Stecker mit der Heißklebepistole in die passende Öffnung geklebt. Ich habe Einschraubbuchsen in der Bastelkiste. Würde ich nochmal anfangen, dann würde ich vor dem Druck die Öffnung verschließen und etwas weiter oben eine neue Öffnung vorsehen, wo ich die Einschraubbuchse montieren kann.
Als nächstes kam der Lüfter an seinen Platz. Die Montage ist ein wenig fummelig, deshalb habe ich ihn zuerst montiert, auch wenn die Beschreibung empfiehlt, erst den Servostecker durchzustecken.
Dann kam der Uno an die Reihe, den ich nur mit zwei der vier vorgesehenen Schrauben befestigt habe. Aber der saß auch ganz ohne Schrauben schon perfekt und quasi unverrutschbar im Gehäuse.
Im Folgenden habe ich die Nema 17-Schrittmotoren ins Gehäuse geschraubt. Im Gehäuse sind Schlitze vorgesehen, um die Kabel direkt in die Elektronikbox zu führen. Diese sind für Schrittmotoren mit einer Länge von 48mm positioniert. Ich hatte Motoren mit 40mm Länge in der Bastelkiste, deshalb habe ich den Kabelausgang nach oben gedreht und die Kabel von da aus durch die Öffnung geführt. Alternative wäre gewesen, neue Motoren zu kaufen oder zusätzliche Öffnungen ins Gehäuse zu machen – war mir zu viel Aufwand.
Die Kabel habe ich gekürzt und dann wieder mit Steckern versehen. Geht auch ohne, es ist noch genug Platz in der Elektronikbox.
Als nächstes habe ich den Servo am Stiftarm montiert, der dann auf die Schrittmotor-Welle kam. Im Anschluss daran die beiden Kugellager, den Eihalter auf dem Schrittmotor und die Welle zusammengebaut und montiert.
Elektronik-Setup: Arduino Uno und CNC-Shield konfigurieren
Jetzt sind wir schon fast einsatzbereit. Auf der Werkbank liegt noch das CNC-Shield und die beiden Treiber. Vor der Montage der Treiber die Jumper nicht vergessen! Es müssen alle drei gesteckt sein. Vorsicht auch beim Aufstecken der Treiber, werden die falschrum aufgesteckt, geben sie ganz kurz Rauchzeichen und gehen dann in die ewigen Jagdgründe!
Bevor ich das CNC-Shield auf den Uno stecke, schließe ich ihn erstmal an die 12V-Spannungsversorgung an und stelle die Treiber ein. Dazu einen kleinen Schraubendreher in das Poti stecken und am Metall des Schraubendrehers gegen Masse die Spannung messen und auf 0,7V einstellen. Kühlkörper auf den Treibern auch nicht vergessen! Auf der Unterseite des Shields habe ich noch einen 120 Ohm-Widerstand zwischen +5V und Reset eingelötet. Manche verwenden eine 100uF-Kondensator zwischen Reset und Masse, aber so einen hatte ich gerade nicht da.
Dann kann das CNC-Shield auf den Uno gesteckt werden. Das ist auch wieder ein wenig fummelig. Man kann sich bei den Montagebohrungen, die näher an der Rückseite des Gehäuses liegen, orientieren. Oder man nimmt für die Befestigung des Unos Stehbolzen, dann sieht man es noch leichter und kann das CNC-Shield auch befestigen.
Wenn alles sitzt, kann die Stromversorgung angeklemmt werden und die Stecker für Schrittmotor und Servo gesteckt. Der Servo hat einen 3poligen Anschluss. Ich habe die Kontakte aus dem Gehäuse ausgeschnappt und ein ein zweipoliges, sowie ein einpoliges Gehäuse eingeschnappt. So passt das dann aufs CNC-Shield und ist auch isoliert. Bevor dann letztendlich der Deckel draufkommt, die Schrittmotoren einmal testen. Wenn sie verkehrt herum laufen, dann einfach die Stecker auf dem CNC-Shield abstecken und um 180 Grad versetzt wieder aufstecken.
Ok, so weit so gut. Jetzt geht’s ans Eingemachte: Die Inbetriebnahme.
Problembehebung EggDuino/Inkscape
EggDuino & Inkscape: „Failed to connect to EggBot“ lösen
Das Problem: Verbindungsfehler
Viele stehen vor der Hürde, dass Inkscape den Plotter trotz korrekter Verkabelung nicht erkennt. Die Fehlermeldung lautet meist: „Failed to connect to EggBot“. Dies liegt in 99% der Fälle nicht an der Hardware, sondern an der Kommunikation zwischen der Inkscape-Erweiterung und dem Arduino-USB-Chip.
Wie unzählige Beiträge im Netz dokumentieren, ist das häufigste Problem beim EggDuino nicht der Aufbau des Plotters, sondern vielmehr, diesen dann auch von Inkscape aus anzusteuern. Auch ich habe etliche Stunden damit verbracht und möchte deshalb hier beschreiben, wie ich ihn zum Laufen bekommen habe. Bei mir läuft er auf Linux (Ubuntu) und Windows 10.
Ich weiß nicht, wie oft ich den Uno neu programmiert habe, das Unterverzeichnis ‚Erweiterungen‘ gelöscht, neu befüllt und die Dateien darin bearbeitet.
Jedes mal, wenn ich Inkscape aufgerufen und die Erweiterung EggBot Control gestartet hab, ich habe immer wieder diese Fehlermeldung bekommen:
‚Failed to connect to EggBot‘
Die Lösung ist eigentlich ganz einfach – ich kam trotzdem erst darauf, als ich das Ganze mal unterbrochen und mich am nächsten Tag erneut damit auseinandergesetzt habe.
Zuerst mal brauchen wir zwei Angaben: Den Namen des Arduinos, die VID und die PID. Am Einfachsten bekommt man die über die Arduino IDE ausgelesen.
Dazu die IDE starten, bei Board das verwendete Board auswählen und bei Port den USB-Port angeben, an dem der EggBot angeschlossen ist. Dann auf ‚Boardinformationen holen‘ klicken.
Voila. Es wird der Name, VID und PID angezeigt und die Seriennummer. Die benötigen wir aber nicht. Die ersten 3 Einträge notieren.
Nachtrag: Bei Chinaklon-Unos steht bei BN: ‚Unbekanntes Board‘ oder sowas in der Art. Das ist dann trotzdem der Name, der verwendet werden muss!
Damit Inkscape deinen EggDuino erkennt (besonders bei günstigen Arduino-Klonen), musst du die Hardware-ID manuell hinterlegen. Folge diesen Schritten:
Hardware-IDs (VID/PID) ermitteln: Schließe den Arduino an. Öffne die Arduino IDE und gehe auf Werkzeuge -> Boardinformationen holen. Notiere dir die VID und die PID (z.B. VID: 1A86, PID: 7523).
Erweiterungs-Ordner öffnen: Navigiere zum Inkscape-Pfad für Extensions.
Windows:%appdata%\inkscape\extensions
Linux:~/.config/inkscape/extensions
Datei editieren: Suche die Datei ebb_serial.py und öffne sie mit einem Texteditor (z.B. Notepad++).
IDs eintragen: Suche nach dem Bereich, in dem die VID und PID definiert werden, und ersetze sie durch deine in Schritt 1 notierten Werte.
Timeout erhöhen: Suche in derselben Datei nach dem Eintrag timeout und erhöhe den Wert (z.B. auf 2.0), um die Verbindung stabiler zu machen.
Ergebnis: Nach dem Speichern der Datei und einem Neustart von Inkscape wird der EggDuino sofort erkannt und der Plot kann starten!
Als nächstes gehen wir in den Inkscape Ordner ‚Erweiterungen.
In Windows findet man den hier:
C:\Users\User\AppData\Roaming\inkscape\extensions (wobei User mit dem eigenen Profilnamen ersetzt werden muss)
Oder im Programmverzeichnis auf der Festplatte:
C:\Program Files\Inkscape\share\extensions (64Bit)
C:\Program Files (x86)\Inkscape\share\extensions (32Bit)
In Linux befindet sich das Verzeichnis hier:
/home/user/.config/inkscape/extensions
* User habe ich hier als Platzhalter verwendet, das bitte mit dem Benutzernamen tauschen, mitz dem man sich am System anmeldet.
Hier öffnen wir die Datei ebb_serial.py und suchen nach folgenden Einträgen:
Hier tragen wir die vorher notierten Angaben ein.
Zusätzlich habe ich bei mir vorsichtshalber den Timeout auch erhöht. Bei mir selber konnte ich das Problem zwar nicht feststellen, aber ich denke mir halt, lieber schließe ich das aus, als dass es dann irgendwann zu Problemen kommt und ich fange wieder an mit der Fehleranalyse.
Der Eintrag findet sich auch wieder in der Datei ebb_serial.py.
Nachdem ich diese Einträge gemacht habe, hat Inkscape sich problemlos mit dem EggDuino verbunden.
Troubleshooting (Fehlersuche)
Nachdem ich nun schon ein paarmal bei Anderen geholfen habe, den ‚SphärenPlotter‘ zum Laufen zu bekommen, ein paar Tipps, die ich ggf. weiter ergänzen werde.
Der wichtigste Tipp: Es gibt unterschiedliche Treiber für die Schrittmotoren. Viele orientieren sich beim Einstecken auf dem CNC-Shield an den Potis – ein fataler Fehler! Denn die sind – je nach Hersteller – unterschiedlich positioniert.
Meine Empfehlung deshalb: Immer am EN-Pin orientieren! Der ist sowohl auf dem Treiber als auch auf dem CNC-Shield beschriftet. Wenn der EN-Stift von der Treiberplatine in der EN-Buchse des CNC-Shield steckt, dann sitzt der Treiber richtig herum – egal, wo sich das Poti auf der Platine befindet.
Verkehrt herum aufgesteckt, haucht der Treiber mit ein wenig weißem Rauch in Sekundenbruchteilen sein Leben aus.
So muss der Treiber aufgesteckt werden
Der Pfeil zeigt an, wo bei mir die Steuerleitung des Servos aufgelegt wird. Das ist aber unterschiedlich – je nach verwendeter Firmware! Ich habe die Eggduino-Firmware von Joachim Cerny in der Version V1.6a im Einsatz.
Häufige Fragen & Troubleshooting (FAQ)
Frage: Welche Software wird für den EggDuino benötigt? Antwort: Du benötigst Inkscape (Open Source) und die EggBot-Erweiterung. Eine G-Code-Erstellung ist nicht nötig, da die Erweiterung direkt mit dem Arduino kommuniziert.
Frage: Welche Hardware-Komponenten sind zwingend erforderlich? Antwort: Die Basis besteht aus einem Arduino Uno, einem CNC-Shield V3, zwei Nema 17 Schrittmotoren und einem SG90 Servo. Als Stromquelle dient ein 12V Netzteil.
Problem: Inkscape zeigt „Failed to connect to EggBot“ an. Ursache: Die Hardware-IDs (VID/PID) von günstigen Arduino-Klonen weichen vom Original ab und werden von der Software ignoriert. Lösung: Die VID und PID müssen manuell in der Datei ebb_serial.py im Inkscape-Erweiterungsverzeichnis eingetragen werden (siehe Detail-Anleitung oben).
Problem: Die Schrittmotoren drehen sich in die falsche Richtung. Lösung: Du musst keine Software ändern. Ziehe einfach den Stecker des Motors vom CNC-Shield ab, drehe ihn um 180 Grad und stecke ihn wieder auf.
Wichtiger Hinweis: Warum rauchen meine Motortreiber (A4988) ab? Ursache: Falsches Aufstecken auf das Shield oder Einstellen der Spannung unter Last. Lösung: Orientiere dich immer am EN-Pin (nicht am Poti!) und stelle die Treiberspannung mit einem Multimeter auf 0,7V ein, bevor du die Motoren final belastest.
Mein Fazit zum EggDuino Projekt
Der Bau eines EggDuinos ist ein fantastisches Projekt für alle, die 3D-Druck, Elektronik und Software-Tüfteln kombinieren möchten. Auch wenn die Hürden bei der Verbindung zwischen Inkscape und dem Arduino anfangs frustrierend sein können, zeigt mein Beispiel, dass sich fast jedes Problem mit den richtigen Hardware-IDs in der ebb_serial.py lösen lässt.
Für mich war dieses Projekt nicht nur eine Spielerei für Ostern, sondern auch ein Beweis dafür, wie leistungsfähig Open-Source-Hardware und die Maker-Community sind. Ob als Geschenk für Technik-begeisterte Teenager oder als präziser Plotter für eigene Deko-Ideen – der EggBot überzeugt durch seine Einfachheit und das faszinierende Ergebnis.
Jetzt bist du dran!
Hast du Fragen zum Zusammenbau oder hängst du an einer Fehlermeldung fest? Nutzt du andere Treiber oder eine alternative Firmware?
Schreib es mir unten in die Kommentare! Ich versuche bei jedem Projekt zu helfen und freue mich über den Austausch mit anderen. Viel Spaß beim Bauen und Eier-Bemalen!
31 Jan. 2021
0 CommentsEggDuino – Eier bemalen mal anders
EggDuino bauen: DIY EggBot Anleitung & Software-Troubleshooting
Inhalt
Warum macht man das?
Ich bin eher zufällig auf ein Video gestoßen, wo mit so einem EggDuino (EggBot) ein Ei sehr ansprechend mit einem grafischen Muster bemalt wurde. Nun bin ich nie wirklich jemand gewesen, der Ostereier bemalt hat. Da ich aber zufällig bis auf den Servo alle Bauteile in der Elektronikkiste liegen hatte, hat sich der Aufwand auf das Drucken des Gehäuses, die Beschaffung des Servos und den Zusammenbau beschränkt. Das war es mir wert. Ganz nebenbei denke ich, es ist auch ein prima Geschenk für einen Teenager, der sich dafür sicher begeistern kann, der hiermit seine kreative Ader ausleben kann. Oder ich zerlege ihn wieder und nutze die Bauteile anderweitig. Oder ich baue nochmal um. Mit einem etwas größeren Gehäuse und einem kleinen Zusatz wäre es auch möglich, Gläser, Christbaumkugeln oder sonstiger zylindrischer oder kugelförmiger Körper zu gravieren. Schaun wir mal ..
3D-Druck Gehäuse für den EggBot
Wer sich mal im Netz umschaut, der findet massig Varianten dieser EggBots. Das Prinzip ist aber bei allen das Gleiche: Es kommen zwei Schrittmotoren und ein Modellbauservo zum Einsatz. Als Steuerung wird ein Arduino und ein CNC-Shield eingesetzt. Das Design kann mit der freien, kostenlosen, quelloffenen Software Inkscape erstellt werden. Über eine Erweiterung im Inkscape wird der EggBot direkt angesteuert, so dass keine zusätzliche Software zur G-Code Erstellung und Verarbeitung nötig ist. Die Software ist für Windows, Linux und Apple-OS verfügbar, so kann der EggBot von jedem betrieben werden, der eines dieser Betriebssysteme im Einsatz hat.
Die Hardware wird in einem Gehäuse zusammengefasst – auch hier ist so viel Auswahl vorhanden, dass jeder mit seinen Möglichkeiten zurecht kommt. Ob nun aus Sperrholzteilen mit Gewindestangen, lasergeschnitten, gefräst oder wie bei mir mit dem 3D-Drucker erzeugt.
Für mich war eben die Möglichkeit, das Gehäuse per 3D-Drucker herzustellen, der ausschlaggebende Grund, das Ding zu bauen, denn hier beschränkt sich der Aufwand auf das Anpassen der Druckdaten an meinen 3D-Drucker.
Aber auch hier gibt es unzählige Varianten. Ich habe mich für diese hier von Imko entschieden: Okmi EggBot.
Warum? Na ja, das Design hat mir gefallen und ich mag die Lösung, dass die Elektronik gut verpackt ist – auch im Hinblick darauf, das dass evtl. an einen Jugendlichen zu verschenken.
Das Gehäuse selbst ist sehr Stabil und war mit rund 24 Stunden der zeitaufwendigste Teil des ganzen Projektes. Ich habe mich für das Gehäuse für die 8mm-Achse entschieden. einfach, weil ich ein Stück 8mm Alu-Rohr zu Hand hatte und auch die passenden Kugellager in der Teilekiste verfügbar waren. Allerdings muss dann der Eihalter rechts und der Drehgriff am Ender der Achse aufgebohrt werden.
Eigentlich sind für den Aufbau Vierkantmuttern vorgesehen, die hatte ich nicht da, aber es hat auch super mit Sechskantmuttern funktioniert. Die gehen ziemlich stramm rein, bleiben dann aber an ihrer Position. Ich musste noch die Achsbohrungen für den Stiftservo nachbohren, sowie die beiden Löcher für die Abdeckung der Elektronikbox. Ansonsten waren die Teile super maßhaltig.
Der Zusammenbau
Der Zusammenbau des EggDuinos ist schnell erledigt. Ich habe zuerst die Muttern in ihre Aussparungen gedrückt und die Schrauben dazu angesetzt. Für die Servowellen habe ich 8mm Schraiben benutzt, ebenso für die Servobefestigung und die Elektronikboxabdeckung. Für das Scharnier des Stiftarmes kamen zwei 12mm Schrauben zum Einsatz, ebenso für die Befestigung des Lüfters. Der Stift selbst wird mit einer 20mm Schraube festgeklemmt und der Arduino hält mit zwei 6mm-Schrauben an seinem Platz.
Zuerst habe ich den Stromanschluss-Stecker mit der Heißklebepistole in die passende Öffnung geklebt. Ich habe Einschraubbuchsen in der Bastelkiste. Würde ich nochmal anfangen, dann würde ich vor dem Druck die Öffnung verschließen und etwas weiter oben eine neue Öffnung vorsehen, wo ich die Einschraubbuchse montieren kann.
Als nächstes kam der Lüfter an seinen Platz. Die Montage ist ein wenig fummelig, deshalb habe ich ihn zuerst montiert, auch wenn die Beschreibung empfiehlt, erst den Servostecker durchzustecken.
Dann kam der Uno an die Reihe, den ich nur mit zwei der vier vorgesehenen Schrauben befestigt habe. Aber der saß auch ganz ohne Schrauben schon perfekt und quasi unverrutschbar im Gehäuse.
Im Folgenden habe ich die Nema 17-Schrittmotoren ins Gehäuse geschraubt. Im Gehäuse sind Schlitze vorgesehen, um die Kabel direkt in die Elektronikbox zu führen. Diese sind für Schrittmotoren mit einer Länge von 48mm positioniert. Ich hatte Motoren mit 40mm Länge in der Bastelkiste, deshalb habe ich den Kabelausgang nach oben gedreht und die Kabel von da aus durch die Öffnung geführt. Alternative wäre gewesen, neue Motoren zu kaufen oder zusätzliche Öffnungen ins Gehäuse zu machen – war mir zu viel Aufwand.
Die Kabel habe ich gekürzt und dann wieder mit Steckern versehen. Geht auch ohne, es ist noch genug Platz in der Elektronikbox.
Als nächstes habe ich den Servo am Stiftarm montiert, der dann auf die Schrittmotor-Welle kam. Im Anschluss daran die beiden Kugellager, den Eihalter auf dem Schrittmotor und die Welle zusammengebaut und montiert.
Elektronik-Setup: Arduino Uno und CNC-Shield konfigurieren
Jetzt sind wir schon fast einsatzbereit. Auf der Werkbank liegt noch das CNC-Shield und die beiden Treiber. Vor der Montage der Treiber die Jumper nicht vergessen! Es müssen alle drei gesteckt sein. Vorsicht auch beim Aufstecken der Treiber, werden die falschrum aufgesteckt, geben sie ganz kurz Rauchzeichen und gehen dann in die ewigen Jagdgründe!
Bevor ich das CNC-Shield auf den Uno stecke, schließe ich ihn erstmal an die 12V-Spannungsversorgung an und stelle die Treiber ein. Dazu einen kleinen Schraubendreher in das Poti stecken und am Metall des Schraubendrehers gegen Masse die Spannung messen und auf 0,7V einstellen. Kühlkörper auf den Treibern auch nicht vergessen! Auf der Unterseite des Shields habe ich noch einen 120 Ohm-Widerstand zwischen +5V und Reset eingelötet. Manche verwenden eine 100uF-Kondensator zwischen Reset und Masse, aber so einen hatte ich gerade nicht da.
Dann kann das CNC-Shield auf den Uno gesteckt werden. Das ist auch wieder ein wenig fummelig. Man kann sich bei den Montagebohrungen, die näher an der Rückseite des Gehäuses liegen, orientieren. Oder man nimmt für die Befestigung des Unos Stehbolzen, dann sieht man es noch leichter und kann das CNC-Shield auch befestigen.
Wenn alles sitzt, kann die Stromversorgung angeklemmt werden und die Stecker für Schrittmotor und Servo gesteckt. Der Servo hat einen 3poligen Anschluss. Ich habe die Kontakte aus dem Gehäuse ausgeschnappt und ein ein zweipoliges, sowie ein einpoliges Gehäuse eingeschnappt. So passt das dann aufs CNC-Shield und ist auch isoliert. Bevor dann letztendlich der Deckel draufkommt, die Schrittmotoren einmal testen. Wenn sie verkehrt herum laufen, dann einfach die Stecker auf dem CNC-Shield abstecken und um 180 Grad versetzt wieder aufstecken.
Ok, so weit so gut. Jetzt geht’s ans Eingemachte: Die Inbetriebnahme.
Problembehebung EggDuino/Inkscape
EggDuino & Inkscape: „Failed to connect to EggBot“ lösen
Das Problem: Verbindungsfehler
Viele stehen vor der Hürde, dass Inkscape den Plotter trotz korrekter Verkabelung nicht erkennt. Die Fehlermeldung lautet meist: „Failed to connect to EggBot“. Dies liegt in 99% der Fälle nicht an der Hardware, sondern an der Kommunikation zwischen der Inkscape-Erweiterung und dem Arduino-USB-Chip.
Wie unzählige Beiträge im Netz dokumentieren, ist das häufigste Problem beim EggDuino nicht der Aufbau des Plotters, sondern vielmehr, diesen dann auch von Inkscape aus anzusteuern. Auch ich habe etliche Stunden damit verbracht und möchte deshalb hier beschreiben, wie ich ihn zum Laufen bekommen habe. Bei mir läuft er auf Linux (Ubuntu) und Windows 10.
Ich weiß nicht, wie oft ich den Uno neu programmiert habe, das Unterverzeichnis ‚Erweiterungen‘ gelöscht, neu befüllt und die Dateien darin bearbeitet.
Jedes mal, wenn ich Inkscape aufgerufen und die Erweiterung EggBot Control gestartet hab, ich habe immer wieder diese Fehlermeldung bekommen:
‚Failed to connect to EggBot‘
Die Lösung ist eigentlich ganz einfach – ich kam trotzdem erst darauf, als ich das Ganze mal unterbrochen und mich am nächsten Tag erneut damit auseinandergesetzt habe.
Zuerst mal brauchen wir zwei Angaben: Den Namen des Arduinos, die VID und die PID. Am Einfachsten bekommt man die über die Arduino IDE ausgelesen.
Dazu die IDE starten, bei Board das verwendete Board auswählen und bei Port den USB-Port angeben, an dem der EggBot angeschlossen ist. Dann auf ‚Boardinformationen holen‘ klicken.
Voila. Es wird der Name, VID und PID angezeigt und die Seriennummer. Die benötigen wir aber nicht. Die ersten 3 Einträge notieren.
Nachtrag: Bei Chinaklon-Unos steht bei BN: ‚Unbekanntes Board‘ oder sowas in der Art. Das ist dann trotzdem der Name, der verwendet werden muss!
Schritt-für-Schritt Lösung: ebb_serial.py anpassen
Damit Inkscape deinen EggDuino erkennt (besonders bei günstigen Arduino-Klonen), musst du die Hardware-ID manuell hinterlegen. Folge diesen Schritten:
Werkzeuge -> Boardinformationen holen. Notiere dir die VID und die PID (z.B. VID: 1A86, PID: 7523).%appdata%\inkscape\extensions~/.config/inkscape/extensionsebb_serial.pyund öffne sie mit einem Texteditor (z.B. Notepad++).timeoutund erhöhe den Wert (z.B. auf 2.0), um die Verbindung stabiler zu machen.Als nächstes gehen wir in den Inkscape Ordner ‚Erweiterungen.
In Windows findet man den hier:
C:\Users\User\AppData\Roaming\inkscape\extensions (wobei User mit dem eigenen Profilnamen ersetzt werden muss)
Oder im Programmverzeichnis auf der Festplatte:
C:\Program Files\Inkscape\share\extensions (64Bit)
C:\Program Files (x86)\Inkscape\share\extensions (32Bit)
In Linux befindet sich das Verzeichnis hier:
/home/user/.config/inkscape/extensions
* User habe ich hier als Platzhalter verwendet, das bitte mit dem Benutzernamen tauschen, mitz dem man sich am System anmeldet.
Hier öffnen wir die Datei ebb_serial.py und suchen nach folgenden Einträgen:
Hier tragen wir die vorher notierten Angaben ein.
Zusätzlich habe ich bei mir vorsichtshalber den Timeout auch erhöht. Bei mir selber konnte ich das Problem zwar nicht feststellen, aber ich denke mir halt, lieber schließe ich das aus, als dass es dann irgendwann zu Problemen kommt und ich fange wieder an mit der Fehleranalyse.
Der Eintrag findet sich auch wieder in der Datei ebb_serial.py.
Nachdem ich diese Einträge gemacht habe, hat Inkscape sich problemlos mit dem EggDuino verbunden.
Troubleshooting (Fehlersuche)
Nachdem ich nun schon ein paarmal bei Anderen geholfen habe, den ‚SphärenPlotter‘ zum Laufen zu bekommen, ein paar Tipps, die ich ggf. weiter ergänzen werde.
Der wichtigste Tipp: Es gibt unterschiedliche Treiber für die Schrittmotoren. Viele orientieren sich beim Einstecken auf dem CNC-Shield an den Potis – ein fataler Fehler! Denn die sind – je nach Hersteller – unterschiedlich positioniert.
Meine Empfehlung deshalb: Immer am EN-Pin orientieren! Der ist sowohl auf dem Treiber als auch auf dem CNC-Shield beschriftet. Wenn der EN-Stift von der Treiberplatine in der EN-Buchse des CNC-Shield steckt, dann sitzt der Treiber richtig herum – egal, wo sich das Poti auf der Platine befindet.
Verkehrt herum aufgesteckt, haucht der Treiber mit ein wenig weißem Rauch in Sekundenbruchteilen sein Leben aus.
Der Pfeil zeigt an, wo bei mir die Steuerleitung des Servos aufgelegt wird. Das ist aber unterschiedlich – je nach verwendeter Firmware! Ich habe die Eggduino-Firmware von Joachim Cerny in der Version V1.6a im Einsatz.
Häufige Fragen & Troubleshooting (FAQ)
Antwort: Du benötigst Inkscape (Open Source) und die EggBot-Erweiterung. Eine G-Code-Erstellung ist nicht nötig, da die Erweiterung direkt mit dem Arduino kommuniziert.
Antwort: Die Basis besteht aus einem Arduino Uno, einem CNC-Shield V3, zwei Nema 17 Schrittmotoren und einem SG90 Servo. Als Stromquelle dient ein 12V Netzteil.
Ursache: Die Hardware-IDs (VID/PID) von günstigen Arduino-Klonen weichen vom Original ab und werden von der Software ignoriert.
Lösung: Die VID und PID müssen manuell in der Datei
ebb_serial.pyim Inkscape-Erweiterungsverzeichnis eingetragen werden (siehe Detail-Anleitung oben).Lösung: Du musst keine Software ändern. Ziehe einfach den Stecker des Motors vom CNC-Shield ab, drehe ihn um 180 Grad und stecke ihn wieder auf.
Ursache: Falsches Aufstecken auf das Shield oder Einstellen der Spannung unter Last.
Lösung: Orientiere dich immer am EN-Pin (nicht am Poti!) und stelle die Treiberspannung mit einem Multimeter auf 0,7V ein, bevor du die Motoren final belastest.
Mein Fazit zum EggDuino Projekt
Der Bau eines EggDuinos ist ein fantastisches Projekt für alle, die 3D-Druck, Elektronik und Software-Tüfteln kombinieren möchten. Auch wenn die Hürden bei der Verbindung zwischen Inkscape und dem Arduino anfangs frustrierend sein können, zeigt mein Beispiel, dass sich fast jedes Problem mit den richtigen Hardware-IDs in der
ebb_serial.pylösen lässt.Für mich war dieses Projekt nicht nur eine Spielerei für Ostern, sondern auch ein Beweis dafür, wie leistungsfähig Open-Source-Hardware und die Maker-Community sind. Ob als Geschenk für Technik-begeisterte Teenager oder als präziser Plotter für eigene Deko-Ideen – der EggBot überzeugt durch seine Einfachheit und das faszinierende Ergebnis.
Jetzt bist du dran!
Hast du Fragen zum Zusammenbau oder hängst du an einer Fehlermeldung fest? Nutzt du andere Treiber oder eine alternative Firmware?
Schreib es mir unten in die Kommentare! Ich versuche bei jedem Projekt zu helfen und freue mich über den Austausch mit anderen. Viel Spaß beim Bauen und Eier-Bemalen!