StrangeBrew Elsinore for Fermentation Control ONLY

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.

HBBC

Member
Joined
Feb 26, 2014
Messages
6
Reaction score
0
Location
Erie
Hi All.
With the reliability issues the BrewBit webserver has been having, I've been exploring other wifi fermentation control solutions. I recently stumbled upon StrangeBrew Elsinore.

Hardware setup was straightforward using the RPi3 and a dual relay board, but I can't figure out how to get the relays to turn on/off in 'Auto' mode... There is a lot of detail available for brewery implementation (valve, pump, RIMS, etc control), but I haven't found anything for simple fermentation control...
Wiring Image:
SBE_LV Wiring_R0.JPG
I can manually turn the relays on and off through the web interface, but it's not clear to me what settings are required to make them work in Auto...
When clicking on a probe, I enabled the GPIO pin for the heater relay, but don't know if I need to do anything in the 'Heat' tab PID settings (Cycle Time, Proportional, Integral, Differential)... Thoughts?
I set Hysteresis to +/-1F and left the 'Time' field at 0 (since flexwatt heaters don't care)... Any issue here?
SBE_SetupSnapshots.JPG
Thanks!
Mike
 
I use SB Elsinore for brewing control, two 240V elements, four probes on HLT, MT, BK, and chiller discharge.

Based on what I see, you need to enter the setpoint desired, then enter values for the cycle time, P, I and D terms.

Depending on the equipment that you are using, you may have to start with some educated guesses, then fine tune them based on how it responds/ works.

Cycle time - think of it as a governor, limiting how long the output can remain at 100%
P - time in seconds for the system to increase (or decrease if cooling) 1 deg F
I - removes overshoot
D - removes oscillations/ cycling

**Disclaimer** I don't know how your system is setup and how it will work, this is free advice on the internet....

I can tell you that my system works very well with the following values: Cycle time = 40 sec, P=20, I=10, D=5

There is alot of information on the web for tuning PID loops, you can run some tests noting the time, starting temp, etc. to figure out how your system is working and make adjustments to the values.

Good luck, and let us know how you make out, lurkers may want to know!

-Dan
 
I use SBE for brewing and fermenting. For fermenting I use a small space heater, which by itself obviously only uses one relay, and I use the hysteresis mode for this. I also have a second output and hystersis control loop that I use for a sous vide crock pot and fermenting yogurt. For hysteresis control loops, I just set the time for 1 minute. For processes that last hours, days, weeks, you don't really need super fine time resolution. I can't really say what happens in the programming loop if you choose 0 minutes, but 1 minutes works fine for my above mentioned applications.

Also, as was mentioned by someone else in your linked post in the SBE thread, there is a bit more active developer traffic on Reddit, which is not necessarily obvious, depending on where you started reading up on the project.
 
Thanks for the replies!

So in the example of running a heater, wouldn't a Time = 1 minute mean that the heater is on for 1 minute, shuts off, waits the 'wait' period, then turns on for another minute, and so on until the temperature is reached?
I want the heater on until set temperature +hysteresis is reached then off until set temperature -hysteresis is reached then on... would that mean Time = infinity (essentially, since it could be 'on' all the time)?
Mike
 
Thanks for the replies!

So in the example of running a heater, wouldn't a Time = 1 minute mean that the heater is on for 1 minute, shuts off, waits the 'wait' period, then turns on for another minute, and so on until the temperature is reached?
I want the heater on until set temperature +hysteresis is reached then off until set temperature -hysteresis is reached then on... would that mean Time = infinity (essentially, since it could be 'on' all the time)?
Mike

Not quite.

I believe what this time indicates is more to do with how often it samples the temperature that it feeds into the control algorithm. I believe it is originally designed for running a compressor for a cooling system. From what I've read, the compressor will burn out if it switches on and off too much/frequent. Therefore these cooling loops are typically though should only switch on/off every 3 to 5 minutes or so at the shortest interval. This "delay" built into the control should prolong the life of a compressor.

SBE will continually display the temperature at a much finer time scale, but in the hystersis control mode, it only acts once every time interval (in my case, 1 minute). So if the temperature is low, in 60 seconds it will determine a low temp and switch on the heater. 60 seconds later it will check if the temperature is above the low setpoint, if not, the heater stays on, and if so, it shuts the heater off. It then waits another 60 seconds to check again. If you have a cooling system, the same applies, but inversely to the high setpoint.

It's that simple. Disclaimer: I have not read the SBE source code, so there could be differences there. I believe that is how it functions. That is the most simple possible control loop, because it is not modulating the output - it is either on or off, for a set amount of time. In this way, the deadband between your two setpoints simply allows for any overshoot in the temperature correction to reach equilibrium or settle, before the opposing control (heater vs cooler) kicks in.

I'm not sure if you can SBE hysteresis to less than 1 minute (or fractional minutes), as I have never tried. The work around for your particular application is to test how much your final temperature overshoots your setpoint when the time interval is set to one minute. If it consistently overshoots by x degrees, you just decrease your setpoint by x degrees and call it good, knowing that it will hit your desired temperature. I use this offset method when setting the temperature control points in the PID loops for my HLT as well, because there is always an offset between my HLT and the mash tun - I've found it easier to make "dumb" adjustments in an attended brew session, than to try and trust your system to be too smart and walk away from it, as much as I do like brewing from the couch with SBE.
 
Thanks for the replies!

So in the example of running a heater, wouldn't a Time = 1 minute mean that the heater is on for 1 minute, shuts off, waits the 'wait' period, then turns on for another minute, and so on until the temperature is reached?
I want the heater on until set temperature +hysteresis is reached then off until set temperature -hysteresis is reached then on... would that mean Time = infinity (essentially, since it could be 'on' all the time)?
Mike

Not quite, it's more a `Minimum Cycle Time`, this is because heaters and coolers can break if they go on and off too quickly, it's explained a bit in the Doc, but hysteria is basically the same process as a STC-1000 or similar.

http://dougedey.github.io/SB_Elsinore_Server/
 
Back
Top