Tutorial: Kabellos Drucken mit ESP8266 01S

Für den Anschluss habe ich ein preiswertes ESP8266 01S Modul gekauft, was auch auf dem Modul aufgedruckt stehen muss.
 Gekauft habe ich das Modul bei, Eckstein-Komponente https://eckstein-shop.de/ESP8266-ESP-01S-ESP-01-Update-Version-Serial-WIFI-Wireless-Remote-Control-Module.

Alternativ von amazon.de*

Damit sich das Modul einfach mit einem 5v seriellen Port auf einem Controller-Board verbinden lässt, habe ich einen ESP-01 Adapter* verwendet.

So sieht es in Kombination aus

Mit der Arduino IDE  das Projekt https://github.com/MajenkoProjects/WiFiSerialDTR

Nachtrag:

https://github.com/maxl95/WiFiSerialDTR_AutoConnect?fbclid=IwAR3C2xfUXREfngF_AVj6Mc4m6mhhnkeMNwVmDlEr6Znbyni2ZNRbNeMN8YM von Maximilian Fischer öffnen. Hierzu ist zu sagen das eine Konfigurationsseite für das Wifi automatisch geöffnet wird, sobald kein bekanntest Netzwerk zu finden ist. Alle vorhandenen WiFi’s werden aufgelistet und können ausgewählt werden.
Um später auch wieder auf die Konfigurationsseite zu kommen, muss die IP des ESP8266 über dessen IP, z.B. 192.168.1.x/_ac aufgerufen werden. Damit ist jederzeit ein Wechsel des Wlan möglich.
Maximilian Fischer möchte ich besonders danken, da er das Github-Projekt von „Majenko“ und https://hieromon.github.io/AutoConnect/index.html zusammengeführt hat.

Oder auch https://atadiat.com/en/e-esp8266-esp32-wifi-serial-bridge-converter/#Prepare_The_Software-2 heruntergeladen und mein WLAN mit SSID und Passwort im Arduino-Sketch eingetragen.

Es ist auch möglich das Modul als Accesspoint zu betreiben.

Der mit dieser Firmware erstellte COM-Port ist dann über 192.168.x.x:23 ansprechbar.

Repetier-Server lies sich problemlos verbinden und Pronterface auch.

Bei Pronterface wird im Feld Port die IP plus Port angegeben, in meinem Fall 192.168.1.74:23 und mit 115200 verbunden.

Mit Simplify3D gestaltet sich das etwas schwieriger, da es dort nicht möglich ist etwas anderes als einen „echten“ COM-Port einzutragen. Mir kam dann die Idee nach einer freien Software zu suchen, die auf dem PC aus dem WiFi-Port eine COM-Schnittstelle emuliert.

Dazu wurde  https://www.hw-group.com/product-version/hw-vsp3-single verwendet, was Freeware ist.

Ab hier wird es auch für die Benutzer von ESP3D interessant, denn ESP3D liefert einen COM-Port auf dem Port 8888!

 

 

Nun wurde Simplify3D getestet und tatsächlich verbindet sich S3D über den virtuellen Port mit dem WiFi-Modul und der Drucker lässt sich einwandfrei benutzen.

Die Auflistung der COM-Ports zeigt COM7 und NULL_COM7 an. Das ist der Port COM7 den ich als virtuellen COM-Port vorgegeben habe.

Im Moment muss das Modul noch manuell an ein vorhandenes WLAN gekoppelt werden, was nur durch ein erneutes Flashen des ESP8266 01S geht, oder aber es wird im Accesspoint-Modus verwendet.
Mit dem Programmierer hatte ich Kontakt aufgenommen, um eventuell an der Stelle Abhilfe zu schaffen.
Leider war der nicht besonders freundlich und es bleibt im Moment nur der Weg über die hartcodierten WiFi-Einstellungen zu gehen.
Die Einzelheiten zum Programmieren des ESP8266-01S führe ich hier nicht auf.
Wer eine Firmware auf einen Controller flashen kann, bekommt das auch hin.
Für Fragen stehen wir gerne zur Verfügung, Wer andere Möglichkeiten findet, die das Einstellen des ESP8266-01S, komfortabler machen, teilt uns das bitte mit.
Wir werden unser Tutorial entsprechend ergänzen.
Wer in der Lage ist den Sketch so umzuschreiben, dass die Wifi-Einstellungen ohne harte Codierung zu ändern sind, darf uns sein Ergebnis auch gerne zukommen lassen.
Ideen mit EEPROM-Ablage oder als Configdatei mit Unterstützung von SPIFFS, hatte ich schon.

Leider ist es recht viel Aufwand das so zu gestalten. Auf  https://github.com/tzapu/WiFiManager sind

Grundlagen zur Einbindung in vorhandenem Code zu finden.

Wer den Wifi-Port direkt in einem Raspberry einbinden möchten, kann das relativ einfach mit SOCAT   bzw. NETCAT bewerkstelligen.

Software Links:

http://www.eterlogic.com/Products.VSPE.html
https://freevirtualserialports.com/
https://www.hw-group.com/product-version/hw-vsp3-single
https://github.com/MajenkoProjects/WiFiSerialDTR

3D-Druck Grundwissen: Das Hotend

Das Hotend ist eines der wichtigsten, wenn nicht sogar das Wichtigste Bauteil des 3D-Druckers.
In ihm wird der feste Kunststoffaden (Filament) verflüssigt und durch eine Düse (Nozzle) auf die Druckplattform aufgetragen. Das Hotend besteht dabei nicht nur aus einem „heißen Ende“, wie es der Name vermuten lässt, sondern aus mehreren Bauteilen, die wir Euch hier näher erklären wollen.

Der Aufbau eines 3D Drucker Hotends – Infografik von Sercan Kahraman, CC-BY-SA; Bildquelle: threedom.de

Coldend

Das Coldend besteht meist aus einem gedrehten oder gefrästen Alukörper.
Dieser kann in verschiedensten Formen und Variationen ausgeführt sein, hat jedoch immer dieselbe Funktion: er kühlt das Hotend (klingt komisch, ist aber so) und sorgt dafür, dass sich das Filament nicht zu früh im Inneren des Hotends verflüssigt.
Das Coldend sollte immer aktiv gekühlt werden, was meistens mit einem kleinen Axiallüfter geschieht.
Es gibt aber auch Hotends die ein wassergekühltes Coldend besitzen.

Liner

Im Inneren des Hotends befindet sich ein Teflonschlauch, auch Liner, PTFE-Schlauch oder Tube genannt. Bei Bowdensystemen verbindet dieser zusätzlich den Extruder mit dem Hotend.
Die Aufgabe des Liners ist, einen reibungsfreien Durchlass des Filaments im Hotend zu gewährleisten. Bei 1,75mm Filament hat der Liner meistens einen Aussendurchmesser von 4mm und einen Innendurchmesser von 2mm.
Das besondere an Teflon ist seine gute Gleiteigenschaft bei gleichzeitiger Hitzeresistenz.
Doch Achtung ab 275°C zersetzt sich das Teflon und es entstehen gesundheitsgefährdende Stoffe.

Heatbreak (Throat)

Die Heatbreak verbindet das Cold- mit dem Hotend bzw. dem Heizblock. Die Heatbreak ist das wichtigste Element des Hotends, da hier die Wärmeübertragung von heißer zu kalter Seite gebrochen wird, wie ja auch der Name schon sagt.
Hier passiert der Übergang von festen zum flüssigen Material, bevor das Filament aus der Düse austritt.

Je nach Anwendungsfall gibt es verschiedene Ausführungen der Heatbreak. Es gibt Versionen, bei denen der PTFE-Liner integriert ist, es gibt Versionen, wo der Liner durchgeschoben wird und es gibt Versionen, die auf einen PTFE-Liner im Inneren verzichten.
Die zuletzt genannte Version nennt sich auch Full-Metall oder All-Metall-Heatbreak.
Der Vorteil von Full-Metall-Heatbreaks ist, dass, dadurch das der Liner nicht bis in den Heizblock reicht, Temperaturen von über 275°C eingestellt werden können.

Heizblock mit Thermistor Quelle: e3d-online.com

Heizblock

Der Heizblock ist quasi das „heiße Ende“ des Hotends. Zumeist ist der Heizblock aus Aluminium gefertigt und ist Aufnahme für Heizpatrone, Temperatursensor, Heatbreak und Düse.
Je nach Ausführung wird der Temperatursensor (Thermistor oder Thermocoupler) gesteckt, geklemmt oder geschraubt.
Neben der Aluminium Version gibt es auch noch andere Materialien, wie zum Beispiel Kupfer, die für den Heizblock verwendet werden.

Die Heizpatrone

Die Heizpatrone besteht oft aus einem edelstahlummantelten, keramischen Heizelement. Der Durchmesser der meisten Heizpatronen ist 6mm mit einer Länge von 20mm.
Je nach Netzteilspannung wird eine Heizpatrone mit 12V oder 24V eingesetzt.

Da die Heizpatrone des Öfteren mal den Dienst quittiert, empfiehlt es sich mindestens eine Patrone in Reserve zu haben.

Temperatursensor

Mit dem Temperatursensor wird die Temperatur des Heizblocks ständig überwacht und an das Steuerungsboard gesendet.
Es gibt hier diverse Versionen wie der Sensor ausgeführt ist. Es gibt Thermocoupler, Thermistoren und noch eine ganze Reihe mehr.
Die meisten DIY und China 3D-Drucker besitzen einen PT100 NTC Thermistor.

Der Temperatursensor wird oft mit der Heizpatrone zusammen im Heizblock verklemmt oder daneben festgeschraubt.
Sollte einmal der Temperatursensor verrutschen oder defekt sein, kann es ganz schnell zu einer Überhitzung des Heizblocks, dem Thermal Runaway, kommen. Daher unbedingt auf den ordentlichen Sitz achten.

Quelle: https://dabai.rocks

Düse

Klein, unscheinbar und doch von größter Bedeutung. – Die Nozzle.
Meist ist die Düse aus Messing gefertigt und besitzt auf einer Seite ein Gewinde mit dem sie in den Heizblock geschraubt wird.
Als Standard hat sich ein Düsendurchmesser von 0,4mm etabliert.
Es gibt aber auch Düsen aus Edelstahl, gehärtete Düsen und Düsen mit Edelsteinen, die besonders bei abrasiven Materialien eingesetzt werden. Neben den unterschiedlichen Materialien gibt es auch noch eine große Anzahl verschiedener Durchmesser, die eine Düse haben kann.

Extruder einstellen (E-Steps kalibrieren) – denn es kommt doch auf die Länge an

Immer wieder lesen wir, dass einige von Euch Probleme mit Unter- oder Überextrusion haben.
Oft ist einfach nur ein falsch oder schlecht kalibrierter Extruder schuld.

In diesem kleinen How-To wollen wir Euch zeigen, dass das Einstellen kinderleicht und schnell gemacht ist.

Das Wichtigste vorab: Um den Extruder einzustellen sollte das Filament frei austreten können, das heißt, dass Ihr bei einem Bowden-Setup den Teflonschlauch aus dem Push-Fit (Verschraubung) entfernt und das Filament nicht durch das Hotend läuft.
Bei einem Direktextruder solltet Ihr die Düse entfernen, damit das Filament frei austreten kann.
Der Hintergrund ist, dass wir den Extruder und nicht das ganze Setup inkl. Düse kalibrieren wollen.

Die ganze Kalibrierung sollte am besten über OctoPrint, Repetier-Server oder ein anderes Programm erfolgen mit dem Ihr Zugang zum Kommunikationsterminal Eures Druckers habt.
Natürlich ist es auch möglich das Ganze ohne Terminal zu machen, aber einfacher und schneller geht es natürlich mit.

Filament ohne Aufwärmen fördern

Damit Ihr den Extruder auch im kalten Zustand kalibrieren könnt, gibt es einen schönen Befehl in Marlin, mit dem die Funktion PREVENT_COLD_EXTRUSION umgangen werden kann.

Gebt hierfür in Euren Terminal den Befehl M302 S0 ein, um die Temperaturkontrolle auszuschalten

M302 S0

Filament fördern und messen

Es gibt mehrere Möglichkeiten das Filament zu fördern und anschließend zu messen. Wir persönlich nutzen eine Methode, bei der wir ein klein wenig Filament verschwenden.
Diese wollen wir euch hier näher beschreiben.

Als erstes schiebt Ihr das Filament durch den Extruder und klemmt es mit dem Förderrad fest.

Jetzt schiebt das Filament so weit nach vorne, bis ein kleines Stückchen aus der Push-Fit Verschraubung herausschaut und schneidet es bündig mit der Aussenkante des Push-Fit ab.

Mit der Maschinensteuerung fördert jetzt genau 100mm Filament durch den Extruder und schneidet dieses wieder bündig am Push-Fit ab.

Um das Material zu fördern gibt es je nach Programm unterschiedliche Vorgehensweisen.
Bei Simplify3D ist es ganz einfach.

Hier müsst Ihr im Geräte Bedienfeld mit den Tipp-Kontrollen die 100mm extrudieren lassen.
Bei anderen Programmen kann es sein, dass man vielleicht mehrmals eine bestimmte Länge extrudieren muss (z.B. 5 x 20mm).

Jetzt wird der geförderte Strang mit einem Messschieber oder einem Lineal vermessen.
Das Ergebnis der Messung notiert Ihr Euch und benutzt unsere Berechnungstools um den Kalibrierungsfaktor zu ermitteln.

Werte testen

Nachdem Ihr den korrigierten Wert aus unseren Berechnungstools erhalten habt, wird dieser mit dem Befehl M92 Exxx (die xxx-Werte durch den neuen Wert ersetzen) in das Terminal eingetragen.

M92 Exxx

Jetzt müsst Ihr mit den korrigierten Werten noch einmal 100mm Filament fördern lassen und wieder, wie zuvor beschreiben vermessen.

Solltet Ihr mit dem Ergebnis zufrieden sein, dann notiert Euch die neuen Extruder-Steps. Anderenfalls wiederholt nochmal die zuvor beschriebenen Schritte, bis Ihr ein zufriedenstellendes Ergebnis habt.

Werte eintragen

Hier gibt es mehrere Möglichkeiten, die je nachdem, ob Euer Drucker ein offenes oder geschlossenes EEPROM hat, variieren.

Eintragen über EEPROM

Das Eintragen über das EEPROM geht, wenn es denn offen ist am Schnellsten.
Mit dem Befehl M92 Exxx und den vom Euch ermittelten Werten könnt Ihr den Wert direkt per Terminal an den Drucker übertragen und mit M500 das ganze Speichern.

Bitte nicht vergessen, mit M302 S170, die PREVENT_COLD_EXTRUSION wieder einzuschalten.

M92 Exxx
M302 S170
M500
Eintragen über Start-Code

Ein weiterer Weg die neuen Extruder-Steps einzutragen, ist dies über den Start-Code eures Slicer zu machen.

Hierfür tragt Ihr einfach den M92 Exxx Befehl in einer neuen Zeile in den Start-Code ein.

M92 Exxx
Eintragen über configuration.h

Die eleganteste Möglichkeit ist, dass Ihr den Wert direkt in Marlin in die configuration.h eintragt.
Hier müsst Ihr die folgende Zeile suchen:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 400, 93 }

Dort tragt Ihr dann den Wert für den kalibrierten Extruder (in diesem Fall E1) ein.

Wichtig: Bei allen Werten, die Ihr eintragt, darf kein Komma vor den Dezimalstellen stehen, sondern ein Punkt.

Jetzt solltet Ihr einen perfekt kalibrierten Extruder haben.

In einem weiteren Beitrag werden wir später auf die Extrusionswerte Eures Slicer eingehen, denn mit diesen könnt Ihr nun das Feintuning machen.

Wir hoffe Euch hat dieser Beitrag gefallen und Ihr empfehlt ihn weiter.