Quantcast

Automate your electric brewery - 4 Testers needed for open source project

HomeBrewTalk.com - Beer, Wine, Mead, & Cider Brewing Discussion Community.

Help Support Homebrew Talk:

braumke

Member
Joined
Nov 29, 2015
Messages
17
Reaction score
2
The project is a webserver (Windows or Linux) that controls your electric brewery. Get access and control from any web browser.

What?
I am looking for 4 volunteers to provide feedback on an open-source project to automate your home brewery.

Contact
If this seems interesting to you, PM me and I can get you started.


Why this project?
Because, I have a background in HMI/SCADA, industrial automation, PLCs and electronics. I have tried the arduino/ESP8266 combo with custom Temp sensor board and it's a labor of love. So back to my other passion of HMI.

This project uses (free) industrial automation software to run your homemade beer factory. Some benefits are:
  • Coding not required to make changes (similar concept to Wordpress for websites)
  • Professional, long-term development of the platform (it will be around for many decades)
  • Reliable, stable platform (used to run actual breweries and power plants)

What is the platform?
This project is based on the free maker edition of the Ignition platform. They just released the maker edition this year, for the first time ever. All features, all modules free to use (non-commercial use). That's worth about $20K per server.

This project uses the free Maker Edition of the Ignition platform.
Ignition Maker Edition | Inductive Automation


About the project
This is an open-source project that gives you the config for the Ignition server. Take a look at the (basic, starting) project site below.
Brewery HMI

This project relies on user inputs and feedback from the real-world (you type in the values). There are easy hooks to link up a real system. So, if you wanted to automate some of the inputs/outoput and feedback it is possible (ex. read temperature from sensor. Turn heat source on/off).

One big advantage of using Ignition is the easy connection to devices. The protocol list is extensive Modbus, MQTT, HTTP post/get, nearly any PLC, etc.
You don't need to be a programmer to use this or modify to your needs (everyone's brewery is unique).

Take a look at the Ignition platform (link above). If that seems interesting to you then yes, please check out the this open-source project as well. It will save you a lot of work.

What do I get out of this?
A better web server to automate my electric brewery.
I'm going to do this project regardless. But having your feedback to find bugs, make it better, and add suggestions would be a great help. We all win.


Let me know what you think? Is this worth spending time on?
or do we already have solid choices in our brewing community?
 

aamcle

Well-Known Member
Joined
Jan 7, 2013
Messages
426
Reaction score
40
I'm interested but need to finish my 3d printer before I take anything else on. I was production lead on a HMI/SCADA system many years ago so I had a look at OpenScada and Igss.

They are wonderful systems but as far as I could tell the components would be very expensive, even a serial board for a PC is big bucks and they were just part of a bog standard PC.

Does Ignition support USB and the cheap relays and sensors sold for RPi and Arduinos?

Atb. Aamcle
 
OP
braumke

braumke

Member
Joined
Nov 29, 2015
Messages
17
Reaction score
2
A simple USB to Serial cable will work, yes. I'm sure just about any type of TCP/IP device can be made to work.

Ignition server runs on a computer; Windows or Linux. There is no custom hardware to buy; and the Maker Edition gives you every feature they have for free (non-commercial use).

As for the hardware interface between relays and sensors, you still need to solve that. I ran a Modbus TCP Arduino and that interfaces just fine. You can also easily use MQTT. But you need some type of hardware device to run your I/O (temp sensors, relay control, etc). no way around that.
It looks like Ignition can also run on a raspberry pi; but I have not tried that. That would require their Edge version. I don't know if the Ignition Edge is available as free (maker edition). Installing Ignition Edge on Raspberry Pi

for now, I am just focused on getting the user interface setup and going. Any Modbus or MQTT device is probably going to be the easiest (outside of using an industrial PLC).

Let me know when you want to try this HMI for your brewery.
 

estricklin

Supporting Member
HBT Supporter
Joined
Apr 29, 2012
Messages
2,382
Reaction score
468
Location
Oppelo
A simple USB to Serial cable will work, yes. I'm sure just about any type of TCP/IP device can be made to work.

Ignition server runs on a computer; Windows or Linux. There is no custom hardware to buy; and the Maker Edition gives you every feature they have for free (non-commercial use).

As for the hardware interface between relays and sensors, you still need to solve that. I ran a Modbus TCP Arduino and that interfaces just fine. You can also easily use MQTT. But you need some type of hardware device to run your I/O (temp sensors, relay control, etc). no way around that.
It looks like Ignition can also run on a raspberry pi; but I have not tried that. That would require their Edge version. I don't know if the Ignition Edge is available as free (maker edition). Installing Ignition Edge on Raspberry Pi

for now, I am just focused on getting the user interface setup and going. Any Modbus or MQTT device is probably going to be the easiest (outside of using an industrial PLC).

Let me know when you want to try this HMI for your brewery.
After a bit of research, I'm pretty sure I can easily get Ignition Maker onto a pi. From there it's just figuring out the easiest route to get data from the GPIOs into Ignition. Node Red would work, but I'm thinking Ignition's Serial Module may be a better option. That would allow homebrewers to use familiar, cheap hardware.
 

Granite03

Active Member
Joined
Nov 20, 2017
Messages
27
Reaction score
6
When you say automate your brewery, is that hot side, cold side or both?
 
OP
braumke

braumke

Member
Joined
Nov 29, 2015
Messages
17
Reaction score
2
When you say automate your brewery, is that hot side, cold side or both?
What do you want your automated brewery to do?

Sierra Nevada and Stone Brewery use the Ignition platform. So I'm confident we can make this to work for anything we need at home.
Sierra Nevada Brewing Co. Makes Ignition Its Go-To SCADA Solution
Brewery Improves Efficiency in Multiple Areas with Ignition

To start, hot side. Yes, I would love to have fermentation profiles later on.
Ignition ties in very well with databases, good for storing all that ferm temp data and making nice graphs.
But at the moment, basic needs are handled really well with the Inkbird. So I plan to start with that.

The Inkbird WiFi ITC-308 is only $50 ($40 right now on Amazon), which has both heating and cooling with wifi control. That price is really tough to beat for a PID control, with two AC relay controls. I haven't seen an API for that, but if there is one that would make the most sense. Use the API with this Ignition automation project.
 
OP
braumke

braumke

Member
Joined
Nov 29, 2015
Messages
17
Reaction score
2
Project page updated with screenshots, demo video, and some commercial brewery links (promo videos from the software vendor).

The promo videos give a good idea at what's possible.
 

estricklin

Supporting Member
HBT Supporter
Joined
Apr 29, 2012
Messages
2,382
Reaction score
468
Location
Oppelo
I got data coming from the pi to Ignition via Node Red and the Node Red Module for Ignition. Once you have it setup, it's easy to communicate with temp sensors and GPIOs. I just bound Power to the temp tag I created to demonstrate. It's showing C currently.

1606858722402.png
 
OP
braumke

braumke

Member
Joined
Nov 29, 2015
Messages
17
Reaction score
2
I got data coming from the pi to Ignition via Node Red and the Node Red Module for Ignition. Once you have it setup, it's easy to communicate with temp sensors and GPIOs. I just bound Power to the temp tag I created to demonstrate. It's showing C currently.
That is cool. Glad to hear the setup was easy.
I was going to start with the Automation Direct controllers for Arduino, but I might have to change my mind to use Rpi instead.
 

purdman10

Supporting Member
HBT Supporter
Joined
Oct 12, 2008
Messages
155
Reaction score
17
Location
St. Mary's
That is cool. Glad to hear the setup was easy.
I was going to start with the Automation Direct controllers for Arduino, but I might have to change my mind to use Rpi instead.
I have node-red setup in windows on arm running on a Pi 4 with 4 G memory to export recipes into BruControl. Please see my post in automated brewing. I would be interested in testing your project. I use propane, however...
 
OP
braumke

braumke

Member
Joined
Nov 29, 2015
Messages
17
Reaction score
2
I have node-red setup in windows on arm running on a Pi 4 with 4 G memory to export recipes into BruControl. Please see my post in automated brewing. I would be interested in testing your project. I use propane, however...
Okay, I'll take a look. I just got the Rpi 4 with 4G a couple days ago. So I am quite excited to get it working.

Propane is not going to be a problem to automate with Igntion (the platform that I'm using).
Literally, anything will work there.

Do you have automated gas valve control for your burners?
Or, what is the list of things you were hoping to automate or tie into the software?

I'm going to update a version this weekend. I can mock-up any suggestions that you have.
 

day_trippr

"Now brewing exclusively with Hydrohydroxic Acid"
Joined
May 31, 2011
Messages
35,165
Reaction score
17,099
Location
Stow, MA
It would be awesome - though perhaps not without some risk - to have something that doesn't require a Honeywell gas controller involved in managing something like an HSI pilot with flame detector (<= that could be tricky) to light a main valve to a burner like a bg14...

Cheers!
 

purdman10

Supporting Member
HBT Supporter
Joined
Oct 12, 2008
Messages
155
Reaction score
17
Location
St. Mary's
Okay, I'll take a look. I just got the Rpi 4 with 4G a couple days ago. So I am quite excited to get it working.

Propane is not going to be a problem to automate with Igntion (the platform that I'm using).
Literally, anything will work there.

Do you have automated gas valve control for your burners?
Or, what is the list of things you were hoping to automate or tie into the software?

I'm going to update a version this weekend. I can mock-up any suggestions that you have.
Braumke,
As to your questions, I use honeywell gas valves with a standing pilot. I the am having difficulty in automating the burners to keep a specfied temp range. Are we talking the use of rpi os or perhaps ubuntu (and gentoo for that matter) for Ignition?
 
OP
braumke

braumke

Member
Joined
Nov 29, 2015
Messages
17
Reaction score
2
Braumke,
As to your questions, I use honeywell gas valves with a standing pilot. I the am having difficulty in automating the burners to keep a specfied temp range. Are we talking the use of rpi os or perhaps ubuntu (and gentoo for that matter) for Ignition?
I'd be surprised if a PID controller couldn't give you a stable temperature. But that's not always an easy task; tuning PID controllers is a real art/science.
This company built a custom module for Ignition to do that (was free, looks pay only now). But this gives you an idea to the problem of PID tuning, and how using a platform like Ignition (to record and analyze data) can help:


Ignition runs on either Linux or Windows, like a web server. You can use any web browser as a client; desktop, tablet, or phone it can adapt the screens to your resolution.

Ignition is primarily a user interface; with database recording, trending, and alarming. Yes, it can also perform control/scripts (like a PID control for heat sources).
But, I would defer that PID task down to the I/O level with a controller; like the Automation Direct P1AM, or maybe even NodeRed on Rpi.

@estricklin tried running the Maker Edition server on Rpi, but that didn't work. His idea is to use Rpi as a NodeRed controller and as the Ignition client at the brewery; with a touch screen display there. You would just need to run Ignition on a PC to host the server software.
 
OP
braumke

braumke

Member
Joined
Nov 29, 2015
Messages
17
Reaction score
2
It would be awesome - though perhaps not without some risk - to have something that doesn't require a Honeywell gas controller involved in managing something like an HSI pilot with flame detector (<= that could be tricky) to light a main valve to a burner like a bg14...

Cheers!
Yeah, it would! I did see some homemade ideas to run propane heaters (Google searching). But I didn't see anything I would try that competes with the price (safety) of a Honeywell gas controller.

I'm heading down the electric brew path; but I will add good PID control into this project list.
You'll just have to find a good device to run your gas valves.
 

estricklin

Supporting Member
HBT Supporter
Joined
Apr 29, 2012
Messages
2,382
Reaction score
468
Location
Oppelo
I think it's a good idea to start thinking about how to do temp control for sure.

Here is what I would consider a list of options:

1. Use software PID in Ignition. The Ignition PID module is pay for, and I don't know if it's been updated so I would say that's not the best idea personally. As far as I know, Jython does not have a native PID library, and neither does Java, will check into this more.

2. Use the node red node for PID control. This seems like a good idea, although getting the correct tuning parameters would be very difficult, because I see no way to auto tune, although I haven't done much research into it admittedly.

3. Full disclosure, this is sort of my personal favorite idea. In the settings tab of the project, have a list of settings for each temp control process. So it could sort of look or work like this, assuming in this case 100% means full power, be that to a valve or for an ssr:
Temp Delta 100 = 100%
Temp Delta 50 = 100%
Temp Delta 10 = 50%
Temp Delta 1 = 1%
Each Temp Delta and each percentage could be user defined in the settings, along with an output scale. Then all I have to do is write an easy script or some clever expression bindings. This would allow people with propane to use it, ssrs, and even people with a simple on/off control could also use it. I would also have some predefined temp profiles (or whatever you want to call them). In the tab where the equipment is, we could put a drop down so users just simply select which profile they want to use for each piece of equipment.

I just don't care for PIDs outside of an actual piece of hardware personally. I never did get the one on my Arduino tuned correctly, and eventually gave up and wrote code similar to what I listed above.
 
OP
braumke

braumke

Member
Joined
Nov 29, 2015
Messages
17
Reaction score
2
@estricklin So, you could choose a duty cycle for temperature control?
Basically, a script automatically changes between 100% and 1% duty cycle to control the on/off of the heat source. Ex. if your HLT is under temp by 10F then use the 50% duty cycle. When it gets to under 1F then use 1% duty cycle?

Anyway, sounds easy enough to add.
I'll still look into the NodeRed PID control at some point.
 

estricklin

Supporting Member
HBT Supporter
Joined
Apr 29, 2012
Messages
2,382
Reaction score
468
Location
Oppelo
@estricklin So, you could choose a duty cycle for temperature control?
Basically, a script automatically changes between 100% and 1% duty cycle to control the on/off of the heat source. Ex. if your HLT is under temp by 10F then use the 50% duty cycle. When it gets to under 1F then use 1% duty cycle?

Anyway, sounds easy enough to add.
I'll still look into the NodeRed PID control at some point.
I had some time to think about it some more, I can easily write an expression binding for it, a continuous script running like that in the client scope is never good in my experience. The good news is, if we setup a profile for using the node red PID as well, we can just let users select that from the drop down as well, in other words both is an option for very little more complexity.
 
OP
braumke

braumke

Member
Joined
Nov 29, 2015
Messages
17
Reaction score
2
I had some time to think about it some more, I can easily write an expression binding for it, a continuous script running like that in the client scope is never good in my experience. The good news is, if we setup a profile for using the node red PID as well, we can just let users select that from the drop down as well, in other words both is an option for very little more complexity.
Yeah, that's what I was thinking. An easy way to let you choose how you want to control the heat.


Something new with NodeRed... PID AutoTune for brewing. I'll try this out next and see what happens
node-red-contrib-pid-autotune
 
Top