PID Tuning – konstante Temperaturen sind wichtig!
Werbung

Während dem Druck sollten eure Temperaturen im Idealfall durchgehend gleich sein, und nicht immerwieder unter den SOLL-Wert fallen oder sogar darüber ansteigen. Solltet ihr genau dieses Problem haben (ständige Schwankungen der Temperatur) lest ihr hier genau richtig! Wir zeigen euch wie PID Tuning in Skynet3D (Marlin) funktioniert.

Zunächst ein kurzer Satz zum Hintergrund: Die Firmware hat hierfür einen Standardwert hinterlegt. Allerdings hat jedes Bauteil seine eigenen Wärmekapazitäten, das eine speichert besser, das andere schlechter die Wärme. Die einen Drucken mit Glas auf dem Heizbett, die anderen nur mit Tape. All das sind Faktoren die eure Temperaturen zum Schwanken bringen können. Gerade bei einem Drucker aus China kann es gerne mal zu Abweichungen kommen, die Qualitätskontrolle in China ist eben eine andere (keine).

Um die Temperatur zu erreichen arbeitet die Firmware eures Druckers nicht mit einer einfachen Zweipunktregelung (heizen und nicht heizen), sondern rechnet im Hintergrund. Um unter anderen Konditionen genau diese Berechnung abzunehmen, gibt es in der Firmware das sogenannte PID-Tuning.

Hier werden in unserem Beispiel insgesamt 8 Messzyklen für das entsprechende Bauteil (Extruder oder Heizbett) gestartet um die entsprechenden PID Werte mathematisch zu ermitteln.

PID Tuning Extruder

Um die PID Werte für den Extruder zu ermitteln, müssen in Octoprint (Terminal) oder in Pronterface folgende Befehle abgerufen werden:

M106 (startet den Lüfter auf 100%)
M303 E-0 S230 C8 (wählt das PID Tuning, wählt Extruder 0, Zieltemperatur 230 Grad und 8 Messzyklen)

nun wartet ihr einen kurzen Moment, bis in eurer Konsole eine Meldung wie diese erscheint:

bias: 91 d: 91 min: 206.48 max: 213.59
Ku: 32.59 Tu: 26.48
Classic PID
Kp: 19.56
Ki: 1.48
Kd: 64.72

Diese Werte werden nun in folgende Befehlszeile übernommen:

M301 P19.56 I1.48 D64.72
M500 zum speichern

natürlich gibt es dafür auch die Möglichkeit, dies direkt in der Firmware zu hinterlegen (Configuration.h):

#define  DEFAULT_Kp 19.56
#define  DEFAULT_Ki 1.48
#define  DEFAULT_Kd 64.72
PID Tuning Hot Bed / Heizbett

Die selbe Möglichkeit habt ihr auch beim Heizbett, allerdings muss das PID Tuning dafür in Skynet3D vorher aktiviert werden indem ihr in der Configuration.h nach folgender Zeile sucht:

//#define PIDTEMPBED
#define BED_LIMIT_SWITCHING
und sie entsprechend unserem Vorhaben abändert:
#define PIDTEMPBED
//#define BED_LIMIT_SWITCHING

Ist das geschehen, gilt wieder die selbe Vorgehensweise mit diesem Befehl:

M303 E-1 S60 C8 (wählt das PID Tuning, wählt Heizbett 1, Zieltemperatur 60 Grad und 8 Messzyklen)
danach erhaltet ihr nachdem die 8 Messzyklen beendet sind eine Ausgabe ähnlich dieser
 bias: 50 d: 50 min: 52.97 max: 53.13
 Ku: 814.87 Tu: 11.80
 Classic PID
 Kp: 488.92
 Ki: 82.89
 Kd: 720.98
Hier auch wieder wie oben vorgehen, also die ausgegebenen Werte entsprechend übernehmen.
Achtet aber darauf dass die Werte mit dem folgenden Befehl eingegeben werden müssen:
M304 P488.92 I82.89 D720.98

M500 um die Werte zu speichern.
Wenn ihr auch diese Werte direkt in der Firmware hinterlegen möchtet, gilt folgendes:
#define  DEFAULT_bedKp 488.92
#define  DEFAULT_bedKi 82.89
#define  DEFAULT_bedKd 720.98
Wenn ihr dann alles richtig gemacht habt, sollte eure Temperaturkurve so aussehen (das Heizbett im Screenshot ist so eingestellt dass es ab Layer 5 auf nur noch 55 Grad heizt)

PID Tuning Marlin

Startseite Foren PID Tuning – konstante Temperaturen sind wichtig!

Dieses Thema enthält 15 Antworten und 5 Teilnehmer. Es wurde zuletzt aktualisiert von  t0bse vor 9 Monate, 2 Wochen.

Login Registrieren
  • Autor
    Beiträge
  • #1079 Antwort

    t0bse
    Keymaster

    Während dem Druck sollten eure Temperaturen im Idealfall durchgehend gleich sein, und nicht immerwieder unter den SOLL-Wert fallen oder sogar darüber
    [See the full post at: http://plastikjunkies.de/pid-tuning-konstante-temperaturen-fuer-extruder-und-heizbett/]

  • #1080 Antwort

    Markus

    M303 P1 S60 c8
    für das Heizbett
    wenn man ohne Skynet3D arbeiten will =)

  • #1081 Antwort

    Markus

    geht doch nicht sry

  • #1567 Antwort

    Martin

    Vielen Dank für diese Anleitung! War sehr gut nachzuvollziehen und auch sehr hilfreich. Jetzt schwanken meine Temperaturen nicht mehr, vorher waren es so roundabout 3 Grad.

  • #1869 Antwort

    Bardo
    Teilnehmer

    Seit dem PID tuning habe ich die fehlermeldung: Heating failed printer halted.

    Das Heatbed habe ich noch nicht bearbeitet. macht aber auch den fehler.

    Kann das eine Ursache sein oder sollte ich wo anderst nach der Fehlerursache suchen. Heute nachmittag setzt ich mich dran und check nochmal alles. Wäre toll wenn es so ne Fehlerliste gäbe 🙂 die man abarbeiten kann, das man auch nix aus lässt.

    • Diese Antwort wurde geändert vor 1 Jahr, 8 Monate von  Bardo.
    • #1871 Antwort

      t0bse
      Keymaster

      mit welcher firmware arbeitest du? hast du vielleicht die beiden befehle verwechselt? also die PID werte für das hotend für das bed eingespielt?

    • #1873 Antwort

      Bardo
      Teilnehmer

      Hi, nein habe ja nur nach anleitung den ersten PID gemacht für das Hotend.

      Fehler ist aber gefunden. Mein Mosfet is kaputt. hab den nun abgeklemmt und alles original verkabelt… drucker läuft.

      muss den Mosfet mal testen jemand ahnung was ich wo testen und welche messwerte ich haben muss?

      Firmware is Skynet 2.3.1

      • Diese Antwort wurde geändert vor 1 Jahr, 8 Monate von  Bardo.
  • #1943 Antwort

    Jörg
    Teilnehmer

    Hallo,nach dem ich das Tunning gemacht habe bekomme ich jetzt ein Error von Pronterface angezeigt…an was könnte das liegen?

    gruß Jörg

    Connecting…
    start
    Printer is now online.
    echo: External Reset
    Marlin SkyNet3D-v2.3.1
    echo: Last Updated: 2017-01-05 12:00 | Author: (none, default config)
    Compiled: Jun 21 2017
    echo: Free Memory: 11865 PlannerBufferBytes: 1232
    Error:EEPROM checksum mismatch
    [ERROR] Error:EEPROM checksum mismatch

    echo:Hardcoded Default Settings Loaded
    echo:Steps per unit:
    echo: M92 X99.39 Y98.72 Z400.32 E95.00
    echo:Maximum feedrates (mm/s):
    echo: M203 X400.00 Y400.00 Z8.00 E50.00
    echo:Maximum Acceleration (mm/s2):
    echo: M201 X2000 Y2000 Z100 E10000
    echo:Accelerations: P=printing, R=retract and T=travel
    echo: M204 P650.00 R1000.00 T1000.00
    echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
    echo: M205 S0.00 T0.00 B20000 X20.00 Y20.00 Z0.40 E5.00
    echo:Home offset (mm)
    echo: M206 X0.00 Y0.00 Z0.00
    echo:Material heatup parameters:
    echo: M145 S0 H190 B60 F0
    M145 S1 H240 B90 F0
    echo:PID settings:
    echo: M301 P29.02 I3.20 D65.74
    echo: M304 P390.86 I54.09 D706.04
    echo:Filament settings: Disabled
    echo: M200 D3.00
    echo: M200 D0
    echo:SD card ok

    • #1950 Antwort

      Xploder270

      @ Jörg: Durch das Aktivieren von PIDBEDTEMP hat sich das Layout der gespeicherten Daten im EEPROM geändert. Du musst die Firmware-Daten einmal im EEPROM abspeichern. Das macht man im Menü Control mit „Initialize EEPROM“ oder alternativ „Load failsafe“ und danach „Store Memory“ oder M502 und M500.

      Danach deine Settings wiederherstellen.

  • #1994 Antwort

    Jörg
    Teilnehmer

    Hallo,

    ich Übertrage die änderrungen doch schon mit Ardunio ins EEprom….sprich er speichert das doch dann,bzw.

    Ardunio lädt es dann ins EEprom…oder ist das dann noch nicht gespeichert?Stehe da irgendwie auf dem Schlauch.

    Oder muss ich das am Display machen?Da steht allerding nichts von Load failsafe!

     

    Gruß Jörg

  • #2491 Antwort

    q5camp
    Teilnehmer

    Hallo!

    In der Regel ist Temperatur bei meinem Wanhao 5smini (Merlin Firmware) OK. Aber ich Drucke jetzt eine Bahnsteigplatte für Modelleisenbahn. Diese ist teilweise hohl. Beim Bridging über diesen hohlen Teil kommt es immer wieder an ungefähr der gleichen Stelle (ca. letztes drittel) zu einem „Thermal Runway“. Ich vermute, daß der Lüfter bis zu diesem Zeitpunkt viel kühle Luft in den Hohlraum geblasen hat und dies an der Stelle dann zu einer zu starken, zu langen Abkühlung des Hotend führt.

    Weiß jemand rat?

    • #2492 Antwort

      t0bse
      Keymaster

      ich hatte ein ähnliches problem, bis ich darauf kam dass es daran lag, dass mein thermistor am hot end nicht richtig fest war und bei bestimmten bewegungen (schnelle kurze bewegungen) nicht mehr richtig gemessen hat. dadurch war die temperatur dann zu niedrig und es kam zum thermal runaway. vielleicht hilft dir das?

  • #2495 Antwort

    q5camp
    Teilnehmer

    Das habe ich gestern schon alles kontrolliert. Hardwaremäßig alles OK. Es passiert ja auch immer ungefähr an der gleichen Stelle.

  • #3190 Antwort

    Jensg

    Kann das sein das die Mosfets für P.I.D. nicht ausgelegt sind? Hat jemand Erfahrungen?

  • #4394 Antwort

    Martin

    Gibt es eine Möglichkeit die Hotendtemperatur an die Geschwindigkeit anzupassen? Wenn ich sehr schnell drucke muss ich sonst von Hand nachstellen.

    • #4395 Antwort

      t0bse
      Keymaster

      wie meinst du das? wenn dein hotend 200 grad hat behält es die doch auch, unabhängig von der druckgeschwindigkeit?

Login Registrieren
Antwort auf: PID Tuning – konstante Temperaturen sind wichtig!
Deine Information: