Diagram from Wikipedia entry: PID Controller
The default tuning parameters in the controller sketch are average values from a few different models of rice cooker. But there will be variations even between two cookers of the same model from the same manufacturer.
The Auto tuning function of the sketch can determine 'ballpark' parameters for your cooker. You can refine the tuning from there.
To use the Autotune function, first let the cooker pre-heat and reach setpoint temperature. Auto-tuning works best if the system is already at a steady-state. The "Run" state will not allow you to invoke the auto-tuner, unless you are already within 0.5 degrees of the setpoint temperature.
Once the cooker has stabilized at or near the setpoint, press the RIGHT
buttons simultaneously. The backlight will turn violet to indicate that you are in autotune mode.
Be patient while the system tunes itself. It typically will take an hour or more for the auto-tune algorithm to complete. When the auto-tuning is complete, the backlight will return to the normal operating color scheme. The auto-tuned parameters will be saved to EEPROM, so they are ready for the next time you use it.
Last updated on 2015-05-04 at 05.25.27 PM
Published on 2013-06-10 at 04.55.55 PM
As mentioned before, auto-tuning is not perfect. With some practice you can probably get closer to the ideal tuning for your cooker. There are many good resources on the web that explain PID tuning. Here are just a couple:PID Controller Tuning: A Short Tutorial Simple PID tuning rules
To tune the Kp, Ki and Kd parameters, use the RIGHT button to navigate between the tuning screens. The UP and DOWN buttons will change the value. Pressing SELECT while also pressing UP or DOWN will change the value 10x faster.
Manual Tuning Hint
One thing to be aware of is that the temperature control on a rice cooker is non-linear
. You can apply heat, but there is no active cooling. As a result, most rice cookers take a long time to recover from a temperature overshoot
. For this reason, it is usually better to aim for a slightly overdamped
response to avoid overshoot.