BruControl: Brewery control & automation 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.
I have 2 interfaces I'll call "A" and "B". Is it possible to set a PID or Hysteresis device element on interface (B) and have it reference an "Input Device" from interface (A)? I am trying to use a single temp probe (currently used on interface A) and have access to it via interface (B). I'm using the standard MEGA 250 with screw shield for both.
When I set up the PID or Hysteresis element on interface B, I can only see a list of what is available for Input Device from the same interface.
I'm not sure if it's something simple I'm missing or it is simply not possible to do this?
 
Not possible, because the PID or Hysteresis algorithm is done in the interface itself. This is a trade-off, but we think it yields more reliability - in case the communication between the application and the interface is lost, the interface keep running the set mode(s).
 
I think I saw this before, but a feature request is arrays in scripting. Really just an indexing variable. I would like to configure elements like valves based on a step in the brewing process. It would be great if I could set a variable array of valve states by step.
 
Question on the UniShield

I have my order in for a MEGA UniShield, and have this 1-wire temp sensor wiring question;

-since the Unishield can accomodate 10 x 1-wire sensors, which are to be connected to interface pin 5 (per MEGA Wiring Map) - will all of these wires physically fit into pin 5? Seems like a lot of wires for a single pin?
 
I think I saw this before, but a feature request is arrays in scripting. Really just an indexing variable. I would like to configure elements like valves based on a step in the brewing process. It would be great if I could set a variable array of valve states by step.
I do this in a way with a global value. I set the global element for my valves and a script sets the valves according to the plan.

I can set the global element in any script and then start my scrValveOperation script which if self resetting

Since it is a global element, I can also set it manually. I do have some buttons and "Water" worksheet that also use this. As an example, I have a 1/2 silicone hose with a Kent Connector on the outlet side so I can connect to a part of the manifold or use it as a cleaning hose. I have a button that has a 10 second delay the a 20 second water flow. Very handy when cleaning by myself.,
 
Question on 1-wire temp sensors; as I'm setting up the upgraded brewhouse, I will have 2 X 1-wire sensors that will be a little less than 20 feet long each. I know this is beyond the recommended 10 feet max, but can it still work?
 
I do this in a way with a global value. I set the global element for my valves and a script sets the valves according to the plan.

I can set the global element in any script and then start my scrValveOperation script which if self resetting

Since it is a global element, I can also set it manually. I do have some buttons and "Water" worksheet that also use this. As an example, I have a 1/2 silicone hose with a Kent Connector on the outlet side so I can connect to a part of the manifold or use it as a cleaning hose. I have a button that has a 10 second delay the a 20 second water flow. Very handy when cleaning by myself.,
My comment was more around arrays in general being much more efficient for coding. If you have 10 devices and 10 steps, it takes at least 100 lines of code to set them individually. Looping with an array would be 10 at most. Much less error prone too.
 
Question on 1-wire temp sensors; as I'm setting up the upgraded brewhouse, I will have 2 X 1-wire sensors that will be a little less than 20 feet long each. I know this is beyond the recommended 10 feet max, but can it still work?
I’d recommend shielded cable, grounded back to the chassis/control panel.
 
Question on 1-wire Temp Sensor indexing: I'm setting up my control panel with a spare MEGA ( connected to laptop via USB) while my Unishield is on order. Added first (port 200) & second (port 201) temp sensors, no issues except it seems like I need to remove power from the Mega (disconnect USB) after adding each new 1-wire sensor.

On my 3rd 1-wire addition (on port 202), it seems like it's reading from first 1-wire sensor..?

Any solution to solving this puzzle? Also, does it mean the laptop and MEGA will need to be powered at all times in order to keep these 1-wire sensors properly indexed?
 
1-wire sensors are indexed upon bus reset, which happens at power-up or if manually reset. You can use the reset button on the MEGA instead of unplugging. Indexing happens in an arbitrary, but consistent manner… meaning the same devices will always index in the same order. So once your devices are wired-in, they will always fall into the same slot (0, 1, 2, etc.) until a sensor is added or removed from the bus.

Make sure you have different indexes set up on each different port, otherwise two different ports will report the same temp. For example, port 200 has index 0, port 201 has index 1, and port 202 has index 2. You can change the indexes without changing the ports later, once you know where each probe is physically located.
 
1-wire sensors are indexed upon bus reset, which happens at power-up or if manually reset. You can use the reset button on the MEGA instead of unplugging. Indexing happens in an arbitrary, but consistent manner… meaning the same devices will always index in the same order. So once your devices are wired-in, they will always fall into the same slot (0, 1, 2, etc.) until a sensor is added or removed from the bus.

Make sure you have different indexes set up on each different port, otherwise two different ports will report the same temp. For example, port 200 has index 0, port 201 has index 1, and port 202 has index 2. You can change the indexes without changing the ports later, once you know where each probe is physically located.
OK, flushed my temp sensor elements and started from scratch; 1st one, reset, 2nd one, reset - all good. When setting up my 3rd element in the same fashion, it starts reading 1 st sensor... again!!

My Ports and Sensor indexes: Port 200/index 0, Port 201/index1, Port 202/index 2... I'm obviously missing something here. I understand the virtual ports 200-209, but I wonder what's the Sensor Index purpose?
 
Wiring Scematic and other info about using a BruControl volume sensor ?

There are 3 wires
Red: VCC1
Yellow: GND
Blue: Out

Assume (for Mega)
Red: +12 vdc (can take up to 30 vdc)
Yellow:GND
Blue: Analog Pin (A0-A15) and ASSOCIATED Analog Port (100 -115) (0 to +5 vdc )
The volume sensor that I just received from BruControl has 4 wires
  • Red
  • Blue
  • Black
  • Silver (metal w/no cover)
Thoughts on what each wire is? How to wire to Uniflex v2?
 
OK, flushed my temp sensor elements and started from scratch; 1st one, reset, 2nd one, reset - all good. When setting up my 3rd element in the same fashion, it starts reading 1 st sensor... again!!

My Ports and Sensor indexes: Port 200/index 0, Port 201/index1, Port 202/index 2... I'm obviously missing something here. I understand the virtual ports 200-209, but I wonder what's the Sensor Inde
 
...more on the 1-wire indexing; the brucontrol manual says: Sensor Index is used to associate a Device Element to a specific sensor. The actual index will need be determined by trial and error...

What does the trial and error mean?

Again, my setup: Port 200/index 0 - works!
Port 201/index 1 - works!
Port 202/index 2 - no joy!
Port 203/index 3 - no joy!!
Should I trial and error the Port 202 & 203 indexes until I hit the right ones?
 
The volume sensor that I just received from BruControl has 4 wires
  • Red
  • Blue
  • Black
  • Silver (metal w/no cover)
Thoughts on what each wire is? How to wire to Uniflex v2?
They changed the wiring on the recent batch. Red-power, black-ground, blue-signal, and silver is the shielding.
 
I have fitted a DSB1820 to my SmartPid and this is a second sensor, the main one on the boiler and mash kettle is an NTC 100k.

I keep getting readings that are completely random ( probably not random) of correct temperature, -0.1 C or 2000 plus celsius.

Does anyone know if this is a recognised thing due to poor voltage, bad connection or bad connector?
The DSB1820 worked absolutely fine on my brewpiless although there is a resistor involved in that setup.
 
hi everyone, hi @BrunDog

Anyone knows if global or any another element can be made with transparent background?
Also, any news on next releases? It has been a while....mostly missing web access. :)
thank you
 
Does someone have starting PID parameters for flow control using a proportional valve through a RIMS tube?
There are lot of articles and theories :) this is what I used:

"
Very simple PID settings are all that is required. I would start around a Kp of 30, see where that gets you. If you have steady state error - i.e. you stabilize at some temperature less than your set point, increase Ki from 0 up to likely no more than 5. If you have overshoot, you could try increasing Kd.

Another way:
These were set via
1) setting I & D = 0 & increasing P until oscillation, then cutting P in half, then
2) increasing I until oscillation, then cutting in half.

"

Also, here is how my tuning process looked like, I started somewhere and with trial and error achieved quite good results . My RIMS PID is tuned at 6L/min.
Please note, I am not an expert, just a poor guy trying to make his BruControl work.
 

Attachments

  • RIMS Tuning.pdf
    1.2 MB · Views: 0
Does someone have starting PID parameters for flow control using a proportional valve through a RIMS tube?

Hmmm this is going to be really dependent on flow rate. You might be better with deadband or hysteresis. BUT, it's worth a try. You want to use a medium Proportion, low Integral, and aggressive Derivative. Maybe 10, .5, 50 to start?
 
I have fitted a DSB1820 to my SmartPid and this is a second sensor, the main one on the boiler and mash kettle is an NTC 100k.

I keep getting readings that are completely random ( probably not random) of correct temperature, -0.1 C or 2000 plus celsius.

Does anyone know if this is a recognised thing due to poor voltage, bad connection or bad connector?
The DSB1820 worked absolutely fine on my brewpiless although there is a resistor involved in that setup.
Sorry... are you asking a BruControl question, or a SmartPID question?
 
Sorry... are you asking a BruControl question, or a SmartPID question?
Well really a question about the DSB1820 sensor, it is attached to a smartpid but I was wondering if it something that someone had come across as a sensor problem rather than a PID problem. I did extend the wires to the sensor from one metre to two metres and maybe that has upset the readings.
I did see somewhere someone mentioned that an odd reading on an NTC sensor was due to undervoltage I think.
 
Hmmm this is going to be really dependent on flow rate. You might be better with deadband or hysteresis. BUT, it's worth a try. You want to use a medium Proportion, low Integral, and aggressive Derivative. Maybe 10, .5, 50 to start?
Feature request: add optional PID parameters to deadband device. This will enable smooth ramping, minimal overshoot, but not over control around the setpoint.
 
Can you not do math in an "if" statement? I was trying something like this and it ignored the 2. Do you need an intermediate variable?

If "MTVol" value == "strikeVol" value - 2
 
Well really a question about the DSB1820 sensor, it is attached to a smartpid but I was wondering if it something that someone had come across as a sensor problem rather than a PID problem. I did extend the wires to the sensor from one metre to two metres and maybe that has upset the readings.
I did see somewhere someone mentioned that an odd reading on an NTC sensor was due to undervoltage I think.
The DS18B20 is a digital sensor, not an NTC analog or passive one. No doubt performance will depend on the wire length and type. Shielded cable can help.
 
Feature request: add optional PID parameters to deadband device. This will enable smooth ramping, minimal overshoot, but not over control around the setpoint.
IMHO, a better request would be to have full-on/full off ranges added to the PID setup...

Side note - I spent YEARS trying to get PID to work with a proportional cooling valve, the issue was part my learning curve, and part the implementation of PID in BruControl not being like a discrete PID such as Auber or Sestos. (Sestos Integral is 'M50' is 0-9999 and higher number is a slower response, and the range is "useful" to me in a cooling application. Sestos also has a great unofficial tuning manual if by chance just fiddling does not work.) Auber is Similar, 0-9999, and higher number is slower response.... both of these work great to get a decent response and minimal overshoot, something that was unobtainable in BruControl... and working a PID controller into my system is what I left BCS for BruControl... I now use a script to do a "poor-man's PID"... it is a band-aid, but I gave up on BurControl PID ever acting like Sestos or Auber...

BruControl's 'Integral' implementation is 0.1-300 and a LOWER number is slower reacting... (And while entering 301 or higher in the keypad will warn you with RED digits that you are out of bounds, it lets you put in .001, but I think it is really just 0 to the BC system and I spent a LOT of time fighting it without realizing it was actually zero) 0.1 as Ki is still too large for me, and it would be really nice if the BruControl PID acted like a Sestos or Auber discrete PID, but I am not holding my breath....
 
Last edited:
I have a mess of wires coming from my brew rig to my uniflex v2 system. 2 elements, 3 probes, 2 pumps, 10 automatic ball valves, 1 proportional ball valve, 1 volume sensor, 1 float switch, 1 24v external power, the 30a power to uniflex, the 15-P plug to uniflex. That's 23 wired devices.

Any specific combinations that I should be worried about for interference? eg. keep probe wires away from 30a? volume sensor away from things? other?

How do folks manage the cords? I have quick disconnects wired into the uniflex pin connector and the devices and then run quick disconnect extensions between the two and take apart or put together as needed between brews.

Thinking I will create a few different bundles and zip tie them together. Also thinking label maker so that can easily put disconnects back together if taken apart.

Thx for the advice, Swan
 
Ha! This is a true art - not science! Lots of ways to cut it. Ideally, you have a separate enclosure where all the wires come from the UF, then has panel disconnects to wire to your external devices. Power supply, terminal blocks, and wires inside. Other than that, keep high voltage away from low voltage (this is why the I/O comes out the front while the high voltage stuff comes out of the back).
 
The DS18B20 is a digital sensor, not an NTC analog or passive one. No doubt performance will depend on the wire length and type. Shielded cable can help.
Thank you for the information, I'll remake it with the minimum length shielded cable and check the connections again.
If no joy I'll replace with ntc 100k which is an alternative. I don't suppose that I can add a resistor somehow to my many spare ntc 10k sensors to make it 100k?
Further question I had the recognised melt of my Fotek, probably due to bad positioning as the side that melted was close to the upper edge of the space it was in . It was still working.
I ordered a proper one pictured below but it didn't work when wired in. I have contacted supplier but wondered if I can test it in any way with a multimeter ?
Brewday was salvaged by bailing out the brew system and replacing the non working new one with the old melted one.
This was mounted out of the prior box, with proper heat transfer paste and a fan to cool the heatsink and coped with the brewday. Thanks IMG_20220507_184543.jpgIMG_20220507_181036.jpgIMG_20220507_180827.jpgIMG_20220425_135929.jpgIMG-20211212-WA0004.jpg
 
Can you not do math in an "if" statement? I was trying something like this and it ignored the 2. Do you need an intermediate variable?

If "MTVol" value == "strikeVol" value - 2
I think you need to create a variable and test against it.

new value vVStrikeMinus2
"vVStrikeMinus2" = "strikeVol" value - 2
If "MTVol" value == "vVStrikeMinus2"
 
I have a mess of wires coming from my brew rig to my uniflex v2 system. 2 elements, 3 probes, 2 pumps, 10 automatic ball valves, 1 proportional ball valve, 1 volume sensor, 1 float switch, 1 24v external power, the 30a power to uniflex, the 15-P plug to uniflex. That's 23 wired devices.

Any specific combinations that I should be worried about for interference? eg. keep probe wires away from 30a? volume sensor away from things? other?

How do folks manage the cords? I have quick disconnects wired into the uniflex pin connector and the devices and then run quick disconnect extensions between the two and take apart or put together as needed between brews.

Thinking I will create a few different bundles and zip tie them together. Also thinking label maker so that can easily put disconnects back together if taken apart.

Thx for the advice, Swan
You can run "like" wires in a conduit. For example, the ball valve signals can all run in the same conduit. For those, plastic is fine. I run my temp sensor wires in a metal conduit. I do have separate boxes for my Transformers, another for my Contactors, another for proportional controllers and SSRs. And a box for the interfaces and associated things like Analog Amps and RTD. All these boxes are metal. All of my AC Power is in amorite conduit.

The only exception is that I have 12 vdc Contactors (110 vac output) for my two ignitors. They are normally on only once for 7 seconds, so any interference is short lived.

I always home run the grounds to each sensor as well.

I use colored heat shrink to identify wires. Just cut a small piece and make your colored stripes on both sides of the QD.
 
Thank you for the information, I'll remake it with the minimum length shielded cable and check the connections again.
If no joy I'll replace with ntc 100k which is an alternative. I don't suppose that I can add a resistor somehow to my many spare ntc 10k sensors to make it 100k?
Further question I had the recognised melt of my Fotek, probably due to bad positioning as the side that melted was close to the upper edge of the space it was in . It was still working.
I ordered a proper one pictured below but it didn't work when wired in. I have contacted supplier but wondered if I can test it in any way with a multimeter ?
Brewday was salvaged by bailing out the brew system and replacing the non working new one with the old melted one.
This was mounted out of the prior box, with proper heat transfer paste and a fan to cool the heatsink and coped with the brewday. ThanksView attachment 768462View attachment 768463View attachment 768464View attachment 768465View attachment 768466
Never had a perfect Brew day. Always having to deal with something!:agressive:
 
Never had a perfect Brew day. Always having to deal with something!:agressive:
and it was so going to be, completely organised, grains crushed, salts, hops etc all ready the night before. Equipment set up as well ( just not tested ) what a fool. Have found out this am that no 40A ssr in stock in NZ or Australia so they are on back order. Nervous for next brew day now .
 
You can run "like" wires in a conduit. For example, the ball valve signals can all run in the same conduit. For those, plastic is fine. I run my temp sensor wires in a metal conduit.
Thanks @oakbarn Any Amazon suggestions for conduit? This type of thing work for the plattic?
I have 10 ball valves so figure I will run two conduits. One between HLT and MT and the other between MT and BK with 5 each. 1/2" probably big enough for 5 two wire cables?

What metal conduit do you suggest for the probes? I have 3 probes.
 
Thanks @oakbarn Any Amazon suggestions for conduit? This type of thing work for the plattic?
I have 10 ball valves so figure I will run two conduits. One between HLT and MT and the other between MT and BK with 5 each. 1/2" probably big enough for 5 two wire cables?

What metal conduit do you suggest for the probes? I have 3 probes.
That is fine but be sure to keep away from any flames or hot surfaces. I like rigid conduit until I get to my brew stand but flexible works to keep it more tidy as well. I like to use standard 3/4" or 1" electrical conduit. I also use twisted pairs for the sensor wire (ethernet Cat5 wire is good. Just remember that any join (including solders) can cause issues. If possible use the sensor wire that came with the sensor. If you need to make a join, make only one rather than several. If your runs are longer than your attached wire, I like to run a non joined cable to a QD and have a short pigtail to the sensor withs it QD.

the conduit is like this but you can find at Home Depot or Lowes

 
Back
Top