Quantcast

YABC-Yet a Brew Controller: BrewManiacEx

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

Help Support Homebrew Talk:

programinjo

New Member
Joined
Apr 9, 2017
Messages
3
Reaction score
0
I have double checked the files in eagle, and correct - i have moved the resistor markings the wrong way.. so just go after the value printed on the board - R14 is lower and should be 470K, R10 is the upper one and should be 1K.
I soldered the resistors as it is on the PCB. I installed the new Wemos D1 mini and everything works great. Thank you.
 

Ender2336

Member
Joined
Sep 26, 2019
Messages
5
Reaction score
2
I received my v1.1 boards same day as Bigdaddyale. Still waiting on many electronic parts before I can put it together. Have spare PCBs if anyone in Australia wants one.
Hi pbezza

Do you still have some boards? I am in Perth
 

jippe

Member
Joined
Jul 9, 2019
Messages
13
Reaction score
3
Location
FInland
When running automation and 'remove malt' comes theres endless beep until 'yes' or 'no' is pressed. Removing malt and sparging takes time, is there way to stop beeping w/o pressing yes/no? If no how to change source to stop this?
 
OP
P

pocketmon

Well-Known Member
Joined
Oct 12, 2015
Messages
684
Reaction score
221
When running automation and 'remove malt' comes theres endless beep until 'yes' or 'no' is pressed. Removing malt and sparging takes time, is there way to stop beeping w/o pressing yes/no? If no how to change source to stop this?
press other any key will stop the buzzer. So, just press one of the other two keys.
 

jippe

Member
Joined
Jul 9, 2019
Messages
13
Reaction score
3
Location
FInland
Thanks, thats easy enough :)
I dont have buttons yet and that didn't work via web panel
 

Ender2336

Member
Joined
Sep 26, 2019
Messages
5
Reaction score
2
Hi

So I am mostly set up on my build. I have one question though...

I am using the board from RollE2k for a BrewPiLess.

Where do the buttons plug in...?

I have soldered a set of headers to 2.54 mm spaced holes labeled (somewhat off centre) GD A3 A2 A1 A0 GD.

However I plug these in, I am not receiving anything back on the LCD. I have heeded the advice on the GitHub pages to hold the buttons down for a decent period, to no avail.

Any help would be appreciated.
 

RollE2k

Well-Known Member
Joined
Feb 14, 2017
Messages
62
Reaction score
25
Hi

So I am mostly set up on my build. I have one question though...

I am using the board from RollE2k for a BrewPiLess.

Where do the buttons plug in...?

I have soldered a set of headers to 2.54 mm spaced holes labeled (somewhat off centre) GD A3 A2 A1 A0 GD.

However I plug these in, I am not receiving anything back on the LCD. I have heeded the advice on the GitHub pages to hold the buttons down for a decent period, to no avail.

Any help would be appreciated.
Your LCD is not showing any text at all? If so are you using piggyback LCD on the back side of the PCB?
Then the problem is most probably that you have to adjust the trimmer pot at the top until you see the text. Its for contrast setting.
Otherwise if you don't get any button input it may be because of wrong chip for buttons. PCF8574 next to the wemos D1 CANNOT be a PCF8574A if i remember correct, the difference is other software adressing compared to the PCF8574.

There is a workaround for using PCF8574A, which is editing the code for correct adress. But that i wouldn't recommend, since you would have to change same line each time you update to a later software.
 

Ender2336

Member
Joined
Sep 26, 2019
Messages
5
Reaction score
2
Your LCD is not showing any text at all? If so are you using piggyback LCD on the back side of the PCB?
Then the problem is most probably that you have to adjust the trimmer pot at the top until you see the text. Its for contrast setting.
Otherwise if you don't get any button input it may be because of wrong chip for buttons. PCF8574 next to the wemos D1 CANNOT be a PCF8574A if i remember correct, the difference is other software adressing compared to the PCF8574.

There is a workaround for using PCF8574A, which is editing the code for correct adress. But that i wouldn't recommend, since you would have to change same line each time you update to a later software.
Hi RollE2k

Thanks for the reply.

My LCD works fine. I am trying to see the effect of the buttons on the LCD.

I have a 4-button membrane setup. Plugging this into the headers and pressing buttons does not seem to cause anything to happen.

I have a PCF8574P soldered next to the D1, so there shouldnt be any issues there either...

I have enabled the ButtonViaPCF8574 flag and scanned the I2C addresses. I have then tried all the available addresses within that flag, but i have not been able to get the buttons working.

I have even shorted these headers directly to make sure the buttons are not defunct.

Any ideas?
 

RollE2k

Well-Known Member
Joined
Feb 14, 2017
Messages
62
Reaction score
25
Sorry I don't have any ideas. Maybe try change the PCF8574P to make sure it is not toasted. Hopefully you put the chip in a socket instead of solder direct, because it is a major pain in the ass to remove multiple legged through-hole chips.
 

jippe

Member
Joined
Jul 9, 2019
Messages
13
Reaction score
3
Location
FInland
Any ideas why compiling fails? these 4 errors:
Code:
HttpUpdateHandler.cpp
no matching function for call to 'HTTPClient::begin(WiFiClient&, String&)'
no instance of overloaded function "ESP8266HTTPUpdate::update" matches the argument list -- argument types are: (WiFiClient, String, String) -- object type is: ESP8266HTTPUpdate
no matching function for call to 'ESP8266HTTPUpdate::update(WiFiClient&, String&, String&)'
no instance of overloaded function "HTTPClient::begin" matches the argument list -- argument types are: (WiFiClient, String) -- object type is: HTTPClient
 

day_trippr

This space for rent
Joined
May 31, 2011
Messages
33,394
Reaction score
14,489
Location
Stow, MA
The first link is to mechanical relay modules, not SSRs, so you can eliminate those.

The second link is indeed to actual Solid State Relays. You'll need to select the correct model: it should have '-DA' in the model designator and have sufficient capacity plus guard band to handle your heating element; if you're going to control a pump as well that should be on its own SSR, still with the '-DA' type and again sized appropriately for the pump current requirement.

Don't forget heat sinks!

Cheers!
 

Ronny Rusten

Active Member
Joined
Nov 27, 2019
Messages
38
Reaction score
4
Location
Ålesund, Norway
Thank you very much @day_tripper, I kind of knew the first ones had to be mechanical relays, somehow I thought they where SSRs... don't ask...
Should I have heat sinks even if I use 40A SSRs to control 2kW elements (240V)? I'm going for the 40A, because the price is about the same as for 10A... Or is this stupid? (Except for the money... which is peanuts actually).
 

day_trippr

This space for rent
Joined
May 31, 2011
Messages
33,394
Reaction score
14,489
Location
Stow, MA
I wouldn't call it stupid, people do what they do for reasons that might not be obvious (like, swapability for debugging problems, perhaps :))

I thought the package sizes might vary with the ratings but it appears they're all the same package size. So the heat sinks will be the things that need to be physically sized appropriate for the loading...

Cheers!
 

Ronny Rusten

Active Member
Joined
Nov 27, 2019
Messages
38
Reaction score
4
Location
Ålesund, Norway
Thank you, again. Just a quick question, what is DA, and what is the alternative(s)? I can't find any useful information anywhere...
Actually, I found an article about counterfeit SSRs, it might actually be smart to buy a 40A...
 

day_trippr

This space for rent
Joined
May 31, 2011
Messages
33,394
Reaction score
14,489
Location
Stow, MA
The 'DA' is the manufacturer's model code. Table to the right.
You're going to control the SSR with a digital signal enabling the SSR to pass your AC voltage so you want a 'DA' model...



Cheers!
 

jippe

Member
Joined
Jul 9, 2019
Messages
13
Reaction score
3
Location
FInland
Any ideas why compiling fails? these 4 errors:
Code:
HttpUpdateHandler.cpp
no matching function for call to 'HTTPClient::begin(WiFiClient&, String&)'
no instance of overloaded function "ESP8266HTTPUpdate::update" matches the argument list -- argument types are: (WiFiClient, String, String) -- object type is: ESP8266HTTPUpdate
no matching function for call to 'ESP8266HTTPUpdate::update(WiFiClient&, String&, String&)'
no instance of overloaded function "HTTPClient::begin" matches the argument list -- argument types are: (WiFiClient, String) -- object type is: HTTPClient
I had wrong platform version. changed [email protected]~1.8.0 to espressif8266 and now it compiles.
Is there way to round temperatures to 1 decimal? (ds18b20 accuracy is +-0.5C)
Then I looked code how to do two point calibration. map do that easily but where is right place to do that?
 
OP
P

pocketmon

Well-Known Member
Joined
Oct 12, 2015
Messages
684
Reaction score
221
I had wrong platform version. changed [email protected]~1.8.0 to espressif8266 and now it compiles.
Is there way to round temperatures to 1 decimal? (ds18b20 accuracy is +-0.5C)
Then I looked code how to do two point calibration. map do that easily but where is right place to do that?
There isn't an easy way unless you modify the source code.
 

jippe

Member
Joined
Jul 9, 2019
Messages
13
Reaction score
3
Location
FInland
Yes, I meant modifying code.

What can cause reading temp is so slow that when warming up it overshoot 15-20 degrees? I allready tried disable lowpass filter and change min read time to 100ms
 
Last edited:
OP
P

pocketmon

Well-Known Member
Joined
Oct 12, 2015
Messages
684
Reaction score
221
Yes, I meant modifying code.

What can cause reading temp is so slow that when warming up it overshoot 15-20 degrees? I allready tried disable lowpass filter and change min read time to 100ms
Some people reported that the temperature jumped and resulted unexpected behavior and I saw that once myself, so LPF was introduced.
The minimum read time is to alleviate processing loading for reading temperature.
The time requires to get a reading depends on the resolution. The longest time for 12bit resolution is 750ms.

http://henrysbench.capnfatz.com/hen...s-manual-part-3-reading-a-single-temperature/

Regarding the thermal response, which might be your real concerned, the package of sensor also involves. It gets worse if a thermowell is used.
 

jippe

Member
Joined
Jul 9, 2019
Messages
13
Reaction score
3
Location
FInland
Probably faulty sensor, changed it another but minor code change also. Now it overshoot ~2.5C and then quite steady +-0.25C
Code:
float lpfAddValue(float value)
{
    //_filteredValue = _filteredValue + LowPassFilterParameter * (value - _filteredValue);
    _filteredValue = (1.0 - LowPassFilterParameter) * _filteredValue + LowPassFilterParameter * value;
    return _filteredValue;
}
 

Ronny Rusten

Active Member
Joined
Nov 27, 2019
Messages
38
Reaction score
4
Location
Ålesund, Norway
I'm playing around with BrewManiac without anything connected (other than LEDs for visuals), I'm waiting for a lot of components from China, and I can't find a way to exit auto/manual once I have started a "session". Is this "as designed", or am I missing something? I can of course reset the NodeMCU, but is there a "nicer" way?
 
OP
P

pocketmon

Well-Known Member
Joined
Oct 12, 2015
Messages
684
Reaction score
221
I'm playing around with BrewManiac without anything connected (other than LEDs for visuals), I'm waiting for a lot of components from China, and I can't find a way to exit auto/manual once I have started a "session". Is this "as designed", or am I missing something? I can of course reset the NodeMCU, but is there a "nicer" way?
On phones and tablets that have touch screen, press “UP” and “DOWN” simultaneously.
Or, click at the rectangle area contains the buttons, move into “UP” without releasing mouse, continue to “DOWN”, and release inside the buttons.
 

Ronny Rusten

Active Member
Joined
Nov 27, 2019
Messages
38
Reaction score
4
Location
Ålesund, Norway
Is it possible to control pump speed with BM, or do I need a speed regulator in addition? Could you add PWM pump control as an option? I might be able to program it myself, if you could guide me to where in the code I should make the change...
 
OP
P

pocketmon

Well-Known Member
Joined
Oct 12, 2015
Messages
684
Reaction score
221
Is it possible to control pump speed with BM, or do I need a speed regulator in addition? Could you add PWM pump control as an option? I might be able to program it myself, if you could guide me to where in the code I should make the change...
I couldn't make PWM work on ESP8266. There are some issues, and you can find some on the internet.
Moreover, you need a way to control it, which means UI is needed. It complicated the whole thing.
If you don't need automatic speed control, which is another issue, maybe using a physical dimmer would be easier.
 

Ronny Rusten

Active Member
Joined
Nov 27, 2019
Messages
38
Reaction score
4
Location
Ålesund, Norway
I couldn't make PWM work on ESP8266. There are some issues, and you can find some on the internet.
Moreover, you need a way to control it, which means UI is needed. It complicated the whole thing.
If you don't need automatic speed control, which is another issue, maybe using a physical dimmer would be easier.
OK, thank you.
I will find a way to control the pump. If I have understood it correctly, the pump on/off is in minutes, so the minimum time the pump will run is 5 minutes. If this was 1 minute, or even less, it might have been useful. I'll figure something out...
 

Ronny Rusten

Active Member
Joined
Nov 27, 2019
Messages
38
Reaction score
4
Location
Ålesund, Norway
Anybody tried my pcb design yet?
Hi.
I downloaded the BrewController111.zip and I am trying to get my head around the circuit (BrewController_v11.pdf). It's been a while since I read electronic diagrams, but I'm slowly getting into it again.
I have a few questions someone might like to confirm or decline, and then perhaps explain/clarify.
1. If I want to use a I2C display, I can drop the second CF8574 (IC3) and connect the I2C display to LCD-I2C pins?
1.1 In the BOM it says PCF8574P, but in pocketmon's original circuit on GIT it is used a PCF8574AT. Do I have to change something in code to get the PCF8574P to work?
2. U1-U3 (2N7000) are used for voltage step-up/down between 3V3 and 5V and CAN be dropped? (I have gotten the BrewPiLess to work using 3V3 for relays and LCD, so I know it works... I guess the step-up/down is to make sure the signal is strong enough?)
The rest of the circuit is understandable, sort of...
If my assumptions above is correct, the only thing I REALLY need is the transistor to drive the buzzer?
I'm trying to "de-complicate" the circuit, at least until I see that it works the way I think it works, and something I want to spend time and money into making...

Thanks for any clarifying explanations.
 
OP
P

pocketmon

Well-Known Member
Joined
Oct 12, 2015
Messages
684
Reaction score
221
OK, thank you.
I will find a way to control the pump. If I have understood it correctly, the pump on/off is in minutes, so the minimum time the pump will run is 5 minutes. If this was 1 minute, or even less, it might have been useful. I'll figure something out...
I took the minimum values from Open AirBir. It seems to work for most of the people.
There are people who use stirrers instead of PUMPs and need to set the values in seconds, there is an option for it.
 

Ronny Rusten

Active Member
Joined
Nov 27, 2019
Messages
38
Reaction score
4
Location
Ålesund, Norway
I have connected two DS18B20 temperature sensors, but on the settings page, I don't see any of them.
upload_2020-1-19_21-25-33.png

I'm still waiting for the PCF8574, but I guess it's not necessary to get the temperature sensors listed?
I have flashed the env:spargeheater firmware.

Nevermind, I had to use the LCD to set them up. This should perhaps have been possible from the settings page?
 
Last edited:

Ronny Rusten

Active Member
Joined
Nov 27, 2019
Messages
38
Reaction score
4
Location
Ålesund, Norway
I have a newbie electronics question.
I have wired up a BrewManiac on my breadboard, and in an attempt to keep it as simple as possible, I have mixed 3v3 and 5v to the components.
Instead of using level shifters, I feed the PCF8574P with 3v3 on Vdd, the LCD is getting 5v on Vcc, but get SCL and SDA directly from the D1 mini. The relay module is getting 5v on JDvcc and 3v3 on Vcc, and is contolled directly by the D1 mini from D5.
I plan on controlling the SSRs for the heaters with 3v3, directly from the D1 mini as the SSRs have 3-24v input range.

All of this is working fine on my breadboard (well, I havent connected the SSRs yet, since they are of Zero Crossing DA type, I need some 230VAC connected so I can actually see that it works. I need to clear my workbench for that, so it may take some time :))

First question is if I'm doing something stupid, if we imagine that the D1 mini has unlimited current. Will anything break in the long run, because I mix voltages like I do, or is it OK to do?

Second question is if the SSRs and the rest of the components will pull more current than the D1 mini can deliver? I have searched a bit on the net, and it seems the GPIOs can deliver 12 mA each, and the SSRs are specified to pull 13 [email protected] Can I then assume the SSRs will pull 3,6 [email protected]? (I did the U=R*I math). If this is correct, I guess I should be able to control the SSRs without any transistors between the pins and the SSR?

Or, is this bad practice and should not be done in "production" even if it works on my experiment breadboard?
 
Last edited:
OP
P

pocketmon

Well-Known Member
Joined
Oct 12, 2015
Messages
684
Reaction score
221
I have a newbie electronics question.
I have wired up a BrewManiac on my breadboard, and in an attempt to keep it as simple as possible, I have mixed 3v3 and 5v to the components.
Instead of using level shifters, I feed the PCF8574P with 3v3 on Vdd, the LCD is getting 5v on Vcc, but get SCL and SDA directly from the D1 mini. The relay module is getting 5v on JDvcc and 3v3 on Vcc, and is contolled directly by the D1 mini from D5.
I plan on controlling the SSRs for the heaters with 3v3, directly from the D1 mini as the SSRs have 3-24v input range.

All of this is working fine on my breadboard (well, I havent connected the SSRs yet, since they are of Zero Crossing DA type, I need some 230VAC connected so I can actually see that it works. I need to clear my workbench for that, so it may take some time :))

First question is if I'm doing something stupid, if we imagine that the D1 mini has unlimited current. Will anything break in the long run, because I mix voltages like I do, or is it OK to do?

Second question is if the SSRs and the rest of the components will pull more current than the D1 mini can deliver? I have searched a bit on the net, and it seems the GPIOs can deliver 12 mA each, and the SSRs are specified to pull 13 [email protected] Can I then assume the SSRs will pull 3,6 [email protected]? (I did the U=R*I math). If this is correct, I guess I should be able to control the SSRs without any transistors between the pins and the SSR?

Or, is this bad practice and should not be done in "production" even if it works on my experiment breadboard?
It is said that ESP8266 is 5v tolerant. I have a BrewPiLess setup that has 5v and 3.3v mixed connections like yours. It has run for over 3 years. It's not a good practice, but you should be fine.
I don't have much knowledge about SSR, you might need to find out the specification of yours and try it out.
 

Ronny Rusten

Active Member
Joined
Nov 27, 2019
Messages
38
Reaction score
4
Location
Ålesund, Norway
Recipe functions ready
- import of BeerXML.
- Brew saved recipes.

View attachment 388245
I see you import water amounts in the mash profile. AFAIK beerxml doesn't support water. Which fields are you using?
I'm importing beerxml-files from Brewfather, and they don't contain water...
Perhaps you should have a chat with the developer of Brewfather?
 
OP
P

pocketmon

Well-Known Member
Joined
Oct 12, 2015
Messages
684
Reaction score
221
I see you import water amounts in the mash profile. AFAIK beerxml doesn't support water. Which fields are you using?
I'm importing beerxml-files from Brewfather, and they don't contain water...
Perhaps you should have a chat with the developer of Brewfather?
The water amount displayed is "INFUSE_AMOUNT" in MASH_STEP:
INFUSE_AMOUNT

Conditional

Volume (liters)

The volume of water in liters to infuse in this step. Required only for infusion steps, though one may also add water for temperature mash steps. One should not have an infusion amount for decoction steps.


T
 
Joined
Jan 23, 2019
Messages
13
Reaction score
0
20190601_151410.jpg
Buonasera ragazzi. Scusa dell'insistenza che qualcuno di voi usa questa carta come BrewPiless?
Ho problemi di digestione
 
Last edited:

Latest posts

Top