IDEAS PID Tuning

Discussion in 'Guides, Mods, and Upgrades' started by Spoon Unit, Mar 11, 2016.

  1. Miasmictruth

    Miasmictruth Well-Known Member

    Joined:
    Sep 4, 2015
    Messages:
    804
    Likes Received:
    118
    Great info guys, thanks for sharing!
     
  2. Bluemalu

    Bluemalu Well-Known Member

    Joined:
    Mar 17, 2014
    Messages:
    95
    Likes Received:
    6
    I am struggling to get the PID tuning to be as flat as possible for both extruders. I've no issue in running the PID checking and saving the values (T0 is within +/- 1 degree) but T1 is +/- 3 degrees and isn't stable enough for the software to accept it's within rang and holds at "heating" stage.

    Alex, did you ever implement the 2nd extruder (T1) PID settings, I'm using your latest firmware for Dual Bigbox, the HEX so I can't check the configuration.h. Also, checking through your S3D scripts the other solution hasn't been implemented.

    I can work either way round, just don't want to implement a method and have to change it each time I update the software / firmware.

    A final question, would having 40W heaters rather than the 30W Kickstarter ones make any difference, the other printer I use is a SpiderBot and it's temperature is steady as a rock.
     
  3. Tom De Bie

    Tom De Bie Well-Known Member

    Joined:
    May 7, 2016
    Messages:
    191
    Likes Received:
    35
    Could it be that your fan (not the fans on the hotends themself) is misaligned? Causing the T1 to cool much more rapidly?
    Do you have two v6 hotends?
     
  4. Alex9779

    Alex9779 Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    2,411
    Likes Received:
    735
    Nope, I saw no point because my two extruders report about the same values when doing autotune...

    At the moment I'd prefer you to add it in the script. maybe I will add it to mine, to set the PID on a tool change because firstly I haven't tested the option in Marlin yet, and i want to keep it as simple as possible. So if I activate it then you MUST set both this might be overkill for a lot of people...

    Nope, I asked the same E3D support when ordering some for completing the Volcano hotends and the answer was the RUMBA can handle this...
     
    mike01hu likes this.
  5. Bluemalu

    Bluemalu Well-Known Member

    Joined:
    Mar 17, 2014
    Messages:
    95
    Likes Received:
    6
    For this testing, the part cooling fans weren't running (just to avoid another variable).

    Read up more on the subject and removed the #define PID_PARAMS_PER_EXTRUDER in the Marlin configuration.h and then compiled and used the new hex file. At first I thought it wasn't doing anything as both the EEPROM reader and PID tuning plugins from within Octoprint reported same values for each head, however, when I went directly to terminal and input

    #M301 E0
    #M301 E1

    The values I had applied and saved were different, only mistake was I hadn't changed my test temperature for E1 to 210 from calibrating the bed.

    I'll keep printing and testing but I believe enabling the code within Marlin will be a better solution as the basic definitions will cover 99% of the people without extra scripts within S3D and also, all of the websites for tuning PID's via terminal will be correct.
     
    Tom De Bie likes this.
  6. Tom De Bie

    Tom De Bie Well-Known Member

    Joined:
    May 7, 2016
    Messages:
    191
    Likes Received:
    35
    Cool! Didn't even knew that you could pid tune both hotends. Thanks for the heads up
     
  7. Alex9779

    Alex9779 Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    2,411
    Likes Received:
    735
    You cannot out of the box, you have to activate it and the compile Marlin yourself...
     
  8. Tom De Bie

    Tom De Bie Well-Known Member

    Joined:
    May 7, 2016
    Messages:
    191
    Likes Received:
    35
    Ok, but that's not that hard. I've been messng arround with arduino the last 6 years. Installing the IDE is the first thing I do when installing a new computer ;)
     
  9. Bluemalu

    Bluemalu Well-Known Member

    Joined:
    Mar 17, 2014
    Messages:
    95
    Likes Received:
    6
    Once #define PID_PARAMS_PER_EXTRUDER in the Marlin configuration.h and the new firmware loaded. Using terminal on Octoprint type in and run:-

    M303 E0 S210 C8
    Write down the final PID values for Extruder 0
    M303 E1 S210 C8
    Write down the final PID values for Extruder 1

    Where M303 is the autotune command, E0 / E1 for extuder, S is Temperature and C is the number of cycles.

    Then using M301 to load the values:

    M301 E0 P28.28 I2.46 D81.31
    M301 E0 to confirm they are correct
    M301 E1 P21.49 I1.32 D87.68
    M301 E1 to confirm they are correct

    Once you are happy.

    M500

    This saves the values to the EEPROM, just be aware they "may" be overwritten when you load some new firmware.
     
  10. Tom De Bie

    Tom De Bie Well-Known Member

    Joined:
    May 7, 2016
    Messages:
    191
    Likes Received:
    35
    Thanks for the explenation ;)

    Actually the EEPROM doesn't get overwritten by reprogramming your board, but it can be that the location where the EEPROM stores it's vallue's changes with a new version of firmware.
    There's actually a script(sketch) in the Arduino IDE which when uploaded to the board erases the EEPROM. So if in any doubt use that before uploading a new Marlin firmware.
    I try to use the EEPROM as little as possible and change the files (configuration.h and consorts) in the IDE and then upload again. Much cleaner and afterwards when upgrading to a new version I just have to check the old configuration.h file to see the settings. Something much more difficult when storing everything in EEPROM
     
  11. jet

    jet Well-Known Member

    Joined:
    Mar 29, 2016
    Messages:
    205
    Likes Received:
    21
    fyi, I'm using 1.1.0-RC6 and the fans come on during autotune.
     
  12. Bluemalu

    Bluemalu Well-Known Member

    Joined:
    Mar 17, 2014
    Messages:
    95
    Likes Received:
    6
    The author of PIDTune has updated his software to allow those with Dual and selected

    #define PID_PARAMS_PER_EXTRUDER

    in configuration.h to allow each extruder having it's own PID settings. I used it as my extruder PID settings were markedly different, it turned out to be a loose heater in the block, shimmed with some aluminium foil.
     
    PsyVision likes this.

Share This Page