Electronic – What’s the cheapest way to make a dithered-input ADC


I know that some of these PICs have ADCs built in, and I may want to use that.

I am wondering if there is a way I can effectively dither the input to a low-bit (like 8 bits) ADC with the fewest parts (like no unnecessary op-amp) and all cheap and widely-available vanilla-flavored parts.

The voltage measured might be DC or very low frequency, likely always less than 10 Hz. The effective sample rate might be as low as 50 Hz, but this is after averaging the 500 kHz samples from the ADC.

The ADC was just randomly picked because it looked cheap. The Zener was chosen to be less than 5v breakdown. The resistors are guesses.

My questions reside among the Zener and associated resistors. What's a good cheap Zener to use for a noise source? What kinda r.m.s. AC noise output can I get from some cheap Zener? I want this voltage to be somewhere around the LSB voltage of the ADC which is VREF\$\cdot 2^{-8}\$ or VDD\$\cdot 2^{-8}\$ I do not want to need more than +5v and GND power supply.

The idea is to get, cheaply, much better than 8 bit precision, by dithering and averaging. Anyone do this before? What can I gain from your experience?


simulate this circuit – Schematic created using CircuitLab


Just FYI: I finally found a reference of someone measuring noise output of zener diodes. It looks like the noise from a zener in breakdown is about 1.5 µV which is far less (about 80 dB) than the 19 mV LSB and won't do much to dither unless one were to amplify it, which makes it less cheap (and I wanted to do this on the cheap).

So Tony EE "RocketScientist", that is the reason the circuit will "certainly not" work. And you didn't say a word why that's the case.

Best Answer

This is not a direct answer to your question, but addresses your actual problem.

This is probably not the best way to achieve what you want:

Many, probably even most, PICs come with internal A/Ds. Very likely you can find a PIC with built-in A/D that is cheaper than your "cheap PIC" plus external A/D. The result will also be smaller, and the A/D easier to drive in the firmware.

Before you think about dithering a low resolution A/D, consider:

  1. Do you really need to? Noise is everywhere. Often there is enough random noise, or even non-random noise below half your sampling frequency, so that explicit dithering is unnecessary. Just sample a lot faster than you need, and low pass filter the result. I do this routinely. And yes, this is usually with A/Ds built into PICs.

  2. Use a higher resolution A/D. You say you are using a 8 bit A/D. Very low end PICs come with 8 bit A/Ds, but many also have 10 bit A/Ds available. Instead of hoping to pick up another 2 bits with dithering, just get a A/D with two more bits in the first place. Most newer PICs nowadays even have 12 bit A/Ds, although usually not in the absolute lowest cost models.