Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Adventures in PID Tuning - Judging how much to change a setting?

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    3
    388
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B0M0A0Kundefined
      B0M0A0K
      last edited by B0M0A0K

      I am struggling to get my extruder to behave itself with regards to temperature overshoot.

      If I issue M502 (to reset back to factory) and then manually set the target temp to 190 Degrees, the extruder heat's up to 201.1 Degrees, 11.1 degrees over the target 190 and then it will drop down to 188 and then back up over the 190 target for a while before dropping back.

      I have cleared any M307 H1 settings from config-override.g, made sure I am tuning from room temperature and then run PID Auto-tune with the following;

      M303 H1 S190 C8

      Once auto-tune finishes I perform M307 H1 to see the new results and then manually rerun the 190 Degree test to see how the extruder temp behaves.

      The results from auto-tune are as follows;

      Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 481C.
      Auto tune heater 1 completed in 283 sec
      Use M307 H1 to see the result, or M500 to save the result in config-override.g

      M307 H1
      Heater 1 model: gain 456.7, time constant 184.9, dead time 8.9, max PWM 1.00, calibration voltage 12.4, mode PID, inverted no, frequency default
      Computed PID parameters for setpoint change: P8.1, I0.201, D50.6
      Computed PID parameters for load change: P8.1,

      After auto-tune it overshoots by around 5 Degrees and then drops down below 190 by about 2 Degrees.

      dc42 has stated elsewhere in the forums;

      " If the temperature oscillates around the target value, increase the dead time (D) parameter. It it's slow to respond to changes in the environment (e.g. the print cooling fan turning on), you can try reducing the D parameter.

      If the temperature overshoots, increase the gain (A parameter). If it undershoots, reduce the A parameter."

      I go ahead and enter the following in config.g on the understanding that I can tweak the settings to get a result closer to stable once it's in place;

      M307 H1 A456.7 C184.9 D8.9 S1.0 V12.4 B0

      I also remember to add M501 to the end of the config.g file.

      According to the guidance I should be raising the gain in order to compensate for overshoot. But I have tried that without much success.

      So my question is this.

      When adjusting the gain should I be making small or large changes in order to see a beneficial reaction from the extruder temperature?

      The heaters section of my config.g look like this;

      ; Heaters
      ; Bed [H0 - Heater 0]
      M143 H0 S70 ; Set temperature limit for heater 0 to 70C
      M305 P0 T100000 B3988 R4700 ; Set thermistor + ADC parameters for heater 0
      M307 H0 A114.0 C410.3 D2.7 S1.0 V12.3 B0 ; PID Auto-tune Values for Bed [H0]

      ; Extruder [H1 - Heater 1]
      M143 H1 S245 ; Set temperature limit for heater 1 to 245C
      M305 P1 T100000 B3988 R4700 ; Set thermistor + ADC parameters for heater 1
      M307 H1 A456.7 C184.9 D8.9 S1.00 V12.4 B0 ; PID auto-tune Values for Extruder [H1]

      ----------------------------------------------
      No fate but what we make ....
      Phaedruxundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator @B0M0A0K
        last edited by

        @b0m0a0k said in Adventures in PID Tuning - Judging how much to change a setting?:

        I go ahead and enter the following in config.g on the understanding that I can tweak the settings to get a result closer to stable once it's in place;
        M307 H1 A456.7 C184.9 D8.9 S1.0 V12.4 B0
        I also remember to add M501 to the end of the config.g file.

        Are you also issuing M500 to save the settings to config-override? If you manually enter them into config.g but don't have them saved to config-override, that M501 at the end will load the defaults again.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators @B0M0A0K
          last edited by dc42

          @b0m0a0k said in Adventures in PID Tuning - Judging how much to change a setting?:

          I go ahead and enter the following in config.g on the understanding that I can tweak the settings to get a result closer to stable once it's in place;
          M307 H1 A456.7 C184.9 D8.9 S1.0 V12.4 B0
          I also remember to add M501 to the end of the config.g file.

          Read the instructions. Either edit the M301 command in config.g and make sure you don't have M501 at the end of config.g, or send M500 after auto tuning to generate the M307 command and write it to config-override.g, and make sure you do have M501 at the end of config.g.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Unless otherwise noted, all forum content is licensed under CC-BY-SA