Marthos Brauduino - Another odd problem

Australia & New Zealand Homebrewing Forum

Help Support Australia & New Zealand Homebrewing Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

CosmicBertie

Well-Known Member
Joined
7/3/11
Messages
317
Reaction score
42
Just done my first run with the Braudino, and I've noticed a few oddites:

1. When you set temperature steps (ie 55C 10mins, 68C 30mins), the timer starts at the beginning of the temperature ramp. I would've thought it would have started the timer when the specified temperature was reached? IE Ramp upto 68C, then wait for 30mins. This may be working as designed, I dont know.

2. After the last step, the unit signals to remove malt, which I did, then went to 'Boil' and the timer started for a 60min boil, even though the wort wasnt boiling.

3. The unit never beeped for hop additions

I did flash the arduino with the software specified in my other thread, I dont know if that has the issues in it?

All a bit wierd. Anyone else had issues like this?
 
Sounds like software mate. I'll have a look for the thread with your code in it
 
The code linked in the thread looks good, the pump_rest function contains the code which compares the temp to the stage set point, and sets a tempReached boolean which, in turn, starts the timer.

Did you copy the whole code with no changes?

Cheers
 
definitely not how it is meant to work, sounds like you either have a problem with the code or you are getting a bad read on the ds18b20 every now or then. The first 2 problems could be a wrong read on the temperature sensor but the last problem is code, I fixed it about 3 commits ago.

View attachment brauduino2.txt

this is the latest code just change the .txt to .ino and you should be right.

If your still having problems with the timing of the stages then I would be checking the connections to the temperature probe as an open circuit on the data line will return a temp of over 4000, so if there is an intermittent open circuit then the timer will start to count down as soon as it sees the read. I have another version of the code that waits 3 seconds after a read at or above the set temp and then reads the temperature again, if its still over then it starts the countdown. I did this change to stop maloperation due to a wrong read but I haven't committed it yet as I haven't seen the need.

cheers steve
 
Thanks for the code, I'll flash my unit again and see if it helps.
 
Hello matho,
excuse me for asking, but please tell me what to do with the file brauduino_eeprom.pde It uploaded to Arduino Uno with the help of Arduino IDE or what?
Best regards
 
It's intended to set up the eeprom with suitable default values required by the main program, basically so that the defaults aren't all 255.

You upload it once before uploading the main program.
 
matho said:
definitely not how it is meant to work, sounds like you either have a problem with the code or you are getting a bad read on the ds18b20 every now or then. The first 2 problems could be a wrong read on the temperature sensor but the last problem is code, I fixed it about 3 commits ago.

attachicon.gif
brauduino2.txt

this is the latest code just change the .txt to .ino and you should be right.

If your still having problems with the timing of the stages then I would be checking the connections to the temperature probe as an open circuit on the data line will return a temp of over 4000, so if there is an intermittent open circuit then the timer will start to count down as soon as it sees the read. I have another version of the code that waits 3 seconds after a read at or above the set temp and then reads the temperature again, if its still over then it starts the countdown. I did this change to stop maloperation due to a wrong read but I haven't committed it yet as I haven't seen the need.

cheers steve
:icon_offtopic: Steve, is Martho your sister, or version 2 of the Brauduino?
 
Hey guys, I too have made a brauduino from all the awesome info on the site. I also have the exact same issues as Cosmic Bertie. I suspect there is a lot of bad reads from the temp sensor because I can see the red light and "current temperature" contantly flickering and the "mash in" timer starts straight away. when it reaches the boil stage the pump starts to flick on and off too. after that it flicks on and off sporadically for a while then either the LCD spazes out or the temp throws a reading like 3033 or 2012 degrees (not over 4000) and the unit stops.

Also I have the pcb with the built in supressor and ive done the whole foil on the wire thing but it still makes the lcd go bad about 1/4 time the pump turns on/off. Matho, are you abe to post the code with the 3 sec. read time of the temp sensor? I think with that I can at least get the boil happening without the pump and element turning on and off randomly. The LCD thing I can look at after I get it whole thing working.
 
I did another brew in mine yesterday, and its frustrating, to say the least. During the mash phase, everything works correctly when ramping to the appropriate temp, but the time starts straight away instead of once the temp is reached. So if I set the first stage at 68C, the timer will start straight away even though the heater is on and its ramping up the temp.

the worse bit is when its boil time and like above, the heat/pump flicker constantly. Can hear the pump relay clicking like mad. Still no hop beeps either and the boil time starts straight away.

If its not a bug in the software, then im sure its the temp probe, but why it doesnt beep for the hops, i dont know.
 
I was under the impression that the pid settings control the ramping as it gets closer to the temp. Thus the flickering. I am going to hack the code to turn the pump off after about 85 as i wont really need it on and would like rest the pump during the boil. Pretty sure the pump turns off at 95. You guys may need to look at your pid settings.
 
I think the pid settings are good. the flicking on and off of the pump/heater is too sporadic to be the pid. i have done some reading and it seems that the ds18b20 takes 750ms to do the read. I have the version that matho posted of the code that waits 3 seconds after a read at or above the set temp and then reads the temperature again, if its still over then it starts the countdown. this coupled with setting a delay of 800ms between the read and conversion has worked like a charm. ive attached the code. try that bertie and see if that makes a difference. I am still fiddling with the 2 delays as I have had the timer start prematurely about twice.

View attachment brauduino2testwdelay.txt
 
ok I found the problem. I had the data and ground wires the wrong way... its suprising that it actually worked with them wrong.
 
roguenorman said:
ok I found the problem. I had the data and ground wires the wrong way... its suprising that it actually worked with them wrong.
Hmmm...can you send a diagram of how you've wired it to the PCB?
 
Hi I've added CRC checks to temperature readings. Can't figure out how to attach a file so here are the changes (based on comparison with brauduino2.txt posted by Matho in this thread 10th June):

Line 71: Change size of data from 2 to 9:
byte data[2];
byte data[9];

Line 213: Read 9 bytes instead of 2 and then do a crc check:
for ( int i = 0; i < 2; i++) { // we need 2 bytes
data = ds.read();
}

for ( int i = 0; i < 9; i++) { // we need 9 bytes
data = ds.read();
}

// if checksum fails start a new conversion right away
if ( OneWire::crc8(data, 8) != data[8]) {
ds.reset();
ds.skip();
ds.write(0x44,0);
Conv_start = true;
return;
}
 
Wooo, djar007 if you could do that, then i'll be able to tell whether its my board or my dodgy soldering :D
 
ok. i am back on thursday. Im not far from you so I will pm my number and organise a time and place. If you cant wait until then let me know and I will ask the boss to dig it out.
 
Back
Top