# Best approach to measuring 0 - 4v with a 0.1mV resolution

Hi guys,

Looking for ways to go about measuring voltage in the range of 0 - 4v, with a 0.1mV resolution as the signal may fluctuate just 0.1mV per second, and this needs to be seen.

What are my options?

Cheers!

What are my options?

An external 16 bit a/d, and some very careful circuit design

What bandwidth is the signal? Is it differential? Sounds like a minimum of precision ADC and precision voltage reference are needed and a good understanding of precision circuit design.

MarkT: What bandwidth is the signal? Is it differential? Sounds like a minimum of precision ADC and precision voltage reference are needed and a good understanding of precision circuit design.

bandwidth I'm not sure - measuring DC that may be fluctuate ~0.1mv/s.

good understanding of precision circuit design... maybe this may be a little out of my reach. Are there any (cheap) off the shelf units with serial output that could help?

I recently bought a TI ADS1115 16 bit I2C A/D convertor chip breakout module. At it's lowest gain setting it will scale +/- 6.144 vdc to a 16 bit signed integer (however Vcc 0 at 5.0vdc is it's electrical limit) via it's differential input channel, or 0-+6.144 vdc as a single ended input (still +0 to +5vdc electrical limit) so that ends up being a .187 millivolt per step resolution readings. At it's next range scale +/- 4.096 would net a resolution of .125 millivolts per step, very close to your requirement. Nice performance for a \$15 module.

It has much smaller resolution steps at the higher gain settings of course. I've found it to be a very stable chip with very little variation (+/- 2 counts) in reading from a stable switchable voltage standard I have on hand, a General Resistance model DAV-04D 'Dial-A-Volt' test set. Chip is easy to configure and use in software. See my last posting in the below thread.

http://arduino.cc/forum/index.php/topic,68840.msg508428.html#msg508428

Lefty

Lefty, that looks like a great option - will thoroughly look into now. thanks!

retrolefty:
At it’s next range scale +/- 4.096 would net a resolution of .125 millivolts per step, very close to your requirement.

Can you please show me how you reach the resolution of 0.125mV? I thought it is worked out as below?

Range = 0 to 4.096 volts
ADC resolution is 16 bits: 2^16 = 65536 quantization levels
ADC voltage resolution, Q = (4.096 V ? 0 V) / 65536 = 4.096 V / 65536 ? 0.0000625 V ? 0.0625 mV.

You missed the "+/-" bit - twice the range

davivid:

retrolefty:
At it’s next range scale +/- 4.096 would net a resolution of .125 millivolts per step, very close to your requirement.

Can you please show me how you reach the resolution of 0.125mV? I thought it is worked out as below?

Range = 0 to 4.096 volts
ADC resolution is 16 bits: 2^16 = 65536 quantization levels
ADC voltage resolution, Q = (4.096 V ? 0 V) / 65536 = 4.096 V / 65536 ? 0.0000625 V ? 0.0625 mV.

It converts to a signed integer so + and - 32758 steps, so if measuring a signal with only a positive voltage then it’s a 15 bit A/D conversion. To get full 16 bits of resolution would require the use of the differential mode and two inputs (that each can range from +0 to +max range), so if the +input is at +maxrange and - input is at 0vdc the output would be 0x7FFF (32767), and then if the + input was a 0vdc and the - input is at +maxrange the output would be 0x8000 (-32768). For example in differential mode if both the + and - input pins are at 2.5vdc, then the output conversion would be zero (0X0000) no matter what the gain setting is used. Differential mode is most useful for measuring across a Wheatstone bridge circuit.

From the datasheet:

The fully differential voltage input of the ADS1113/4/5 is ideal for connection to differential sources with moderately low source impedance, such as thermocouples and thermistors. Although the ADS1113/4/5 can read bipolar differential signals, they cannot accept negative voltages on either input. It may be helpful to think of the ADS1113/4/5 positive voltage input as noninverting, and of the negative input as inverting.

And:

When measuring single-ended inputs it is important to
note that the negative range of the output codes are
not used. These codes are for measuring negative
differential signals such as (AINP – AINN) < 0.
To prevent the ESD diodes from turning on, the
absolute voltage on any input must stay within the
following range:
GND – 0.3V < AINx < VDD + 0.3V

Lefty

Great thanks for the explanation.

Being new to this field, I was wondering if you would say this is a suitable method for measuring a Photovoltaics experiment?

davivid: Great thanks for the explanation.

Being new to this field, I was wondering if you would say this is a suitable method for measuring a Photovoltaics experiment?

Well instrumentation is instrumentation, it's all about the voltage range and polarity, source impedance, signal bandwidth, resolution requirements, calibration requirements, recording requirements, etc.

So you want to measure some solar panels? That doesn't sound too exotic. Specific answers require specific questions.

Lefty

Well its actually an exhibition exploring Biophotovoltaics but I assume it will be similar to PV in an electrical sense, I know little more about the hardware than already mentioned. I have been asked to prepare a proposal for some interactive visualisations, the only real requirement is that is responds to the small fluctuations in the order of ~0.1mV.

If you only need to measure fluctuations of 1mV or so on top of a 4V DC voltage, that’s a very different problem from measuring the full4V with an accuracy of +/-1mV. Do you need to measure the 4V DC voltage, or just the small changes on top of it?

I need to measure the DC voltage that will range from 0 - 4v, but with the accuracy of +/- 0.1mV. It may only be changing at the rate of 0.1mV/second, say while the output is 2v, but catching these 0.1mV fluctuations are critical.

When working at the micro-volt level you have to treat all electrical connections as thermocouples. Exhibitions tend to have bright lights, air conditioning and people, which is a bad combination when trying to make precision measurements. How good will your temperature control be?

I need to measure the DC voltage that will range from 0 - 4v, but with the accuracy of +/- 0.1mV.

Keep in mind that the word 'accuracy' is almost useless without a operational definition giving all the possible causes of variation that might effect said accuracy. Only a marketing person would use or accept a statement that a given measurement system is say .0025% 'accurate'. The rule of thumb in the instrumentation world is that the measurement system should be 10X more accurate (and sensitive) then your measurement requirements. So if you expect to see sensor measurement changes of .1 millivolts over a measurement range of 0-4vdc, then you should have a measurement system that has 10 microvolts or better of resolution. It takes but just one gander at a typical A/D converters datasheet to see how many sources of variation there are and how they can effect 'accuracy'.

Even the AVR's built in 10 bit A/D converter states in it's datasheet that 'total accuracy' is +/- 2 LSB, thus only guaranteeing the 'accuracy' of the top 8 bits of conversion, and that is on top of any variation of the reference voltage being used, normally the AVR's Avcc voltage.

So your requirements and needs are pretty ambitious and you may need to research and study more about precision measurements if you want your expectations to match reality. Make no mistake, what you require is possible. There are 24 bit A/D converters avalible at not unreasonable prices, but the design, construction, and utilization of such devices can be quite challenging even for an experienced designer.

Lefty

"The Art of Electronics" has a whole chapter devoted to precision circuit design BTW - worth reading to see what kinds of issues crop up.

OP started the discussion by stating that the resolution needed to be 0.1 mV. Then it changed to accuracy later on in the thread. If resolution is indeed what is important then the problem gets considerably simpler. In that case one needs to design a circuit that is stable, linear and repeatable to that resolution and not be overly concerned with absolute accuracy.

If resolution is indeed what is important then the problem gets considerably simpler. In that case one needs to design a circuit that is stable, linear and repeatable to that resolution and not be overly concerned with absolute accuracy.

Not sure how 'considerably simpler' it becomes, it is still a challenge to design and build a 0-4vdc range with .1 mv resolution that is "stable, linear, and repeatable". How stable, how linear, how repeatable ?

If those prior attributes are met, then that leaves mostly only environmental and calibration procedure variations from obtaining 'absolute accuracy'' Noise components larger then the resolution step size could also be a challenge, although software filtering/averaging can help with that.

Lefty

I agree with all that but let's say you use a 24 bit ADC. If you throw away the least significant 8 bits, you are still left with the resolution that you need and the criteria of "stable, linear, and repeatable" are easily satisfied. The typical throughput of such an ADC is 5 Hz, so it should keep up with the signal OP wants to measure. An example of such an ADC is: http://cds.linear.com/docs/Datasheet/2411f.pdf

Now all of that is based on how reliable the 0-4V input is. If OP would share a little bit more of their project with us, I think we can offer some additional encouragement.

We haven't been told a lot about what is being measured. It may be that a circuit that can repeatably record the way a signal varies during a test is adequate.