Shop OBEX P1 Docs P2 Docs Learn Events
16 bit ADC - Stamp Friendly — Parallax Forums

16 bit ADC - Stamp Friendly

xanatosxanatos Posts: 1,120
edited 2012-06-16 18:09 in General Discussion
The forum search only likes search terms that are greater than 3 characters, so searching 16 bit ADC was quite futile...

Anyone have a preferred 16 bit ADC they like to use - something along the lines of the ADC0801 ... but 16 bits? The 0801 causes me to have to squeeze the total range too much to get the resolution I want.

Thanks...

Comments

  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2012-06-11 20:51
    There is probably a reason that a 16-Bit ADC is going to be difficult to find. For that resolution you really need to consider a good design layout to make sure that noise doesn't become a problem. The noise floor alone at 3.3 V would have to be stable within 50nV µV ... 76nV µV at 5V

    What are you trying to sense? An instrumentation amplifier might be a better front end approach to reduce any common mode noise, and then apply an ADC to the output of that after a slight amplification. Either way leads are going to need to be extremely short to minimize noise from entering the system.
  • kwinnkwinn Posts: 8,697
    edited 2012-06-11 21:30
    I have used the ADS8323 (16 bit parallel SAR) and it has proven to be reliable so far but as Beau says layout is critical. It took me 3 tries to get a layout that provided the required speed and noise levels.

    If 14 bits are enough there are quite a few choices that are easier to work with.

    What does your application require as far as sample rate, input type (single ended or differential), and parallell or serial output?
  • Tracy AllenTracy Allen Posts: 6,664
    edited 2012-06-11 21:46
    Beau, do you mean microvolts? 16 bits at 3.3V full scale is 50µV per bit, not 50nV.

    It's true about awareness of noise sources. Given that, a high resolution converter with differential inputs and its own programmable amplifier (PGA) can be cheaper and more direct than a handful of analog components. Direct to digital.

    I use the ADS1115, which has 2 channels differential or 4 channels single ended, a built in reference, PGA gains of 2/3, 1, 2, 4, 8 & 16, and Vdd range from 2.7 to 5.5V. It is not fast (128SPS) but it is meant for instrumentation. On the high gain setting, full scale is 0.256V, the least significant bit is 7.8µV. I use it for digitizing thermocouples directly. Xanatos, are you using 2p series Stamp? This chip has an i2c interface.
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2012-06-12 09:03
    "Beau, do you mean microvolts?" - Yes, thank you.
  • xanatosxanatos Posts: 1,120
    edited 2012-06-12 09:34
    Hi & thanks for the info. at ADS1115 may work for me - but perhaps I'm going about this incorrectly.

    The ADC0801, being an 8-bit unit, only gives me 255 steps. When using this with an LM34, if I want temperature resolution to 0.1 degrees (1 millivolt per tenth of a degree), then I have a maximum temperature range of 25.5 degrees. I need a temperature range of (at minimum) 60 to 212 (that's 152 degrees, or with 0.1 degree resolution, 1520 steps.) I've looked at 12 bit ADCs, but they spec out to 1.22mv sensitivity. So if I use a 16 bit ADC, in my logic, anyway, the noise variations would be relatively trivial as long as they allowed me to sample the LM34 output roughly once per second. That noise could vary by up to 500 uV and as long as it was still floating around the 0.1 degree or 1mv zone. If successive readings occasionally bounced between, say, 100.3 degrees and 100.4 degrees because of a slight noise - it doesn't seem to me to be a huge issue, especially because these values will be averaged and plotted over time, and trends are what I am looking for, rather than an instantaneous, exact measurement with sub-microvolt precision. So I figure that while the individual numeric values I get out of a 16 bit ADC may vary quite a bit, when translated to temperature, they'll likely stay well within the .1 degree range I need.

    Am I thinking correctly, or am I missing some critical understanding of ADCs?

    Or should I be using another measurement style? After all I've read about compensation for thermocouples and the issues raised there, the LM34 seems like a good choice given it's wide available temp range (up to 300 degrees) and ease of use. Thoughts?

    Thanks,

    Dave
  • kwinnkwinn Posts: 8,697
    edited 2012-06-12 18:31
    Getting the resolution you want with a 12 bit adc is not a problem. Your problem comes from using the 5V supply as the reference for the adc. A 12 bit adc will give you 4096 steps over the range set by the adc reference voltage.

    For example, if you used an MCP3202 with a precision voltage reference of 2.56V you would have a sensitivity of 2.56/4096 or 0.625mV per bit(step) or 0.06 degrees F.

    The same adc with a 3.3V reference would have a sensitivity of 3.3/4096 or 0.8mV per bit or 0.08 degrees F.

    The 1.22mV sensitivity comes from using 5V as the reference.
  • Tracy AllenTracy Allen Posts: 6,664
    edited 2012-06-12 21:29
    The ADC0801 is not a great choice for the Stamp, because it is a parallel interface. A serial SPI or I2C interface will take fewer pins. More of an issue if you are looking for higher resolution.

    I agree with Kwinn about the reference. Consider an ADC like the MCP3204 or MCP3208 that Parallax sells. It gives you 12 bits, an SERIN/SEROUT interface, and a reference input. Tie the reference input to 4.096V and viol
  • Capt. QuirkCapt. Quirk Posts: 872
    edited 2012-06-12 21:36
    What type of thermocouple do you plan to use?
  • Tracy AllenTracy Allen Posts: 6,664
    edited 2012-06-13 08:49
    Xanatos brought this up for the LM34 temperature sensor IC. It has a relatively high output level of 10mV per °F. I mentioned thermocouples as a type of temperature sensor that can take advantage of a high resolution converter. I use types T and K thermocouples, usually fine wires for measurements of surface temperatures.
  • xanatosxanatos Posts: 1,120
    edited 2012-06-13 10:48
    Hi,

    Thanks for the info - this IS useful. And apologies, it wasn't the ADC0801 I was using - it was the ADC0831, which uses only 3 pins (CS, Ck, DO). Years ago I used a ton of ADC0804LCN chips for stuff, and there's a groove worn in my brain for that number when referencing ADCs! :-)

    The MCP3204, MCP3208 and ADS1115 all look very good at this point, I'm downloading datasheets on them all at the moment.

    I've ordered the MCP3204 chips - they'll be perfect! (In combination with the MCP1541 precision 4.096V regulators I ordered as well)

    Thanks for the help everybody!

    Dave
  • xanatosxanatos Posts: 1,120
    edited 2012-06-16 18:09
    The MCP3204 chips, along with the MCP1541 4.096 volt precision regulators, are working like MAGIC. Fantastic. There seems to be a non-linearity between the LM34/MCP3204 combinations I am using and my non-contact temp probe that I am using to calibrate the output. I am using the NCTP to read the temp of the LM34, and when I calibrate it at a given temperature, when that temperature is significantly elevated or reduced, there is an induced difference between the NCTP and the LM34 readings. And I am honestly not sure which one is right. I guess I have to stick my LM34 into an ice bath, then some boiling water, to get some relatively inarguable temperature set-points! :-)

    Thanks again for all your help!

    Dave
Sign In or Register to comment.