Der fünfte Teil dieser Blogserie ist im November 2021 erschienen und damit fast ein halbes Jahr alt, Stand April 2022. Er sollte die Reihe ursprünglich abschließen. Seitdem ist mein 3D-Drucker mit den hier vorgestellten Modifikationen super gelaufen. Also erst einmal kein Grund, einen weiteren Blogbeitrag zu schreiben. Jedoch hat mich in jüngster Vergangenheit ein Thema stark beschäftigt, nachdem ich einen Kabelbruch am Heatbed hatte. Das bedeutet einen lästigen Umbau eines Ersatzheatbeds mit zusätzlichem Leveling, was einiges an Zeit kostet. Durch einen glücklichen Zufall hat AZ-Delivery einen neuen Nivellierungssensor ins Sortiment genommen, den 3D Touch V3.0. Daher möchte ich Ihnen heute, anhand meines Anycubic i3 Mega S zeigen, wie einfach es ist, automatisches Bedleveling zu verwirklichen und was es dazu braucht.
Zu Teil 1, Teil 2, Teil 3, Teil 4
Benötigte Hard- und Software
Die Hardware für diesen Versuchsaufbau ist relativ einfach, siehe Tabelle 1.
Pos |
Anzahl |
Bauteil |
Link |
1 |
1 |
3D Touch V3.0 |
Tabelle 1: Hardwareteile
Damit Sie alles weitere am Drucker machen können, brauchen Sie noch Folgendes, siehe Tabelle 2.
Pos |
Anzahl |
Bezeichnung |
1 |
1 |
Zange |
2 |
1 |
Abisolierzange |
3 |
1 |
Crimpzange + Dupont Verbinder |
4 |
1 |
Lötkolben / - station mit allem Zubehör |
5 |
1 |
Ein 0 Ohm SMD Widerstand (optional) |
6 |
1 |
RC Servo Verlängerungskabel (teilweise auch als JR Servoverlängerungen zu finden) |
7 |
1 |
Heißklebepistole |
8 |
1 |
Octopi oder eine Software mit dem der 3D-Drucker per Terminal bedient werden kann |
9 |
1 |
USB-Kabel und eine Software zum flashen der Firmware vom Drucker |
10 |
1 |
Kabelbinder |
Tabelle 2: Weiteres "Zubehör" für den Umbau
An dieser Stelle gleich noch ein Hinweis. Ich nutze hier mittlerweile die aktuelle Version der Marlin-Firmware vom Entwickler knutwurst. Diese ist für die große Anycubic-Familie optimiert, für Drucker anderer Marken müssen Sie bitte nach ähnlichen Repositorien, oder aber in den spezifischen Foren danach suchen. Ich werde Ihnen hier anhand meines Druckers mit der Firmware-Version 1.4.3 von knutwurst den Ablauf demonstrieren.
Bevor die Modifikation beginnt
Wenn Sie nun schon Ihren 3D-Drucker auseinandergenommen haben, so muss ich an der Stelle gleich wieder „Kommando zurück“ sagen! Damit der Sensor eingebaut werden kann, muss noch eine Halterung gedruckt werden. Zwar wird eine Befestigung mit dem 3D Touch V3.0 mitgeliefert, diese kann aber mit dem Standard-Hotend nicht verbaut werden. Daher benötigt es diesen Adapter. Anders als beschrieben, habe ich den Halter mit 20% Infill gedruckt. Es gibt auch Remixes von dem Halter, jedoch nutze ich aktuell noch hier die Variante von Knutwurst.
Das Hotend wird umgebaut
Da ich immer noch das original Hotend verwende, ist der Einbau ggf. etwas fummelig. Zunächst sollten Sie den 3D-Drucker vom Strom trennen, davor aber die Z-Achse in die mittlere Position fahren. Der erste Schritt ist dann, die Steckverbindung vom Hotend zu lösen, siehe Abbildung 1 .
Abbildung 1: Steckverbindung vom Hotend lösen
Kontrollieren Sie am besten gleich, ob Sie hier eine Brandspur sehen. Sollte das der Fall sein, müsste hier der Kabelbaum und die Hotend-Platine getauscht werden. Gerade beim Anycubic i3 Mega scheint das eine bekannte Schwachstelle zu sein.
Direkt danach öffnen Sie mit Lösen der vier Inbusschrauben (die zwei oben vorne und hinten unten), die Umhausung vom Hotend und lösen alle Kabelverbindungen, siehe Abbildung 2.
Abbildung 2: Alle Verbindungen der Hotend-Platine lösen
Merken oder Fotografieren Sie sich am besten die Reihenfolge der Anschlüsse, damit beim Zusammenbau nichts schief geht. Achten Sie zusätzlich darauf, dass der Stecker für den Temperatursensor (weißes Kabel) nicht zu stark geknickt wird, da sonst ein Tausch der Heizpatrone nötig werden könnte.
Sind alle Kabel demontiert, lösen Sie die Hotend-Platine, welche über drei Inbusschrauben mit dem Gehäuse verschraubt ist. Jetzt folgt der Teil, bei dem die Platine modifiziert werden muss. Knutwurst hat in seinem Wiki dazu eine schöne Grafik bereitgestellt, siehe Abbildung 3.
Abbildung 3: Verkabelung des Sensors, Quelle Wiki knutwurst von github
Die gezeigte Version war mir aber tatsächlich zu sehr Bastellösung, weswegen mich die alternative Verdrahtung sehr interessiert hat, siehe Abbildung 4.
Abbildung 4: Alternative Verkabelung des Sensors, Quelle Wiki knutwurst von github
Hierbei wird auf der Hotend-Platine eine Brücke zwischen H3 und H4 gesetzt, am besten mit einem 0 Ohm SMD-Widerstand, damit die Anschlüsse G1 und G3 korrekt belegt sind. Egal welche Variante Sie nun bevorzugen, der Sensor muss am Ende mit den Anschlüssen B5 und B6 verbunden sein.
In meinem Fall sieht die Hotend-Platine wie in Abbildung 5 aus, wobei ich mich für die alternative Variante mit 0 Ohm SMD-Widerstand entschieden habe.
Abbildung 5: Fertiger Hotend-Platinenmod
Die Stiftleisten für unsere Blogs passen in diesem Fall nicht und ich musste diese mit etwas Überzeugung in die entsprechenden Bohrungen durchdrücken, mit einer Zange war das aber kein Problem. Vergessen Sie nicht die beiden Stiftleisten zu verlöten, bevor Sie alles wieder einbauen.
Jetzt eine wichtige Frage, die nur Sie beantworten können! Wollen Sie die lange Leitung verwenden, und die Steckverbindung zur Hotend-Platine kürzen und neu krimpen, oder nehmen Sie die kurze Leitung und müssen mehr Zubehör kaufen? Um es gleich vorwegzunehmen, ich habe mich für die lange Leitung entschieden und habe die Verbindung zur Hotend-Platine gekürzt. Der Grund liegt darin, dass ich später beim Anschluss an die 3D-Druckerplatine schneller einen anderen Sensor verbauen oder austauschen könnte. Das setzt aber voraus, dass Sie das entsprechende Werkzeug dafür haben! Durch die längere Leitung habe ich zusätzlich den Vorteil, dass ich am Hotend selbst nicht später ein Gefummel mit den Steckern habe, siehe Abbildung 6.
Abbildung 6: Hotend wieder zusammengeschraubt und verkabelt
An der Stelle mit den Stiftleisten habe ich zur Sicherheit einen Klecks Heißkleber verwendet, sicher ist sicher. Die Leiteradern zur Hauptplatine des Druckers passt spielend zwischen Stecker und Gehäuse an der Oberseite, siehe Abbildung 7.
Abbildung 7: Sensorleitung passt ohne Probleme zwischen Stecker und Gehäuse
Bevor Sie nun weitermachen, sollte ein erster Test erfolgen! Prüfen Sie unbedingt, ob der Temperaturfühler der Heizpatronen noch funktioniert, dazu zunächst den Stecker vom Hotend wieder anschließen, den Drucker mit dem Kaltgerätestecker verbinden und einschalten. Zeigt nach dem Start der Drucker eine Temperatur des Hotends im Display an und gibt keine Fehlermeldung aus, haben Sie soweit alles korrekt verbaut, siehe Abbildung 8.
Abbildung 8: Hotend zeigt eine Temperatur von 24°C an, alles in Ordnung
Bauen Sie nun am Ende alles wieder sorgfältig zusammen, sodass es fast so aussieht wie vorher, siehe Abbildung 9.
Abbildung 9: Hotend wieder komplett zusammengebaut
Damit das Kabel vom 3D Touch V3.0 später nicht lose in der Gegend herumliegt und ggf. durch die Bewegung des Druckers zerrissen wird, sollte es säuberlich in die Kabelführung verlegt werden. Dazu müssen einige Kabelbinder geöffnet werden, damit alles sauber passt und es an den anderen Steckern am Gehäuse endet, siehe Abbildung 10.
Abbildung 10: Kabel bis zum Druckergehäuse geführt
Der Umbau und die Verbindung am und im Gehäuse
Jetzt zeigt sich ggf., warum ich diese Art der Verbindung gewählt habe. Das Kabel passt perfekt bis zum Ende der anderen Stecker, nur ein entsprechender Anschluss fehlt. Nun könnten Sie ein extra Loch bohren, oder aber eine RC Servoverlängerung zwischen den vorhandenen Steckern durchführen. Dazu müssen Sie die Bodenplatte des 3D-Druckers öffnen und die Anschlussplatine an der Seite demontieren.
Hier erwähne ich noch einmal, dass Sie bitte den Drucker vorher wieder vom Strom trennen, da Sie nun in der Nähe von 230V arbeiten!
Lösen Sie die Platine mit den vier Inbusschrauben, siehe Abbildung 11, wobei ich empfehle ein paar der Steckverbindungen zu lösen.
Abbildung 11: Platine der drei Steckverbindungen des Anycubic i3 Mega S
Das andere Ende der RC Servoverlängerung muss an die Hauptplatine des Druckers, wobei Sie den roten und braunen Pin drehen müssen. Hier z.B. mit einer Sicherheitsnadel einfach die Sicherungsnase der Pins leicht anheben und die beiden Adern tauschen, siehe Abbildung 12.
Abbildung 12: Die rote und braune Ader müssen gedreht werden
Der Grund dafür ist der Anschluss auf der Hauptplatine des Anycubics, in meinem Fall ein Trigorilla der dritten Generation, siehe Abbildung 13.
Abbildung 13: RC Servoverlängerung an Hauptplatine angeschlossen
Die Originalbelegung des Steckers ist Masse (braun), Phase (rot) und Data (gelb). Die Hauptplatine des Anycubics dagegen braucht Phase (rot), Masse (braun) und Data (gelb), wie in Abbildung 13 und Abbildung 3 zu erkennen ist. Nutzen Sie ruhig den Anschluss mit der Bezeichnung S1, damit Sie später nicht den Quellcode selbst kompilieren müssen.
Ist alles richtig angeschlossen, kann die Steckplatine für die Anschlüsse an der Seite wieder montiert und die Verbindung zum 3D Touch V3.0 hergestellt werden, siehe Abbildung 14.
Abbildung 14: Servoverlängerung mit 3D Touch V3.0 verbunden
Hier zeigt sich nun auch der Vorteil, warum ich die lange Leitung des 3D Touch V3.0 verwendet habe. Durch das kurze Adapterstück an der Unterseite des Druckers erspare ich mir das Gefummel mit dem langen Kabel bis ungefähr zur Mitte der Kabelführung zum Hotend. Bevor Sie aber nun den Drucker wieder komplett zusammenbauen, sollten Sie noch einen Test durchführen. Verbinden Sie dazu den Kaltgerätestecker mit dem 3D-Drucker und schalten Sie diesen dann ein. Egal welche Firmware auf ihrem Anycubic 3D-Drucker läuft, der 3D Touch V3.0 sollte nun mehrmals den Stift ein- und ausfahren und rot leuchten, siehe Abbildung 15.
Abbildung 15: 3D Touch V3.0 leuchtet rot
Tut er das nicht, so prüfen Sie bitte noch mal alle Steckverbindungen und ob auch alle Anschlüsse korrekt verbunden sind. Erst wenn sich das oben beschriebene Verhalten zeigt, sollten Sie den Drucker wieder zusammenbauen.
Neue Firmware und Konfiguration
Jetzt kommt der Moment, indem der Drucker überhaupt erst lernt, mit dem Sensor zu arbeiten. Dazu braucht es eine modifizierte Firmware für den Anycubic, da dieser das mit der Standard-Firmware eben nicht kann. Sollten Sie z.B. die Motortreiber schon einmal ausgetauscht haben, dann wissen Sie ja schon, wie Sie die Firmware updaten können. Da mein Drucker ein Anycubic i3 Mega S mit TMC2208-Motortreibern ist, brauche ich die FW aus dem Release mit dem Namen MEGA_S_TMC_BLT_10_v1.4.3, siehe Abbildung 16. Hierbei ist der erste Teil das Model, das TMC die neu verbauten Treiber und BLT steht für BL Touch oder den Nivellierungssensor, die 10 für Trigorillaboards der ersten/dritten/vierten Generation und die vX.X.X für die Version.
Abbildung 16: Die richtige Firmware runterladen
Wie genau nun die Firmware auf den 3D-Drucker kommt, habe ich im zweiten Teil dieser Serie genau erklärt. Schauen Sie sich dazu noch mal das entsprechende Kapitel an. Starten Sie den Drucker neu und wählen Sie über das Spezial-Menü den Autoleveling-Eintrag. Zunächst sollte das Hotend in die Homeposition fahren und direkt im Anschluss an den ersten Messpunkt. Gleich darauf muss die Spitze des 3D Touch V3.0 ausfahren. Sofern das nicht passiert, müssen Sie den Drucker sofort abschalten und die alternative Firmware auf den 3D-Drucker installieren. Sollte danach immer noch nicht das gewünschte Verhalten eintreten, prüfen Sie bitte, welches Board verbaut ist und ob Sie an dem Anschluss S1 auf der Hauptplatine den 3D Touch V3.0 angeschlossen haben. Wenn nicht, müssen Sie manuell die Firmware für sich bauen, das sprengt hier aber den Rahmen! Klappt soweit alles, folgt nun der finale Schritt. Der 3D Touch V3.0 wird in der Firmware kalibriert. Hierzu brauchen Sie entweder ein Tool wie Octoprint oder Prontoface, um über ein Terminal Befehle an den Drucker zu senden und Antworten zu erhalten.
Die einzelnen Schritte hat Knutwurst sehr gut in 20 Punkten zusammengefasst:
- Bett aufheizen
- G28
- G90
- G1 Z10
- G1 X40 Y40 F4000
- M280 P0 S10
- G91
- Mit G1 Z-1 bzw G1 Z-0.1 oder G1 Z-0.02 die Düse langsam absenken, bis der Sensor auslöst. NICHT WEITER!
- Wenn der Sensor ausgelöst hat und blinkt: M280 P0 S160
- M114 = Aktuelle Position der Düse -> Merken! (z.B. Recv: X:40.00 Y:40.00 Z:1.30 E:0.00 Count X:3200 Y:3200 Z:520)
- G90
- G1 X38 Y15 F4000 (Werte von Punkt 10 + Offset des Sensors, also X=40+(-2) und Y=40+(-25))
- G91
- Ein Blatt Papier unter die Düse legen
- Mit G1 Z-1 bzw G1 Z-0.1 oder G1 Z-0.02 die Düse langsam absenken, bis sich das Papier nur noch schwer bewegen lässt.
- M114 = Aktuelle Position der Düse -> Merken! (z.B. Recv: X:38.00 Y:38.00 Z:0.70 E:0.00 Count X:3200 Y:3200 Z:520)
- Z-Wert aus Punkt 16 von dem aus Punkt 10 abziehen -> 1,30 - 0,7 = 0,6 mm -> Das ist unser Z-Offset.
- M851 Z-0.6 (Achtung! Negatives Vorzeichen!)
- M500
- Über das Display noch einmal das Autoleveling ausführen. Fertig.
Code 1: Befehlsreihenfolge zum Kalibieren des Sensors
Haben Sie das alles durchgeführt, ist die Kalibrierung abgeschlossen und Sie brauchen sich voraussichtlich nie wieder um das richtige Leveln zu kümmern. Im Spezial-Menü einfach Autoleveling auswählen, vorher das Aufheizen des Heatbeds nicht vergessen, und entspannt dem Autoleveling zusehen. In der Regel dauert das nicht länger als 2 Minuten.
Fazit und Produktbewertung des 3D Touch V3.0
Insgesamt hat der gezeigte Umbau knapp 4 Stunden in Anspruch genommen. Unterschätzen darf man dabei nicht, dass Lötkenntnisse und ggf. auch Krimp-Kenntnisse, sowie die nötigen Werkzeuge benötigt werden. Gerade bei der Variante mit dem 0 Ohm SMD-Widerstand muss man sehr präzise arbeiten, also nicht gerade etwas für Anfänger.
Der Rest ist im Grunde einfache handwerkliche Arbeit und sollte einen Maker nicht gerade vor Herausforderungen stellen. Achten Sie aber bitte darauf, gerade wenn der Sensor an die Hauptplatine angeschlossen wird, dass Sie hier in der Nähe von 230V arbeiten! Sicherheit sollte hier an erste Stelle stehen, daher bitte immer den Kaltgerätestecker abziehen.
Was halte ich nun persönlich von dem 3D Touch V3.0? In erster Linie bin ich von den Ergebnissen nach dem Autoleveling mehr als zufrieden. Das Druckbild hat sich deutlich verbessert, auch wenn durch die neue Firmware noch einmal die komplette Kalibrierung mit PID-Tuning und Extruder-Kalibrierung durchgeführt werden musste. Das nehme ich aber gerne in Kauf, da eine saubere erste Druckschicht entscheidend ist. Der 3D Touch V3.0 ist zum hochgelobten BL Touch eine echte Alternative. Von den Dimensionen und den Anschlüssen her ist er komplett identisch. Zwar habe ich bisher keinen BL Touch benutzt, ich kann mir aber beim besten Willen nicht vorstellen, dass dieser Nivellierungssensor so anders arbeitet. Vom Material und Preis her sind beide Nachrüstsensoren identisch und ich kann bei meinen jetzigen Versuchen mit dem Autolevelings nichts Schlechtes über den 3D Touch V3.0 sagen. Im Gegenteil, ein kaputtes Heatbed kostet mich nun nicht mehr so viel Nerven, wie es beim letzten Mal der Fall war, weil der 3D Touch V3.0 nach dem Grundleveling die Arbeit machen wird. Aus fast 20 bis 25 Minuten probieren sind 2 Minuten Autoleveling geworden! Das rechnet sich, da von Zeit zu Zeit ein Leveln des Heatbeds durchaus sinnvoll ist. Kann ich also den 3D Touch V3.0 empfehlen? Hier sage ich klar JA! Trauen Sie sich den Umbau zu, auch wenn er etwas Zeit kostet, ist er jeden einzelnen Cent wert. Wie weiter oben schon geschrieben, bin ich mit dem Umbau und dem Ergebnis sehr zufrieden und kann es jedem nur empfehlen, sofern noch kein Nivellierungssensor im Drucker verbaut ist. Schlagen Sie also zu, solange der 3D Touch V3.0 im Shop verfügbar ist!
Dieses und weitere Projekte finden sich auf GitHub unter https://github.com/M3taKn1ght/Blog-Repo.
3 commenti
Max
Hallo Jörn,
vielen Dank für die Antwort! Dann passt das alles so, wie ich es habe und das Problem liegt woanders (das Leveling ist nicht so perfekt, wie ich es gerne hätte und ich schließe nach und nach nun die Fehlerquellen aus).
Ich habe nur diesen Teil “durchgearbeitet”, werde mir aber nun auch die anderen zu Gemüte ziehen, da kann ich bestimmt noch etwas lernen.
Viele Grüße,
Max
Jörn Weise
Hallo Max,
dass die Nozzle in der Luft hängt passt. Da du die Differenz zwischen ausgefahrener Spitze vom 3D-Touch und Nozzle bestimmt hast, wird dieser Faktor beim Auto-Leveling mit berücksichtigt.
Beim normalen Drucken sollte die Spitze vom 3D-Touch eingefahren sein, da du sonst die Spitze beschädigen könntest. Grobes Leveling und danach das Autoleveling war genau der richtige Schritt.
Wenn du meine bisherigen Blogs zum 3D-Drucker verfolgt hast, solltest du keiner weiteren Einstellungen machen, andernsfalls musst du im StartCode noch hinterlegen, dass der Drucker seine Default-Parameter aus dem EEPROM lädt.
Wichtig im Startcode ist die folgende Zeile:
M420 S1 ;Use stored Mesh bed leveling
Damit wird die Korrekturmatrix vom Drucker einbezogen und die Nozzle sollte beim Drucken die optimale Höhe haben.
Gruß
Jörn
Max
Nach der Anleitung ging alles gut umzubauen und einzustellen. Nur hängt die Nozzle beim Auto-Leveling-Vorgang in der Luft während der 3D-Touch auslöst. Das so ok ?
Ist der 3D-Touch eingefahren, ist er über der Nozzle. Ausgefahren etwas darunter, das sollte so passen, denke ich. Grobes Leveling per Papier wurde vor dem Auto-Leveling ausgeführt.
Eine andere Frage ist auch noch: muß in Octoprint oder Cura noch etwas eingestellt werden oder läuft das über die Firmware ?