Currently I’m using the defaults and the brewpi is is fridge mode with a temp of 19.4c. I only have a heater and fan in the fridge. After primary fermentation completed the ± temperatures have increased. I can see the heater continues to heat way after temperature is reached.
The fridge responds pretty slowly to the heater, so I think what is happening is that the integrator slowly winds up, only to slowly decrease later and causing some overshoot.
Can you see at which intensity the heater is running at the peak intensity? You can see this is you refresh the device manager with read values, or in the control algorithm tab:
heater1–>outputActuator–>value
Please also take note of p, i and d of heater1. I suspect your proportional part § is too low and increasing Kp will help.
Also the new beta release might help, because it has some measures to reduce overshoot.
When you are on target, the input error is still 1.2 degrees. This is because the PID input is filtered, which creates a small delay. If you reduce the filtering on the cooler and heater PID input, it will not lag as much and will stop heating sooner.
I think 9 or 18 seconds is the right filter delay for you.
Thank you! I don’t have a cooler installed by the way. Tomorrow I’ll have more spare time and will put the beta on. For now I have lowered by filter delay settings for the heater. Thank you again☺
I am surprised your fridge responds to heating so slowly. Do you have the fridge sensor in air?
The response time is about 30 minutes. So your integrator time constant of 10 minutes is too fast. It will cause the integrator to try to correct a steady state error which is not really a steady state error, just a slow response.
So increase Ti to 3600, so it will increase and decrease a lot slower (an hour). Or even 2 hours.
I would set Td to 600. Set the derivative filtering to 139 seconds. With a low setting of 9/18 seconds, you will mostly see bit flips as short bumps in the derivative instead of actual rises.