Firmwarevorstellung Klipper

    • Official Post

    Teil 1 - Basics


    Wer sich im 3d Druck Bereich etwas umhört, dem wird in letzter Zeit vermehrt die Artikel/ Videos über Klipper aufgefallen sein. Vor allem die Features wie Input-Shaper (Deutlich weniger ringing bei hohen Druckgeschwindigkeiten dank ADXL345 Live-Datenverarbeitung, Pressure Advance (hat Marlin jetzt auch?! :denker:, reduziert blops an den Kurven) heben diese Firmware von Marlin ab.

    Auch ist der Ansatz der Verarbeitung ein anderer. Bei Klipper übernimmt ein Raspberry die Arbeit, der Controller im Drucker gibt die Befehle nur noch 1:1 durch - so dass man auch auf den weit verbreiteten 8bit Boards die volle Feature Auswahl hat. Jeder der mal UBL für ein 8bit Controller aktivieren wollte, kennt den Schmerz - gelle Hofei :) .


    Ich hab mich über WE mal rangesetzt und das ganze für mein Setup installiert. Wie sieht das aus?

    • Ender 5
    • BLtouch Clone
    • Creality 4.2.7 32 bit board
    • Bondtech Dual Drive Extruder


    Wie schon gesagt, macht der Raspberry bei Klipper alles (bei mir ein 3+). Ich hab das fluiddpi image installiert (mit dem guten win32diskImager - weil etcher ohne weitere Angabe einfach "failed" meldete :baeh2: )


    Einmal installiert - muss man noch die Firmware für seinen Drucker kompilieren:

    Code
    cd ~/klipper/
    make menuconfig

    Seinen Chipsatz raussuchen, passenden bootloader wählen mit make kompilieren, fertig. Ich musste dann die .bin auf ne SD Karte kopieren und den Drucker davon booten. Es passierte auch was - mein Marlinmenü war weg - ein anderes gab es nicht und bis die Hintergrundbeleuchtung des LCD ging erst mal nichts. Ich war verwirrt. :-/


    Zeitsprung


    Ich hab das LCD die nächste Stunde ignoriert oder vergessen (kann am Wetter und dem Hefeweizen gelegen haben) und hab mir das Webinterface von Klipper mal genauer angeschaut. Damit das Ding überhaupt funktioniert braucht man ne gültige config. Es gibt auf der Klipperseite Standard-Configs für alle grossen Marken und Geräte. Ich hab mir aus der Ender5 und der Creality 4.2.7 ne Basis Config zusammenkopiert und auf den Pi geschoben - Klipper neustart - Tada:



    Die komplette Bearbeitung der Config kann dann über das Webinterface erfolgen. Was ich als grosse Erleichterung empfinde - neue Funktionen einfach per Config aktivieren ohne jedes mal neu kompilieren zu müssen.

    Beim Lesen von verschiedenen Seiten fand ich dann auch den passenden Eintrag um das Display mit dem creality Board zum laufen zu kriegen


    Code
    [display]
    lcd_type: st7920
    cs_pin: PB12
    sclk_pin: PB13
    sid_pin: PB15
    encoder_pins: ^PB14, ^PB10
    click_pin: ^!PB2

    Und plötzlich wurde auch das Display im Drucker mit Inhalt befüllt. (Sprich ohne laufenden Pi ist der Drucker nicht mehr benutzbar - juckt mich nicht, muss man nur wissen).


    Als mich dann durch die ganzen Funktionen gelesen und den BLTouch Clone am laufen hatte:


    Code
    [bltouch]
    sensor_pin: PA7
    control_pin: PB0
    x_offset: -37
    y_offset: -12
    z_offset = 1.25
    samples: 1

    wollte ich als erstes ein Feature namens SCREWS_TILT_CALCULATE testen. Eine Offenbarung - warum das nicht Standard ist fragt man sich danach wirklich. Man gibt die Position der Schrauben auf dem Bett an (also dann wann der Sensor über der Schraube ist....oder so nah wie möglich dran) und lässt den Befehl laufen.

    Man erhält eine Anleitung wie oft man jede Schraube drehen muss um ein grades Bett zu bekommen.



    Wirklich grandios. Nach 2 -3 Durchläufen hat man ne absolut brauchbare Basis.Danach hab ich die Offsets für das Bed Leveling durch probieren ausgelotet und hab das Mesh mit (vorerst) 9 Punkten erstellen lassen. Dieses wird gespeichert und automatisch geladen. Ein G29 L1 im Startcode damit nicht mehr notwenig. Man kann aber über den Startcode trotzdem verschiedene Meshes laden (ich hab eins für 75° und eins für 60° )


    Das Webinterface bietet auch die Möglichkeit gcode hochzuladen und zu drucken, es gibt eine Druckhistorie und es ersetzt auf den ersten Blick Octoprint. Ob mir die Features (bzw. das Fehlen von manchen Plugins) reichen werd ich sehen - es gibt aber notfalls mit OctoKlipper auch auch ein Octoprint Plugin.


    Ich habe jetzt zum Abschluss von Teil1 erfolgreich einen calibration cube gedruckt. Die Einrichtung von Instant Shaper und Co werden dann in Teil 2 behandelt. Wer Fragen hat, immer her damit - noch kann ich mich recht gut an die Schritte erinnern :)

    • Official Post

    Teil 2 - Pressure Advance


    Die Pressure Advance Konfiguration hab ich nun auch abgeschlossen und ich muss sagen, dass das Ergebnis wirklich sichtbar ist.



    Es geht bei PA um die Eckigkeit der Kanten bei hohen Druckgeschwindigkeiten. Wie man im unteren Bereich des Bildes sieht, haben die Ecken so eine Auswölbung (die vielleicht jeder auch von seinen Drucken kennt, wenn er mal was viereckiges druckt).Mit jedem Layer wird der PA Wert vom Testscript geändert bis man einen Bereich erhält wo die Wölbung sehr klein oder so gar verschwunden ist.


    Der Druck wurde Konstant (mit Ausnahme des ersten layers) mit 100mm/s (0% Infill, 2 Outline Shells) durchgeführt