Because I accumulates while getting to temperature, a plain PID will inherently require going over temperature to reach balance. This is disastrous if you’re cooking proteins sous vide. There are two things you can do to minimize this:
1. Set a temperature threshold for your process variable, under which you bypass your PID loop and max your control variable.
2. Set another temperature threshold for your process variable, over which you go through your PID loop, but zero your control variable.
This is essentially hybridizing a bang/bang control into your PID. #1 prevents I from accumulating until you reach the lower threshold, while #2 minimizes time in overshoot at the upper threshold.
This does require knowing a bit about your system to determine appropriate lower and upper thresholds. In the case of my sous vide build, I calculated the expected temperature change over time given the volume of water and the wattage of my heating element (an old rice cooker), and set the lower threshold 7°F under setpoint, with the upper threshold set at 0°F over setpoint.
Managing a wood or charcoal fire with a plain PID is problematic on multiple fronts.
What’s needed is to provide the exact amount of air to hold the setpoint, given the exact conditions of the fire at any given point. I mentioned that no one P coefficient can manage that, and the solution I came up with is to not rely on one fixed P, but rather, to constantly tune P. In conjunction with a very low I coefficient and a large enough D coefficient to damp sudden changes, I made a system that can hold +/- 1.5°F, torture tested with a fuel mix of charcoal, seasoned wood, green wood and pellets (picture above). Put simply:
1. If it is going to overshoot, dial down P and clear some of the accumulated I offset to avert overshoot.
2. If it’s under temperature and fluctuating, dial up P.
It’s not always so complicated. A scavenged electric heating element has a fixed control variable/output relationship, and Raclette is largely indifferent to temperature fluctuations, since melting cheese can be done at a wide range of temperatures.
If those two conditions are met, then it’s just a matter of picking good PID coefficients.