Willkommen zurück zum vierten Teil meines Prusa MK3S Umbauprojekts. Nachdem ich in den vorherigen Beiträgen die elektronische Infrastruktur auf einen Raspberry Pi 3 B+ mit Klipper umgestellt und die Y-Achse erfolgreich auf spielfreie, industrielle Linearführungen umgerüstet habe, widme ich mich heute der nächsten mechanischen Herausforderung. Ich knöpfe mir die Achse vor, die den (schweren) Druckkopf bewegt, maßgeblich für die saubere Schichtung der Wände verantwortlich ist und bei hohen Geschwindigkeiten oft das Nadelöhr darstellt: Die X-Achse.
Wenn man die Beschleunigungswerte, die Ruck-Werte (Jerk bzw. Square Corner Velocity in Klipper) und die reinen Druckgeschwindigkeiten massiv in die Höhe treibt, stößt das klassische Design der Prusa X-Achse schnell an seine physikalischen Grenzen. In diesem Beitrag beschreibe ich, warum das werksseitige System bei High-Speed-Drucken suboptimal ist, wie ich den Prusa MK3S X-Achse Linearschiene Umbau Schritt für Schritt durchführe, wie man fatale Crashs bei der Wiederinbetriebnahme verhindert und die Klipper-Firmware am Ende auf die neue, extrem leichtgängige Mechanik abstimmt.
Die Schwachstelle der originalen X-Achse: Hebelkraft und Torsion
Um zu verstehen, warum dieser radikale Umbau für mein Klipper-Setup so essenziell ist, muss man sich die Baugruppe des Prusa MK3S analytisch ansehen. Der Drucker nutzt einen Direct-Drive-Extruder. Das bedeutet im Klartext: Der vergleichsweise schwere Nema-17-Schrittmotor für den Filamentvorschub, die Bondtech-Zahnräder, das E3D V6 Hotend, der massige Aluminium-Kühlkörper, der Bauteillüfter und der Hotend-Lüfter fahren alle zusammen direkt auf der X-Achse mit. Diese gebündelte Baugruppe bringt ein beträchtliches, asymmetrisch verteiltes Gewicht auf die Waage.
Ab Werk gleitet dieser schwere Druckkopf auf zwei horizontal übereinanderliegenden, 8 Millimeter dicken Stahlrundstangen, geführt von drei LM8UU-Linearlagern (zwei oben, eines unten). Wenn der Drucker nun unter der Steuerung von Klipper mit Geschwindigkeiten jenseits der 150 mm/s druckt und an Ecken abrupte Richtungswechsel ausführt, wirken enorme kinetische Trägheitskräfte auf diesen Aufbau. Da der Schwerpunkt des Extruders weit vor der Mittelachse der Stangen liegt, entsteht eine permanente, dynamische Hebelkraft. Der Druckkopf neigt bei jeder scharfen Beschleunigung und bei jedem harten Abbremsen dazu, sich minimal nach vorne oder hinten um die horizontale Achse zu verwinden. In der Mechanik nennt man das Torsion.
Die drei LM8UU-Lager, die prinzipbedingt nur auf winzigen Punktkontakten laufen, können diese Torsionskräfte nicht vollständig abfangen. Die eigentlich gehärteten Rundstangen biegen sich unter der oszillierenden Last im mikroskopischen Bereich durch. Das Resultat dieser permanente physikalischen Überlastung ist auf den gedruckten Bauteilen sichtbar: Ghosting (also ein störendes Nachschwingen an scharfen Modellkanten oder Bohrungen), unregelmäßige vertikale Layer-Linien und im schlimmsten Fall ein sichtbares, lautes Ruckeln der gesamten Achse bei sehr kurzen, schnellen Infill-Passagen (Zick-Zack-Muster). Zudem graben sich die winzigen Stahlkugeln der Lager durch die permanente Hebelbelastung mit der Zeit asymmetrisch in die untere Rundstange ein, was zu stark erhöhtem Verschleiß und spürbarem Spiel führt.
Die konstruktive Lösung: Die MGN12H Linearschiene
Die eleganteste Lösung für dieses mechanische Problem ist der Wechsel auf eine einzelne, aber überlegene MGN12H Linearschiene. Der industriell genormte Formfaktor MGN12 bietet durch sein eckiges Grundprofil eine enorme Steifigkeit gegen jegliche Durchbiegung. Der dazugehörige Laufwagen (Carriage) im „H“-Format (High, also die längere und belastbarere Version) verfügt in seinem Inneren über zwei separate Kugelumläufe, die die Schiene formschlüssig und beidseitig umgreifen. Diese Konstruktion kann Kräfte aus allen Richtungen – und hier insbesondere die tückische Hebelkraft des nach vorne überhängenden Extruders – spielfrei aufnehmen. Der Druckkopf sitzt nach diesem Umbau buchstäblich wie auf Schienen. Jede abrupte Bewegung des Schrittmotors wird ohne jegliche Torsionsverluste direkt und unmittelbar in eine saubere Positionierung des Hotends umgesetzt.
Vorbereitung: Materialkunde und entspannte Toleranzen
Bevor ich den Drucker stromlos mache und zerlege, drucke ich die neuen Bauteile und bereits sie vor. Für den Umbau der X-Achse drucke ich neue Endstücke (die sogenannten X-Ends, also die Halterungen links und rechts), die auf den Z-Spindeln laufen und die neue Linearschiene fest aufnehmen, sowie einen komplett neuen Trägerschlitten (X-Carriage) für den Extruder. Da ich bei meinem Drucker auch Elemente des Bear-Mods nutze, um die grundlegende Steifigkeit des Rahmens zu erhöhen, greife ich auf modifizierte X-Ends aus der Open-Source-Community zurück, die speziell für Linearschienen optimiert wurden.
Bei der Wahl des Filaments für diese Druckteile kursieren im Netz oft Empfehlungen, die den Einsatz von extremen Hochtemperatur-Materialien wie Polycarbonat (PC) oder ASA fordern. Aus meiner eigenen, langjährigen Praxis kann ich hier aber Entwarnung geben. Ich habe diese mechanischen Teile für den X-Schlitten und die Aufnahmen seit vielen Jahren erfolgreich aus hochwertigem PETG im Einsatz. PETG bietet den perfekten Kompromiss: Es ist leicht zu drucken, besitzt eine hervorragende Layer-Haftung und die Wärmeformbeständigkeit (Heat Deflection Temperature) von etwa 70 bis 80 Grad Celsius reicht für die Abwärme der Schrittmotoren in einem normalen Prusa-Setup völlig aus. PETG neigt nicht zum Brechen, sondern gibt bei extremer Überlastung eher elastisch nach, was bei strukturellen Rahmenteilen durchaus ein Vorteil sein kann.
Ein weiterer Mythos, der in diversen Foren für Verunsicherung sorgt, ist die angebliche Notwendigkeit mikrometergenauer Toleranzen beim Druck der X-Ends für die Z-Achse. Die Realität in der Werkstatt ist hier weitaus entspannter: Da auch der originale Prusa MK3S ab Werk auf 3D-gedruckten PETG-Teilen basiert, sind die typischen Toleranzen eines ordentlich kalibrierten FDM-Druckers für diesen Umbau absolut ausreichend und völlig vernachlässigbar. Man muss sich keine grauen Haare wegen komplexem Materialschwund (Shrinkage) wachsen lassen oder die Modelle im Slicer künstlich vergrößern und skalieren. Drucke die Teile einfach mit Deinem bewährten PETG-Standardprofil. Sie werden passgenau auf die glatten 8mm-Stangen der Z-Achse und über die Messingmuttern gleiten.
Mein Tipp: Widme Deine Aufmerksamkeit lieber der Vorbereitung der Linearschiene. Das ab Werk aufgebrachte Öl auf der Schiene ist lediglich ein Rostschutz für den Transport und definitiv kein Schmiermittel! Wasche die Schiene komplett mit Isopropanol aus, lass sie trocknen und presse anschließend ein echtes Hochleistungs-Lithiumfett (NLGI 2) in die Kugelumläufe des Laufwagens, bis dieser absolut geräuschlos gleitet. Siehe dazu auch den letzten Teil dieser Serie, da habe ich auch ein Video dazu verlinkt.
Die Demontage
Ich trenne den Drucker vom Stromnetz, ziehe den Kaltgerätestecker und beginne mit der Demontage.
Als Erstes lege ich ein Handtuch oder ein Stück starken Karton auf das Heizbett. Sollte mir gleich ein Werkzeug oder ein Motorteil aus der Hand rutschen, wird das empfindliche PEI-Blech nicht beschädigt. Zuerst schneide ich alle Kabelbinder durch, die den dicken Kabelstrang des Extruders auf der Rückseite des Schlittens fixieren. Danach löse ich die Riemenspannung der X-Achse auf der linken Seite, indem ich die Spannschraube komplett herausdrehe.
Anschließend schraube ich die Rückwand des Extruder-Schlittens ab. Hier muss man besonders behutsam vorgehen. Die Kabel des Thermistors sind extrem fragil. Zieht man hier zu fest oder knickt das Kabel scharf ab, reißt die Verbindung direkt am Glasperlen-Sensor ab und das Hotend ist unbrauchbar. Ich ziehe den kompletten Extruder-Block vorsichtig nach vorne von den beiden Rundstangen ab und lege ihn gesichert und ohne Zug auf den Kabeln auf dem abgedeckten Druckbett ab.
Nun fahre ich die Z-Achse per Hand durch synchrones Drehen der beiden Spindeln etwa in die Mitte. Ich löse die kleinen M3-Schrauben der trapezförmigen Spindelmuttern auf beiden Seiten der Z-Achse (diese Muttern führen die X-Achse auf den Gewindespindeln) und drehe sie nach oben heraus. Jetzt kann ich die komplette X-Achse mitsamt den zwei 8mm Rundstangen, den LM8UU-Lagern und dem X-Schrittmotor einfach nach oben von den Spindeln und den glatten Z-Führungsstangen abziehen. Die alte Mechanik ist damit entfernt.
Der Neuaufbau: Torsionsfreie Montage der Schiene
Der Zusammenbau ist unkompliziert, erfordert aber einen Blick für Symmetrie. Ich setze die originalen trapezförmigen Spindelmuttern in die neuen, gedruckten X-Ends aus PETG ein und verschraube sie leicht. Achtung: Die Schrauben dieser Muttern niemals mit Gewalt festknallen! Sie müssen minimales seitliches Spiel haben, damit kleine Taumelbewegungen der Z-Gewindespindeln (das berüchtigte Z-Wobble) nicht mechanisch in die X-Achse und somit auf das Druckbild übertragen werden.
Nun wird die vorbereitete, leichtgängige MGN12H Linearschiene zwischen den beiden X-Ends montiert. Das Wichtigste hierbei ist, dass die Schiene komplett in die X-Ends eingeschoben ist. Nun kann der Riemen montiert und mittelsn Riemenspanner grob eingestellt werden werden.
Anschließend schraube ich den X-Motor wieder an. Jetzt kommt der kritische Teil: Der Extruder wird an den neuen Schlitten (X-Carriage) montiert, der mit M3-Senkkopfschrauben auf dem Laufwagen der Linearschiene befestigt wurde. Bei diesem Schritt muss man darauf achten, dass die Kabelbäume des Extruders sauber in die vorgesehenen Aussparungen nach hinten weggeführt werden, ohne an den Riemenrädern des X-Motors zu schleifen oder eingeklemmt zu werden.
Dann schiebe ich die neuen X-Ends vorsichtig von oben auf die vertikalen Z-Achsen und drehe über die beiden Gewindespindeln die Z-Achse nach unten.
Die Achillesferse: Riemenführung und Zugentlastung
Es gibt zwei handwerkliche Fehlerquellen beim Umbau der X-Achse auf Linearschienen, die später zu unerklärlichen Maßabweichungen im Druckbild führen:
1. Die Riemenparallelität:
Der Zahnriemen muss auf seinem Weg vom Motorl über den Extruder-Schlitten bis zur kugelgelagerten Umlenkrolle auf der rechten Seite absolut parallel zur Linearschiene verlaufen. Wenn der Riemen am Schlitten auch nur einen Millimeter höher, tiefer oder weiter hinten eingehängt ist als an den Umlenkrollen, entsteht ein geometrisches Dreieck. Das Resultat: Wenn der Druckkopf in die Mitte der Achse fährt, ist der Riemen straff. Fährt er ganz nach außen an den Rand, wird der Riemen plötzlich locker. Diese sich während der Fahrt ständig ändernde Riemenspannung ruiniert die Präzision des Drucks. Kreise werden unrund. Ich prüfe diese Parallelität mit einem Messschieber und korrigiere den Sitz des Motorritzels auf der Welle millimetergenau, bis der Abstand des Riemens zur Schiene auf der gesamten Länge absolut identisch ist. Hier hilft es, das Ritzel leicht zu lösen, so dass es gerade auf der Motorachse nach vorne und hinten rutschen kann und anschließend den Wagen mehrfach hin und her zu bewegen. Damit wird das Ritzel auf der Motorwelle ausgerichtet.
2. Die Zugentlastung der Kabel:
Der dicke Textil-Kabelstrang, der vom fahrenden Extruder hinunter zum Einsy-Board führt, ist starr und schwer. Wenn dieser Strang nicht fest am Extruder-Schlitten fixiert wird (Zugentlastung), überträgt das Kabel bei jeder Bewegung eine Hebelkraft auf den Linearschlitten. Die Linearschiene ist zwar massiv, aber solche asymmetrischen, ziehenden Kräfte erzeugen unnötige Mikrovibrationen. Ich nutze den gedruckten Kabelhalter auf der Rückseite und fixiere den Strang mit Kabelbindern so fest, dass die gesamte Bewegungskraft ausschließlich aus dem Schlitten kommt und das Kabel nur noch passiv mitgezogen wird. Das verhindert auf Dauer auch Kabelbrüche.
Optimierung der Z-Achse: Gleitlager statt Linearschienen
Während ich bei der X- und Y-Achse auf den Umbau auf Linearschienen gesetzt habe, habe ich diesen Gedanken für die Z-Achse schnell wieder verworfen. Die Wege, die die Z-Achse bei einem Druck zurücklegt, sind im Vergleich minimal. Der immense finanzielle und konstruktive Aufwand für Linearschienen steht hier in keinem sinnvollen Verhältnis zum Nutzen.
Dennoch habe ich die Z-Achse im Zuge des Klipper-Upgrades umgestaltet. Mein Ziel war es, die Z-Achse wartungsfreundlicher und reibungsärmer zu gestalten. Klipper erhöht zwar nicht den Weg der Z-Achse, sorgt aber für deutlich schnellere Bewegungen, beispielsweise beim Z-Hop (dem Anheben des Druckkopfes bei Leerfahrten). Um hier die Losbrechkraft zu minimieren und potenziellen Schrittverlusten bei hohen Beschleunigungen vorzubeugen, habe ich das Führungssystem überarbeitet.
Bei meinen anderen Druckern habe ich die LM8UU-Lager durch wartungsfreie Gleitlager IGUS DRYLIN RJ4JP-01-08 ersetzt, die von den Druckteilen des Bear-Mod spielfrei umschlossen werden und seit Jahren problemlos laufen. Für dieses Projekt habe ich mich für ein Upgrade auf die robusteren RJZM-02-08 entschieden. Um die Gleiteigenschaften weiter zu optimieren, habe ich die standardmäßigen Stahl-Rundstangen durch hartanodisierte Aluminiumwellen (Igus AWMP-08) ersetzt.
Die hartanodisierten Wellen und die RJZM-02-08 Lager
Sicherlich mag das für den einen oder anderen nach Over-Engineering klingen. Für mich ist es schlichtweg mein Weg, um neue mechanische Lösungen in der Praxis zu testen und Erfahrungen für zukünftige Konstruktionen zu sammeln – hier kommt einfach der Entwickler durch.
Ein Umstieg auf 10-mm-Wellen und entsprechende Lager stand ebenfalls kurz im Raum, hätte aber bedeutet, beide X-Ends komplett neu konstruieren und drucken zu müssen. Angesichts der kurzen Verfahrwege auf der Z-Achse habe ich diese Idee wieder verworfen.
Mein Tipp: Vor dem Einsetzen der Igus-Lager habe ich die Lagersitze in den gedruckten X-Ends mit einer Reibahle exakt auf das Nennmaß gebracht. Bereits minimale Maßabweichungen im 3D-Druck, wie z.B. ein leichter Elefantenfuß, reichen aus, um den Sitz ungleichmäßig zu machen. Die Gleitlager verkanten dann, klemmen auf den Aluminiumwellen und verlieren ihre Leichtgängigkeit.
Z-Tramming: Die Achse in die Waagrechte bringen
Da ich die X-Achse komplett demontiert hatte, ist die exakte Synchronisation der beiden Z-Motoren nötig. Die linke Seite der X-Achse steht mit Sicherheit etwas höher oder tiefer als die rechte Seite. Bevor ich an den ersten Druck denke, muss ich die Achse mechanisch „ins Wasser“ bringen (Tramming).
Ich wende hierfür das relative Tramming zum Heizbett an, anstatt die Achse einfach gegen die oberen Anschlagblöcke fahren zu lassen. Ich lege zwei identische Objekte (z. B. zwei exakt gleich dicke Druckteile) ganz außen links und rechts auf das saubere Heizbett. Nun drehe ich die linke und rechte Z-Gewindespindel per Hand langsam nach unten, bis die Linearschiene der X-Achse auf beiden Seiten exakt und sanft auf diesen beiden Referenzblöcken aufliegt. Noch besser geht es mit einem Stück Papier zwischen Düse und den Referenzblöcken. Man bewegt die Z-Gewindespindel so weit nach unten, bis das Papier gerade noch so zwischen Düse und Referenzblock bewegt werden kann. Wenn es ‚kratzt‘ ist es optimal. Diesen Vorgang muss man mehrfach wiederholen, bis beide Seiten exakt auf der selben Höhe sind.
Jetzt steht die X-Achse absolut parallel zum Druckbett. Diese mechanische Basis erspart Klipper später unnötige Ausgleichsberechnungen beim Mesh-Bed-Leveling.
SuperPINDA und Z-Offset neu kalibrieren
Dies ist der Schritt, der beim Umbau am häufigsten vergessen wird und zu den teuersten Schäden führt: Durch den kompletten Abbau und die Neu-Montage des Extruders auf den neuen Trägerschlitten stimmt der Abstand zwischen der Düsenspitze (Nozzle) und der Unterkante des induktiven Sensors (der SuperPINDA) absolut nicht mehr überein. Bei mir schon gleich zweimal nicht, denn ich habe das originale Hotend gegen ein Revo Six getauscht.
Wenn ich den Drucker jetzt starte und einen Auto-Home-Befehl sende, würde der Sensor das Heizbett möglicherweise viel zu spät (oder gar nicht) erkennen. Die Düse würde sich mit der Kraft beider Z-Motoren in das PEI-Stahlblech drücken und das Bett verkratzen. Daher muss die Höhe des Sensors zwingend neu eingestellt werden:
Ich schiebe den Druckkopf in die Mitte des Bettes.
Ich drehe die Z-Spindeln per Hand langsam herunter, bis die kalte Düsenspitze die Einstellehre ganz leicht berührt.
Nun löse ich die Halteschraube der SuperPINDA am Extruder, sodass sich der Sensor hoch und runter schieben lässt.
Ich drücke die SuperPINDA sanft nach unten, bis sie plan auf der Einstellehre aufliegt, und ziehe die Halteschraube wieder fest an.
Damit hat der Sensor wieder den korrekten physischen Abstand zur Düsenspitze. Später muss ich in Klipper natürlich das „Probe Calibration“ (Live-Z bzw. Z-Offset) im Webinterface neu durchführen, aber mit dieser mechanischen Voreinstellung ist ein fataler Crash des Hotends in das Druckbett beim ersten Einschalten physikalisch ausgeschlossen.
Software-Integration: Klipper und das Sensorless Homing anpassen
Mechanisch ist der Drucker nun verbessert. Der Extruder gleitet absolut torsionsfrei und widerstandslos auf der gefetteten MGN12H Schiene. Wenn ich den Drucker jetzt jedoch einschalten und die X-Achse homen (nullen) würde, gäbe es auch hier ein hässliches mechanisches Krachen am linken Endanschlag.
Wie bei der Y-Achse nutzt der Prusa MK3S auch an der X-Achse keine physischen Mikroschalter, sondern „Sensorless Homing“ über die Trinamic TMC2130 Treiber auf dem Einsy-Board. Die Treiber erkennen einen Spannungs-Spike am Schrittmotor, wenn der Schlitten gegen den X-End-Anschlag fährt und blockiert. Da die neue Linearschiene jedoch nur noch einen Bruchteil der Reibung der alten Rundstangen aufweist, ist der alte Schwellenwert (Stallguard Threshold, SGT) in Klipper nun völlig unpassend. Der Schlitten würde hart gegen den Anschlag knallen und weiterrattern, weil der Motor den nun sehr geringen und weichen Widerstand des Anschlags nicht mehr sofort als Blockade erkennt.
Die dynamische Anpassung über das Mainsail Terminal
Ich logge mich in das Mainsail-Webinterface meines Raspberry Pi ein, um den Wert exakt anzupassen. Der langwierige Weg wäre es, den Wert blind in der printer.cfg zu ändern und nach jeder Änderung das gesamte System neu zu starten. Der elegante, professionelle Weg geht live über die Konsole.
Ich fahre den Druckkopf per Hand in die Mitte der X-Achse. Dann gebe ich im Terminal folgenden Befehl ein, um den Stallguard-Wert für den X-Motor temporär zu überschreiben (beim TMC2130 bedeutet ein niedrigerer, also negativerer Wert eine höhere Empfindlichkeit):
Anschließend sende ich den Befehl G28 X, um ausschließlich die X-Achse homen zu lassen. Nun beobachte ich das mechanische Verhalten genau:
Stoppt der Schlitten mitten in der Luft ab und Klipper meldet erfolgreich „gehomed“, war der Wert viel zu empfindlich. Die winzige Restreibung der Schiene hat ausgereicht, um den Sensor vorzeitig auszulösen. Ich muss den Wert verringern, also unempfindlicher machen (z. B. auf 0 oder +5) und es erneut testen.
Fährt der Schlitten an den linken Rand und rattert lautstark gegen das Gehäuse, war der Wert zu unempfindlich. Ich muss ihn weiter absenken, also empfindlicher machen (z. B. auf -15 oder -20).
Mein Tipp: Ermittle diesen SGT-Wert mit viel Geduld. Ein perfekt eingestellter Stallguard-Wert lässt den Druckkopf sanft, elegant und fast geräuschlos den Rand berühren, woraufhin der Motor in derselben Millisekunde abschaltet. Es darf absolut kein Rattern und kein hartes Schlagen auf den Kunststoff zu hören sein.
Die Aktualisierung der printer.cfg
Sobald ich den perfekten Wert ermittelt habe, muss ich ihn dauerhaft in der Konfiguration hinterlegen. Ich öffne die printer.cfg und suche den Block für den TMC2130 Treiber der X-Achse. Gleichzeitig muss ich die maximalen Fahrwege anpassen. Da der neue Linearschlitten in seiner gedruckten Form oft ein paar Millimeter breiter ist als die alten LM8UU-Lager, verringert sich der maximale physikalische Fahrweg der Achse leicht. Ignoriere ich das, knallt der Kopf beim Drucken großer Teile an den rechten Rand.
[tmc2130 stepper_x]
# ... (bestehende Konfiguration für Pins, run_current etc. bleibt völlig unberührt)
# Hier trage ich den eben live ermittelten Wert ein:
driver_SGT: -12
[stepper_x]
# ... (bestehende Konfiguration)
position_endstop: 0
position_min: 0
# Ich reduziere die maximale Position, um harte Crashs beim Drucken zu vermeiden.
# Den genauen Wert ermittle ich, indem ich den Kopf per Hand an den rechten Anschlag schiebe
# und die Position auf dem Mainsail-Display ablese (z.B. 248 statt 250).
position_max: 248
Ich speichere die Datei ab und starte die Klipper-Firmware neu (Save & Restart). Die X-Achse ist damit informationstechnisch und mechanisch vollständig, sauber und sicher in das System integriert.
Ausblick: Die Vorbereitung auf Input Shaping
Nach diesem mechanischen Umbau ist der Prusa MK3S kaum noch wiederzuerkennen. Die Achsen, die das Heizbett und den massiven Direct-Drive-Extruder bewegen, laufen nun absolut spielfrei, hochpräzise, verwindungssteif und extrem leichtgängig auf Industrie-Linearschienen. Ghosting, Ringing und unrunde Kreise, die durch mechanische Torsion und schlechte Lager verursacht wurden, gehören damit endgültig der Vergangenheit an.
Doch diese mechanische Perfektion ist absolut kein Selbstzweck. Sie war lediglich die Grundvoraussetzung für das, was diesen Druckerumbau in eine neue Leistungsklasse katapultieren soll. Eine Linearschiene kann zwar Vibrationen verhindern, die durch mechanisches Spiel und Hebelkräfte entstehen, aber sie kann die reinen physikalischen Trägheitskräfte der bewegten Masse bei extremen Richtungswechseln nicht gänzlich auslöschen.
Genau hier kommt nun das softwareseitige Herzstück von Klipper ins Spiel: Die Resonanzkompensation, besser bekannt als Input Shaping. Im fünften und abschließenden Teil dieser Serie beschreibe ich, wie ich einen ADXL345 Beschleunigungssensor an den Raspberry Pi anschließe, ihn temporär montiere und Klipper damit die physikalischen Resonanzfrequenzen meines Druckers bei verschiedenen Frequenzen messen lasse. Die Software wird die Schrittmotoren danach in Echtzeit so intelligent und vorausschauend ansteuern, dass sich die verbleibenden Vibrationen des Druckers durch phasenverschobene Gegenimpulse selbst auslöschen (Antischall-Prinzip). Erst dann kann man die Beschleunigungswerte bedenkenlos vervielfachen, ohne auch nur die geringsten Einbußen bei der Druckqualität hinnehmen zu müssen. Die Hardware-Basis steht. Als Nächstes gehe ich die Klipper-Software an.
23 Aug. 2026
0 CommentsProjekt Prusa MK3S: Der X-Achse Linearschiene Umbau (Teil 4)
Willkommen zurück zum vierten Teil meines Prusa MK3S Umbauprojekts. Nachdem ich in den vorherigen Beiträgen die elektronische Infrastruktur auf einen Raspberry Pi 3 B+ mit Klipper umgestellt und die Y-Achse erfolgreich auf spielfreie, industrielle Linearführungen umgerüstet habe, widme ich mich heute der nächsten mechanischen Herausforderung. Ich knöpfe mir die Achse vor, die den (schweren) Druckkopf bewegt, maßgeblich für die saubere Schichtung der Wände verantwortlich ist und bei hohen Geschwindigkeiten oft das Nadelöhr darstellt: Die X-Achse.
Wenn man die Beschleunigungswerte, die Ruck-Werte (Jerk bzw. Square Corner Velocity in Klipper) und die reinen Druckgeschwindigkeiten massiv in die Höhe treibt, stößt das klassische Design der Prusa X-Achse schnell an seine physikalischen Grenzen. In diesem Beitrag beschreibe ich, warum das werksseitige System bei High-Speed-Drucken suboptimal ist, wie ich den Prusa MK3S X-Achse Linearschiene Umbau Schritt für Schritt durchführe, wie man fatale Crashs bei der Wiederinbetriebnahme verhindert und die Klipper-Firmware am Ende auf die neue, extrem leichtgängige Mechanik abstimmt.
Inhalt
Die Schwachstelle der originalen X-Achse: Hebelkraft und Torsion
Um zu verstehen, warum dieser radikale Umbau für mein Klipper-Setup so essenziell ist, muss man sich die Baugruppe des Prusa MK3S analytisch ansehen. Der Drucker nutzt einen Direct-Drive-Extruder. Das bedeutet im Klartext: Der vergleichsweise schwere Nema-17-Schrittmotor für den Filamentvorschub, die Bondtech-Zahnräder, das E3D V6 Hotend, der massige Aluminium-Kühlkörper, der Bauteillüfter und der Hotend-Lüfter fahren alle zusammen direkt auf der X-Achse mit. Diese gebündelte Baugruppe bringt ein beträchtliches, asymmetrisch verteiltes Gewicht auf die Waage.
Ab Werk gleitet dieser schwere Druckkopf auf zwei horizontal übereinanderliegenden, 8 Millimeter dicken Stahlrundstangen, geführt von drei LM8UU-Linearlagern (zwei oben, eines unten). Wenn der Drucker nun unter der Steuerung von Klipper mit Geschwindigkeiten jenseits der 150 mm/s druckt und an Ecken abrupte Richtungswechsel ausführt, wirken enorme kinetische Trägheitskräfte auf diesen Aufbau. Da der Schwerpunkt des Extruders weit vor der Mittelachse der Stangen liegt, entsteht eine permanente, dynamische Hebelkraft. Der Druckkopf neigt bei jeder scharfen Beschleunigung und bei jedem harten Abbremsen dazu, sich minimal nach vorne oder hinten um die horizontale Achse zu verwinden. In der Mechanik nennt man das Torsion.
Die drei LM8UU-Lager, die prinzipbedingt nur auf winzigen Punktkontakten laufen, können diese Torsionskräfte nicht vollständig abfangen. Die eigentlich gehärteten Rundstangen biegen sich unter der oszillierenden Last im mikroskopischen Bereich durch. Das Resultat dieser permanente physikalischen Überlastung ist auf den gedruckten Bauteilen sichtbar: Ghosting (also ein störendes Nachschwingen an scharfen Modellkanten oder Bohrungen), unregelmäßige vertikale Layer-Linien und im schlimmsten Fall ein sichtbares, lautes Ruckeln der gesamten Achse bei sehr kurzen, schnellen Infill-Passagen (Zick-Zack-Muster). Zudem graben sich die winzigen Stahlkugeln der Lager durch die permanente Hebelbelastung mit der Zeit asymmetrisch in die untere Rundstange ein, was zu stark erhöhtem Verschleiß und spürbarem Spiel führt.
Die konstruktive Lösung: Die MGN12H Linearschiene
Die eleganteste Lösung für dieses mechanische Problem ist der Wechsel auf eine einzelne, aber überlegene MGN12H Linearschiene. Der industriell genormte Formfaktor MGN12 bietet durch sein eckiges Grundprofil eine enorme Steifigkeit gegen jegliche Durchbiegung. Der dazugehörige Laufwagen (Carriage) im „H“-Format (High, also die längere und belastbarere Version) verfügt in seinem Inneren über zwei separate Kugelumläufe, die die Schiene formschlüssig und beidseitig umgreifen. Diese Konstruktion kann Kräfte aus allen Richtungen – und hier insbesondere die tückische Hebelkraft des nach vorne überhängenden Extruders – spielfrei aufnehmen. Der Druckkopf sitzt nach diesem Umbau buchstäblich wie auf Schienen. Jede abrupte Bewegung des Schrittmotors wird ohne jegliche Torsionsverluste direkt und unmittelbar in eine saubere Positionierung des Hotends umgesetzt.
Vorbereitung: Materialkunde und entspannte Toleranzen
Bevor ich den Drucker stromlos mache und zerlege, drucke ich die neuen Bauteile und bereits sie vor. Für den Umbau der X-Achse drucke ich neue Endstücke (die sogenannten X-Ends, also die Halterungen links und rechts), die auf den Z-Spindeln laufen und die neue Linearschiene fest aufnehmen, sowie einen komplett neuen Trägerschlitten (X-Carriage) für den Extruder. Da ich bei meinem Drucker auch Elemente des Bear-Mods nutze, um die grundlegende Steifigkeit des Rahmens zu erhöhen, greife ich auf modifizierte X-Ends aus der Open-Source-Community zurück, die speziell für Linearschienen optimiert wurden.
Bei der Wahl des Filaments für diese Druckteile kursieren im Netz oft Empfehlungen, die den Einsatz von extremen Hochtemperatur-Materialien wie Polycarbonat (PC) oder ASA fordern. Aus meiner eigenen, langjährigen Praxis kann ich hier aber Entwarnung geben. Ich habe diese mechanischen Teile für den X-Schlitten und die Aufnahmen seit vielen Jahren erfolgreich aus hochwertigem PETG im Einsatz. PETG bietet den perfekten Kompromiss: Es ist leicht zu drucken, besitzt eine hervorragende Layer-Haftung und die Wärmeformbeständigkeit (Heat Deflection Temperature) von etwa 70 bis 80 Grad Celsius reicht für die Abwärme der Schrittmotoren in einem normalen Prusa-Setup völlig aus. PETG neigt nicht zum Brechen, sondern gibt bei extremer Überlastung eher elastisch nach, was bei strukturellen Rahmenteilen durchaus ein Vorteil sein kann.
Ein weiterer Mythos, der in diversen Foren für Verunsicherung sorgt, ist die angebliche Notwendigkeit mikrometergenauer Toleranzen beim Druck der X-Ends für die Z-Achse. Die Realität in der Werkstatt ist hier weitaus entspannter: Da auch der originale Prusa MK3S ab Werk auf 3D-gedruckten PETG-Teilen basiert, sind die typischen Toleranzen eines ordentlich kalibrierten FDM-Druckers für diesen Umbau absolut ausreichend und völlig vernachlässigbar. Man muss sich keine grauen Haare wegen komplexem Materialschwund (Shrinkage) wachsen lassen oder die Modelle im Slicer künstlich vergrößern und skalieren. Drucke die Teile einfach mit Deinem bewährten PETG-Standardprofil. Sie werden passgenau auf die glatten 8mm-Stangen der Z-Achse und über die Messingmuttern gleiten.
Die Demontage
Ich trenne den Drucker vom Stromnetz, ziehe den Kaltgerätestecker und beginne mit der Demontage.
Als Erstes lege ich ein Handtuch oder ein Stück starken Karton auf das Heizbett. Sollte mir gleich ein Werkzeug oder ein Motorteil aus der Hand rutschen, wird das empfindliche PEI-Blech nicht beschädigt. Zuerst schneide ich alle Kabelbinder durch, die den dicken Kabelstrang des Extruders auf der Rückseite des Schlittens fixieren. Danach löse ich die Riemenspannung der X-Achse auf der linken Seite, indem ich die Spannschraube komplett herausdrehe.
Anschließend schraube ich die Rückwand des Extruder-Schlittens ab. Hier muss man besonders behutsam vorgehen. Die Kabel des Thermistors sind extrem fragil. Zieht man hier zu fest oder knickt das Kabel scharf ab, reißt die Verbindung direkt am Glasperlen-Sensor ab und das Hotend ist unbrauchbar. Ich ziehe den kompletten Extruder-Block vorsichtig nach vorne von den beiden Rundstangen ab und lege ihn gesichert und ohne Zug auf den Kabeln auf dem abgedeckten Druckbett ab.
Nun fahre ich die Z-Achse per Hand durch synchrones Drehen der beiden Spindeln etwa in die Mitte. Ich löse die kleinen M3-Schrauben der trapezförmigen Spindelmuttern auf beiden Seiten der Z-Achse (diese Muttern führen die X-Achse auf den Gewindespindeln) und drehe sie nach oben heraus. Jetzt kann ich die komplette X-Achse mitsamt den zwei 8mm Rundstangen, den LM8UU-Lagern und dem X-Schrittmotor einfach nach oben von den Spindeln und den glatten Z-Führungsstangen abziehen. Die alte Mechanik ist damit entfernt.
Der Neuaufbau: Torsionsfreie Montage der Schiene
Der Zusammenbau ist unkompliziert, erfordert aber einen Blick für Symmetrie. Ich setze die originalen trapezförmigen Spindelmuttern in die neuen, gedruckten X-Ends aus PETG ein und verschraube sie leicht. Achtung: Die Schrauben dieser Muttern niemals mit Gewalt festknallen! Sie müssen minimales seitliches Spiel haben, damit kleine Taumelbewegungen der Z-Gewindespindeln (das berüchtigte Z-Wobble) nicht mechanisch in die X-Achse und somit auf das Druckbild übertragen werden.
Nun wird die vorbereitete, leichtgängige MGN12H Linearschiene zwischen den beiden X-Ends montiert. Das Wichtigste hierbei ist, dass die Schiene komplett in die X-Ends eingeschoben ist. Nun kann der Riemen montiert und mittelsn Riemenspanner grob eingestellt werden werden.
Anschließend schraube ich den X-Motor wieder an. Jetzt kommt der kritische Teil: Der Extruder wird an den neuen Schlitten (X-Carriage) montiert, der mit M3-Senkkopfschrauben auf dem Laufwagen der Linearschiene befestigt wurde. Bei diesem Schritt muss man darauf achten, dass die Kabelbäume des Extruders sauber in die vorgesehenen Aussparungen nach hinten weggeführt werden, ohne an den Riemenrädern des X-Motors zu schleifen oder eingeklemmt zu werden.
Dann schiebe ich die neuen X-Ends vorsichtig von oben auf die vertikalen Z-Achsen und drehe über die beiden Gewindespindeln die Z-Achse nach unten.
Die Achillesferse: Riemenführung und Zugentlastung
Es gibt zwei handwerkliche Fehlerquellen beim Umbau der X-Achse auf Linearschienen, die später zu unerklärlichen Maßabweichungen im Druckbild führen:
1. Die Riemenparallelität:
Der Zahnriemen muss auf seinem Weg vom Motorl über den Extruder-Schlitten bis zur kugelgelagerten Umlenkrolle auf der rechten Seite absolut parallel zur Linearschiene verlaufen. Wenn der Riemen am Schlitten auch nur einen Millimeter höher, tiefer oder weiter hinten eingehängt ist als an den Umlenkrollen, entsteht ein geometrisches Dreieck. Das Resultat: Wenn der Druckkopf in die Mitte der Achse fährt, ist der Riemen straff. Fährt er ganz nach außen an den Rand, wird der Riemen plötzlich locker. Diese sich während der Fahrt ständig ändernde Riemenspannung ruiniert die Präzision des Drucks. Kreise werden unrund. Ich prüfe diese Parallelität mit einem Messschieber und korrigiere den Sitz des Motorritzels auf der Welle millimetergenau, bis der Abstand des Riemens zur Schiene auf der gesamten Länge absolut identisch ist. Hier hilft es, das Ritzel leicht zu lösen, so dass es gerade auf der Motorachse nach vorne und hinten rutschen kann und anschließend den Wagen mehrfach hin und her zu bewegen. Damit wird das Ritzel auf der Motorwelle ausgerichtet.
2. Die Zugentlastung der Kabel:
Der dicke Textil-Kabelstrang, der vom fahrenden Extruder hinunter zum Einsy-Board führt, ist starr und schwer. Wenn dieser Strang nicht fest am Extruder-Schlitten fixiert wird (Zugentlastung), überträgt das Kabel bei jeder Bewegung eine Hebelkraft auf den Linearschlitten. Die Linearschiene ist zwar massiv, aber solche asymmetrischen, ziehenden Kräfte erzeugen unnötige Mikrovibrationen. Ich nutze den gedruckten Kabelhalter auf der Rückseite und fixiere den Strang mit Kabelbindern so fest, dass die gesamte Bewegungskraft ausschließlich aus dem Schlitten kommt und das Kabel nur noch passiv mitgezogen wird. Das verhindert auf Dauer auch Kabelbrüche.
Optimierung der Z-Achse: Gleitlager statt Linearschienen
Während ich bei der X- und Y-Achse auf den Umbau auf Linearschienen gesetzt habe, habe ich diesen Gedanken für die Z-Achse schnell wieder verworfen. Die Wege, die die Z-Achse bei einem Druck zurücklegt, sind im Vergleich minimal. Der immense finanzielle und konstruktive Aufwand für Linearschienen steht hier in keinem sinnvollen Verhältnis zum Nutzen.
Dennoch habe ich die Z-Achse im Zuge des Klipper-Upgrades umgestaltet. Mein Ziel war es, die Z-Achse wartungsfreundlicher und reibungsärmer zu gestalten. Klipper erhöht zwar nicht den Weg der Z-Achse, sorgt aber für deutlich schnellere Bewegungen, beispielsweise beim Z-Hop (dem Anheben des Druckkopfes bei Leerfahrten). Um hier die Losbrechkraft zu minimieren und potenziellen Schrittverlusten bei hohen Beschleunigungen vorzubeugen, habe ich das Führungssystem überarbeitet.
Bei meinen anderen Druckern habe ich die LM8UU-Lager durch wartungsfreie Gleitlager IGUS DRYLIN RJ4JP-01-08 ersetzt, die von den Druckteilen des Bear-Mod spielfrei umschlossen werden und seit Jahren problemlos laufen. Für dieses Projekt habe ich mich für ein Upgrade auf die robusteren RJZM-02-08 entschieden. Um die Gleiteigenschaften weiter zu optimieren, habe ich die standardmäßigen Stahl-Rundstangen durch hartanodisierte Aluminiumwellen (Igus AWMP-08) ersetzt.
Sicherlich mag das für den einen oder anderen nach Over-Engineering klingen. Für mich ist es schlichtweg mein Weg, um neue mechanische Lösungen in der Praxis zu testen und Erfahrungen für zukünftige Konstruktionen zu sammeln – hier kommt einfach der Entwickler durch.
Ein Umstieg auf 10-mm-Wellen und entsprechende Lager stand ebenfalls kurz im Raum, hätte aber bedeutet, beide X-Ends komplett neu konstruieren und drucken zu müssen. Angesichts der kurzen Verfahrwege auf der Z-Achse habe ich diese Idee wieder verworfen.
Z-Tramming: Die Achse in die Waagrechte bringen
Da ich die X-Achse komplett demontiert hatte, ist die exakte Synchronisation der beiden Z-Motoren nötig. Die linke Seite der X-Achse steht mit Sicherheit etwas höher oder tiefer als die rechte Seite. Bevor ich an den ersten Druck denke, muss ich die Achse mechanisch „ins Wasser“ bringen (Tramming).
Ich wende hierfür das relative Tramming zum Heizbett an, anstatt die Achse einfach gegen die oberen Anschlagblöcke fahren zu lassen. Ich lege zwei identische Objekte (z. B. zwei exakt gleich dicke Druckteile) ganz außen links und rechts auf das saubere Heizbett. Nun drehe ich die linke und rechte Z-Gewindespindel per Hand langsam nach unten, bis die Linearschiene der X-Achse auf beiden Seiten exakt und sanft auf diesen beiden Referenzblöcken aufliegt. Noch besser geht es mit einem Stück Papier zwischen Düse und den Referenzblöcken. Man bewegt die Z-Gewindespindel so weit nach unten, bis das Papier gerade noch so zwischen Düse und Referenzblock bewegt werden kann. Wenn es ‚kratzt‘ ist es optimal. Diesen Vorgang muss man mehrfach wiederholen, bis beide Seiten exakt auf der selben Höhe sind.
Jetzt steht die X-Achse absolut parallel zum Druckbett. Diese mechanische Basis erspart Klipper später unnötige Ausgleichsberechnungen beim Mesh-Bed-Leveling.
SuperPINDA und Z-Offset neu kalibrieren
Dies ist der Schritt, der beim Umbau am häufigsten vergessen wird und zu den teuersten Schäden führt: Durch den kompletten Abbau und die Neu-Montage des Extruders auf den neuen Trägerschlitten stimmt der Abstand zwischen der Düsenspitze (Nozzle) und der Unterkante des induktiven Sensors (der SuperPINDA) absolut nicht mehr überein. Bei mir schon gleich zweimal nicht, denn ich habe das originale Hotend gegen ein Revo Six getauscht.
Wenn ich den Drucker jetzt starte und einen Auto-Home-Befehl sende, würde der Sensor das Heizbett möglicherweise viel zu spät (oder gar nicht) erkennen. Die Düse würde sich mit der Kraft beider Z-Motoren in das PEI-Stahlblech drücken und das Bett verkratzen. Daher muss die Höhe des Sensors zwingend neu eingestellt werden:
Damit hat der Sensor wieder den korrekten physischen Abstand zur Düsenspitze. Später muss ich in Klipper natürlich das „Probe Calibration“ (Live-Z bzw. Z-Offset) im Webinterface neu durchführen, aber mit dieser mechanischen Voreinstellung ist ein fataler Crash des Hotends in das Druckbett beim ersten Einschalten physikalisch ausgeschlossen.
Software-Integration: Klipper und das Sensorless Homing anpassen
Mechanisch ist der Drucker nun verbessert. Der Extruder gleitet absolut torsionsfrei und widerstandslos auf der gefetteten MGN12H Schiene. Wenn ich den Drucker jetzt jedoch einschalten und die X-Achse homen (nullen) würde, gäbe es auch hier ein hässliches mechanisches Krachen am linken Endanschlag.
Wie bei der Y-Achse nutzt der Prusa MK3S auch an der X-Achse keine physischen Mikroschalter, sondern „Sensorless Homing“ über die Trinamic TMC2130 Treiber auf dem Einsy-Board. Die Treiber erkennen einen Spannungs-Spike am Schrittmotor, wenn der Schlitten gegen den X-End-Anschlag fährt und blockiert. Da die neue Linearschiene jedoch nur noch einen Bruchteil der Reibung der alten Rundstangen aufweist, ist der alte Schwellenwert (Stallguard Threshold, SGT) in Klipper nun völlig unpassend. Der Schlitten würde hart gegen den Anschlag knallen und weiterrattern, weil der Motor den nun sehr geringen und weichen Widerstand des Anschlags nicht mehr sofort als Blockade erkennt.
Die dynamische Anpassung über das Mainsail Terminal
Ich logge mich in das Mainsail-Webinterface meines Raspberry Pi ein, um den Wert exakt anzupassen. Der langwierige Weg wäre es, den Wert blind in der
printer.cfgzu ändern und nach jeder Änderung das gesamte System neu zu starten. Der elegante, professionelle Weg geht live über die Konsole.Ich fahre den Druckkopf per Hand in die Mitte der X-Achse. Dann gebe ich im Terminal folgenden Befehl ein, um den Stallguard-Wert für den X-Motor temporär zu überschreiben (beim TMC2130 bedeutet ein niedrigerer, also negativerer Wert eine höhere Empfindlichkeit):
Anschließend sende ich den Befehl
G28 X, um ausschließlich die X-Achse homen zu lassen. Nun beobachte ich das mechanische Verhalten genau:Die Aktualisierung der printer.cfg
Sobald ich den perfekten Wert ermittelt habe, muss ich ihn dauerhaft in der Konfiguration hinterlegen. Ich öffne die
printer.cfgund suche den Block für den TMC2130 Treiber der X-Achse. Gleichzeitig muss ich die maximalen Fahrwege anpassen. Da der neue Linearschlitten in seiner gedruckten Form oft ein paar Millimeter breiter ist als die alten LM8UU-Lager, verringert sich der maximale physikalische Fahrweg der Achse leicht. Ignoriere ich das, knallt der Kopf beim Drucken großer Teile an den rechten Rand.Ich speichere die Datei ab und starte die Klipper-Firmware neu (Save & Restart). Die X-Achse ist damit informationstechnisch und mechanisch vollständig, sauber und sicher in das System integriert.
Ausblick: Die Vorbereitung auf Input Shaping
Nach diesem mechanischen Umbau ist der Prusa MK3S kaum noch wiederzuerkennen. Die Achsen, die das Heizbett und den massiven Direct-Drive-Extruder bewegen, laufen nun absolut spielfrei, hochpräzise, verwindungssteif und extrem leichtgängig auf Industrie-Linearschienen. Ghosting, Ringing und unrunde Kreise, die durch mechanische Torsion und schlechte Lager verursacht wurden, gehören damit endgültig der Vergangenheit an.
Doch diese mechanische Perfektion ist absolut kein Selbstzweck. Sie war lediglich die Grundvoraussetzung für das, was diesen Druckerumbau in eine neue Leistungsklasse katapultieren soll. Eine Linearschiene kann zwar Vibrationen verhindern, die durch mechanisches Spiel und Hebelkräfte entstehen, aber sie kann die reinen physikalischen Trägheitskräfte der bewegten Masse bei extremen Richtungswechseln nicht gänzlich auslöschen.
Genau hier kommt nun das softwareseitige Herzstück von Klipper ins Spiel: Die Resonanzkompensation, besser bekannt als Input Shaping. Im fünften und abschließenden Teil dieser Serie beschreibe ich, wie ich einen ADXL345 Beschleunigungssensor an den Raspberry Pi anschließe, ihn temporär montiere und Klipper damit die physikalischen Resonanzfrequenzen meines Druckers bei verschiedenen Frequenzen messen lasse. Die Software wird die Schrittmotoren danach in Echtzeit so intelligent und vorausschauend ansteuern, dass sich die verbleibenden Vibrationen des Druckers durch phasenverschobene Gegenimpulse selbst auslöschen (Antischall-Prinzip). Erst dann kann man die Beschleunigungswerte bedenkenlos vervielfachen, ohne auch nur die geringsten Einbußen bei der Druckqualität hinnehmen zu müssen. Die Hardware-Basis steht. Als Nächstes gehe ich die Klipper-Software an.