Heater Tolerance Configuration
Function Description
verify_heater is used to adjust Klipper's safety detection thresholds for heaters. It is not a configuration to increase heating power but is used to handle false positive issues caused by slow heating, high thermal inertia, or noticeable temperature fluctuations.
- Do not blindly relax detection thresholds to bypass real faults.
- If the heater is not rising in temperature, prioritize checking the heating element, heated bed, MOSFET, power supply, power rating, thermistor wiring, and thermistor model.
- After making changes, you must personally observe a complete heating process to ensure the temperature changes are normal.
Extruder Reference Configuration
[verify_heater extruder]
max_error: 120
check_gain_time: 120
hysteresis: 50
heating_gain: 2
Heated Bed Reference Configuration
[verify_heater heater_bed]
max_error: 120
check_gain_time: 120
hysteresis: 50
heating_gain: 2
In the reference configuration above, check_gain_time: 120 and hysteresis: 50 are relaxed example values, used only to troubleshoot false positives after confirming the hardware is normal. Klipper’s official defaults are: check_gain_time 20 seconds for the extruder / 60 seconds for the heated bed, hysteresis: 5. After eliminating false positives, it is recommended to restore default values to avoid masking real faults.
Parameter Descriptions
Below are Klipper’s official definitions for each parameter of [verify_heater]. Please understand the mechanism before making changes.
max_error
- Default Value:
120 - The maximum "cumulative temperature deviation" before triggering an error. Smaller values result in stricter checks, while larger values allow more time before an error.
- Specifically, the temperature is checked once per second:
- If the temperature is approaching the target, the internal "error counter" resets.
- Otherwise, if the temperature is below the target range, the counter increases by the difference between the reported temperature and the target.
- When the count exceeds
max_error, an error is triggered.
check_gain_time
- Default Value: Extruder
20seconds, Heated Bed60seconds - This parameter controls the check during the initial heating phase. Smaller values result in stricter checks, while larger values allow more time before an error.
- Specifically, during initial heating, as long as the temperature rises within the time slice (in seconds), the error counter is reset.
hysteresis
- Default Value:
5(°C) - The maximum temperature difference (in degrees Celsius) considered to be within the target range. This parameter controls the range detection for
max_error. - Rarely requires customization.
heating_gain
- Default Value:
2(°C) - The minimum temperature rise (in degrees Celsius) required during the
check_gain_timecheck. - Rarely requires customization.
Situations Suitable for Adjustment
- Large heated bed heats up slowly, and hardware is confirmed normal but occasionally triggers
Heater heater_bed not heating at expected rate - High-temperature hot end has large fluctuations near the target temperature, and PID is confirmed calibrated but still occasionally triggers false positives
- Chamber temperature changes cause slower heating curves for the heated bed or hot end
Situations Not Recommended for Adjustment
- Thermistor displays negative values, several hundred degrees, or obvious jumps
- No change in temperature at all when the heater is turned on
- MOSFET, terminal blocks, or power supply show signs of heat, discoloration, or unusual smell
- The configured
sensor_typedoes not match the actual thermistor model
Debugging Recommendations
- First, perform PID calibration and save the configuration.
- Observe a complete heating curve from a cold start.
- Only add
[verify_heater]for the heater that triggers false positives; do not change multiple at once. - Modify one parameter at a time and record the performance before and after.
Common PID calibration commands:
PID_CALIBRATE HEATER=extruder TARGET=245
PID_CALIBRATE HEATER=heater_bed TARGET=100
SAVE_CONFIG