PID Graph

Calibrating PID

Part 2 of getting starting with Klipper is setting up your PID settings for your Hotend and Bed. This is important to do so you can regulate temps more consistently and get a much smoother printer. You should do this whenever you change a nozzle, major part, go from say PLA to PETG. The guide below will be assuming you are using PLA and using a Ender type printer but if you are using something else just calibrate against those temps.

PID Graph
PID Graph

Step 1, Home your printer with G28
Step 2, Move to center of print bed with G1 X110 Y110 Z5 or whatever works for your bed
Step 3, PID BED with the following command: PID_CALIBRATE HEATER=heater_bed TARGET=60

This will take a few minutes, and you will see some info come in console. No worries let the process complete.

Step 4, Turn on parts cooling fan. Since you are printing PLA make sure the fan is on 100% with the following command: M106 S<value>
Step 5, PID the heater with: PID_CALIBRATE HEATER=extruder TARGET=205

This step, like the bed step will take a few minutes.

Step 5, Turn off heaters with this command: TURN_OFF_HEATERS

Once this completes save this data to your config with: SAVE_CONFIG

And thats it! With these few commands you were able to calibrate your heaters which should give you much better bed adhesion and smoother prints. Hopefully this was helpful for you!

PID Command Summary

G28
G1 X110 Y110 Z5
PID_CALIBRATE HEATER=heater_bed TARGET=60
M106 S255
PID_CALIBRATE HEATER=extruder TARGET=205
TURN_OFF_HEATERS
SAVE_CONFIG

PID Macro

[gcode_macro PID_HEATERS]
description: PID Tune for both Heaters, sample call: PID_HEATERS BED_TEMP=60 EXTUDER_TEMP=205
gcode:
   {% set BED_TEMP = params.BED_TEMP|default(60)|float %} 
   {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(205)|float %}
   G28
   G1 X110 Y110 Z5
   PID_CALIBRATE HEATER=heater_bed TARGET={BED_TEMP}
   M106  # Turn up parts cooling fan
   PID_CALIBRATE HEATER=extruder TARGET={EXTRUDER_TEMP}
   TURN_OFF_HEATERS
   SAVE_CONFIG