Klipper Firmware auf dem Creality Ender 3 (Pro)

Dieser Artikel ist ein Teil meiner Serie zum Creality Ender 3 Pro. Für die Auflistung aller bisherigen Artikel der Serie hier klicken!

Heute kommt die für mich logische Fortsetzung zu meinen Anleitungen „Einbau vom SKR Mini E3 im Ender 3 (Pro)“ sowie „Octoprint (Octopi) auf dem Raspberry Pi am Ender 3 (Pro)„, da diese quasi nur Vorbereitungen darauf waren: Die Installation der Klipper Firmware auf dem Ender 3 (Pro)! Wieso sollte man auch ein 32 Bit-Board in seinem Drucker haben, einen Raspberry zur Steuerung nutzen und dann weiter die im Vergleich lahme Firmware Marlin nutzen? Das wird heute geändert! ACHTUNG: Die Abarbeitung der beiden oben genannten Anleitungen setze ich in diesem Schritt als erledigt voraus!

WICHTIG: Wer in der Standard-Firmware des Ender 3 (Pro) bereits Einstellungen bezüglich der Steps vorgenommen hat, sollte diese jetzt notieren! Wer es nicht weiß, den betrifft es nicht 😉

Bei Klipper handelt es sich um eine alternative Firmware für 3D-Drucker. Der Vorteil an dieser ist, dass der Drucker dadurch deutlich schneller wird und die Qualität auch noch ein wenig steigt… Leider gibt es selten Vorteile ohne Nachteile: in diesem Fall ist es der Bedarf an einem Raspberry Pi☆, welcher damit fest an den Drucker gebunden ist. Bisher wurden sämtliche Berechnungen für den Druck auf dem Mainboard vorgenommen. Bei Klipper erledigt diese Arbeit der Raspberry Pi. Dieser leitet quasi nur noch deren Ergebnisse an das Mainboard weiter, welches die Motoren sowie Extruder ansteuert. Das Ergebnis bemerkt man recht schnell: Der Drucker wird schneller! Durch die besseren Berechnungen und einige Eigenschaften von Klipper wird auch das Druckbild noch ein wenig schöner! ACHTUNG: ohne den Raspberry ist der Drucker dann aufgrund der Verteilung der Aufgaben nicht mehr benutzbar! Also die Anleitung bitte nicht mit einem Raspberry durchführen, der eigentlich eine andere Verwendung hat und wieder dort gebraucht wird!

Voraussetzung für die Installation von Klipper ist, dass die OctoPi-Version 0.16.0 oder höher und OctoPrint 1.3.12 oder höher installiert ist. Bei einem neu installierten OctoPrint ist dies natürlich der Fall (bei älteren Versionen an dieser Stelle bitte einfach ein Update durchführen).

Nun verbinden wir uns per SSH mit dem Raspberry (ich verwende hierzu das Programm MobaXterm, es geht aber natürlich genauso gut mit PuTTY oder anderen Programmen).

Zuerst laden wir uns die Klipper-Software runter

git clone https://github.com/KevinOConnor/klipper#

Dann starten wir die Installation mit dem Befehl

./klipper/scripts/install-octopi.sh

Nun folgen zur Erstellung der Firmware für den Ender 3 (Pro) folgende Befehle:

cd ~/klipper/
make menuconfig

Im jetzt erscheinenden Menü nehmen wir die Einstellungen gemäß der beiden Abbildungen vor (zum vergrößern anklicken):

In der obersten Zeile der Punkt „Enable extra low-level configuration options“ wird mit der Leertaste aktiviert. Beim Punkt „GPIO pins to set at micro-controller startup“ wird im Eingabefeld „!PC13“ eingetragen.

Nach dem verlassen des Konfigurations-Assistenten führen wir folgenden Befehl aus:

make

Hierdurch wird nun die Firmware entsprechend unserer Einstellungen kompiliert und im Pfad ~/klipper/out/kipper.bin abgelegt. Von dort kopieren wir sie über SCP oder FTP (das oben genannte Programm MobaXterm kann das parallel zur SSH-Sitzung!) auf unseren lokalen Computer. Hier wird die Datei von klipper.bin in firmware.bin umbenannt. Diese kopieren wir nun auf eine sonst komplett leere MicroSD-Karte, welche wir in unseren ausgeschalteten Ender 3 (Pro) einlegen. Beim einschalten wird die Firmware dann automatisch auf das Mainboard des Druckers kopiert und dort aktiviert. Einfach ca. eine Minute warten. Nicht wundern, das Display bleibt dabei leer, da wir nun Klipper als Firmware installiert haben und dessen Display-Ausgabe erst noch konfiguriert werden muss. Ob das kopieren erfolgreich war kann man kontrollieren, indem man die Speicherkarte wieder am PC auf ihren Inhalt kontrolliert. Die firmware.bin wird nach dem Update gelöscht (und eine andere Daten gespeichert, diese brauchen wir aber nicht).

Für die weitere Konfiguration benötigen wir als Grundlage eine Konfigurations-Datei mit den Einstellungen für den Ender 3 (Pro). Meine Datei befindet sich hier als Grundlage für diese Anleitung (nach dem Download bitte von printer.txt umbenennen zu printer.cfg). Wer bereits die Steps unter Marlin geändert hat, kann diese in dieser Datei gleich anpassen (Parameter step_distance). Der Wert muss jedoch passend umgerechnet werden, indem 1 durch den Marlin-Wert dividiert wird:

<WertInKlipper> = 1 / <WertInMarlin>

Das Ergebnis wird auf 6 Stellen nach dem Komma gerundet und dann an der entsprechenden Stelle in der Konfiguration eingetragen. ACHTUNG: Statt einem Komma muss natürlich ein Punkt zur Trennung genutzt werden!

Jetzt sind noch Einstellungen in OctoPrint zu machen. Zuerst müssen wir uns auf das Web-Frontend einloggen und die Einstellungen öffnen (Schraubenschlüssel-Icon oben rechts). Hier installieren wir im Plugin-Manager zuerst das „OctoKlipper-Plugin“. Danach muss bei den seriellen Verbindungen ein zusätzlicher serieller Port angelegt werden: /tmp/printer

Nach dem abspeichern werden die Einstellungen erneut aufgerufen und der soeben angelegte serielle Port wird in den Einstellungen für den Drucker ausgewählt.

Nun wird im Verhalten-Tab noch der Punkt „Laufende Druckaufträge abbrechen, aber mit dem Drucker verbunden bleiben“ ausgewählt und wieder abgespeichert.

Auf der OctoPrint-Hauptseite wird nun oben links die Verbindung mit dem Drucker über den neu angelegten tmp-Port aufgebaut. Ich empfehle hier gleich die Einstellungen zu speichern sowie die Verbindung beim Start automatisch herstellen zu lassen. Spart in Zukunft ein paar Klicks.

Nun öffnen wir testweise den Terminal-Tab und geben in die Eingabezeile den Befehl „status“ ein. Nun muss eine Fehlermeldung kommen, dass die Konfiguration nicht geöffnet werden konnte. Das ist ein gutes Zeichen, die Verbindung zu Klipper funktioniert! Sollte diese Meldung nicht kommen, nochmal alle Schritte oben genau nachprüfen!

Nun verbinden wir uns wieder über unser SSH-Programm mit dem Drucker-Raspi und führen folgenden Befehl aus:

ls /dev/serial/by-id/*

In der Liste der USB-Geräte suchen wir den Drucker und kopieren uns dessen Anschluss-Pfad (theoretisch sollte außer unserem Drucker hier überhaupt nichts anderes erscheinen). Diesen kopieren wir nun in unsere printer.cfg-Daten an diese Stelle (der Anschluss-Pfad ist nur exemplarisch und kann bei jedem anders lauten!) nach serial:

[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_12345-if00

Die Konfigurations-Datei ist damit fertig erstellt und deren vollständigen Inhat kopieren wir in Octoprint unter Einstellungen -> OktoKlipper -> Klipper Configuration und speichern ab. Nun können wir OctoPrint neu starten…

Im Terminal-Fenster von OctoPrint geben wir nun erneut den Befehl „status“ ein. Hier sollte nun die Meldung kommen, dass Klipper ready ist. Sollte das nicht der Fall sein, auch die Firmware nochmal mit dem Terminal-Befehl „restart“ neu starten. Erneut prüfen und dann läuft es! Sollte das nicht der Fall sein, nochmal die Schritte dieser Anleitung genau prüfen…

Wenn man nun drucken möchte, läuft das genauso wie zuvor mit OctoPrint. Die Dateien werden also einfach auf den Druckerserver geladen und von dort gestartet. Mit dem Ender 3 Pro drucke ich problemlos bei 100 mm/s, mehr habe ich noch nicht getestet, soll jedoch auch problemlos möglich sein…

Hier noch ein paar Links mit Schritten, die nach der Installation empfohlen werden (aber nicht zwingend notwendig sind):

3 Kommentare

  1. Hallo, ich würde auch gerne auf Klipper umstelle, Raspi und Octoprint sind schon im Einsatz. Ich habe allerdings das Original silent Board „ Creality Original V1.1.5 Silent Board“ bei mir im Einsatz, kann ich trotzdem die Anleitung so übernehmen oder geht es mi5 diesem Board vielleicht gar nicht. Würde mich freuen ein Feedback zu erhalten. Vielen Dank schon mal im Voraus. Gruß Mathias

    • Sorry für die späte Antwort, bist im Spam-Filter gelandet. Ich kann zum Silent Board nichts sagen, da ich es nicht habe. Wüsste aber nicht, was dagegen spricht. Kann halt nur sein, dass Du die Steps für das Board anpassen musst…

      Gruss Daniel

      • Hallo Daniel, danke für deine Antwort.

        Da ich noch nicht sehr lange mit einem 3D Drucker etwas mache, kannst du mir vielleicht sagen (bevor ich es umstellen würde) wie man am besten die Steps anpasst.

        Vielen Dank im Voraus

        Gruß Mathias

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht.


*


Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.