Eggbot: Selbst Ostereier bedrucken


Ich habe etwa eine Woche vor Ostern 2017 bei Deutschlandfunk Nova (Netzbasteln) etwas von dem Eggbot-Roboter gehört, den ich hier nun vorstelle. Vom Eggbot gibt es ziemlich viele Versionen, ich habe mich aber nur mit jjrobots Version beschäftigt. Das Gehäuse des Roboters wird komplett 3D-gedruckt, bis auf ein paar Teile (Gewindestange, Federn, Rädelschrauben, …). Der 3D-Druck kann relativ lange dauern, der Rahmen wurde etwa 20 Stunden lang ausgedruckt. Da einige Komponenten nicht lieferbar waren, habe ich die Version leicht Modifiziert, statt einen Arduino Leonardo verwendete ich einen Arduino Uno, zur Stromversorgung der Motoren ein FritzBox Netzteil, als Ersatz für den B-Robot Brain Shield zwei A4988 Motortreibern. Viele Bauteile der Halterung für das Ei habe ich ausgetauscht, da es im Baumarkt meist nicht die jeweiligen Bauteile gab. Durch die Änderung der Motortreiber und des Arduinos waren einige Änderungen im Quellcode unvermeidbar, dazu mehr im weitern Verlauf des Artikels. Die Änderungen waren eigentlich nicht schwer, aber man sollte etwas Erfahrung in den Programmiersprachen Python und C++ mitbringen.

Der komplette Aufbau des Plotters

Nach dem ich die benötigten Bauteile geliefert wurden und alle Bauteile fertig gedruckt waren, habe ich den Roboter zusammengebaut. Bis dahin war das auch nicht gerade kompliziert, aber sobald es um die Software geht, sollte man Erfahrung im Programmieren mitbringen, um diese Aufgabe lösen zu können.

Die Hardware:

Prinzipiell ist der Hardware-Aufbau recht einfach. Man muss aufgrund der von mir bearbeiteten Version auf ein paar Dinge achten:

  • Wie Netzbasteln auch schon erwähnte, muss Reset mit GND überbrückt werden, damit Inkscape eine Verbindung herstellen kann. Ich empfehle, zusätzlich noch einen Kondensator zwischen den Pins zu platzieren, um unerwartete Stromschwankungen, die die Pins beschädigen könnten, zu verhindern. Ich verwendete einen Kondensator mit 100µF
  • Bei den Motortreibern ist es wichtig, einen Kondensator zwischen dem Motortreiber und der Stromversorgung zu platzieren, falls es mal Spannungsspitzen gibt
  • Die Motoren müssen mit der Einstellung „Microsteps“ arbeiten. Das heißt, die Pins MS1, MS2 und MS3 müssen mit 5V überbrückt werden, um die Auflösung „Microstep“ zu erhalten. Dies ist bei beiden Motortreibern erforderlich
  • Wer diesen Aufwand nicht betreiben möchte, oder im Umgang mit Schaltungen unsicher ist, kann auch ein fertiges Shield kaufen. Vom Preis gesehen steht es aber in keinem Verhältnis zu der Selbstbau-Variante.
  • In JJRobots Version wurde ein Arduino Leonardo verwendet. Ich verwendete ebenfalls wie Netzbasteln den Arduino Uno R3
  • Statt einer Flügelmutter verwendete ich wie oben erwähnt eine Rädelschraube an der Gewindestange. Damit kann man aus Meiner Sicht die Größe des zu bedruckenden Objekts besser einstellen

    Eine Nahaufnahme eines beplotteten Osterei

Ich habe zuerst die aktuellste Version von Inkscape heruntergeladen, dann die Entsprechende Erweiterung und den Source Code für den Arduino bei GitHub. In der Beschreibung wurde ausdrücklich darauf hingewiesen, dass der Code für die aktuelle Inkscape Version noch nicht komplett fehlerfrei arbeitet. Es war definitiv ein Fehler von mir, trotzdem die neueste Version für die neueste Version von Inkscape zu verwenden, denn dies kostete mich anfangs viel Zeit und Nerven, jetzt im Nachhinein bin ich aber froh darüber, da Inkscape in dieser Version weniger Fehler hat und mehr Funktionen besitzt. Wer nicht die aktuelle Version von Inkscape verwenden möchte, muss meineswissens nach auch keine Änderungen am Quellcode vornehmen.

Im folgenden Absatz schildere ich nun die bei mir aufgetretenen Fehler und Probleme.

  • Verbindungsprobleme: Zu beginn, nachdem ich den Arduino mit der Eggbot-     Software geflasht hatte, traten Probleme mit der Verbindung zwischen Inkscape und dem Arduino auf. Wichtig: Wenn Reset nicht mit GND überbrückt ist, wird Inkscape keine Verbindung herstellen können
  • Wenn der Arduino nicht mehr mit dem PC verbunden ist, sollte man unbedingt die Stromversorgung der Schrittmotoren unterbrechen. Sobald der Arduino wieder angeschlossen ist und die Schrittmotortreiber wieder Strom haben, werden sie sich willkürlich bewegen, was zu Schäden führen kann
  • Ein weiters Problem ist das senken und heben des Stifts. Meistens schlägt der Arm den Stift so fest auf das Ei, das man nach dem plotten die Stellen sieht, an denen der Roboter den Stift gehoben hat.

2 Antworten auf „Eggbot: Selbst Ostereier bedrucken“

    1. Die Arduino IDE bzw. die Arduino Boards arbeiten mit dem gcc-Compiler. Allerdings hast du statt der „main()“-Funktion die Funktionen „setup()“ und „loop()“. Es ist dennoch möglich, die „main“-Funktion, wie sie in jedem C++ Programm enthalten ist, aufzurufen.
      Hier findest du nochmal den Link zur Github-Seite des Eggbots (Eggduino):
      https://github.com/cocktailyogi/EggDuino

      Viele Grüße,

      Kilian

Schreibe einen Kommentar

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