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

    Australia and New Zealand Homebrewers Facebook Group

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.
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