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.
mattieharding said:
Should be positive - data - ground

Well thats mine anyway
that is correct matt, it looks like the silkscreen formatting has got stuffed up and the terminal is not marked correctly. with the terminals facing you it should be + on the left data in the middle and ground on the right. I have a wiring diagram in the PDF's I made up that shows that.

cheers steve
 
hey roguenorman if your still getting the arduino glitching when the pump is being switched try putting a 16v 2200uF electrolytic cap across the 12v supply in terminals.

cheers steve
 
I downloaded the INO file in this thread, but when I compile I get the following errors. Havent tried loading it into the Arduino yet, my understanding of code is it should compile with no errors. Am I missing something?

brauduino2:28: error: 'OneWire' does not name a type
brauduino2:102: error: 'PID' does not name a type
brauduino2.ino: In function 'void Temperature()':
brauduino2:196: error: 'ds' was not declared in this scope
brauduino2.ino: In function 'void PID_HEAT()':
brauduino2:240: error: 'myPID' was not declared in this scope
brauduino2:244: error: 'myPID' was not declared in this scope
brauduino2.ino: In function 'void load_pid_settings()':
brauduino2:264: error: 'myPID' was not declared in this scope
brauduino2.ino: In function 'void setup()':
brauduino2:1011: error: 'myPID' was not declared in this scope
brauduino2:1011: error: 'AUTOMATIC' was not declared in this scope
 
Deevotronics said:
I downloaded the INO file in this thread, but when I compile I get the following errors. Havent tried loading it into the Arduino yet, my understanding of code is it should compile with no errors. Am I missing something?

brauduino2:28: error: 'OneWire' does not name a type
brauduino2:102: error: 'PID' does not name a type
brauduino2.ino: In function 'void Temperature()':
brauduino2:196: error: 'ds' was not declared in this scope
brauduino2.ino: In function 'void PID_HEAT()':
brauduino2:240: error: 'myPID' was not declared in this scope
brauduino2:244: error: 'myPID' was not declared in this scope
brauduino2.ino: In function 'void load_pid_settings()':
brauduino2:264: error: 'myPID' was not declared in this scope
brauduino2.ino: In function 'void setup()':
brauduino2:1011: error: 'myPID' was not declared in this scope
brauduino2:1011: error: 'AUTOMATIC' was not declared in this scope
http://aussiehomebrewer.com/topic/59563-mathos-controller/?p=963694
 
hey mathos, thanks for the tip! it happens rarely now, but its when it does its a pain, so ill do that. I am using the code with the crc check and it is working really good now. the only thing that is weird is that it gets to the mash in temp, the timer starts right away, then after the mash in timer ends it then asks to add the malt. is that normal? I thought it would get to mash in temp, then ask for malt then begin the timer.

Bertie, how are you going with yours now?
 
roguenorman said:
hey mathos, thanks for the tip! it happens rarely now, but its when it does its a pain, so ill do that. I am using the code with the crc check and it is working really good now. the only thing that is weird is that it gets to the mash in temp, the timer starts right away, then after the mash in timer ends it then asks to add the malt. is that normal? I thought it would get to mash in temp, then ask for malt then begin the timer.

Bertie, how are you going with yours now?
the mash in timing is there to allow for the temperature to equalise before calling for the malt, if you stop the heating when the temperature is reach you could get overshoot or undershoot, if you leave the pid going for a few minutes then it will be right on.

cheers steve
 
Ok, I finally managed to get around to flashing my arduino with roguenormans version, and my tests show that its working better.

So, I reckon its the temp probe which is throwing out spuriously high readings momentarily, causing the unit to switch off the pump and the heater as it thinks its hit the boil temp. This probably accounts for the boil timer to start straight away. Cant vouch for the hop beeper until I do a full brew, but hopefully that'll be at the weekend.

Fingers crossed.
 
When I was building my Brewtroller they use the same type of temp probes and I was getting weird error like what your talking about due to a dodgy temp probe.. I did make mine.. ended up buying a bulk lot off eBay no issue since.

-gav
 
correct me if im wrong, but how the arduino works is it constantly cycles through the code. when introducing a delay, it affects the whole thing. When I had the 1 sec delay in the code, it made everything slow. it even made it slow to update the temp settings when I pushed the up arrow during a brew. Bertie, I have since reflashed my unit to the one that has the crc check, and its working the best. I want to try and get a little usb socket that I can put on my box so it can be flashed without unscrewing the box everytime. that or having 6 dupont wires hanging out that I can connect the programmer to when needed.
 
you are correct in saying that if you put a delay command in the loop then it will slow down the whole program that is why there is no delay put into the loop in the code, only for sensing button presses longer than 1 sec do I use a delay and then the delay is only when the button is actually pushed. If you want to slow down the read rate of the DS18B20 then I would the millis command and then perform a read after a set amount time has elapsed that way the code can continue to do other things whilst waiting for the time to elapse. If you are still having read issues I would replace the DS18B20 especially if you have connected it up incorrectly to start with.

cheers steve
 
My temp reading is displaying zero. When I reverse the DS18B20 it reads 4095.75. i have changed the sensor 10 x and still the same? anyone have any idea what is wrong?
 
booargy said:
My temp reading is displaying zero. When I reverse the DS18B20 it reads 4095.75. i have changed the sensor 10 x and still the same? anyone have any idea what is wrong?
What order do you have it connected.
I've recently found out, If you reverse polarity them they are stuffed on the spot, and if you reverse the data and neg leads you get a zero read but it does not blow the DS18B20.
 
now it makes sense.
on my arduino board pins 10 and 11 are 100 ohms to ground. so it is always going to read zero.
looks like I need a new arduino.

cheers Kev.
 
swapped the freetronics eleven for a mega. worked straight up.
 
roguenorman said:
correct me if im wrong, but how the arduino works is it constantly cycles through the code. when introducing a delay, it affects the whole thing. When I had the 1 sec delay in the code, it made everything slow. it even made it slow to update the temp settings when I pushed the up arrow during a brew. Bertie, I have since reflashed my unit to the one that has the crc check, and its working the best. I want to try and get a little usb socket that I can put on my box so it can be flashed without unscrewing the box everytime. that or having 6 dupont wires hanging out that I can connect the programmer to when needed.
So which version of the code are we using now, Roguey? :-D
 
booargy said:
now it makes sense.
on my arduino board pins 10 and 11 are 100 ohms to ground. so it is always going to read zero.
looks like I need a new arduino.

cheers Kev.
To add to my statement,
I've recently found out, If you reverse polarity the DS18B20 the DS18B20 are stuffed on the spot, and if you reverse the data and neg leads you get a zero read but it does not blow the DS18B20.
 
Lance2 said:
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;
}

I added this to mathos original code and thats what I am using currently. I just did a brew with it on the weekend and it was good. not 1 bad read. Here is the code.

View attachment braduino2crc.txt
 
I've tried the code you've attached, and I'm getting better results. The mash was good, no bad reads, timers seem to be more stable. The boil was better, no flickering/clicking of relay, and the boil timer seemed better. However, I still didnt get any beep alerts for adding hops!

Confused.
 
Back
Top