PID tuning

From SoliWiki
Jump to: navigation, search

Contents

Unstable temperature of the hot end can cause thermal banding. Repetier-Host offers a Temperature Curve chart during printing where you can monitor your extruder temperature during the print. If you notice temperature swings greater then a a few degrees while printing then calibrate your heating settings with this PID tuning procedure.

It is a good idea to do this process if you change your printers location, change the build environment (remove case/add case) or if there are ambient temperature changes in the room of your Solidoodle.

[edit] Autotuning

The Marlin firmware provides us with ways to autotune our hotends quickly and easily. Autotuning your Solidoodle's hotend is a very easy procedure and is a recommened calibration step by the community.

[edit] Manual GCode procedure

We can autotune our PID, write those values to the printer and have it save those values by issuing Gcode commands.

Before starting our autotune process, it is helpful to have your environment as close to it will be during your printing. So you might want to pre-heat your extruder to the desired temp for a few minutes before we start this process. Be careful and do not walk away, as leaving your extruder turned on and idle for over 10 minutes can clog your nozzle.

To start the autotune process we will use the Manual Control tab, in the box labeled G-Code (Important: All letters in Gcode need to be CAPITALIZED):

M303 S200 C5

Note: Replace 200 with whatever value you want to run your extruder at.

This will autotune the hotend at 200 degrees C for 5 cycles, when it finishes it will print out the PID numbers in the bottom of your screen.

bias: 92 d: 92 min: 196.56 max: 203.75
Ku: 32.59 Tu: 54.92
Clasic PID
Kp: 19.56
Ki: 0.71
Kd: 134.26
PID Autotune finished ! Place the Kp, Ki and Kd constants in the configuration.h

After it is finished we will be using the last Kp Ki Kd values. If your printer starts echoing back some errors like this:

Error:checksum mismatch, Last Line:89
Resend:90

Write down your Kp, Ki, Kd values, disconnect your software from the printer, unplug and plug your printer back in and reconnect to the printer.

We will now send a gcode command to update our PID values. Replace the x's with the Kp, Ki, Kd values from the autotune.

M301 Pxx.xx Ix.xx Dxxx.xx

So from the above sample output, the command would be:

M301 P19.56 I0.71 D134.26

Now we need to save these values to the printer. To do this, issue the following Gcode command:

M500

If you would like to verify that your values are saved then disconnect your software from the printer, unplug and plug your printer back in and reconnect to the printer. When the printer reconnects it will echo its saved values back to your software and you should see lines that match the new inputted settings.

PID Settings:
   M301 P19.56 I0.71 D134.26

[edit] Repetier-Host EEPROM Procedure

To start the autotune process we will use the same command as above:

M303 S200 C5


This will autotune the hotend at 200 degrees C for 5 cycles, when it finishes it will print out the PID numbers in the bottom of your screen you type these number into the settings in repetier under Config menu - Firmware EEPROM settings.

Repetier-Host EEPROM Settings
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox