• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

CraftBeerPi - Raspberry Pi Software

Homebrew Talk

Help Support Homebrew Talk:

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

Interesting in one for a RPI3, for an ebiab build.. plus maybe some other automation ideas.
 
Sorry man, getting ready to do a second run before the Chinese take a month and a half off. I'll update when I have more details. Also, my first round of boards went to fab a week and a half ago with no update so... still waiting on that.
 
Can someone that's built this show some pictures of their completed system. Could someone also provide a schematic so we can see how all this wires to the pcb to the ssr's, pumps, etc?

I second this request!
I was in the middle of gathering parts based off one of P-J's wiring diagrams, the single element BIAB 30A PID when I stumbled upon this thread.

I am still very new to e-BIAB (I haven't even set up my first system), so what I'm trying to wrap my brain around is how to build the entire control box. I did see a link where someone used a PiFace, so I now have one of those. http://www.leaningman.com/2016/05/automated-brewery/

Please help me! A full wiring diagram of a control box would be amazing, if there is one floating around somewhere!

Single Element BIAB 30A PID.jpg
 
Thanks!

Are those the 240 contactors with 120 coils? The things between the SSR's and what looks like your input and output plugs?
 
Okay, so wiring the SSR and the contactor and the pumps and such would still be similar to P-J's diagram?
This is probably going to show how much of a noob I am, but is it almost like swapping out the PID in the diagram for the raspberry?
 
Sort of. You need SSRs for the pumps as well and you use the outputs of the cbpi boards to actuate the relays.
 
You don't need SSR's for the pumps, at least not for up to 2 pumps if you use a PiFace Digital. The purple wire to the kettle SSR in this PJ diagram posted above would connect to the 5V output (orange) terminal of the PiFace. The yellow wire to the SSR would connect to any of the eight available outputs (orange 0-7). You would eliminate switch 2 (pump) and switch 3 (PID power) from PJ's circuit. The blue wire from the 10A fast blow fuse would go to the common (C) terminal of either 10A relay (0-0 or 0-1) on the PiFace. The blue wire to the hot terminal of the NEMA 5-15 receptacle would connect to the normally open (NO) terminal of the same relay. This is in lieu of PJ's switch 2. You could, if you want, add a 120V LED for an external pump power indication. Switch 3 and the 1A fast blow fuse leading to it would be replaced by your choice of 120VAC to 5VDC (2.5A or greater) power supply with a MicroUSB plug. You would feed power to the PiFace through the MicroUSB power connector on the RasPi and connect jumper JP3 on the PiFace. Again if you want, you could include a separate 120V LED between the yellow neutral and blue hot wire leading to the 5V power supply to remind you that the panel is hot.

PiFaceDigital2.jpg
 
Thanks so much! That makes things much clearer!
I think I'm following you up until the 5V to the RasPi. I run power to the raspi and then jump from the raspi to the jp3 of the piface? What port do I use on the raspi side?

Again thanks!
 
The RPi is powered via its microUSB header as normal, and that jumper at the southeast corner of the PiFace can be set to draw 5V from the RPi via the 26 pin header...

Cheers!
 
The RasPi will pass 5V to the PiFace using pins 2 & 4 of the Pi's GPIO header. All you need to do to bring 5V to the Output terminal on the PiFace is to shunt the jumper at JP3 (lower right corner) on the PiFace, connect the PiFace to the RasPi and power the RasPi through its MicroUSB connector - always the last connection you make. This will also provide the 5V needed to energize the coil(s) for the relay(s) on the PiFace. Power down the RasPi before connecting or disconnecting the PiFace or anything tied to it.
 
Gotcha! Thanks for the detailed explanation! It was super helpful!
Will I have to edit the code to interface with the piface, or will I be able to just copy the code as is?
 
Presuming we are discussing CBP, no need to modify or add code for the PiFace. For 1-wire support when using a PiFace, however, you will need to get to one of the 3.3V pins (1 or 17) for power, pin 7 for GPIO4 data (or use a script to choose another GPIO for 1-wire), and one of the many ground pins (6, 9, 14, 20, 25, 30, 34 or 39) of the GPIO header. You could do this by directly soldering leads to those three solder pads on the PiFace or build your own breakout board using a passthrough stackable header (extra tall pins) between the RasPi and the PiFace. This middle board would need traces connected to only three of the pins as described above and could carry those out to an interface, such as a 3.5mm stereo jack. Either way you would tie the 1-wire data line to the 3.3V power line with a 4.7k Ohm (4k7) pull-up resister.
 
Is it possible to set a start time so I could have my water at just the right temp when I get in from work?

Not a start time per se, but you can get it to delay when it ramps up the temp.

Set up "Wait" step- No kettle for how ever long before you want the kettle to come on, and then make the next step the HLT temp that you need. Set the first step for automatic. When the 6 hours (or whatever) is up, the kettle kicks on.
 
Right, if you don't have a pi face, you need two relays or ssrs to control pumps. Also...


Boards shipped via dhl this afternoon. Some weird Hangup with those guys.
 
Not a start time per se, but you can get it to delay when it ramps up the temp.

Set up "Wait" step- No kettle for how ever long before you want the kettle to come on, and then make the next step the HLT temp that you need. Set the first step for automatic. When the 6 hours (or whatever) is up, the kettle kicks on.

Ah yeah that makes sense, thanks
 
Here is my controller and wiring diagram. No shields at all, SSRs for the heaters and a relay board for the pumps.

I can email anyone a PDF or visio of the diagram if they want more detail.

As stated earlier, I do have one weird issue where the outlets are on until the software starts which I work around by leaving the 220V and 110V that power the heaters and pumps unplugged until software is started up.

Edit: Also of note, from the picture to the diagram, I added a separate power supply to run the SSRs and run it through the relay board. The SSRs weren't tripping directly of the GPIOs and I was worried about the level of electrical separation. The diagram is correct, the picture is outdated by one revision.

UMPN Detail.jpg


UMPN Wiring.JPG
 
Last edited:
As stated earlier, I do have one weird issue where the outlets are on until the software starts which I work around by leaving the 220V and 110V that power the heaters and pumps unplugged until software is started up.

Edit: Also of note, from the picture to the diagram, I added a separate power supply to run the SSRs and run it through the relay board. The SSRs weren't tripping directly of the GPIOs and I was worried about the level of electrical separation. The diagram is correct, the picture is outdated by one revision.

It looks like you wired the outlet relays to be normally closed (NC). Any particular reason you did that? It is probably the cause of your power up issue. Have you tried moving the wires for the outlets to the normally open (NO) terminals?

Why are you triggering the SSRs with relays? Doesn't that defeat the purpose of the SSR? Why not try a NPN transitor on your breadboard, similar to what terragady and SHvB use? Most likely the reason the SSR wouldn't fire directly from the Pi is that you probably exceeded the current limits of the GPIO.
 
It looks like you wired the outlet relays to be normally closed (NC). Any particular reason you did that? It is probably the cause of your power up issue. Have you tried moving the wires for the outlets to the normally open (NO) terminals?

Why are you triggering the SSRs with relays? Doesn't that defeat the purpose of the SSR? Why not try a NPN transitor on your breadboard, similar to what terragady and SHvB use? Most likely the reason the SSR wouldn't fire directly from the Pi is that you probably exceeded the current limits of the GPIO.

I can wire the relays so that the load is powered in either the off or on state (NO or NC), but since the default for the RPi is off and the default of CBPi is on, my pumps and heaters are on as soon as I power the RPi until CBPi starts.

I have tried the solution earlier in the thread to reverse the operation of the relays, but that does not seem to have any effect. I have also tried changing the "hardware control type" from 1 to 0 and back. I'm not sure what this is designed to do, but it does not seem to affect the way the relays work.

I am triggering the SSRs with relays for 2 reasons. One is that as you stated, I must be over the current limit of the Pi, so I am using a separate power supply for the SSRs. The other is that it has been noted a lot earlier in this thread that running the SSRs off of the Pi directly didn't provide sufficient electrical separation and could fry the Pi. It does not defeat the purpose of the SSR at all as the purpose of the SSR is to switch the 220v (which has too much current for the relay board). The relay board is just providing switching to the power supply for the SSRs.
 
What happens if you disconnect the Pi from the Sainsmart and provide 5V power to only the relay board? Are your outlets on or off then when wired to NC? What about NO in that same scenario?
 
It does not defeat the purpose of the SSR at all as the purpose of the SSR is to switch the 220v (which has too much current for the relay board). The relay board is just providing switching to the power supply for the SSRs.

I thought the purpose of using a solid state relay (SSR) instead of a standard one was so that you eliminated mechanical contacts from the relay. This increases the speed of the relay and extends its life. This can be important when using PWM to vary the heat output of a resistive load, as most PIDs do and the PID mode of CBP does. Also just pointing out for the benefit of others who may be trying to follow along that there are simpler and cheaper ways to protect the Pi from the SSR, such as using a transistor with a resistor between the two.

Are you having the same issue with SSR going hot when you first power up, like you are having with the outlets? I suspect not because it looks like you wired those to the NO terminal of the relays. I'm tempted to purchase one of those boards to see if I can replicate and then help resolve your issue. Have enough other hobby projects where it could come in handy.
 
I have no problems with the Sainsmart modules controlled by the Pi.

I remove the JD-VCC to VCC jumper. Connect JD-VCC to 5V and VCC to 3.3V. then hook up IN1 and IN2 to GPIO pins and GND to GND.

My relays do not come on at boot time.

My software (not CraftBeerPi) turns the relays on by setting the GPIO low. Turns them off by setting GPIO high.
 
@ame:

Simple solution, good to know. Should work for CBP too as long as it doesn't force GPIO to active high within its own code, something to test later this weekend. Thanks!
 
Back
Top