I inherited a Groove RIO that is controlling an oven.
It is running PID loop that is using TPO (Time Proportional Output) to control the heating elements.
As you can imagine, it is a slow-moving process with a long reaction time. We use ramps to control the heating cycle so I typically start at ambient and slowly ramp the temperature up.
My problem is with the initial behavior of the PID loop. I typically start with a set point well below the oven temperature, so the oven should not heat up at all, but as soon as the process starts, output spikes for no reason. Unfortunately, with the large Kd, it takes a long time for a spike to dissipate so the oven is heating when it should not.
What am I missing here? It looks like the PID algorithm has some bogus initial values that lead to bogus output on the first cycle/scan that generates a bogus output.
Is there a way to calm the PID for the first few cycles and then let it do the job?
Btw, the oven is tuned really well, after the initial hiccup, I can track temperature +/- 0.5C without issues.