Hi all, I am trying to fine tune my temperatures during steady state (beer temperature) conditions. Below is the condition I am running into. The PID drives a min cooling cycle causing a swing in beer temperature. I do NOT want to change the min cooling time and understand its need, I am looking for other suggestions to filter out these conditions.
- The new BrewPi Spark has better algorithms for which this is less of an issue.
- Your beer temperature seems to respond awfully quick to the drop in fridge temperature. Is it sitting directly against the cooler or are you not measuring your beer temperature in a thermowell? 20L of beer doesn’t change 0.5 degree in 5 minutes. Try optimizing your sensor placement.
Elco, thank you for your reply. I am currently running with a sensor taped to the side of the fermenter (glass carboy) then I added a taped on towel for insulation. I have looked at getting a thermowell, and your analysis brings a good point I may have to invest for my next brew and revisit this.
So you are saying the legacy version of Brewpi (arduino build) runs a different core algorithm versus the new Spark version? What drives this difference?
Yes, the algorithm is completely different.
The new BrewPi Spark algorithm uses PWM to drive the heaters and coolers. It is a repeating on/off cycle for which the on/off ratio is adjusted. The old algorithm just turned ON when to warm and OFF when too cold for the fridge temperature, while trying to estimate the overshoot to turn off early.
Is there a hardware limitation to why the Spark algorithm was never integrated into the legacy release? Or did the change come after freezing the arduino code? I will let these be my last questions until I try a thermowell setup with my next brew. Thank you again.
There is not enough program memory to store all of the code on Arduino. @Elco said he was going to investigate if some of the changes can be brought over to Arduino in the future.