The Great Bottle Opener Giveaway

Home Brew Forums > Home Brewing Beer > DIY Projects > Arduino - Networked Temperature Monitor

Reply
 
LinkBack Thread Tools
Old 11-01-2012, 07:58 PM   #71
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 572
Liked 46 Times on 41 Posts
Likes Given: 2

Default

Quote:
Originally Posted by alien View Post
DS18B20s are great because of the lack of line noise and the easily readable digital output. Even so I'd expect a bit of wobble. Perhaps check if you are reading all 12 bits of data?
One of the things that I looked at while writing my code was the time it took to get a result from the DS18B20. While you can get 12 bits of precision from the chip with 0.0625°C of resolution, it takes up to 750ms to get that resolution from the chip. You can get 9 bits of precision in just under 100 ms with 0.5°C of resolution. The kicker is that the error is ±0.5°C over most of the range, and ±2°C over the chip's entire range. Since I don't feel the need to have extreme precision, there was no point in waiting 7 times as long for a floating point result that I'll end up storing as an unsigned integer value .

My personal opinion: If you are using a single probe to measure the temperature of a carboy or bucket of wort, tenths and hundredths of a degree don't matter much.
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 11-01-2012, 08:00 PM   #72
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 572
Liked 46 Times on 41 Posts
Likes Given: 2

Default

Quote:
Originally Posted by omayhemo View Post
I love microcontroller projects. But I'm left with one lingering question.
If you don't go into the garage, how do you extract the beer from the refrigerator?
You'll note that I said that I don't go OFTEN. Now I only have to go when I want to get BEER!
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 11-01-2012, 08:11 PM   #73
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 572
Liked 46 Times on 41 Posts
Likes Given: 2

Default keep on truckin...

Got the Action Update screen done.

Now I can assign up to one thermometer probe and two switches to an action, and monitor and control the action from the website:



Next up is the control software in the arduino Mega2560 to turn the switches on and off based on the values in the action.

jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 11-01-2012, 08:40 PM   #74
alien
Feedback Score: 1 reviews
Recipes 
 
Join Date: Apr 2012
Location: Philadelphia, PA
Posts: 1,234
Liked 64 Times on 58 Posts
Likes Given: 61

Default

Quote:
Originally Posted by jimmayhugh View Post
My personal opinion: If you are using a single probe to measure the temperature of a carboy or bucket of wort, tenths and hundredths of a degree don't matter much.
Agreed, almost certainly the calibration error is larger than 0.5 oC. Personally I don't need to know the temperature sooner than 750 ms. By the way I think that's conversion time not signalling time, so you could signal all 20 probes and come back 750 ms later and collect all 20 outputs. (As far as I understand.)

The update screens look very cool.
alien is offline
 
Reply With Quote Quick reply to this message
Old 11-04-2012, 01:49 AM   #75
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 572
Liked 46 Times on 41 Posts
Likes Given: 2

Default

Quote:
Originally Posted by alien View Post
Agreed, almost certainly the calibration error is larger than 0.5 oC. Personally I don't need to know the temperature sooner than 750 ms. By the way I think that's conversion time not signalling time, so you could signal all 20 probes and come back 750 ms later and collect all 20 outputs. (As far as I understand.)

The update screens look very cool.
I believe that you are correct about conversion vs signaling time, but the code that I have works, so I am loath to change it.

I'm sure that someone with more webpage design experience than could make a much prettier page, so if someone wants to provide a "cooler" display page, I'll be posting all of the code pretty soon.

To that end, I've now got the actions working, so you can set "too hot" and "too cold" set points, and a delay if needed for turn-on for either. I'm also saving the action setting in EEPROM, so if there's a power failure, the action settings will be restored. I'm in the process of making several new switch sets so I can test multiple actions.

Now I just need a cool name for it.
__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 11-04-2012, 06:31 PM   #76
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 572
Liked 46 Times on 41 Posts
Likes Given: 2

Default Code's Up

OK, I've done a write-up, and posted the code at my web site. I'm sure that I'll be tweaking and modifying the page and code over the next few weeks, but I think it's usable for anyone that would like to take a look.

Comments are welcome...

__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 11-07-2012, 02:40 AM   #77
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 572
Liked 46 Times on 41 Posts
Likes Given: 2

Default

For those of you that would rather use a thermocouple, here is a paper outlining the use of another 1-Wire device to connect the thermocouple to the mini-lan.

More on this as time allows and samples arrive.

__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 11-11-2012, 07:12 PM   #78
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 572
Liked 46 Times on 41 Posts
Likes Given: 2

Default Work continues...

I now have a MySQL database running in the RPi that stores the action configurations and allows you to name the various temperature probes and switches. When you set it up in the Action Configuration page:



It will then show up on the Action Status Page:

__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 11-30-2012, 08:06 PM   #79
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 572
Liked 46 Times on 41 Posts
Likes Given: 2

Default If there's any interest...

I just found a slick LITTLE board here that I'm integrating into my setup. It uses a 32-bit ARM Cortex M3, has a buttload of Flash and RAM, and uses 3v3 I/O, so there's no need for level converters. It can run in overclocked mode at 96MHz, is compatible with many Arduino Libraries, and has its own integration into the Arduino IDE. Best of all, it's only $19.

Playing with it as I write this.

Required some minor changes to the 1-Wire library, otherwise spooled right up and started runnng.

__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 12-01-2012, 11:13 PM   #80
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 572
Liked 46 Times on 41 Posts
Likes Given: 2

Default OK, one minor problem with the Teensy 3.0

Seems that the EEPROM isn't really the same as EEPROM in the Arduinos. It's explained here, but the essence of the problem is that the EEPROM space is overwritten every time new code is uploaded to the Teensy. Since this was where I was storing my sensor / action arrays for power-up restore, all of that information is lost if you upload new code.

The solution was fairly simple: If you upload new code to the Teensy, you can restore the settings from the database on the RPi. I've added a "Restore" button to each action on the web site, and clicking on that restores the action from the RPi database, and reloads it into the EEPROM. I'm also going to add a "Restore All" button after some more testing.

I'll upload the code when I'm satisfied with it.

__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Reply


Quick Reply
Message:
Options
Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Idea for Kegerator temperature monitor FourJ DIY Projects 0 04-26-2012 04:29 AM
Interesting Temperature Monitor with SMS Jeepninja DIY Projects 3 12-07-2011 05:59 PM
Arduino for kegerator temperature control. Orfy DIY Projects 19 04-21-2010 12:18 PM
1-Wire Temperature Monitor Vinic DIY Projects 12 01-12-2010 06:01 PM
Temperature Monitor N5629 DIY Projects 5 03-31-2009 04:54 PM