Skip to content

PID Tuning

Tobias edited this page Jun 13, 2020 · 1 revision

Tunings instructions

This step is optional: To my knowledge no tuning is required because all important settings are auto-tuned after a few  
runs (<10) and test shows that the PID then produces steady < 0.1 degree variance to the setpoint within 600sec of  
power-up (independent of the espresso hardware).

If you still want to tune the PID or understand what is happing, you have to to

  1. Enable debug mode and have a look at the logs

OLD description:

  1. Validate STARTTEMP is correctly set:
    • As long as there are "Auto-Tune starttemp .*" logs the auto-tuning is still calibrating. Dont be overly concerned for changes <=0.3 degree. This might be totally normal because of climate changes in the room.
    • The auto-tuning goal is to adapt "StartTemp" that upon reaching "state 3" the temperature is at most 0.5 Celcius below setPoint.
      • Logline when state 3 is reached: "** End of stabilizing. Transition to step 3 (normal mode)".
    • Loglines like "StartTemp" too high: "Disabled steadyPowerOffset because its too large or starttemp too high" are a bad sign and should never occur after tuning, because this will delay reaching state3 for up to 2 additonal minutes.
    • Loglines like "brewReady (stable last 60 secs. Tuning took XX secs)" tell you how many seconds it took to reach the setPoint.
  2. After previous step is completed, validate steadyPowerOffset and steadyPowerOffsetTime.
    • When the maschine's metal is cold additional heat is lost. By configuring an additional power to the heater (steadyPowerOffset in percent) for steadyPowerOffsetTime seconds (counting from power-on) you can compensate this.
    • When "Attention: steadyPowerOffset is probably too high (%0.2f -= %0.2f) (moving up at setPoint)" is reported even after many runs (this garantees auto-tuning is stable), then steadyPowerOffset probably should be decreased in userConfig.h by 0.1 Celcius.
    • When the maschine is cold started, the previous steps are correctly configured and after reaching "state 3" the temperature is still falling steadily over a longer time (>30seconds), you probably should increase steadyPowerOffset by 0.1 Celcius steps.
  3. All other values should not be changed. If you you want to improve calibration logic the debug log is very helpful. You can also ask me for assistance.