Testing my BrewPi-controlled fridge - can I do something about flux?

I am conducting a fridge test on my fermentation chamber right now. The Beer- and Fridge sensors are both in the back of the fridge, and a couple of centimeters away from the cooling element in the back of the fridge. I am running BrewPi with the Beer Constant setting to see how acurate I can control the temperature. Below you see the overview over the last couple of days. I have numbered some sections which I have zoomed in at later. First the overview:

We see that the temperature is very stable at certain temperatures and not so stable on others. It is also fun to see how BrewPi learn and auto-detect the peeks and auto-adjust the “estimators”. Below I focus on each area.

In area 1 (sounds like a sci-fi movie :-)) I go from a stable temp on 19 C down to somewhat unstable temp on 10 C. The cool part about the 10 C area is that the curves are very smooth, with equal overshoots and undershoots. On 5 C I come close to the capacity of my 23 year old fridge, and we see that the fridge can hardly come that far down. That doesn’t matter right now as I am mainly working with ales :smile:

Shown below is area 2 where we see the first emering pattern on my “unstable temperatures” when I rised the temp to 19 C again.

As you see we have a small overshoot , and then we see the every other heavy undershoot. The second halt up to 20 C is OK again.

Shown below is area 3 where I go from steady 20 C to 19 C, where the temp stabilizes again. All nice here!

And finally we see area 4 where I go from steady 19 C to the unstable 15 C and unstable 16 C. The two last temps have the same pattern with a small overshoot and then every other heavy undershoot.

I have tried to figure out if the direction of temp has something to say. In other words, is the pattern emering when we lower the temp or when we rise it.

The question is - can I do something about it?

First question I have is: do you have a thermowell and is this in 20L beer or water?

Your beer temperature seems to drop 5 degrees from cooling the minimum time of 3 minutes. Your fridge temp and beer temp seem to be identical. I would expect the beer temperature to respond much, much slower.

Because of the beer temp fluctuating so fast and with big swings, the fridge setpoint is just clipping to the min and max. (pidMax, +/- 10C by default).

Given how close the lines are, it might even be the same sensor. Can you try removing both (set function to none), then installing them again?

BTW: awesome presentation :slight_smile:

Thanks for quick reply! The beer-sensor is not placed in water or anything yet, just in the “air” of the fridge! Of course I will test out this with my FastFerment filled with water tonight!! This is my first test and I just wanted to see that I have some sort of control over the temps - but of course I now understand that water will behave different than air :smile:

BTW - I have a blog post showing the fridge here (albeit in Norwegian): http://www.bobsbittelillebryggeri.no/web/bbb.nsf/d6plinks/DIY003_BrewPi_Cooler

The beer-sensor is indeed very close to the fridge-sensor, and both of them is placed 2 cm away from the cooling-element (a big plate of some sort) in the back of the frigde.

I’ll report back when I test with my FastFerment full of water :smile:

Is there anywhere I read more about how the algorithms work? I see that we have a bunch of - for a noob - esoteric variables such as PID: ki, kp and kd, but I don’t quite understand how it all interrelates.

Finally, thanks for the kind words on the presentation. Being a programmer I know that one need clear examples, and I have seen that you quickly asks for “zoom in on this and that” in your responses :smile:

With the sensors in the air, you’ll get much better results using fridge constant mode, which is designed to maintain constant air temperature.

The drivers for PID are proportional error, integral of the error and derivative.

Kp: proportional, main driver, determines how far the fridge setting is from the beer temp. Error*kp = difference
Kd: derivative, if the temp is already dropping, raise setting to prevent overshoot.
Ki: integrator, accumulated error. This prevents steady state errors.

You can see the math in action on the control panel tab.

No sensor in water yet! Controlling the whole thing from work … Below you see the the fridge constant run. At the arrows you see that the temp dips almost two degrees below target of 10 C. Haven’t run for too long yet, but it seems like a pattern emerges. Isn’t there room for shorter compressor-runs so the overshoot isn’t quite so much?

When you look at the first compressor-off (approx 12:45) it seems to have better cut-off.

Hi again @Elco. New test, now with FastFerment’er filled with water, and what other than this can I say!

Thanks for creating a marvelous product!

That looks good :smiley: