Drücke „Enter”, um zum Inhalt zu springen.

Temperaturschwankungen beim 3D-Drucker beseitigen

6

Der Geeetech A10 ist ein relativ solider Drucker und von der Bauart sehr nah am Creality Ender 3 angelehnt. Jedoch verwendet Geeetech ein selbst entwickeltes Mainboard. Beim Geeetech A10 handelt es sich um das GT2560 v3.0 (siehe auch https://makerag.de/2019/10/22/wenn-der-3d-drucker-ploetzlich-nicht-mehr-will-gt2560-v3-0-board-reparieren/).

Ich hatte bei diesem Mainboard große Probleme, die Temperatur von Hotend und Bett konstant zu halten. Selbst nach mehrmaligem PID Tuning in Marlin (später mehr) schwankte die Temperatur deutlich und vor allem sprunghaft um den Bereich der Zieltemperatur:

Temperaturverlauf bei 240°C Hotend Temperatur
Zoom auf die Hotendtemeperatur

Diese Temperaturschwankungen wirkten sich besonders beim Druck von ABS negativ auf das Druckbild aus. Ich begann daher nach den Ursachen des Problems zu suchen.

Sowohl der Thermistor als auch die Heizpatrone funktionierten ohne Probleme. Es konnte daher nur am Mainboard des Druckers oder an der Verkabelung liegen. Ich änderte darauf die Verlegeart der der Thermistor-Leitung um eventuelle Signalstörungen durch die Schrittmotoren und die Pulsweiten-Modulation (PWM) des Hotends auszuschließen. Auch das führte leider zu keiner Verbesserung.

Nach einiger Recherche im Netz stieß ich auf ein sehr interessantes YouTube Video von Teaching Tech:

Neben dem bekannten Tipp des PID-Tunings in Marlin, wird in dem Video davon berichtet, dass die 5V-Spannung des darin verwendeten MKS GEN L Mainboards nicht stabil sei. Durch den Einbau eines 1000μF Low-ESR Elkos sollten sich die Temperaturschwankungen beseitigen lassen. In den Video wurde der Elko einfach mit 2-poligen Dupont Buchsensteckern versehen und auf +5V und GND des Boards gesteckt und das Problem war beseitigt.

Leider sind beim Geeetech GT2560 v3.0 die +5V auf keinen freien Stecker des Boards geführt. Nach einer Recherche im Netz nach dem Pinout des GT2560 v3.0 fand ich den Schaltplan des Boards auf der Seite von Geeetech ( https://www.geeetech.com/download.html?version_id=117 ). Darin habe ich den Stecker X4 UART gefunden, welcher mit dem gleichen +5V Potential wie der Analog-Digital-Wandler des Temperatursensors verbunden ist:

Ausschnitt des GT2560 v3.0 Schaltplans. Quelle: Geeetech

Dieser Stecker ist aber leider nicht auf Kontakte geführt:

Der Einbaupunkt für die Steckerleiste

Um eine 5-polige Kontaktleiste einbauen zu können, muss das Mainboard aus dem Gehäuse am Drucker ausgebaut werden. Hierzu markiert man sich am besten zuerst alle Stecker, um spätere Verwechslungen zu vermeiden. Ich habe hierzu einfach Kabelbinder verwendet:

Stecker am GT2560 v3.0 Mainboards mit einem “Testkondensator”

Nachdem man das Mainboard ausgebaut hat, verlötet man die 5-polige Leiste im Board:

Als nächstes wurde der 1000μF Low-ESR Elko mit Kontakten für den Dupont Stecker versehen:

Das hat den Vorteil, dass der Kondensator bei einem Misserfolg einfach abgezogen werden kann.

Bei dem Einbau des Elkos ist darauf zu achten, dass die mit “-” markierte Seite auf den Pin “GND” und die “+” markierte Seite auf die +5V des UART-Steckers gesteckt wird:

Anschließend wird das Board wieder eingebaut und alle Stecker mit dem Board verbunden. Hierbei vergisst man gerne mal die Flachbandleitung des LCD-Displays.

Der erste Test nach dem Einbau des Kondensators sah sehr vielversprechend aus. Die Temperatursprünge waren nun vollständig weg. Es gab lediglich noch Schwankungen, die auf schlechte Parameter des PID-Reglers hindeuteten.

Als nächstes wurde daher ein PID-Tuning durchgeführt. Dazu wechselt man in die Terminal-Ansicht von OctoPrint und startet als erstes den Bauteilkühler für Extruder E0 mit dem Befehl:

M106 E0 S255

Als nächstes startet man den eigentlichen Tuning-Vorgang mit dem Befehl

M303 E0 S205 C10

Mit S205 wird die Zieltemperatur des Extruders E0 eingestellt. Der Wert hinter dem “C” gibt an, wie oft Marlin die Zieltemperatur ansteuern soll. Während des Tunings versucht Marlin die eingestellte Zieltemperatur im Mittel zu erreichen und errechnet dabei die Parameter für P, I, und D des Reglers:

Die endgültigen Werte werden im Anschluss daran im Terminal angezeigt:

Um sie temporär in den Drucker einzustellen, müssen die ermittelten Parametern mit folgendem Befehl festgelegt werden:

M301 E0 P17.83 I2.29 D34.69

Die Parameter befinden sich nun im Arbeitsspeicher des Druckers und können getestet werden. Hierzu heizt man das Hotend auf die gewünschte Endtemperatur auf und untersucht den Temperaturverlauf. Wenn man mit dem Ergebnis zufrieden ist, dann müssen die Werte noch dauerhaft im EEProm des Drucker gespeichert werden. Andernfalls wären die Einstellungen nach dem Aus- und Einschalten wieder verloren. Hierzu verwendet man folgenden Befehl:

M500

  1. Fabian

    Guter Artikel,
    Anstatt die Stiftleiste auf den UART Ausgang zu löten kann man es sich auch leichter machen und den Kondensator in eine der Buchsenleisten der Steppertreiber Stecken. Dafür muss dann nichteinmal ein Stecker montiert werden.

    • André

      Hallo Fabian, das ist ein guter Tipp! Ich wollte mir nur gerne den letzten freien Stepper Anschluss frei lassen um auf Dual Extrusion aufrüsten zu können. Inzwischen hat sich das aber ohnehin erledigt, da ich auf ein SKR 1.3 umgestiegen bin.

  2. Niclas

    Hallo, Super, vielen danke hat mir sehr weitergeholfen dein Beitrag!! Allerdings hat das PID Tuning in Marlin schon ausgereicht.

    Lieben Gruß

    Niclas

  3. Henk

    Sehr guter Artikel. Die Methode mit dem Kondensator funktioniert auch bei meinem Sidewinder X1 👍

    • André

      Hallo Henk, lieben Dank für dein Feedback! Freut uns zu Hören, dass dich der Tipp weitergebracht hat 🙂

  4. Olaf Breuer

    Du bist ganz klar mein Held des Tages! Vielen Dank für die Mühe das hier aufzuschreiben!!!
    Gruss
    Olaf.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert