PID settings help!

Good afternoon!

My PID tuning in the old software was pretty good, however since BrewBlox, I just can’t get it right. When I increase my P, it result in a overshoot due to the integral being dependant on Kp. I think my fridge might be underpowered? Giving P more time would at least prevent such an overshoot by the integral. I added charts of the temps and PID, anything else that would be useful?

Thanks for the help.graph-Ferment Graph-spark-one-downsample_10m (1).csv (36.3 KB) graph-PID-spark-one-downsample_6h.csv (33.2 KB)

Can you share the charts as images instead?
The time period of the dashboard is too long to say anything meaningful. I’d like to see 2 or 3 cooling cycles.

Your Ti is probably much too short. It is set to 1 hour. That’s the normal response time of the fridge, not anything close to long term/steady state.

Higher Kp might actually help here, because if the output is at 100%, integral anti-windup is active. You should use the integral time constant Ti to tune the integral.
6h sounds reasonable, that means that it takes 6 hours for the I part to grow to the same value as P.

With Ti at 1h, you are not giving the proportional part a change to correct the error. You are growing the integral part too quickly, before the pyhical reality even has time to react.

Thanks for taking the time Elco.
I have set Kp 50 for cooling and heating, which were 20 and 30 respectively.
Ti increased to 6h for both.

These fluctuations were occuring during the beginning of the fermentation so that would be a challenge anyway. Now fermentation has cooled down somewhat I am seeing stabilisation.

Thanks again for checking it out.

Definitely your integrator growing much too fast. Larger Ti will help.

If you think you’ll never cool at 100% power, you can also set a maximum on the pwm block. When clipped to max, integral antiwindup will occur.

But in general, set Kp high enough to not use the integrator to reach the setpoint. It’s for correcting small errors after the step.