Klipper

Aus RF1000 Wiki
Zur Navigation springen Zur Suche springen


Klipper ist eine Firmware für 3D Drucker. Diese kann alternativ zu der Repetier-basierten Original-Firmware von Conrad oder der auf dieser Original-Firmware basierenden Community-Version auf den Druckern RF1000, RF2000 oder RF2000v2 verwendet werden. Die dafür nötige Konfiguration ist noch nicht vollständig. Ein Produktiveinsatz ist im Moment noch nicht empfohlen. Der genaue Zustand wird unten dokumentiert.

Einleitung

Klipper ist gut dokumentiert auf seiner Webseite, allerdings nur in Englisch: https://www.klipper3d.org

Das Grundprinzip weicht von der Repetier-basierten Firmware und anderen 3D-Drucker-Firmwares deutlich ab. Statt alle Berechnungen im Microcontroller (im Folgenden MCU genannt) des Druckers auszuführen, werden zeitintensive Berechnungen auf einem Host-System durchgeführt. Als Host-System eignet sich z.B. ein Raspberry Pi oder auch ein herkömmlicher Linux-PC. Auf dem selben Host-System kann (bzw. sollte) auch Octoprint o.ä. ausgeführt werden. Wer also bereits Octoprint etc. nutzt, benötigt keine weitere Hardware.

Da die zur Verfügung stehende Rechenpower so um Größenordnungen höher ist, können deutlich präzisere Berechnungen durchgeführt werden. Die Motoren laufen spürbar ruhiger, und höhere Schrittfrequenzen sind ebenfalls problemlos möglich. Außerdem ist eine höhere Flexibilität möglich. Auch ohne Programmierkenntnisse kann das Verhalten der Firmware über Konfigurations-Dateien beeinflusst werden, sogar neue G-Codes können so eingeführt werden. Die Firmware ist größtenteils in Python geschrieben und sehr modular gehalten, wodurch die Einstiegshürde für Entwickler sehr viel geringer ist.

Status

  • Natürlich alle Grundfunktionen, die jeder normale Drucker hat (Bewegen, Heizen, Lüfter etc.)
  • Heizbett-Scan: heißt bei Klipper Bed Mesh Leveling
 * Es lassen sich beliebig viele benannte Meshes (entspricht den Matrizen) speichern
 * Es gibt kein Limit wie groß die Werte im Mesh werden
 * Interpolation zwischen den Punkten des Meshes ist deutlich besser, daher sollten weniger Punkte ausreichen
  • Z-Offset-Scan
  • Menü (im Original-Zustand von Klipper, daher noch etwas rudimentär vielleicht): die Bedienlogik ist etwas anders, daher hat die Nach-Rechts-Taste keine Funktion (wird einfach nicht gebraucht)
  • Start-Taste wurde umfunktioniert in Not-Aus

Was fehlt:

  • Konfigurationen für den RF2000 und RF2000v2
  • Sense offset
  • Die Tasten zum Bewegen des Heizbetts und des Extruders
  • Pause-Taste
  • Kanten antasten (Fräsen)
  • Emergency Pause/Stop (bei zu hohem Druck auf die Wägezellen)
  • Mehr Tests!
  • Sagt ihr es mir!

Installation

Eine Ausführliche Installationsanleitung gibt es auf der Webseite: https://www.klipper3d.org/Installation.html

Da die nötigen Modifikationen und Beispielkonfigurationen noch nicht Teil der offiziellen Klipper-Firmware sind, muss der folgende Befehl:

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

durch diesen ersetzt werden:

git clone https://github.com/RF1000community/Klipper

Außerdem gibt es bereits eine Konfigurations-Datei für den RF1000. Ich würde daher empfehlen, die Konfigurations-Datei printer.cfg mit folgendem Inhalt zu erstellen:

[include klipper/config/printer-rf1000.cfg]

[mcu]
serial: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_<hier_richtige_ID_einfügen>-port0

Dadurch wird der Inhalt von klipper/config/printer-rf1000.cfg benutzt, aber alle folgenden Einstellungen überschreiben ggf. bereits vorhandene Einstellungen aus der printer-rf1000.cfg Datei.

Nach der Installation bitte unbedingt die Anleitung zum Prüfen der Konfiguration befolgen: https://www.klipper3d.org/Config_checks.html

Es ist ebenfalls empfehlenswert, die Konfiguration auf diese Weise nach jedem Update zu prüfen, weil durch das [include] Änderungen aus der Konfigurationsdatei automatisch übernommen werden.