Brewery build pt 2: control panel internals

So you want to build a brewery control panel? Perhaps nobody has told you how long the wiring takes. It’s not difficult, but it is time consuming.

Let’s pick up from part 1 of my build log. Recall we had installed all receptacles, and left a bunch of excess wire in the control panel for future me to take care of. 

The first step was to decide on locations of the major components. For me, this meant 7 rather large solid state relays, a DPDT relay for master power, at least one terminal bar, a raspberry pi, and a prototyping board that connects to my raspberry pi…

Here we see the layout coming together… I thought something like this would work well.

 

IMG_0710

 

I ended up shifting the solid state relays even further to the side, to leave more room for the Raspberry Pi. Here’s the major components secured… I used screws rather than bolts to attach components because removing and reinstalling the back panel to move components around is a pain. This works plenty well. Decide on a layout, drill mounting holes, and use appropriately sized self taping screws.

 

IMG_0713

 

Before going further, take a look at the process of “daisy chaining” the XLR ports (8 in total) for my temperature probes.

 

IMG_0708

 

IMG_0709

 

Originally I had planned on using terminal bars to collect the XLR port leads, but I decided that would take up too much of the precious space inside of my panel.

The next step saw management of a lot of the major wiring, installation of a 5VDC power adapter, and installation of a terminal bar to help organize some of the panel’s 120VAC circuits.

 

IMG_0721

 

IMG_0722

 

Getting quite close now, we can turn our attention to the finer details: button wiring and Raspberry Pi wiring.

I decided to use LED buttons for the following: master power, element power, and two manual shut offs for pumps. These LED buttons required 5-6 volts, so hooking them up directly to the Raspberry Pi GPIO is not an option… More on that later.

The master power button acts as a switch for a 120VAC circuit through the coil in my lDPDT relay. When voltage is applied to the relay coil, the relay closes, in turn powering to the entire panel. The master power button lights up when the 5VDC adapter receives power.

The other buttons were wired as follows: power was connected between all LEDs, and each LED was then connected to the normally open terminal on each switch. The common terminal on each switch would then connect to corresponding solid state relay, which would then connect to the Raspberry Pi. So, when the switch was closed, the LED light would indicate the duty as determined by the Raspberry Pi. Specifically, the element LED will cycle in synchrony with power to the boil kettle element. Element duty, of course, is determined with a proportional-integral-derivative algorithm in Strange Brew Elsinore software. The pump LEDs will be on when the pump “switches” are activated in Strange Brew Elsinore. Again, I wanted the option to manually control the pumps, while still having the ability to program some automated pump operation with Strange Brew Elsinore. Please ask for further details on this if you are interested or need help with your own panel!

 

IMG_0742

 

In the picture above, note that the black/white wires are for controlling the master power DPDT relay. Green wires are connected to a 5VDC power source, and jumper the LEDs to the normally open switch terminals. Yellow wires return to either the solid state relays, or GND on the Raspberry Pi in case of the master power switch.

Recall I had mentioned that the LED buttons required 5-6VDC. Raspberry Pi GPIO only provide 3.3VDC when in an active state. Additionally, some folks comment that 3.3VDC is inadequate to control these sort of solid state relays, even though they generally specify anything between 3-32VDC will work. Lastly, controlling a solid state relay, and an large LED may push the amperage draw near the designed maximum of the Raspberry Pi GPIO. One strategy for this is to use transistors. Transistors can be used to amplify voltage. These two youtube videos helped me greatly in figuring out how to wire these things.

 

 

Resistance calculations are necessary to determine exactly how to properly amplify voltage with a transistor. The above videos detail this for those interested.

I used a total of 7 transistors to provide roughly 5VDV to my solid state relays and LEDs. These transistors are activated by only a very small current (roughly 0.07mA) from the raspberry pi at 3.3VDV. If you want some more specifics on the transistor circuits, feel free to ask in the comments or an email.

Before creating connections to any specific GPIO, ensure that they are in a low state at boot by default! I found out the hard way that GPIO 5 and GPIO 6 were in the active high state at boot. This meant I had to make adjustments to my prototyping board after everything else had been installed into my panel… and there’s not a lot of room for a soldering iron after everything’s in there.

I also wired up a circuit for the one wire temperature sensors (DS18B20 sensors). One wire temperature sensors have the following leads: VCC (3.3VDV power supply), DQ (data), and GND (ground). These sensors can be “daisy chained” such that data from a large number of sensors can be read by a single GPIO pin on the Raspberry Pi (GPIO 4 by default). We do this by parallelizing all sensors, and using a single 4k7 ohm pull up resistor on the data lead. That is, we connect the DQ and VCC leads with this single resistor. Super easy. These temperature sensors are very cheap to boot.

Here is what all of that looks like on a prototyping board. The green wires all connect to one of the GPIO. I was able to catch some issues before installation of the prototyping board. I had burnt out one transistor, and I mixed up on the transistor wiring (emitter and collector leads were reversed). If you are going this route, I’d heartily recommend testing everything you can with your Raspberry Pi before installing it into your panel.

 

IMG_0706

 

IMG_0705

 

You’ll see that I put a DC barrel jack right on the prototyping board. This is an alternative to powering the Raspberry Pi from a USB cable. It’s easy to fry your device if you wire this incorrectly – careful!

So now all that is left is to physically install the Raspberry Pi into the control panel, and to connect it all up.

 

IMG_0750

 

IMG_0752

 

For a dry run I wasn’t too concerned about the organization of the wiring. I wanted to make sure everything was correct before I spent the time on making it look nice. The following picture hurts a little to look at…

 

IMG_0757

 

When I connected it up for the first time, I was relieved that nothing had exploded, nor had I died. I did find that I wired the solid state relays in reverse though. A quick fix.

 

IMG_0753

 

Now to clean everything up…

 

IMG_0768

 

Much better!

 

IMG_0772

 

IMG_0773

 

That’s all for now! The next post will be shorter, and will provide some detail on the software side of things.

 

  7 comments for “Brewery build pt 2: control panel internals

  1. Rick Hutfloetz
    July 25, 2016 at 3:37 pm

    Beautiful! I can hardy wait to go electric myself. I’m not sure if I’ll go with a Raspberry Pi or the digital PIDs. Thoughts?

    • Justin
      July 25, 2016 at 3:46 pm

      Thanks!

      Hmm… My thoughts are if you are unsure, to probably go with traditional PIDs… If you’re really into having a touchscreen control for your brewery using a Raspberry Pi, feel free to dive in but without experience with linux and these sorts of devices I expect the learning curve may be a bit steeper. Here to help if I can either way!

      • Rick Hutfloetz
        July 27, 2016 at 2:45 pm

        Thank you Justin, I only have MAC OS devices and am unsure if the Raspberry Pi and software will work with them. Would you be able to share the parts list with me. I’d like to get started on the build in the next couple of months.

        For the two kettle system, What size pot do you need for the MLT for brewing 10 gallon batches? If you’re around this weekend, could I drop by and see what it looks like?

        • Justin
          July 27, 2016 at 4:34 pm

          I’m running OS X, it’s actually easier I’d say to work with that. Once you get everything running it will be easy, and I can help you get it going for sure.

          For my 2 kettle system I’m going with 2 kettles that are about 23 gallons to the rim. It’s a fairly unique design I’m going for, but the idea is to be able to brew 15 gallons of most beers, and 10 gallons of the real strong ones.

          I’ll send you an email about the other stuff (I have it from this site already).

  2. Mike H
    July 25, 2016 at 3:44 pm

    Hi Justin,
    Nice build and thanks for the detail!

    This is great timing – I’m researching my 3 vessel build and currently wading through the 150 pages of Elsinore history over on HBT.

    1) I noticed you are now using the RPi instead of the Beaglebone – was that due to the processing speed being more valuable than the low-volt analog support?

    2) I was thinking of using an 8-channel relay module (SainSmart) to handle the pump operations and future expansion. Are you finding a strong reason that the SSRs are required for more than just the high-amp elements?

    I’m taking notes on a few builds to use as a template, and I’m favoring the dual-use design of having ON-Off-Auto switches to “take it manual” if needed, but I haven’t completed learning all that is involved to solve for that issue yet.

    PS I see the back of the LED control buttons – but where is the picture of the front?! 🙂

    Mike

    • Justin
      July 25, 2016 at 4:08 pm

      Thanks Mike.

      Uh, yeah… lots of reading over there.

      1. Raspberry pi installation is a bit easier. I don’t think there’s processing speed issues either way. I never used the ADC on the BBB, and if I were to use an ADC it probably would be with a higher precision chip than the BBB offers anyways. I looked into using the built in ADC on the BBB to work with PT100 temperature probes, but it was going to be a huge pain, and offered less precision than cheap one wire sensors anyways!

      2. A lot of people seem to have success with the SainSmart relays. I had one myself in “revision 2” of my first control panel… but a couple times the relays stuck and I ended up with frozen or nearly frozen beer… so I switched to all SSRs for the piece of mind. The space requirements are much greater… as you can see I had difficulty fitting everything in my panel box.

      3. I think On-Off-Auto is a good way of going about it. I just wanted LED buttons so I’d have some bling, and I didn’t want to complicate it too much [further] haha (it’s not complicated to do it with a 3 way toggle, but complicated if you’re using a series of LED push buttons). If you’re looking into Strangebrew Elsinore, I think most documented builds can be found be found here: https://www.reddit.com/r/StrangeBrew/search?sort=new&restrict_sr=on&q=flair%3AProject

      Lights to come in the next part of this saga!

Leave a Reply

%d bloggers like this: