
CR-10-S5 von Marlin nach Klipper
Ein überfälliger Wechsel
Marlin mag weiter entwickelt worden sein, die alte Hardware jedoch funktioniert nur einigermaßen mit einer alten Version.
Weil es jedoch stets wiederholt zu Fehlern kam und auch das Starten eines Drucks stets problematisch war, hat der Umstieg mir sehr geholfen.
Jetzt kann ich mit Klipper einen Druck sogar unbeaufsichtigt starten und habe meistens ein gutes Druckergebnis.
Der Wechsel ist ganz einfach haben sie gesagt
Zumindest vernahm ich das in Videos und las es auf Webseiten.
Schlussendlich musste ich einiges selbst herausfinden und vieles in den Dokumentationen lesen.
Einfach, empfinde ich anders und dafür brauchte es viel zu viel Zeit.
Hardware Änderungen
Komponente | Vorher | Nachher |
Hauptplatine | Creality v2.2 | Manta M8P v2.0 + CB1 |
Anzeige | Einfarbig mit Drehknauftaster | TFT 35 v2.1.1 ein RGB LCD Touch (resistive) |
Gehäuse | Unverändert | Aufgeflext bzw. Aufgemultimastert :D |
Achse Z | Mit Gurt verbunden (ein Motortreiber) | Zwei Motortreiber und Höhenausgleichs-Funktion (Neigungskorrektur mit BL-Touch) |
Die neuen Komponenten passten natürlich super auf die vorherigen Befestigungen, nachdem ich Adapter dafür gedruckt und angepasst hatte.
Außerdem änderte sich die Position der zwei Lüfter, weil für den größeren vorn zu wenig Platz war.
Software Änderungen
Marlin v1.1.6_BL-Touch (modifiziert) wurde ausgetauscht gegen Klipper v0.13 (und Moonraker, Crowsnest usw.)
Und damit begann die Einrichtungsphase. Also alle Anschlüsse in der .conf-Datei richtig zuweisen, obwohl ich eine Vorlage verwendet habe, die mir schon einiges abgenommen hat.
Montage Adapter
Erstmal hatte ich alles aus dem Gehäuse heraus genommen und jedes Kabel mit kleinen Zettelchen beschriftet, damit später nichts verwechselt wird.
Dann hab ich so gut es geht alles vermessen, eine Schablone fürs Aussägen und Bohren gedruckt und aufgeklebt. Als alles bestens (schief und krumm) ausgesägt war, habe ich den Monitor und Lüfter Adapter ein wenig angepasst.


Hilfreich für den Umbau
Anschlusspläne erübrigen einem jedes Kabel nachzuverfolgen, um herauszufinden, was daran angeschlossen ist.
Noch wichtiger sind sie, um die Stecker korrekt zu krimpen, wenn die Endstops beispielsweise nur zwei Pins haben, die Buchsen aber drei, so sind es hier Pin 1 und 2 bzw. PFX und G, Pin 3 bleibt frei.
Ebenfalls notwendig ist das Handbuch BIGTREETECH MANTA M8P V2.0 User Manual.pdf und das CB1 Handbuch ist vielleicht auch hilfreich.
Im Handbuch ist auf jeden Fall der Abschnitt über Jumperbelegung nachzuschlagen, bevor man die Schrittmotortreiber einsetzt.
In meinen Fall wurden TMC2209 eingesetzt, die im UART Mode betreiben werden und dafür müssen die richtigen Jumper gesetzt werden.
Mir half folgende Tabelle für den BL-Touch:
Zeichnung | Pin | Vermutung 1 | Vermutung 2 |
Weiß | PD13 | Schwarz | Rot |
Grau | GND | Weiß | Blau |
Gelb | PD12 | Gelb | Gelb |
Rot | +5V | Rot | Schwarz |
Braun | GND | Blau | Weiß |
Ich meine, Vermutung 2 war bei mir zutreffend. Über meinen BL-Touch lagen keine genauen Informationen vor und die Kabel hatten andere Farben als im Handbuch.
Kühlung
Die Temperaturen schienen akzeptabel zu sein, dennoch habe ich Kühlkörper mit Wärmeleitkleber auf den CB1 und den ARM vom M8P geklebt. Das hat auf jeden Fall etwas gebracht. Die Temperaturen kann man nach Verbindung zum CB1 mittels Putty oder ähnlichem über den Befehl sensors abfragen.
Software Installation
Nachdem die Hardware so weit vorbereitet ist, kann die Software eingerichtet werden.
- Herunterladen des gewünschten Abbilds. Hier: CB1_Debian12_Klipper_kernel6.6_20241219.img.xz von https://github.com/bigtreetech/CB1/releases
- Auf eine Micro SD Karte aufspielen, ich benutzte Rufus (5 mb groß, wozu andere über 100 mb große Programme dafür nutzen?!!)
- Die Micro SD Karte kommt in den SOC-Steckplatz! (System auf der Karte – Steckplatz, SadK ;-)
- Starten und mittels MobaXterm verbinden, IP dafür aus dem DHCP auslesen oder über
ping bigtreetech-cb1 -4 herausfinden
Danach folgten in sämtlichen Anleitungen Verwirrung durch jede Menge Befehle und Hinweise, die entweder nicht funktionierten oder schlicht unzutreffend waren.
Klipper Firmware
- Verbinden mit der herausgefunden IP und MobaXterm (oder Putty, was auch immer).
- Benutzer biqu
- Passwort biqu
Über die Weboberfläche und der gleichen IP konnte man schon den Status einsehen.
Ich wollte entsprechend Handbuch vorgehen, aber es gab die Verzeichnisse nicht, in denen irgendwelche ID gefunden werden sollten
- Im DFU mode sollte man mit dem Befehl lsusb dann die Hersteller und Produkt ID (hier: 0483:df11) finden können
- Ebenso nach Handbuch kann man über make menuconfig Klipper fürs Board vorbereiten
- und dann ohne es herunterzuladen einfach im DFU mode aufspielen, mittels biqu@BTT-CB1:~/klipper$ make flash FLASH_DEVICE=0483:df11
- canbus Einstellungen mussten noch übertragen werden, mit folgendem Befehl bekommt man die uuid:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
canbus_uuid=68cd148832f3
Die ID (ist bei jedem anders) muss dann in der Drucker Konfigurationsdatei eingetragen werden, dazu hab ich in der Moonraker Web Oberfläche unter "Maschine", in der printer.cfg die Vorlage von github.com/bigtreetech/Manta-M8P/blob/master/V2.0/Firmware/generic-bigtreetech-manta-m8p-V2_0.cfg eingetragen, die ich zuvor dort hochgeladen hatte. (siehe Kategorie [mcu])
Die Weboberfläche ist mit der gleichen IP erreichbar.
Was dort einzustellen ist, findet sich in der Referenz: https://www.klipper3d.org/Installation.html
Dafür sollte man sich etwas Zeit nehmen. Insbesondere für Richtungseinstellungen und dem Status der Endstops, wählt man am besten die Größe des Heizbetts sehr klein, um Motoren und Gurte zu schonen.
printer.cfg3 KB
Meine printer.cfg Datei als Beispiel, enthält Heizbett Daten, die nur für mein Heizbett geeignet sind!
generic-bigtreetech-manta-m8p-V2_0.cfg9 KB
Meine generic-bigtreetech-manta-m8p-V2_0.cfg Datei als Beispiel, vielleicht hätte ich sie umbenennen sollen in MY-CR-10-S5-bigtreetech-manta-m8p-V2_0.cfg, denn sie ist nur für meinen Drucker geeignet!
Kalibrieren
Als endlich alles lief, habe ich über die Konsole PID_CALIBRATE fürs Heizbett und für den Materialheizer ausgeführt.
PID_CALIBRATE HEATER=extruder TARGET=220 WRITE_FILE=1
pid_Kp=27.033 pid_Ki=1.733 pid_Kd=105.429
PID_CALIBRATE HEATER=heater_bed TARGET=100 WRITE_FILE=1
pid_Kp=68.623 pid_Ki=1.688 pid_Kd=697.379
Die Werte müssen gespeichert oder übertragen werden.
Dann stellte ich den Z Offset des BL-Touch ein, der Eintrag sollte fehlen, wenn man den Befehl ausführt
PROBE_CALIBRATE
bltouch: z_offset: 1.767
Den Wert habe ich jedoch später etwas verändert.
Superslicer
Mithilfe des Superslicer Programms habe ich diverse Testdrucke ausgeführt, die im Programm selbst auswählbar sind (unter Calibration) und hinreichend erklärt werden.
Trotzdem hatte ich noch einen Fehler, die ersten 5 bis 10 mm des Drucks waren zu schmal gedruckt. Das war ein Fehler, den ich nirgends fand, ein Zurücksetzen oder neu Laden der Einstellungen im Superslicer löste das Problem.
Auch im Superslicer sind viele Einstellungen getroffen worden, bis endlich richtig gedruckt werden konnte, dafür muss man sich auch etwas Zeit nehmen.
Mein Benutzerdefinierter G-Code (Filament Start):
M190 S{(first_layer_bed_temperature[current_extruder] * 0.92)} ; Warte bis Bett 92%
M140 S{first_layer_bed_temperature[current_extruder]} ; volle Zieltemperatur, ohne warten
M109 S{(first_layer_temperature[current_extruder]*0.95)}
G1 E-2.5 F3000 ; manuelle Retract (z.B. 2.5 mm zurueck)
M104 S{first_layer_temperature[current_extruder]}
M190 S{(first_layer_bed_temperature[current_extruder])} ; Warte bis Bett 100%
G1 E20.0 F3000 ; manuelles Unretract (20.0 mm vorschieben)
Mein Benutzerdefineirter G-Code (Druck Start):
G28 ;Home
Z_TILT_ADJUST ; Z-Tilt
G28 Z ; Neu homes nur Z-Achse
BED_MESH_PROFILE LOAD=default_9_9_110 ; Mesh-Profil laden (optional) ; BED_MESH_CALIBRATE
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
Mein Benutzerdefineirter G-Code (Druck Ende):
G91 ; Relatives Positionieren
G1 E-2 F2700 ; 2 mm Rücklauf
G1 E-2 Z0.2 F2400 ; 2 mm Rücklauf und Z +0.2 mm
G1 X5 Y5 F3000 ; Zur Seite raus fahren
G1 Z10 ; Z +10 mm
G90 ; Absolutes Positionieren
G1 X0 Y{print_bed_max[1]} ; Zum äußeren Rand fahren
M106 S0 ; Lüfter aus
M104 S0 ; Heizelement aus
Fazit
Der Aufwand ist viel größer als man zu Anfang denkt.
Das Ergebnis ist hingegen recht erfreulich.
- Der Farbbildschirm ist viel ansprechender
- Der Druck startet zuverlässiger und haftet besser, weil die Kalibrierung einfacher ist
- Die Software druckt zuverlässiger, sehr komplexe Modelle konnten mit dem Marlin vorher nicht gedruckt werden
- Die Netzwerkverbindung ermöglicht eine bessere Überwachung, fehlt nur noch eine Kamera, die man angeblich auch anschließen kann – könnte – wenn man wollte
Anstelle mit der SD Karte ein Mal zum Drucker zu laufen, um den Druck zu starten, laufe ich jetzt ein Mal hin, um ihn einzuschalten, danach zurück zum Datei Hochladen und Druck Starten, und dann ein zweites Mal hin, um den Druckstart zu kontrollieren. Alles wird immer so großartig verbessert, selbst an meine Bewegung denken die Entwickler, fantastisch.
Kommentare
Keine Kommentare