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

    Homebrewing Facebook Group

BruControl: Brewery control & automation software

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Also with the AA-2, we are planning to control your Quadzilla via a Crydom Proportional Controller 0-10 vdc via a PID Element. This will be Port 7 on our Mega Unishield.

The instructions say:
a. Each PWM/Analog Out pin connected via I1 … I4 is associated with a PWM/Analog Output Device Element port in BruControl. That output must be enabled and set to maximum voltage/value (e.g. BruControl PWM/Analog Output Device Element enabled with uncalibrated output value = 255).

To set up the AA-2:

Do I need to create a PWM Element on Port 7 and set its value to 255 or can you set the 255 on a PID Element.


Having an email exchange @BrunDog with a different issue, these answers became apparent.

Do I need to create a PWM Element on Port 7 and set its value to 255 or can you set the 255 on a PID Element?

That is one way to do it.

@BrunDog suggested I use the 5v Out of the Mega Unishield. In my mind, that is a great way to set up the AA-2 because the maximum voltage for the input is that 5v out voltage. If you set a PWM Element to 255, it should supply that same voltage. You cannot set the Output of a PID Element.
 
What is the best way to archive or delete the data in the database to reduce the file size?
When the new version of BruControl comes out that allows you to choose what and how often to get data, that will be the answer to such a huge database. I cannot use the database function because it gets to GBs in a day. When it is large, it takes up to 10 minutes for the exe to Load. I have removed the SQL and have no database. If you do not use the data, you might want to get rid of the SQL stuff if you do not use them for other things and have no database. You can also delete the database daily using Windows.
 
I am having some issues with alarm timers and am wondering if this is a bug, or as intended.
If you have a timer with an alarm set at 0, the timer will count down and when it crosses 0, it will set the alarm. My issue is how to reset the timer and alarm without it retriggering the alarm. If you set the time to 5 secs, turn off the alarm and start the timer, it will retrigger the alarm before it crosses 0. Presumably because it has crossed from -1 to 5 when you set the time. This is also the case if you reset the timer (with a reset value of 5 secs). I have separate scripts for each brew step. At the end of each script, the timer has expired and the alarm is set (this is how I determine the end of the step). I then turn off the alarm. At the beginning of a script, I reset the timer. When I start the timer, the alarm is retriggered after about a second, not when it crosses 0. Example:

at end of script:
Timer value is at -00:00:00:01
Alarm is active
"StepComplete" active = false //reset alarm

at start of script:
restart "StepTimer" //reset value in timer is 00:00:00:05
sleep 2000
"StepComplete" active = false

without the sleep step and turning off the alarm again, the alarm is retriggered after ~1sec causing my step to end immediately.

Is this the behavior you expect?

Hard to determine without the full scripts. but you can try this:

FYI: I do not use the Alarm function of a timer but use scripting for the same, but I think the following will work using that attribute:



// at start of script:
"StepComplete" active = false //reset alarm
reset "StepTimer" //reset value in timer is 00:00:00:05
start "StepTimer"

You could also try just changing the order only:

// at start of script:
"StepComplete" active = false //reset alarm
restart "StepTimer" //reset value in timer is 00:00:00:05



I use a Global Value Integer to control my flow of my process. I do have some Alarms that when manually activity made false will advance to the next step. If I can make the next step automatic, I might have that tickle Alarm to let me know that the next step has started.
 
Last edited:
Picked up a ESP8285-based 'PSF-B04' module 4-relay board from amazon for $18.99, just using it with e-WeLink for now, but it seems really nice as it works off of USB power or 7-32V AC/DC. I will poke around for ability to use other GPIO and load BC firmware but mainly bought it to give IoT control to a 3-button garage door operator. iTead application guide for PSF-B04

1673358072375.png
 
I found using "Lookup" tables for NTC Probe calibration iffy at best. Too wide of a calibration range the probe will be exposed to the less accurate readings you will get. Example: Boil kettle starting point after mash out 165F and taking it to a boil 210-212 depending on elevation you would not want to include temps in your Lookup tables of much less than 155-160, otherwise you will be trying to straighten out the curve at the lower temps which pulls away from the accuracy of a specific range you might be trying to monitor. These probes are none linear and can, depending on type of thermistor used, give less accurate readings at the top end of the scale as well so including to many skewed values from the high temp level can impact accuracy.
In other words calibrate in a specific range for that particular probe would be my advice. The more entry values within a specified range the more accurate the temp value will be within that specific range.
Just need to make sure you have enough entries in the table, especially the book-ends. I'd go every 5 or 10 degrees.
 
Also with the AA-2, we are planning to control your Quadzilla via a Crydom Proportional Controller 0-10 vdc via a PID Element. This will be Port 7 on our Mega Unishield.

The instructions say:
a. Each PWM/Analog Out pin connected via I1 … I4 is associated with a PWM/Analog Output Device Element port in BruControl. That output must be enabled and set to maximum voltage/value (e.g. BruControl PWM/Analog Output Device Element enabled with uncalibrated output value = 255).

To set up the AA-2:

Do I need to create a PWM Element on Port 7 and set its value to 255 or can you set the 255 on a PID Element.
You can use a PWM Output Device Element, which will create a "manual" fixed output that will only change by the operator or a script. You set this one. Or you can create a PID Output Device Element with the Use PWM switch enabled, which will create an analog PWM output which automatically changes in accordance with the PID's calculation. You don't set this output, it is automatically calculated.
 
I am having some issues with alarm timers and am wondering if this is a bug, or as intended.
If you have a timer with an alarm set at 0, the timer will count down and when it crosses 0, it will set the alarm. My issue is how to reset the timer and alarm without it retriggering the alarm. If you set the time to 5 secs, turn off the alarm and start the timer, it will retrigger the alarm before it crosses 0. Presumably because it has crossed from -1 to 5 when you set the time. This is also the case if you reset the timer (with a reset value of 5 secs). I have separate scripts for each brew step. At the end of each script, the timer has expired and the alarm is set (this is how I determine the end of the step). I then turn off the alarm. At the beginning of a script, I reset the timer. When I start the timer, the alarm is retriggered after about a second, not when it crosses 0. Example:

at end of script:
Timer value is at -00:00:00:01
Alarm is active
"StepComplete" active = false //reset alarm

at start of script:
restart "StepTimer" //reset value in timer is 00:00:00:05
sleep 2000
"StepComplete" active = false

without the sleep step and turning off the alarm again, the alarm is retriggered after ~1sec causing my step to end immediately.

Is this the behavior you expect?
Yes. I'm not fully understanding your question though. Resetting a timer will not cancel an alarm it triggered.
 
Having an email exchange @BrunDog with a different issue, these answers became apparent.

Do I need to create a PWM Element on Port 7 and set its value to 255 or can you set the 255 on a PID Element?

That is one way to do it.

@BrunDog suggested I use the 5v Out of the Mega Unishield. In my mind, that is a great way to set up the AA-2 because the maximum voltage for the input is that 5v out voltage. If you set a PWM Element to 255, it should supply that same voltage. You cannot set the Output of a PID Element.
No, I only suggested you use the 5V Out temporarily to test the AA-2. Feeding a fixed 5V input is simulating a 100% PWM output from a MEGA. We do this only to test the output of the AA-2 and set its output range. The AA-2's input power (V+) voltage should be 5-24 DC (but not less than the output voltage you expect, meaning 5V power will not allow a 0-10V output range). the AA-2 channel input signals must not exceed 5V (they would be 5V for a MEGA and 3.3V for ESP32, Grand Central, etc).
 
Yes. I'm not fully understanding your question though. Resetting a timer will not cancel an alarm it triggered.
My script resets the alarm. When it is restarted, it retriggers before it hits the trigger point. I have to put in a delay in between restarting the timer and resetting the alarm. My question is, how do you restart the timer without it retriggering the alarm? I can write a script to show this if it helps, but it is pretty easy to see if you play with it a bit. You actually don't need a script, just a timer and an alarm to see the behavior.
 
Yes. I'm not fully understanding your question though. Resetting a timer will not cancel an alarm it triggered.
My script resets the alarm. When it is restarted, it retriggers before it hits the trigger point. I have to put in a delay in between estarting the timer and resetting the alarm. My question is, how do you restart the timer without it retriggering the alarm? I can write a script to show this if it helps, but it is pretty easy to see if you play with it a bit. You actually don't need a script, just a timer and an alarm to see the behavior.
 
Yes. I'm not fully understanding your question though. Resetting a timer will not cancel an alarm it triggered.
My script resets the alarm. When it is restarted, it retriggers before it hits the trigger point. I have to put in a delay in between eestarting the timer and resetting the alarm. My question is, how do you restart the timer without it retriggering the alarm? I can write a script to show this if it helps, but it is pretty easy to see if you play with it a bit. You actually don't need a script, just a timer and an alarm to see the behavior.
Just tested this and not seeing the problem you are. What application version are you using?
I just played with it a little more and I figured out what my issue is. I use the timer to countdown timed steps and as an elapsed step time for non-timed steps. When I reset the timer and change it to a countup timer (for elapsed step time) and then start the timer, it triggers the alarm. You can see this by doing the following:
Set up timer to countdown from 5 and trigger the alarm at 0.
Start timer and then stop it after it triggers
Reset the timer (to 5secs)
Reset the alarm
Change the timer to CountUp
Start the timer.
This will trigger the timer immediately.

I also noted that resetting the timer does reset the alarm once the timer is started, so it you keep it as a countdown, you don't necessarily have to reset the alarm, it will reset when the timer starts.
I think I will set up another timer for countup steps so I can eliminate this issue. Thanks for looking into this.
 
My script resets the alarm. When it is restarted, it retriggers before it hits the trigger point. I have to put in a delay in between eestarting the timer and resetting the alarm. My question is, how do you restart the timer without it retriggering the alarm? I can write a script to show this if it helps, but it is pretty easy to see if you play with it a bit. You actually don't need a script, just a timer and an alarm to see the behavior.

I just played with it a little more and I figured out what my issue is. I use the timer to countdown timed steps and as an elapsed step time for non-timed steps. When I reset the timer and change it to a countup timer (for elapsed step time) and then start the timer, it triggers the alarm. You can see this by doing the following:
Set up timer to countdown from 5 and trigger the alarm at 0.
Start timer and then stop it after it triggers
Reset the timer (to 5secs)
Reset the alarm
Change the timer to CountUp
Start the timer.
This will trigger the timer immediately.

I also noted that resetting the timer does reset the alarm once the timer is started, so it you keep it as a countdown, you don't necessarily have to reset the alarm, it will reset when the timer starts.
I think I will set up another timer for countup steps so I can eliminate this issue. Thanks for looking into this.
OK cool!
 
No, I only suggested you use the 5V Out temporarily to test the AA-2. Feeding a fixed 5V input is simulating a 100% PWM output from a MEGA. We do this only to test the output of the AA-2 and set its output range. The AA-2's input power (V+) voltage should be 5-24 DC (but not less than the output voltage you expect, meaning 5V power will not allow a 0-10V output range). the AA-2 channel input signals must not exceed 5V (they would be 5V for a MEGA and 3.3V for ESP32, Grand Central, etc).
Basically that what I thought I said. I guess I could have been clearer. I was just responding to my own post.
 
If you have a Unishield set up on VR->5v power, can you use the VR Terminal for a 5v Output once you have it set? I still had my Voltmeter hooked up to read VR (Voltmeter setting switch in VR Only). I turned off the Power. I moved the switch to VR-5v and replaced my Ethernet shield but I did not disconnect the Voltmeter. When I powered it back up I notices that the Voltmeter is at 5.03v where I had set it in VR, so it is powered.

If you can, is the VR 5v output tied to AREF via the Dip Switch?
 
If you have a Unishield set up on VR->5v power, can you use the VR Terminal for a 5v Output once you have it set? I still had my Voltmeter hooked up to read VR (Voltmeter setting switch in VR Only). I turned off the Power. I moved the switch to VR-5v and replaced my Ethernet shield but I did not disconnect the Voltmeter. When I powered it back up I notices that the Voltmeter is at 5.03v where I had set it in VR, so it is powered.

If you can, is the VR 5v output tied to AREF via the Dip Switch?
Yes absolutely, this was part of the UniShield's intent. Note that this 5V goes directly to the chip if MEGA, so any noise, spikes, or voltage dips induced on that line could F-up the chip.

Not sure what you are saying about the Ethernet shield... but you need not worry about it - it gets its power from the MEGA it's plugged into.

The AREF connects to "Vcc" (aka IOREF in arduino speak), not VR or 5V. This is the voltage the chip is based on, so for the MEGA it is 5V, and for a Grand Central, its 3.3V. This signal comes from the board. Technically, for a MEGA it will be 5V which will be VR if VR -> 5V switch is set.
 
Does anyone have a practical guide to installing and using an ISpindel with BruControl.

Apparently, you need to configure the ISpindel for BruConttrol and use the Local SQL must be installed? I have an Ispindel I would like to test inside a Stainless Fermenter but this seems more complicated than a Tilt.
 
New to BruControl but not to electric brewing. Upgrading from an old BCS unit. I see a lot of cool graphics for the brewery interface and wondering if there is a place to get a custom brewery done or did everyone do their own graphics? I am not good at graphics so hoping there is a way to get a template or something.
Thanks in advance
 
New to BruControl but not to electric brewing. Upgrading from an old BCS unit. I see a lot of cool graphics for the brewery interface and wondering if there is a place to get a custom brewery done or did everyone do their own graphics? I am not good at graphics so hoping there is a way to get a template or something.
Thanks in advance
Adding graphics is easy as you can add up to 3 backgrounds to any element. There are many ways to display a temperature gauge built in. Converting from. BCS is fairly straight forward. You can get lots of help in the forum.

I personally wish that you could select a background by a path so you could have unlimited ones.

You can also add wav files to alarms so you can have “custom” alarm sounds ( or songs )


One big difference between the BCS and BruControl as you can have as many processes and Steps as you want.

Scripting (programming) can be a challenge especially if you have never done any coding but again lots of help here.
 
For those looking for interface graphics...There is a PLC software from Unitronics called Visilogic and is a free download. Navigate to program files>Unitronics>data>images. Lots of equipment, pipes, valves and in a few different styles...
This is a good place for some images that are free. You can use either MS Paint or Paint 3D that came with Windows to manipulate the files. I personally like the MS Paint that is in Win 10 or before.
 
This is a good place for some images that are free. You can use either MS Paint or Paint 3D that came with Windows to manipulate the files. I personally like the MS Paint that is in Win 10 or before.
Thanks for this. It has a lot to it for sure. But I think I can figure it out. Appreciate the help and also got the shared folder.
 
One item that has already come up, I installed and activated the program on test computer. When trying to install on a different computer the license is not active and says to release and contact support. I don't see a way to release it on first install machine? Also, I have a home server and was going to run this on it so I have RAID backup. Any others running on home server and is there any issues?
 
One item that has already come up, I installed and activated the program on test computer. When trying to install on a different computer the license is not active and says to release and contact support. I don't see a way to release it on first install machine? Also, I have a home server and was going to run this on it so I have RAID backup. Any others running on home server and is there any issues?
Other than contacting @BrunDog ([email protected]), I do not know of another way to move from one computer to another,

You also have to connect to the internet at least every 30 days to update the license. I have my BruControl computer (a Beelink mini) in my Brewery and generally leave it off the web.

I find that I have to leave it connected for a day or so before it updates.

I just opened BruControl (it has been running) and the last update was 01/04/2023 with 0 days! So I need to get the computer connected to the internet (a different router) so this could be a issue for me with fermentation!

Be nice if the Activate button would change to Update License Date for this issue once it was activated on a computer.
 
I was adding a Volume a sensor to my HLT. I had had a sensor port added to the vessel. I was thinking in how I could add a volume sensor to any vessel and realized that a simple Tee on the output of the vessel could take the volume sensor. No need for a special port.
 

Latest posts

Back
Top