LinkMeter v2 Homebrew BBQ Controller - Part 1


 
Status
Not open for further replies.
Ok this whole MAX_ADC thig has been bugging me for a long time, and I think I have figured out why the values were causing all the probes to show temperatures when it was set to 2^n-1.

At 10bits the resolution per bit is 5mV. This means that the power supply could droop up to 5mV without being detected and worked properly.

However as we add more accuracy and the voltage resolution goes to 610uV (for 13bits), it will detect this droop and report it as a very low temperature. My 5V rail is closer to 4.96V not 5.0V. So by changing MAX_ADC to 2^n - 2^(n-10) this gives us back the 5mV or tolerance.

To check this assumption I looked at the NADC table and do see that the temperature I was seeing on the disconnected probes was in the 2-3mV range. Right around what I'm seeing with my DVM report for Vdd.

If we changed the probe circuit to have the 10k resistor connected to ground, and the probe connect from 5V to the 10k resistor, and changed the R calculation to match it would fix the issue because ground doesn't bounce around that much. I don't think it will give us any more accuracy, because the power supply droop is still there, but at least I understand now what was happening.

At least that is my thinking as of this AM
icon_smile.gif


dave
 
Another calculator for the coefficients.

http://www.thinksrs.com/suppor...or/NTCcalculator.htm

I found this one to work pretty well just based off three values. I tried it with the ET-73 values from the table from Maverick, I also use the ET-732 table as well and it predicted them both very closely.

I used 32F, 71F, and 212F. Those points are easy for me to measure. A Styrofoam cup full of ice and water is ~32F, room temp, and boiling water (at my elevation).

If you have a different probe give this a shot and see what happens.

dave
 
These guys say the ET-72 and ET-73 use the same probe:

http://www.ebay.com/itm/2-ET-7...Probes-/300501951705

I know the ET-732 probe has a different tip than the ET-73. It is longer and when pushed in the to ET-73 it doesn't work. You have to pull it out slightly.

dave

Originally posted by Dave S (GeoDave):
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by Bryan Mayland:
I'm confused now. Are the original probes from the ET-72 or ET-73? My originals were from a Willams-Sonoma branded remote thermometer, the first set I ordered was ET-72, but I can't remember what high-heat probes I got. Probably ET-72 6ft. All of these read the same within tolerance. I assumed they used all the same for every model but Dave proved me wrong on that.

The long story...I purchased a ET-72 remote unit from a kitchen supply store (http://www.maverickhousewares.com/et72.htm). I bought an extra probe with it. The extra probe was broken out of box and I wasn't very careful with the probe that came with the ET-72 and it wasn't reading correctly. I thought it was the quality of the probe so I wrote Maverick to complain. They explained to me that if you close the probe in the smoker lid or door it can cause off readings and even break the probe. They sent me two ET-72 probes free of charge even though it was probably my fault that the one wasn't reading correctly. The people at Maverick are really great!

Soooo I know they distinguished between ET-72, ET-73, ET732, etc probes when you order replacements but I am not sure how the probes differ between models. Perhaps we should ask Maverick this question... </div></BLOCKQUOTE>
 
Originally posted by D Peart:
At 10bits the resolution per bit is 5mV. This means that the power supply could droop up to 5mV without being detected and worked properly.
The ADC is referenced to the power supply line though, so it is possible that the line drooped during the measurement but if your nominal voltage is 4.96V then your ADC reference voltage is 4.96V. Also, if you look at the way I am doing the measurement that's up in git right now, the 5mV of 1 ADC tick is checked before the resolution increase so it ends up maintaining a "dead zone" of 5mV at the limits.

EDIT: Here's the commit if you want to check your code against it.

I'd have to check my voltages with an empty probe though, I'm not sure what they are with reference to AREF.
 
Just flashed it and it is running fine.

I see you were able to keep the max value at -1, not sure what was different, but it works for me so I'm happy.

dave

Originally posted by Bryan Mayland:
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by D Peart:
At 10bits the resolution per bit is 5mV. This means that the power supply could droop up to 5mV without being detected and worked properly.
The ADC is referenced to the power supply line though, so it is possible that the line drooped during the measurement but if your nominal voltage is 4.96V then your ADC reference voltage is 4.96V. Also, if you look at the way I am doing the measurement that's up in git right now, the 5mV of 1 ADC tick is checked before the resolution increase so it ends up maintaining a "dead zone" of 5mV at the limits.

EDIT: Here's the commit if you want to check your code against it.

I'd have to check my voltages with an empty probe though, I'm not sure what they are with reference to AREF. </div></BLOCKQUOTE>
 
Originally posted by D Peart:
I see you were able to keep the max value at -1, not sure what was different, but it works for me so I'm happy.
I think it is exactly what you said. If you're sampling at 13bit resolution there can only be a 610uV difference between the reference and the measured. It is relatively easy to have one reading out of 512 (4^3 * 8) not come back as MAX_ADC and give an "actual" temperature result. Therefore, I do the check at 10-bit resolution and if any of those 10-bit samples are MAX_ADC it throws the whole 2 second period out.

I had added your ET-732 coefficients in as a comment to the source code (and will eventually have them built into the web interface). I went to update them with your updated values from your Success! post but I noticed that they appeared to be more than 10% different than your measured values. I then went and copied the values from the Honeywell R-T Curve 4 into TableGenerator.exe and got a completely different set of values (1.4186e-3,2.0051e-4,1.11198e-7). Which one should I include as the coefficients for the ET-732?
 
OK the 1023 makes total sense. As that is the "true" resolution for the ADC and that accomplishes the same thing.

As for coefficients I use Curve4 and when I put it into the table generator, I use the F temps, and get:
5.36924e-4, 1.91396e-4, 6.60399e-8

I found that when I first did the numbers that the -76F value got dropped. Seems the table generator ignores the first line of the file it loads. I don't see a difference but for completeness sake I added it in.

The table shows the resistance in Megaohms. So you need to adjust for that. Not sure if you did Kohms or not.

dave


Originally posted by Bryan Mayland:
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by D Peart:
I see you were able to keep the max value at -1, not sure what was different, but it works for me so I'm happy.
I think it is exactly what you said. If you're sampling at 13bit resolution there can only be a 610uV difference between the reference and the measured. It is relatively easy to have one reading out of 512 (4^3 * 8) not come back as MAX_ADC and give an "actual" temperature result. Therefore, I do the check at 10-bit resolution and if any of those 10-bit samples are MAX_ADC it throws the whole 2 second period out.

I had added your ET-732 coefficients in as a comment to the source code (and will eventually have them built into the web interface). I went to update them with your updated values from your Success! post but I noticed that they appeared to be more than 10% different than your measured values. I then went and copied the values from the Honeywell R-T Curve 4 into TableGenerator.exe and got a completely different set of values (1.4186e-3,2.0051e-4,1.11198e-7). Which one should I include as the coefficients for the ET-732? </div></BLOCKQUOTE>
 
Originally posted by D Peart:
As for coefficients I use Curve4 and when I put it into the table generator, I use the F temps, and get:
5.36924e-4, 1.91396e-4, 6.60399e-8
Thanks, I've updated the source
 
Hello Everyone,

I just wanted to let everyone know I still have V3.1 boards avaliable. If anyone is interested just let me know and I will give you the info for my paypal. They are $10.00 including shipping. Hope everyone is having a happy holiday and a they have a great new year.
 
Has anyone experienced the Maverick probes stop responding below 44 degrees? I am doing my alpha test of my setup and they stopped working after the temp dropped below 44 degrees. It isn't a big deal to me if they don't report. Just kind of makes me rethink a ambient temperature gauge.

I am crossing my fingers I log a whole nights worth of data. Been waiting for this to work for a long time.
 
Originally posted by M Rochford:
Has anyone experienced the Maverick probes stop responding below 44 degrees? I am doing my alpha test of my setup and they stopped working after the temp dropped below 44 degrees.
I know I've seen temperatures down into the 30s with them for sure and theoretically they're able (ADC-wise) to read temperatures right down to 0F. Do they just not give any new data or show as offline or what?
 
Originally posted by Bryan Mayland:
I know I've seen temperatures down into the 30s with them for sure and theoretically they're able (ADC-wise) to read temperatures right down to 0F. Do they just not give any new data or show as offline or what?

Unfortunately I don't have all the metadata I need to troubleshoot this. Once I have complete this smoke I will play with putting the probes in the refrigerator and I see what is happening. So far my data collection is working. I am seeing a little variances in temps from my thermometers on my smoker(which is expected).

Check out the data so far.
http://mikerochford.com/MeatLogger/?cookId=1
http://mikerochford.com/MeatLogger/chart.php?cookId=1
 
Originally posted by Duston Anthony:
Hello Everyone,

I just wanted to let everyone know I still have V3.1 boards avaliable. If anyone is interested just let me know and I will give you the info for my paypal. They are $10.00 including shipping. Hope everyone is having a happy holiday and a they have a great new year.

I would like to take a shot at this. I keep reading throught this thread saying I gotta try it.

jkourletakis attt gmail dot com
 
While I am waiting for Mouser stuff to get off backorder, I cracked open the WRT54GS I had laying around that I installed linkmeter on. It says it's a rev "xa", and the serial headers on it appear to be different than what I've seen in other pics posted here.

Am I right in assuming that I can orient my HM board like this:

http://dl.dropbox.com/u/119708...1%2052%2006%20AM.jpg

And solder the serial header (facing the HM board) using pins 1-9? From what I gather, 2-10 are ttyS0 and 1-9 are ttyS1..

I have been scouring the internet for pictures of completed v3.1 setups to work off of, but haven't seen much of anything. I'd be much obliged if some wouldn't mind snapping some pictures of the guts of theirs next time they had it apart.
icon_smile.gif
 
First off, thanks to Brian and friends for all the efforts you've put in to this. I was looking for something to get me back into electronics and also needed a controller for my BGE, so this seemed like the perfect match!
But now I'm looking for some troubleshooting help. I've built the LM4HM using a Dorkbot board based on the v3.1 files and successfully flashed the AVR and router. However, when I power up the board the LED flashes twice and the LCD back-light comes on, but no text is displayed? I can browse to the LM site but it just displays an empty graph and the current system time. Any recommendations on where to start looking?....
 
The first things I would do:

1. make sure the shift register is installed correctly.
2. If you have a volt meter ohm out all the traces from the AVR to the shift register to make sure they are all connected
3. check the wiring connections between the LCD and the header on the HM board
4. Use a voltmeter to test that everything is getting power

To see if the serial interface is working:

1. telnet onto the router, you may need to use ssh if you set the password, because telnet will be disabled. You cannot telnet in as root, because by default OpenWRT doesn't allow root access to the WAN. At least that is my theory why ssh doesn't work for root.
2. type 'cat /dev/ttyS1' without the quotes.

You should see something being displayed every few seconds.

Originally posted by Joe Loyd:
First off, thanks to Brian and friends for all the efforts you've put in to this. I was looking for something to get me back into electronics and also needed a controller for my BGE, so this seemed like the perfect match!
But now I'm looking for some troubleshooting help. I've built the LM4HM using a Dorkbot board based on the v3.1 files and successfully flashed the AVR and router. However, when I power up the board the LED flashes twice and the LCD back-light comes on, but no text is displayed? I can browse to the LM site but it just displays an empty graph and the current system time. Any recommendations on where to start looking?....
 
Originally posted by Joe Loyd:
However, when I power up the board the LED flashes twice and the LCD back-light comes on, but no text is displayed? I can browse to the LM site but it just displays an empty graph and the current system time.
Dave's already given you some pretty good starting points, but I'd check the orientation of the shift register like he said, it faces the opposite way of the ATmega. The good news is that it is getting through the whole boot process (2 blinks) so it isn't hanging at all and the two issues you're experiencing are almost certainly not related.

For the serial:
Once you ssh/telnet into the router, stop lucid first `/etc/init.d/lucid stop`, then do the `cat /dev/ttyS1`. Hit the reset button on the HM board and it should say $UCID,HeaterMeter,(version) in less than a second followed by more data. If you're getting nothing, maybe try `cat /dev/ttyS0`. Are you using a WRT54GL?

The LCD thing seems to be the biggest issue. It is really hard to diagnose without just swapping parts out willy-nilly. I haven't pushed it to GitHub yet but I've written an SPI-based LCD class that may or may not be more reliable for the v4.0 boards. It is smaller code size, 5x faster, only requires 1 wire instead of the 2, and does away with 4 of the associated components (3 resistors, 1 diode). The PCB layout is also easier because all 6 parallel pins come out the same side of the IC, and the input is on the other.
 
Status
Not open for further replies.

 

Back
Top