Trouble getting Craftbeerpi to stop heating when temp is reached

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

rkhanso

Well-Known Member
Joined
Jan 24, 2017
Messages
769
Reaction score
173
Location
Plymouth, MN - terrible tap water for brewing
I'm using Craftbeerpi v3.0.
Newly built e-BIAB system with a homemade controller.

Craftbeerpi is running OK, not crashing or anything.

I installed PID Auto-tune and configured the kettle to use it. After a few failed attempts to auto-tune, it finally gave me feeback of:
P=35.7819
I=.2172
D=4.9114

After I auto-tuned, I thought that the best "Kettle Logic" to use might be the standard Hysteresis type (I realize it's probably not using the PID numbers I just spent the time getting). But, Hysteresis overshoots the set temp really bad. To be fair, I see the element turning off at the right time, but the overshooting is done with the element off.

Then I looked through the other options for "Kettle Logic" and tried "PIDBoil" and "SimpleBoilLogic" but both of them never shut the heat element off when reaching the set temperature and just kept right on heating the water. Maybe their names are telling me they should not be used for setting and keeping mash temperatures.

Then I installed the "PIDArduino" addon - but that logic method is not showing up as an option for my kettle.

I looked through the other available addons and found MOD_PWM, but it's also not showing up as a choice in the heater/actor or the Kettle logic as options. No idea what I'm doing wrong....

I wanted to get the temps really stable. Am I missing something here? Do I need to go back to v2.2 of Craftbeerpi?

Here's a chart using one of the Boil Logic methods. Where the temp starts to go down is where I noticed it never shut off and I manually turned off the element.
chart.png

I'm sure it's something stupid that I'm doing.

When I used v2.2 for fermentation control, I didn't have these problems.
 
Last edited:
After getting MOD_Pwm working, here's a new chart below. I was hoping for minimizing the overshoots. The heat element is only at 35% when within 3 degrees of the set point. I'll keep futzing with those numbers I guess.

I have the following settings on my Kettle:

Capture.PNG




chart (2).png
 
you should try the PIDArduino logic again with the settings from the auto tune. Assuming you can now select it after the reboot.

Using it I am getting an overshoot of just 0.8F before it settles within +/- 0.2F of the target

The dip in the middle is from turning the HERMS pump on with cold water in there.
Capture.PNG
 
The PIDArduino logic still doesn't show up as an option for the Kettle or Heater. I double-checked the Add-On page and it says it's installed. I just don't see it showing up in the Hardware Settings page.

The only options are:
Hysteresis
MOD_PWM_Logic
PIDAutoTune
PIDBoil
SimpleBoilLogic
 
Thanks Jethro, that did it. Odd.
I can change the kettle to PIDArduino now.
I used the PID numbers that the auto-tune gave me: P=35.78 I=.217 D=4.91

What should I choose for the heating element? Keep it on Mod_PWM? Or choose something else?
My choices are:
GPIOPWM
GPIOSimple
Mod_PWM
RelayBoard

The heating element is a 5500 watt run off of an SSR.
 
I use GPIOSimple - I think I read somewhere that there was a bug with it using GPIOPWM, not sure if the Mod_PWM is different. Works great for me using simple.
 
yeah I have super cold ground water too...great for chilling, not so much for heating.

Here is what i read about the bug in the GPIOPWM...not sure if its still current or got fixed.

Its ion the github for the auto tune addon.
https://github.com/IndyJoeA/cbpi_PIDAutoTune

26a0.png
NOTE: There is currently a bug in the GPIOPWM actor. If you are using this mode, you should switch to GPIOSimple for the time being if you want to use PIDAutoTune or PIDArduino.
 
That's MUCH better. Thanks for the help Jethro.

Here's a new chart, just overshooting by 1.4F or so, and then not re-overshooting every time the element comes on. It's much more stable overall.

I saw that link also, but thought it only applied to the Auto-Tune plugin and GPIOPWM, not necessarily any other combination of Kettle logic choice and GPIOPWM on the heater. I guess I should try it and see what happens.

chart (4).png




chart (5).png
 
The frequency is the duty cycle of the element. It doesn't actually reduce power to the element but just cycles it on and off.

I'm using the Aurdino plugin on simple in the HLT but the boil kettle I'm currently using the SimpleBoilLogic with PWM and set the Hz to 0.5 - still playing with this a little

Here is the description i used when setting it up.

When adding your GPIOPWM actor, you can set the frequency of the PWM as a parameter. Since the frequency is in Hz (cycles/second), just set the value as 1/x where x is your duty cycle in seconds. So to mimic the behavior of the Auber PID, which has a duty cycle of 2 sec, set the value to 0.5 (1/2 Hz). I am running mine at 0.1 which gives a 10sec duty cycle. So when setting the power at 80%, the element will stay on 8 seconds, off 2 seconds, and so on.
 
Back
Top