BrewPi Configuration for Conical/Glycol Cooling [Arduino]

Hey guys, been using BrewPi for several years now and LOVE IT! I had my stuff tuned with a chest freezer chamber to keep the beer with +/- 0.03 C for a long time and has been great.

So I’ve now got a stainless conical that chills by pumping glycol through coils down the middle of the conical. My heat source is a conical heat wrap. The conical is insulted with a neoprene jacket. I have my glycol temp set with a separate controller to 10C at the moment. I did have it at 12C but it wasn’t able to get the temp to the set point line. So I lowered the glycol temp. I’ve sense then cleared the overshoot estimater so maybe I need to try raising the glycol temp again.

I’ve read on the forum here that the best method for this setup (given I’m using an Arduino) is to use the fridge constant mode with a single probe. I’ve been testing with that and wanted to see how I can get this to stabilize within 0.3 C. Here’s some values I have current set along with what I’m seeing.

Kp: 5
Ki: 1
Kd: 2

Temperature Idle Range Top: 0.1
Temperature Idle Range Bottom: -0.1

My problem appears to be the minimum heat and cool times but could quite well be my configuration. Is it even possible to get it close to my previous setup (+/- 0.03 C)? How close have others gotten it with a similar setup (with an Arduino)?

The minimum heat and cool times are hard coded in the old Arduino version.
Those minimum times are in dark blue/red.

For glycol, they are too long. I use my glycol with only about 10 seconds of pumping each time it activates. 10 seconds per 10 minutes.

So, if you want to stick with Arduino, you’ll have to recompile the code yourself with the changes. The Arduino version also does not have PWM, which will work a lot better in this situation.

The Arduino version has been coded with a fridge in mind and is not really suitable for other situations. I don’t want to invest any time into making it more suitable. I have done that for the BrewPi Spark and porting that code to Arduino will be a pain (because of the program size constraints) and not worth the time investment.

Ok, that makes sense. So,

  1. Is there any PID tuning you see that might make my variance better?
  2. I’m a developer by trade so recompiling with the new values shouldn’t be a problem. What do you think? Should I set the minimum times to zero?

Is the Fridge Constant mode using the PID algorithm and settings? It appears as though it’s just acting like a regular temp controller with the overshoot estimaters.

No on arduino fridge is not pid. Just on/off with overshoot estimate and early shutoff.

I was wondering if you ever recompiled the code with changed min times? I’m looking to do the same thing as you as I’ve just upgraded to conical and want to keep using my old BrewPi setup with the Arduino.

No, I didn’t. IIRC, I had decided making this change and rebuilding it wasn’t going to have the effect I was looking for. I’m still dealing with the larger swings though. :pensive:

I currently have the brewpi controlling the glycol temp with the chamber probe measuring the glycol and turning the chiller on and off. I just keep the pump running the whole time. Same as using the chest freezer but controlling the glycol temp vs ambient chest freezer temp.