CraftBeerPi - Raspberry Pi Software

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.
Sort of a mess inside. Here are a couple pictures:

IMG_20181018_113819947.jpg IMG_20181018_113832078.jpg IMG_20181018_113843969.jpg IMG_20181018_113851899.jpg
 
I am building a HERMS setup and are planing to use cbpi-CascadeControl for temperature controol of the system.
Is it any best placment of temperature probes? Where is your HERMS probe?
Has it always been there or did you switch from one place to another because of problems?

Possible placement:
HLT in
HLT out
HLT middle pot
HERMS coil in
HERMS coil out
Mash in
Mash out
Mash middle pot
 
Is it any best placment of temperature probes? Where is your HERMS probe?

Q: What is the purpose of this probe? A: To tell me the temp of the recirculated mash coming out of the HERMS coil.
Q: Why do I need this info? A: To ensure I don't overheat the wort, denaturing the enzymes.
Q: Will the wort be any hotter than at the end of the HERMS coil? A: No

Hence your answer as to where to best monitor your HERMS coil temperature:

HERMS coil out
 
Does anyone know of a plugin for using a TRIAC (phase control)? Essentially I need to use one pin as an input from an optoisolator (this tells the Pi when the AC sinusoid is above or below a threshold voltage (so for me in the US it sends pulses at 120Hz). After seeing a pulse the Pi outputs high on a different pin (opening the TRIAC), and then goes low after a delay determined by the PID. Here's an example circuit and Arduino code: https://playground.arduino.cc/Main/ACPhaseControl/

I haven't really messed with programming things with the GPIO on the pi before, so I'm a little intimidated. But there's already something like this to work off of I think I could adapt it to my needs easily enough.

In case anyone is wondering, I prefer this over a SSR because it provides more precise/stable control. The end goal is to use cbp to control my buddy's reflux still so we need to be able to precisely adjust the power to the heat element without worrying about variation because the Pi controller isn't synched to the line frequency. That and for < $5 I can switch 20A.
 
Does anyone know of a plugin for using a TRIAC (phase control)? Essentially I need to use one pin as an input from an optoisolator (this tells the Pi when the AC sinusoid is above or below a threshold voltage (so for me in the US it sends pulses at 120Hz). After seeing a pulse the Pi outputs high on a different pin (opening the TRIAC), and then goes low after a delay determined by the PID. Here's an example circuit and Arduino code: https://playground.arduino.cc/Main/ACPhaseControl/

I haven't really messed with programming things with the GPIO on the pi before, so I'm a little intimidated. But there's already something like this to work off of I think I could adapt it to my needs easily enough.

In case anyone is wondering, I prefer this over a SSR because it provides more precise/stable control. The end goal is to use cbp to control my buddy's reflux still so we need to be able to precisely adjust the power to the heat element without worrying about variation because the Pi controller isn't synched to the line frequency. That and for < $5 I can switch 20A.

I think the set up you describe would be less reliable then using PWM output, with a raspberry pi in the equation. I think you'd be better to use an SSVR and rig up a digital potentiometer to the pi, these work via phase angle.
 
The time response in the RPi OS will lag too mutch for a application like that. I would resort to an Arduino doing the timing and communicating with the Pi via serial or PWM.
 
I think the set up you describe would be less reliable then using PWM output, with a raspberry pi in the equation. I think you'd be better to use an SSVR and rig up a digital potentiometer to the pi, these work via phase angle.

My first time seeing the name SSVR, but from few minutes of googling it looks like that's what I have (just built from discreet components). That's a good idea about using a digital pot, that hadn't occurred to me before. It would definitely simplify things for me.


The time response in the RPi OS will lag too mutch for a application like that. I would resort to an Arduino doing the timing and communicating with the Pi via serial or PWM.

Seems like you're in agreement. So I gather that I might have overestimated the Pi's GPIO capabilities? I haven't really looked at the specs at any length.

Although the real time response isn't really all that important. Just so long as the ON pulses fire at 60Hz and there's a timer that can measure delay, it doesn't really matter if there's a delay of a few cycles between the input trigger and the output.

Maybe I'm misunderstanding the constraint?
 
My first time seeing the name SSVR, but from few minutes of googling it looks like that's what I have (just built from discreet components). That's a good idea about using a digital pot, that hadn't occurred to me before. It would definitely simplify things for me.




Seems like you're in agreement. So I gather that I might have overestimated the Pi's GPIO capabilities? I haven't really looked at the specs at any length.

Although the real time response isn't really all that important. Just so long as the ON pulses fire at 60Hz and there's a timer that can measure delay, it doesn't really matter if there's a delay of a few cycles between the input trigger and the output.

Maybe I'm misunderstanding the constraint?
That kind of power regulation cause a lot of rf noise, I will prefer a whole cicle control. Use a slow pwm ( 1 or 2 sec period ) and fire with a zero cross optocuppler and you are done.
 
That kind of power regulation cause a lot of rf noise, I will prefer a whole cicle control. Use a slow pwm ( 1 or 2 sec period ) and fire with a zero cross optocuppler and you are done.
Totally. If you can be convinced to not use phase control, I can't think of an instance when this wouldn't give you sufficient precision in output. Much easier/cheaper to implement, and without all the noise.
 
That kind of power regulation cause a lot of rf noise, I will prefer a whole cicle control. Use a slow pwm ( 1 or 2 sec period ) and fire with a zero cross optocuppler and you are done.

That's a fair point. When I was using an arduino for this I had to keep it pretty well isolated from ...everything lol.

1-2s period is too long. I've tried it before when I was just testing with a mechanical relay, it caused noticeable fluctuations and prevented anything close to steady state operation (which is important for my application).

Any idea (approximately) what's the shortest period I could reasonably get from a raspi 3 B with CBP3 running?
 
1-2s period is too long. I've tried it before when I was just testing with a mechanical relay, it caused noticeable fluctuations and prevented anything close to steady state operation (which is important for my application).
Can you describe the set up you're using in a bit more detail? I've done tests where pulsing isn't noticeable until like 4-5 second period lengths (e.g. visible oscillation in boil vigour). There is quite a bit of thermal inertia to most heating elements that are used for these applications that the effective output should be quite consistent with a 2 second period length. If you couldn't get reasonable temperature control doing this in the past I would think there's a problem, but would expect this related to PID tuning or programming or hardware, rather than the idea being flawed in general. A mechanical relay wouldn't be very reliable in this set up and may have been a factor for you.
 
So I gather that I might have overestimated the Pi's GPIO capabilities? I haven't really looked at the specs at any length.

To provide a bit more explanation, how I understand it anyways: the issue with using the Pi is that it runs a full featured OS without priority in terms of resources to software loops polling its GPIO. The variances are very small in practice, and certainly fine for brewing beer and distilling, but it is something that should be considered for your controller design. If strict synchrony of some kind is needed with I/O, you're best to go a different route with hardware. Our argument is that there is a simpler, well tested solution using relatively short period PWM (1-2 second) on Rpi with standard zero crossing SSRs. You could go lower than 1 second period PWM, but it will be at the sacrifice of fine-ness of control.

If you in a country with typical 50hz AC power transmission, at 0.5 period, you would be able to control your power in increments of 4% output. Perhaps this is a good trade off for you and output increment is less important than consistency of output, in which case that's fine!

period effective output increment
0.5 (25 cycles @ 50hz) 4%
1.0 (50 cycles @ 50hz) 2%
2.0 (100 cycles @ 50hz) 1%

1-2 seconds is also common because it's about the same frequency at which the very common DS18B20 sensors can be polled. That being said, there's no requirement that PID calculation loop and PWM period-length are the same, and in fact you are better off assuming that they are not going to be in exact synchrony due to what I describe above if you are programming something yourself/thinking technically about your control panel!
 
[QUOTE = "Manuel, post: 7720814, membro: 218332"] Pritty cool! GIPO 14 supporta il "pulsante di arresto"? Questo potrebbe essere molto utile!

saluti,
Manuel [/ QUOTE]


Ciao bel progetto mi interesserebbe che la scheda vivo in Italia funzioni sul lampone pi zero HW
raspberry pi 3 modello A +



All things considered, i've finished the design for my version of the hat. feedback is appreciated before i send it to print.

View attachment 371519
All things considered, i've finished the design for my version of the hat. feedback is appreciated before i send it to print.

View attachment 371519
 
Anyone else have ongoing issues with the boil timers in CBPI? Ive tried the standard timer, the add on Boilstep with countdown timer and the hop dropper timer using my buzzer as the hop dropper actor. However they all only seem to beep on the first or 2nd hop addition only. Ive missed later hop additions as the buzzer didn't go off.

Also when my boil ends the kettle doesn't switch off. I have to manually go to the next step. Any ideas??
 
Is it not assigned to a fixed gpio in the terragady board?
I see what you're saying now - you're probably using a Terragady 5.0 board then.
I'm using a 4.2 board, which doesn't have a buzzer built in. My buzzer is running directly off the Raspberry Pi.

I'm sorry, but I don't know the answer to your question since you're using a different board.
 
I see what you're saying now - you're probably using a Terragady 5.0 board then.
I'm using a 4.2 board, which doesn't have a buzzer built in. My buzzer is running directly off the Raspberry Pi.

I'm sorry, but I don't know the answer to your question since you're using a different board.

Yes you are correct. Apologies, I should have specified that.
 
Can you describe the set up you're using in a bit more detail? I've done tests where pulsing isn't noticeable until like 4-5 second period lengths (e.g. visible oscillation in boil vigour). There is quite a bit of thermal inertia to most heating elements that are used for these applications that the effective output should be quite consistent with a 2 second period length. If you couldn't get reasonable temperature control doing this in the past I would think there's a problem, but would expect this related to PID tuning or programming or hardware, rather than the idea being flawed in general. A mechanical relay wouldn't be very reliable in this set up and may have been a factor for you.
So the application is reflux distillation. The column is open to the environment for safety purposes. At steady state operation any heat fluctuations produce excess vapor which is vented off as waste. This is because there isn't a reasonable way to modulate the cooling performed by the reflux coil with such a fine grain control. There will always be some venting (or else negative pressure in the final condenser stage which is also undesirable) but it can be reduced to the degree that heat fluctuations can be reduced.
 
New issue popped up today. I haven't booted CBP3 in a few weeks, and as of yesterday when I do, and I go to the addons page in the web gui nothing shows up anymore. Any ideaswhat might have happened?
 
New issue popped up today. I haven't booted CBP3 in a few weeks, and as of yesterday when I do, and I go to the addons page in the web gui nothing shows up anymore. Any ideaswhat might have happened?
Have you confirmed you have an internet connection? It's hosted on github - which is up, and the current YAML on there is valid.
 
Hi,
sorry ... newb question... how do you save your Brew steps and load/create different brew steps?

thanks in advance!
haeffnkr
 
I just did an install of CBPi on RPi 3 Buster. I cant access the GUI, is this because I also have RasperryPints installed? I'm probably doing something dumb, brand new to RPi. Thanks.
 
I have CBP 3.0 setup and I am using RTD PT100 thermometers as they are part of the SSBrewtech kettles I have.

I get valid temps when one sensor is connected. When I connect the second sensor the temps appear to somewhat average. My mash tun was at 168 and I plugged in my boil kettle sensor and the MT temp dropped to 146 F and the BK showed 30 deg F higher then the water temp.

Does anyone have an idea as to what would cause this. They work fine when plugged in separately.

Thanks
TR
 
I have CBP 3.0 setup and I am using RTD PT100 thermometers as they are part of the SSBrewtech kettles I have.

I get valid temps when one sensor is connected. When I connect the second sensor the temps appear to somewhat average. My mash tun was at 168 and I plugged in my boil kettle sensor and the MT temp dropped to 146 F and the BK showed 30 deg F higher then the water temp.

Does anyone have an idea as to what would cause this. They work fine when plugged in separately.

Thanks
TR

Do you have the sensors hooked up separately? Are those resistance based sensors? They would each need to be on their own GPIO.
 
Do you have the sensors hooked up separately? Are those resistance based sensors? They would each need to be on their own GPIO.

Yes they are on separate GPIO for their data. They are resistance based sensors.

From GitHub Readme:
** on your pi use the following GPIO pins. csPin = 8 this one can be any GPIO you want, if using multiple probes you change this on each one, but keep the other 3 pins the same misoPin = 9 mosiPin = 10 clkPin = 11 **
 
I just did an install of CBPi on RPi 3 Buster. I cant access the GUI, is this because I also have RasperryPints installed? I'm probably doing something dumb, brand new to RPi. Thanks.
They both use web servers as the interface, so you'll need to make sure their servers are running on different ports (port 80 is standard for web servers - at least one of them will need to be moved to a different port), or you will need to do some web server configuration to put them on different directories under the root of the webserver.

Since RaspberryPints doesn't seem to have any documentation worth the name, and hasn't been updated since 2014 (and their website appear to have been hacked with ads for a Turkish escort agency), I wouldn't mess with that side of things.

CraftBeerPi appears to start by default on port 5000, so you need to access it with a URL like http://192.168.0.21:5000/ where you need to change the IP address in red to your Pi's IP address (or DNS name if that's set up on your network).
 
My first time seeing the name SSVR, but from few minutes of googling it looks like that's what I have (just built from discreet components). That's a good idea about using a digital pot, that hadn't occurred to me before. It would definitely simplify things for me.

There's an alternative, which is a 0-5V controlled SSVR that's controlled by a control voltage instead of a pot. Auber sell a 25A one which should be capable of controlling 4500W element on 240V (or maybe just about a 5500W one - Auber says that their SSVR should be derated to 90-95%, with a 5500W element coming in at 92%). You can also find these from AliExpress and eBay, with the usual strong note of caution for SSR/SSVRs from these sources.

The response of the Auber SSVR isn't very linear, with most of the variation in power level coming in the 2-3 V control signal range, so you'll need a reasonably high bit-count DAC output to give fine grained control, or a bit of analog circuitry to reduce the effective range. An 8-bit DAC should give about 50-60 effective power levels, while a 12-bit one would give closer to 800 different levels. With a 12-bit DAC, you could linearize the output in software.

Adafruit will sell you a single or quad channel I²C 12-bit DAC breakout board for not much. I've just ordered the Auber SSVR to eventually get around to playing with.
 
Last edited:
There's an alternative, which is a 0-5V controlled SSVR that's controlled by a control voltage instead of a pot. Auber sell a 25A one which should be capable of controlling 4500W element on 240V (or maybe just about a 5500W one - Auber says that their SSVR should be derated to 90-95%, with a 5500W element coming in at 92%). You can also find these from AliExpress and eBay, with the usual strong note of caution for SSR/SSVRs from these sources.

The response of the Auber SSVR isn't very linear, with most of the variation in power level coming in the 2-3 V control signal range, so you'll need a reasonably high bit-count DAC output to give fine grained control, or a bit of analog circuitry to reduce the effective range. An 8-bit DAC should give about 50-60 effective power levels, while a 12-bit one would give closer to 800 different levels. With a 12-bit DAC, you could linearize the output in software.

Adafruit will sell you a single or quad channel I²C 12-bit DAC breakout board for not much. I've just ordered the Auber SSVR to eventually get around to playing with.

It's also possible to get variable voltage output using the pi's PWM and a very basic circuit.
 
I just did an install of CBPi on RPi 3 Buster. I cant access the GUI, is this because I also have RasperryPints installed? I'm probably doing something dumb, brand new to RPi. Thanks.
If I remember right Buster come with Python 3 by default.
CBPi3 do not runs on Python 3.
Try on Stretch. Or try to install Python 2 on Buster
 
Whew read threw all 42 pages, this project has certainly been a journey!

The 40A SSRs that the majority of us use require 7mA - 20mA. The GPIOs on Pis are rated for 18mA, but combined on the 3.3V rail is 50mA.

I haven't started playing yet, but I'm definitely curious if anyone has had long-term success with their Pi directly driving their brewery without using transistors in some fashion between the gpio and control relays :) On paper it seems unlikely
 
Whew read threw all 42 pages, this project has certainly been a journey!

The 40A SSRs that the majority of us use require 7mA - 20mA. The GPIOs on Pis are rated for 18mA, but combined on the 3.3V rail is 50mA.

I haven't started playing yet, but I'm definitely curious if anyone has had long-term success with their Pi directly driving their brewery without using transistors in some fashion between the gpio and control relays :) On paper it seems unlikely

Yes. I'm going on 3yrs running everything from GPIO pins. 4 opto isolated relays, 2 stars. I use a regulated 5amp 5v PS. You can't do it with a wall wort.
 
Back
Top