Erfahrungsbericht: Klipper auf dem SKR3 im Sermoon D1 (Teil 1)

  • Hi,

    Bin nicht sicher ob das besser im Klipperbereich aufgehoben wäre ... verschieben, oder wir platzieren dort einen Link.

    Wie anfangen? Ich habe einen gebrauchten Sermoon D1 gekauft weil mein Ender 3V2 sich so einsam gefühlt hat.

    Der Sermoon ist ziemlich verändert:

    • Verkabelung geändert wegen Schleppketten (nicht schlecht gelöst).
      Allerdings waren mindestens 5 Krimpkontakte schlecht, die Kabel sind einfach herausgerutscht. Mittlerweile habe ich alle Kontakte neu gekrimpt (Mit SN-2 Zange).
    • Haube zum Öffnen.
    • Dicke Aluplatte und Magnetbett auf das Originalbett aufgeklebt. Aber immer noch genauso krum (jetzt nach Schleifen noch 200µm, vorher waren es 400).
      Und es braucht +10 Minuten zum Aufheizen.
    • Durch das Schwere Bett hat es sich oft schräg gestellt und es man musste immer einen Tanz vollführen um einen Druck zu starten.
    • CR-Touch.

    Der (ein) Geburtsfehler des Sermon ist die laute Z-Achse wenn man das Mesh verwendet. Creality hat halt gespart und billige Treiber für Z verwendet.

    Es knarrt und knarzt als ob irgendwo ein Lager defekt wäre.


    Mir war schnell klar das da einen anderes Mainboard rein muss und hatte mich für das SKR 3 entschieden. Zunächst eine sehr gute Wahl. Es hat 5 Achstreiber, damit kann ich jeder Z-Spindel eine eigene Ansteuerung spendieren um das Z-Tilt-Problem zu lösen. Und die TMC2209 können auch leise.


    Später kam der Wunsch nach einem extra Feder auf. Durch die Haube und den Direktextruder ergaben sich oft Transportprobleme des Filaments. Dazu später mehr wenn ich das realisiert habe.


    Genug der langen Vorrede, Das SKR 3 kam an und ich machte mich daran einen Adapter zu entwerfen damit das Board an den Schrauben des Crealityboards befestigt werden kann.

    Später habe ich noch Halter für einen 120mm Lüfter hinzugefügt.


    Mein Github repo. Bilder, STL, scad files und Klipper configs.


    Der Original Lüfter macht nur Krach, aber keinen Wind. Creality sollte halt auch Löcher ins Bodenblech machen die groß genug sind. Beim Netzteil ist es daselbe, da hatte ich beim Ender 3 V2 schon gemessen und berechnet wie viel Luft da durch muss. Hier ist jetzt auch ein 120mm Lüfter. Man hört fast nichts und doch ist die Kühlung besser als vorher.


    Das SKR 3 war jetzt drin und wurde gekühlt, nun ging es an die Verdrahtung. Sicherheitshalber habe ich alles durchgemessen und musste doch einige Stecker ändern. Das SKR 3 hat andere Stecker für den CR-Touch (3 +2 polig statt 5 polig).

    Übrigens sind alle Stecker und Kontakte dabei (JST XH 2.54 Serie). Aber man sollte eine richtige Krimpzange verwenden (SN-2, ca 17€ beim Ali).


    Der Düsenlüfter läuft beim Sermon normalerweise immer. Um das zu ändern musste ich die Verdrahtung zum Mainboard ändern weil der Lüfter oben am Hub direkt mit 24V und GND verbunden ist. Er wird jetzt von Klipper eingeschaltet wenn die Düse mehr als 50°C hat. Sollte der Lebensdauer und meinen Ohren gut tun.


    Soweit die Hardware, nun zu

    Klipper.


    Um schnell Ergebnisse zu haben verwende ich MainsailOS. Man muss nur ein Image herunterladen und auf eine SD-Karte schreiben (geht bei Linux mit Bordmitteln).

    Rein in einen Raspi und es läuft. Bedient wird es über den Browser. Wer mehr Details will, bitte anfragen, Es sollen ja keine 100 Seiten werden.

    Die Doku von Klipper und MainsailOS ist sehr gut, da findet man fast alles.


    Das Mainboard braucht bei Klipper eine (kleine) Firmware. Diese habe ich selbst mit MainsailOS erzeugt. Geht ganz einfach da Klipper das KConfig-System vom Linux-Kernel verwendet. Man muss nur ein paar Einstellung vom SKR 3 Handbuch eintragen, und mit make (auf der Kommandozeile) compilieren. Die erzeugte Firmware muss auf die SD-Karte als firmware.bin geschrieben werden. Wer noch nie so etwas gemacht hat verwendet besser die fertige firmware-USB.bin vom Github Repo der SKR 3. Aufpassen dass man die richtige verwendet, es gibt sind mehrere Hardwareversionen (SKR 1.4, SKR 2, ...). Ich war etwas erstaunt das die Firmware nur 25KB klein ist, aber dies ist korrekt.


    SD-Karte in die SKR 3, Jumper auf USB-Versorgung (dann braucht es keine 24V), USB einstecken, LED leuchtet, das beruhigt schon mal. Etwas warten, die FW ist aber schnell geschrieben. Dies ist gut im SKR 3 Handbuch beschrieben.


    Jetzt das SKR 3 über USB mit dem Raspi verbinden, im Browser die Adresse vom Raspi eingeben und man ist auf der Oberfläche von Klipper (genauer von Mainsail, dies ist eine der Oberflächen dies es für Klipper gibt). Klipper findet aber das SKR 3 noch nicht weil es die Schnittstelle noch nicht kennt. Aber das kommt gleich.


    printer.cfg

    Jetzt geht es los mit den Klippereinstellungen.

    Man kann direkt in Mainsail die printer.cfg bearbeiten (ganz links im Navigator "Machines" auswählen und die printer.cfg clicken).

    Oder man richtet per Samba oder sshfs, nfs eine Freigabe ein. So habe ich es gemacht weil ich natürlich mit VS-Code editieren wollte.


    Damit Klipper das SKR 3 erkennt muss man ihm/ihr die Schnittstelle sagen.

    Dazu ist der Eintrag [mcu] da.


    Auch hier hilft das SKR 3 Handbuch mit Details. Speziell die genaue Bezeichnung der Schnittstelle ist wichtig, sie ist für jedes Board anders.


    Kommandozeile auf dem Raspi öffnen (vom PC aus, bei Linux sieht das so aus, bei Windows kann man Putty nehmen)

    ssh pi@mainsailos

    Dann

    ls -l /dev/serial/by-id

    Die Ausgabe zeigt den Namen der Schnittstelle:

    lrwxrwxrwx 1 root root 13 10. Mai 16:30 usb-Klipper_stm32h723xx_2A0036001651313238353730-if00 -> ../../ttyACM0


    Nur der mittlere Teil ist der Name und muss in die printer.cfg geschrieben werden. Bei mir sieht das so aus:

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

    Das war jetzt schon das komplizierteste an der ganzen Sache.


    Noch ein Hinweis, die Konfigurationssprache kann Dateien inkludieren. Davon sollte man Gebrauch machen sonst wird es schnell unübersichtlich.

    Bei mir sieht es so aus:


    Wie ich weiter vor ging, schreibe ich nächtes mal.

    Auch Details einer Fehlersuche bei meinen Z-Achsen wird sicher interessant (zweites MCU Board für die Z-Achsen - das geht mit Marlin nicht).


    Sind Bilder erwünscht?


    LG, Dieter Fauth


    PS: Beim Gegenlesen habe ich einige Typos gefunden, ich hoffe alle.

    Edit: Mehr Typos :)

  • Und weiter gehts. Heute möchte ich über die grundsätzliche Vorgehensweise für Klipper schreiben.


    Voraussetzungen

    1. Geduld
    2. Software Werkzeuge
    3. SKR 3 Board (in meinem Fall)
    4. Doku zum SKR 3
    5. Doku zu Klipper

    Da ich seit vielen Jahre mit Linux arbeite sind konkrete Details für Kubuntu 22.04, aber das meiste passt für alle Distributionen und sogar für Windows.


    Als Werkzeuge braucht man git (Versionverwaltung) und einen vernünftigen Editor. Ich verwende VS-Code, aber Gedit, Kate oder Notepad++ oder <deinen Editor einsetzen> gehen genauso. Zur Not kann man auch alles mit Mainsail editieren.


    SKR 3 Docs und Klipper liegen auf GitHub, deshalb brauchen wir hier git. Man kann auch eine Zip-Datei erzeugen lassen, download und auspacken, aber das ist mir zu mühsam. Git ist mein täglich Brot.


    SKR 3:

    git clone https://github.com/bigtreetech/SKR-3.git


    Klipper:

    Habs gerade festgestellt: "git clone" funktioniert bei Klipper nicht. Da ich normalerweise das tool "gh" verwende ist mir das nie aufgefallen. Also entweder gh oder die zip herunterladen und auspacken.

    Das GitHub-Tool "gh" muss installiert werden, ist aber nicht in den Ubuntu Repos enthalten.

    Macht nur Sinn wenn man es öfters braucht.


    gh repo clone Klipper3d/klipper


    Jetzt haben wir fast alles was wir brauchen auf dem PC. Verzeichnisse sind relative zum Arbeitsverzeichnis.


    SKR 3 Handbuch:

    SKR-3/BIGTREETECH SKR 3 user manual.pdf


    SKR3 Hardware (Schaltbild usw). Die PIN-Datei ist sehr praktisch, sie enthält alles Wichtige auf einer Seite:

    SKR-3/Hardware (SKR 3)/BIGTREETECH SKR 3-PIN.pdf


    Firmware:

    SKR-3/Firmware/Klipper/firmware-USB.bin

    Diese muss in firmware.bin umbenannt werden und auf eine µSD-Karte (FAT-Format) kopiert werden. Ist im SKR 3 Handbuch beschrieben.


    Falls man mal nachschauen möchte, eine generische Klipperconfig. Wir verwenden aber die configs im Klipper-Verzeichniss (siehe weiter unten).

    SKR-3/Firmware/Klipper/generic-bigtreetech-skr-3.cfg


    Klipper hat viele Beispielkonfiguration (+200) dabei. Wir verwenden dies zwei:

    klipper/config/generic-bigtreetech-skr-3.cfg

    und

    klipper/config/printer-creality-sermoonD1-2021.cfg


    Was jetzt folgt ist eine reine Fleißarbeit. Man schreibt eine neue printer.cfg die aus den beiden .cfg Dateien die richtigen Informationen bereitstellt.


    Habe ich ja schon gemacht:

    https://github.com/FauthD/SKR3SermoonD1Klipper


    Im wesentlich holt man alles was vom Board unabhängig ist aus der Sermoon config.

    Alle Pinbezeichnungen kommen aus der Skr3-Konfig.


    Die Geschichte mit der Mcu-Einstellung habe ich ja letztes mal schon erläutert.

    Auch dass man die Konfigurationen in separate Dateien verteilt. Dies ist einfach übersichtlicher.


    Bei MainsailOS ist die Konfiguration in

    /home/pi/printer_data/config/


    Dorthin müssen alle unsere .cfg Dateien.

    Um Änderungen zu aktivieren wird Klipper neu gestartet. Das geht einfach über die Oberfläche in Mainsail. Ich mache das immer so:

    Im Navigator (links) "Machines" öffnen, irgend eine der .cfg öffnen (da kann man auch editieren) und oben rechts auf "Save and Restart" clicken.


    Achtung: Falls ihr meine .cfg verwendet; bei mir sind die Z-Motoren an zwei verschiedene Treiber angeschlossen. Z und E1. Damit kann das Bett automatisch ausgerichtet werden.

    Original sind die Motoren parallel geschaltet. Man braucht also zwei neue Stepperkabel und muss sie wahrscheinlich anpassen.


    Bei Creality sind die beiden mittlere Leitungen überkreuz.

    Nie die Kontakte auf der Motorseite "bearbeiten" das führt zu bösen Aussetzern. Hat mich einige Tage gekostet um das endgültig zu finden. Die Fehlersuche werde ich später beschreiben. Es zeigt das Potential von Klipper.


    Nur die JST XH Kontakte auf der Boardseite kann man gefahrlos herausholen und neu einschieben (Lasche flach biegen, herausholen, Lasche VORSICHTIG wieder aufbiegen, einschieben, prüfen ob sauber eingerastet, fertig. Habe ich seit Jahren schon 100 mal gemacht.


    Ein Klipper-TMC-Fehler der "Kurzschluss" enthält ist ein sicheres Indiz für ein falsches Motorkabel, dann die mittleren Kontakte tauschen.


    Wenn jetzt einer sagt mit dem Sonic-Pad geht's doch viel einfacher. Könnte sein, aber macht auch nur halb soviel Spaß. Und ob das SKR 3 unterstützt wird ist fraglich. Geht sicher auch manuell mit meiner Konfiguration.


    Zwischenfazit:

    Anfangs wollte ich Marlin anpassen und verwenden. Sowas ist für mich ja kein Problem, Firmware habe ich schon seit +30 Jahren geschrieben (und RT Betriebsysteme für Embedded-Geräte). Aber dann wollte ich doch mal Klipper ausprobieren. Ich habe es keine Sekunde bereut.

    Klipper sieht auf den ersten Blick komplizierter aus, aber in Wirklichkeit ist es erheblich einfacher wenn man das Prinzip einmal verstanden hat.


    Nächstes mal erzähle ich euch über die Fehlersuche bei den Z-Achsen und wie Klipper da geholfen hat. Jetzt muss ich meinen Testdruck für Input-Shaping analysieren, das gibt vieleicht auch noch einen Beitrag.


    LG, Dieter

  • 100% d'accord mit deinem zwischenfazit.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Unread Threads

    1. Title
    2. Replies
    3. Last Reply
    1. Sidewinder X2 Endstop Problem 16

      • winty
    2. Replies
      16
      Views
      383
      16
    3. JoeBar

    1. Drucker in Mainsail umbennen

      • Minionprinter
    2. Replies
      0
      Views
      11
    1. Was druckt ihr gerade? Zeigt Mal her! 7.8k

      • Relaxo
    2. Replies
      7.8k
      Views
      846k
      7.8k
    3. tuxlinux

    1. Eine Woche Raise3D E2 - würde ich ihn gerne zurückgeben? 106

      • raimondovincenti
    2. Replies
      106
      Views
      3.8k
      106
    3. PrinterDD

    1. Ender 3 S1 auf All-Metal upgraden - oder doch das High Flow Kit? 15

      • Jota
    2. Replies
      15
      Views
      1k
      15
    3. tuxlinux