Während des Sommersemester 2020 gab es im Fab Lab einen Drucker, der konstant zum Testen abbestellt war. Der Drucker mit dem Namen “Hades” hatte als Auftrag für ein Kinderbuch als Versuchsobjekt zu dienen. Doch was hat ein Kinderbuch mit hochexperimentellen, Plastik spaarenden Techniken zu tun? Holen wir etwas aus.
Anfang dieses Sommersemesters, beschloss ich, ein Kinderbuch für 3D-Drucker zu entwickeln. Gemeinsam mit meinem Kommilitonen C. Ajiboye wurde daraus ein Handbuch das auf der einen Seite eine Geschichte erzählt, eine von Ursa, einem Mädchen, das den 3D-Druck durch “Learning By Doing” erforscht. Auf der anderen Seite standen dann jeweils Erklärungen wie Probleme die Ursa findet und welche Lösungsansätze sie dafür jeweils nennt.
Doch die letzte Seite war besonders:
In diese Seite war ein WLAN-fähiger (ESP32) Mikrocontroller eingebettet. Dieser konnte über seine Touchpins Berührungen fühlen. Diese Pins habe ich anschließend an Kupferflächen angelötet und unter der Seite versteckt. Einen Laserschnitt später sah man die Kupferflächen durchscheinen.
Dank dieser Flächen war es nun möglich dem ESP32 Befehle zu geben. Und Dank der Octoprint-Server war es dann möglich, den Druckern Befehle zu geben. Ja, ihr lest richtig, dieses kleine Buch hat eine Fernsteuerung für einen 3D-Drucker integriert.
Doch wozu das alles?
Einen 3D-Druck neu zu starten ist keine einfache Aufgabe, bisher gibt es unter sämtlichen Octoprint Plugins kein einziges das sich diese Aufgabe traut. Die Folge davon ist, dass beim Scheitern eines Drucks, welches die Sensoren nicht bemerken viel Zeit, manchmal Tage und auch bis zu kiloweise Plastik verloren gehen. Mit diesem Buch sollte das verhindert werden.
Ein Buch hat viele Vorteile: es ist schnell zur Hand, liegt oft da, wo man es haben möchte und die Software ändert sich nicht viel. Auch ist es leichter als ein Laptop und damit handlicher in der Bedienung. Noch dazu muss man es nicht hochfahren oder vorkonfigurieren. Das Interface ist einfach da.
Aber wie startet man jetzt mit einem Buch einen Druck neu?
Ein 3D-Druck ist gespeichert in Maschinencode. Dieser “Code” wird Zeile für Zeile geschrieben und nachher Zeile für Zeile ausgeführt. Also stellt eine Gruppe von Zeilen eine Schicht dar, denn ein 3D-Druck wird Schicht für Schicht ausgeführt. Scheitert nun ein 3D-Druck an einer Stelle könnte man die Befehle ab dieser Stelle erneut ausführen lassen. In der Datei, wie auch im realen Druck definiert sich dafür eine exakte Höhe. Diese Höhe könnte man zwar messen, doch weder mit dem Auge noch mit einem Lineal findet man diese Höhe genau. Mit dem 3D-Drucker selbst hingegen kann man die Höhe genau finden. Wie beim Kalibrieren alter 3D-Drucke kann man nun mit einem Stück Papier und der Spitze auf unter 0,1mm genau feststellen,wo ein Druck gescheitert ist. Man fährt also mit dem Buch in der Hand die Düse exakt über den Druck, fährt sie ganz langsam herunter und versucht mit einem dazwischengelegten Papier zu ertasten, ab wann die Düse den Druck berührt.
Der Drucker weiß dann, wenn er noch referenziert ist genau wo sich diese Düse befindet. Anhand dieser Höhe wird dann der Code aufgeteilt, die nötigen Initialschritte werden ausgeführt und dann druckt der Drucker wieder als hätte er nie aufgehört.
Ich will das auch
Nach diesem Semester habe ich nun die Zeit gefunden dieses Projekt als Plugin für Octoprint zu entwickeln. So braucht man kein eigenes Buch und kann es im Webinterface ausprobieren. Doch VORSICHT! Dieses Plugin ist hochgradig experimentell und hat auch schon einmal für die Beschädigung eines 3D-Druckers gesorgt. Ich übernehme keine Garantien oder Verantwortung für zukünftige Schäden und rate dazu immer mit der Hand über dem Notschalter zu schweben bis die erste Ebene wieder druckt und man sicher ist dass der Drucker an der richtigen Zeile arbeitet.
Euer Gerrit.
0 Kommentare