Dies ist eine alte Version des Dokuments!


Sphere-O-Bot

Eine Maschine zum Eier anmalen, basierend auf folgendem Modell: http://www.thingiverse.com/thing:1683764

Ich habe auf Thingiverse eine Sammlung verschiedener Vorlagen erstellt: https://www.thingiverse.com/mprochnow/collections/eggbot, ansonsten kann man dort auch nach dem Tag „eggbot“ suchen: https://www.thingiverse.com/tag:Eggbot.

Der Druck hat etwas über 18 Stunden gedauert.

Das Arduino-Shield habe ich mir selbst zusammengelötet, es besteht aus einer Lochrasterplatine mit zwei A4988-Schrittmotor-Treibern und einem 7805-basierten Spannungswandler sowie dem Pin-Header für die Ansteuerung des Servos. Auf Instructables gibt es eine Anleitung für ein DIY-Arduino-ProtoShield.

Pin-Belegung in der Firmware:

Motor für Stift
Pin Bedeutung
7 Step
8 Direction
4 Enable
Motor für Rotation
Pin Bedeutung
12 Step
5 Direction
4 Enable
Servo
10 Servo PWM

Ich habe angefangen, eine eigene Steuerung auf Basis eines Arduino Nano zu entwerfen. Hier geht es zum Schaltplan

Die Firmware kann man hier herunterladen (direkter Download). Nach dem Auspacken die Datei Ejjduino_ARDUINO.ino in der Arduino IDE öffnen. Es müssen noch ein paar kleine Änderungen vorgenommen werden, bevor der Arduino programmiert werden kann.

Zuerst in der Datei Ejjduino_ARDUINO.ino Zeile 92 auskommentieren:

// Serial.print ("hi");
Das ist (offensichtlich) eine Debug-Meldung, die dafür sorgt, dass das Inkscape-Plugin die Firmware nicht erkennt.

Als nächste in der Datei Helper_Functions.ino die Zeile 22 von

	penState = penUpPos;
nach
	penState = penDownPos;
ändern. Das sorgt dafür, dass der Stift beim Start angehoben wird. Ansonsten liegt zu Beginn eines Zeichenprogramms der Stift auf dem Ei auf und beim Anfahren der Startposition wird ein Strich gezeichnet, der da nicht hingehört.

Jetzt kann die Firmware auf dem Arduino eingespielt werden.

Die Software für die Ansteuerung ist ein Inkscape-Plugin.

Das Plugin ist auf GitHub zu finden: https://github.com/evil-mad/EggBot. Die Installation unter Windows ist etwas aufwendiger. Als erstes installiert man die Version 2.5 mit dem Windows-Installer. Danach lädt man das ZIP-Archiv der Version 2.8 herunter. Dieses nun mit 7-Zip u.ä. öffnen. Im Archiv in den Ordner eggbot_2.8.0\extensions\ wechseln und den kompletten Inhalt in das Extension-Verzeichnis von Inkscape kopieren (liegt normalerweise unter C:\Program Files\Inkscape\share\extensions).

Das Plugin muss jetzt noch angepasst werden, damit es mit dem Arduino-Uno-Klon + dem dazugehörigen Shield zusammenarbeitet. Dazu in das Extension-Verzeichnis von Inkscape gehen und die Datei ebb_serial.py in einem Editor öffnen. In der Datei muss Zeile 57 geändert werden und zwar von

				if port[2].startswith("USB VID:PID=04D8:FD92"):

zu

				if port[2].startswith("USB VID:PID=04D8:FD92") or \
					port[2].startswith("USB VID:PID=2341:0001") or \
					port[2].startswith("USB VID:PID=1A86:7523"):

Das sorgt dafür, dass der Arduino-Klon erkannt wird.

Weiter dann mit Zeile 70, diese muss von

			serialPort = serial.Serial( comPort, timeout=1.0 ) # 1 second timeout!

auf

			serialPort = serial.Serial( comPort, timeout=2.0 ) # 2 second timeout!

geändert werden. Die Firmware braucht beim Start etwas Zeit und reagiert nicht schnell genug auf die Anfrage des Plugins. Deshalb geben wir ihr etwas mehr Zeit.

  • Zuletzt geändert: 2019-03-31 13:30