Measuring microvolt/nanovolt differences in circuit using Arduino ADC

Sorry about the opa192 - I'll look for something else. And the 7660 is no good - it's a psu chip- my mistake - I meant the 7650 - but that's no good either as it's input only goes to -1.5 volts from the +ve rail...

Not many opamps will do for this, unless you're willing to use a little (isolated) 9v battery and replace it every 100 hours or so - that would make things much easier.

Would that be OK?

Allan

Use the ADS1115 in Differential Mode, across the low resistance current shunt.

(don't forget to select the 16-bit code instead of the 12 bit)

Yes - great - if you're referring to the 0.5 ohms to ground.

Not much help if you mean the resistance to be measured (mOhm) sitting at 200v above ground.

Don't think the ADS1115 would like that very much.

Allan

Can't the 9V battery be rechargeable?

I have made 2 small voltage divider with a 4meg and 50k resistor both resistors are 0.1% 50ppc. I want to try the ads1115 across this to measure the R1. But I think I will need some filter and buffer stage in between to get some reliable result. Not sure if this is right though?
And yes I will use the 16bit code. Thanks for reminding.

1/ 9v rechargable? ok but not while in circuit. - but see my final comment.

2/ OK - the pot divider and ground-based a/d idea. I'll have some fun here.

2 resistor chains to ground 4meg/50k - 0.1% per resistor - that's 0.4% worst case.

And about 90 x signal attenuation.

So now your signal goes from about 0.4mV fullscale at the resistance to be measured down to about 5uV fullscale at the ADS1115 ! one bit at 16 bit resolution with a 5v reference is 0.76mV - 150 times bigger!

0.4mV is hard enough!!

So you'd then need a precision preamp with a gain of at least 100000 times (10e5) to get a usable signa! level ( 0.5v) . And input offset of a few tens of pV.

And as for the tempco?! And we're getting well down into noise levels here.

You can't buy such an opamp.

Anywhere. ( Or am I wrong?)

And given your 0.1% divider chain resistors, the centre point could be off by 0.4% of the 200V divided by 90 - ie 200 / 90 x 0.4% - that's 9mV! multiply by your 'perfect' opamp gain of 10e5 and you get an offset of about 900 volts at it's output!

Calibrate that! that's about 2000 x bigger than the signal! You'd need resistors better than 1 part in a million to make this work! Vishay are good, but not as good as that! and 20ppm/C is a good tempco for a resistor! I've used 0.01% resistors, and they were expensive and nowhere near good enough for this!

And unless the 200v is accurate, as it's varied, so will the offset - big time! Better get a 1ppm 400v supply! Do the sums!

So buy a posh 24-bit sigma-delta a/d from AD, TI , LT etc - that's still not good enough!
Do some sums!

(daft idea, Raschemmel - you can't dig your way out of this problem with just a divider chain and a better a/d. I read a post of yours a while back in which you suggested technical detail gave a measure of the poster's competence - try your own medicine! Recommending a 16-bit a/d is hardly detail.)

blow the a/d - that's the easy bit. This is an analog problem.

A possible way might be to sit the whole measuring stuff including a/d at the 200v level and couple digitised signals via optos down to a ground based arduino, PC or whatever - that would work. hmmmm .

You'd need an isolated power supply of 12v and a few tens of mA sitting at the 200v level - but - hey - even a wallwart might be OK.
You could split that to give +/-6 round the floating resistor in question, and then you COULD use a 7650 opamp - no rail-rail stuff needed.

Rethink...........

Allan

Wow sir, you have just got me confused even more now. I know the problem is hard, and can't be solved by just high bit ADCs. Btw how did the factor became 90, it should be 80, (4M+50k)/50K = 81 actually.

Now, going through my calculations in reverse, the 22 Bit ADC at 5V reference can measure 1.2uV theoritically.
Now multiplying it with the factor of 81 is 97.2 uV (The min drop across R1 that can be measured). So at 2A current from the supply the least possible value of R1 that can be measured is around 50 uOhm(48.6) without any buffer amplifier analog design. Am I doing anything wrong here?? These calculations are for the MCP3551 22 Bit ADC. Please consider this ADC as well - I already have this.

I know in practical these values will not be near enough. That is why I am here asking for help. But I believe this can be done, combining with good analog design, high bit adc, good pcb and noise filters. So please keep helping me. Oh and I will be satisfied if I can achieve these numbers the 50uOhm and 1.2uV.

Thank you.

You're putting your 81 ( sorry) in backwards.

A 1mV drop across R1 becomes 1/81 mV difference, ignoring tolerances.at the bottom of your divider chains.

Suppose the voltage on one side of R1 is V1, and on the other side V2. Their difference is V1-V2

Then the voltages at the bottom of the divider chains are V1/81 and V2/81 , and their difference is

V1/81 - V2/81 = (V1-V2)/81

Allan

how am I doing it backwards ? 1mV drop becomes 1/81 = 12uV?

What I wrote is the least count of a 22 bit ADC at 5v ref is 5/(2^22 - 1) = 1.2uV which is less than abobe calculated 12uV. So it should read that.(ignoring tolerences and other disturbances).

PS the least count gets multiplied when going from adc to the R1, and voltage across R1 gets divided when coming to ADC.

So 1.2uV makes the least detectable voltage at R1 to be 97.2uV.
Still think I am doing something wrong in my calculation? please correct. thanks.

OK - but 1mV is FULL SCALE - and you want to resolve to 0.1% which is 1000 times less!

So 1mV -> 12uV -> 12nV!

try that in your 22-bitt-er.

And don't forget the huge offset errors due to your 0.1% resistors

Allan

Hey, here is a simple diagram to show "what it is now" vs "what I want" in the design.

I used the x81 factor divider considering the full 400V, even if the whole drop happens across R1 (which will never be the case) the ADC will get <5V in its input.

But it is a problem when the voltage drop is less(eg 0.4V). So now I am thinking of using different resistor pairs as dividers and use mosfets(or simillar) to switch them from highest to significant lowest as in autorange systems to measure VR1.

But doing this may have an effect in accuracy, not sure how much? In kelvin connections the wire resistance doesn't matter - can I use something like that here?

Also if this design could work, I will need help in the gain / filter / amplifier stages.
Please check the attachments and give response.

Thanks.

Edit: I don't mind if my design is totally bad or is not suitable for this purpose. So don't try to go through this design and make it work somehow. If I get any idea that will work better, like Allan sir suggested, the complete analog devices sitting at the high voltage levels, i can go through that as well. I just don't like to work on high voltages, that's probably why I considered dividing and then amplifying to get to the results. Please see how it can be done. Thanks again.

What it is now.jpg

I detect not only the moving but abduction to another playing field of your goalposts.

Neither of those diagrams resemble yours in post #32, to which I've been working, and which you have insisted is immutable.

Your design still won't work, but before I put any more effort into it, confirm that this topology is final. Your lack of understanding of why it can't work does not not bode well.

In particluar , why does your resistor to be measured (R1) have to sit between two other resistors?

Why can't one end be earthed?

And why can't I put a simple current source into it and dispose of your 'load' resistors? ( which dissipate a lot of power to no obvious purpose..)

If you made it clear what you're actually trying to measure, and the essential electrical conditions under which it must operate ( and perhaps why) I might find a neat answer.

Having been given only partial information I and others may well have been on a timewasting wild goose chase.

Allan.

allanhurst:
I detect not only the moving but abduction to another playing field of your goalposts.

Allan.

Origonal OP disappeared to be replaced by another problem.
Perhaps starting another thread defining the problem would be a suitable idea.

I think all the confusion is coz I hijacked this thread from another op whose problem is similar but a slight different than mine. I am gonna start a new thread now. Allan sir, please check your pm. The last shared drawing is quite near to the solution I was thinking. only the 0.5Ohm shunt to be inserted anywhere in the loop.

Edit: New topic posted here Measuring Low Ohm with micro-volt resolution precisely - General Electronics - Arduino Forum

To measure low level DC voltages, think AC not DC. An Arduino counter can be used to generate two opposite phase chopper drive signals which can chop the DC signal into an AC waveform which can be amplified and synchronously detected using the A/D converter.
With 5mV minimum resolution of the A/D converter an amplifier gain of 1,000 will give 1 uV sensitivity.
Special analog switches are required for these low levels and they are readily available from ON semiconductor part numbers H11F1M, H11F2M, and H11F3M. Unlike standard analog switches there is no charge transfer making them useful for sub microvolt measurements.
Only the input DC voltage needs to be chopped, the amplifier output is "detected" in the Arduino which eliminates any possible DC offset since the same A/D is making the measurement. The A/D measures the first phase output and the subtracts the second phase output and then averages the result for the final measurement.
Because chopping is essentially a sampling operation, an anti-aliasing filter is required. Because of DC offset concerns, the best filter is a one or more stage RC filter.
For applications like reading a load cell no analog switches are required, two Arduino outputs can be used to create an H bridge to drive the load cell with the output both AC and DC coupled into an op-amp. The averaging process reduces the signal bandwidth and greatly reduces noise. The non-inverting input of the op-amp is directly coupled to one side of the load cell output which then acts as the AC reference and the inverting input is connected through a capacitor to the other output. A feedback resistor is connected from the output of the amplifier to the inverting input. The gain is dependent on the ratio between the feedback resistance and the load cell resistance.
This simple circuit is useful if a load cell is to be used for some kind of simple weight sensing where super high accuracy is not required. Because the same 5 volt supply is used as a reference for the A/D and also to drive the load cell, the measurements will be repeatable.
The op-amp, Arduino and load cell must be connected with short wires as excess capacitance may cause stability problems. I've used this circuit successfully as a simple step sensor by re-purposing a cheap bathroom scale with a commodity MCP6002 op-amp.
For ultra high gains two stages are required. A single supply solution on a breadboard is possible, but op-amp input biasing is difficult and requires special attention. Also, high impedances and low voltages don't mix, to get noise levels in the nanovolt range, low resistance values are required, low as in kilohm or below.
The circuits are from an Arduino microvoltmeter project and I've attached my current research results. This is big project and when completed I will publish everything on SourceForge including the code.
It's also possible to use a computer sound card to drive the choppers through an HCMOS flip-flop and use synchronous detection to easily measure into the millivolt range with very simple hardware. The hardware is dirt simple, but the sound card is a bit of a pain to use. Six sigma repeatability of better than 50 microvolts is obtainable with 1 second sample times.
These kind of measurements have fascinated me for decades especially since the early vacuum tube meters were able to measure well under the microvolt range using relatively simple hardware. Although the hardware is simple, the signal processing techniques were quite advanced. It's a shame to see these techniques disappear from memory.

Op-Amp Bias Circuit.pdf (75.9 KB)

I used the wrong file format for my attachments. This is a second try.

Chopper Circuit.pdf (31.4 KB)

Load Cell Connection.pdf (24.9 KB)

Op Amp Bias Circuit.pdf (18.4 KB)

I realize this is four years after the original question, but this is an interesting problem. Use an AC source to generate a voltage across the piece of silver. Two Arduino outputs from a counter can be used as an H bridge to generate the source voltage. Then use an AC amplifier as a sense amplifier and connect it's output to an A/D input and use synchronous detection to recover the signal. Note that the A/D input needs to be biased to half the supply voltage using a resistive voltage divider.
Synchronous detection consists of simply synchronizing the A/D with the counter so that it reads once when one side is high and the other low and again when one side is low and the other high. The readings are differenced and then averaged. By using a high gain, low noise AC amplifier and long averaging times it's possible to measure in the sub microvolt range. This is how a cheap AM radio can pick out microvolt signal levels clearly.
Amplifier DC offsets are no longer a problem since the signal is capacitively coupled. Four wire Kelvin connections are required and thermal offsets may be problem so some thermal insulation and draft protection may be required.
If there is excessive phase shift through the AC amplifier, this can be compensated for by using sine and cosine detection. This requires four measurements over one cycle spaced 90 degrees apart. The averaged "cosine" or in phase value and the averaged "sine" or 90 degree displaced reading are then squared, added and the square root calculated to get the final reading independent of any phase error.
This is an old school technique which is rarely used now because op-amps have such awesome DC offset specifications, but they won't get you into the microvolt region without very careful DC design. Vacuum tube meters were able to measure in the microvolt region, but they used special choppers and AC amplifiers with feedback.