Measuring microvolt/nanovolt differences in circuit using Arduino ADC

allanhurst:
1/ R2 and R8 both 10k - yes - for example... but read the formula and plug in any value you like.

Suppose there's a current of 0.4 Amps, and R1 is 10 ^-3 ohms.

Then Vout will be 0.4mV. Not very helpful. And shows why a low offset opamp or calibration is essential

edit

But make R2 2.2 ohms and you get 1.81 V - much more useful.

I'd recommend altering R2 for scaling

nedit

2/ Transistors. A BC327 won't do - it's only 50v. Try a MPSA92

I can't find a suitable mosfet in a TO92 package, but a MPSA42 would do fine instead for M1.

If you use one, you can omit the 12v zener on it's b-e.

  • a IRFP250 is MONSTROUSLY over the top, and leaks too much

3/opamp. The ad620 won't do, as the input voltage can only go to within -1.2v of the +ve supply rail.

You need a rail-rail opamp - eg an OPA192 or LMC6482.

The OPA192 has only 5uV input offset - excellent. But it's in SOIC - a bit fiddly.
The LMC6482 is up to 750uV - you'd have to calibrate - but can get it in DIP.

You're making an unusual gadget, so you need unusual devices!

Allan

ps . If your 0.5 ohms to ground ever gets disconnected, THIS LOT will see up to 400v and YOU'LL probably see some magic smoke!

Thanks for your suggestions again sir, being just a newbie with low experience makes me think 'the bigger the better' which is not always the case. I get the working of R2 clearly now.
I will follow on your suggested components.
But I would definitely not like to see any smoke. Any precaution or protection for the circuit would be helpful before I blow up my 'precious' components.

Hi,

I think you might be able to measure the levels you mentioned. It may not be stable but if your reaction to chemical exposure if relatively fast (minutes?) you might pull it off.

As you are making a DC measurement you can heavily filter the signal. I used to build panel instruments for aircraft. One version measured K type thermocouples (41µV / °C)

I found this with a quick search, I don't know much about it but it might help.

What I can add is the caution about the use of different materials in contact with each other. I don't know if your chemical reaction will change the local temperature, however if it does, the copper to silver junction will create voltages in the milivolts. It is true if both ends of the silver sample are exactly the same temperature the created millivolts will cancel. However any differential temperature could be problematic. see attached sketch.

A quick note on the circuit. When you chose a A/D converter, you should use a sigma-delta type. They are a bit slower than other types but they are the absolute best at noise rejection. Perhaps this might do:
http://www.ebay.com/itm/MCP3421-I2C-SOT23-6-delta-sigma-ADC-Evaluation-Board-for-PICkit-Serial-Analyzer-/222578850223?hash=item33d2bbb9af:g:Iw0AAOSwQ59ZZeS2

Hope this helps.

John

silver test.jpg

Any precaution or protection for the circuit would be helpful before I blow up my 'precious' components.

Make damn sure that the 0.5 ohm to ground and that the lower part of your resistance chain is connected.

Allan

ADS1115 16-bit ADC with programable gain amplifier

The ADS111S is a nice device, but well over the top. It''ll give you loads of numbers, but what do they mean?

16-bit resolution and accuracy is meaningless here unless you use R2 and R8 of that accuracy. Even 0.1% resistors ( not that expensive) only get you to 10 bits. And what about the reference?
And the accuracy of the 0.5 ohm current measuring resistor?

The limited gain of the MPSA42 in place of M1 gives about 2% error - if worried it would be better to use 2 and make a darlington.

The input offset of the opamp is also a contributor

  • even the OPA192's 5uV is > 1% with a resistor-to-be-measured of 1 milliohm and a 400mA current flowing. The LMC6482's 750uV is nearly 200% - you MUST calibrate!

How accurate do you want to be? set up an error budget ( this is only a start - I haven't even looked at temperature coefficients...).

I reckon you could get this circuit to a bit under 1% without too much trouble. If you want much better than that I'll have to think again.

The circuit I published is a good hint to an experienced engineer after a 1/2 hour of thinking - but not a finalised design. Those who are qualified, please criticise.

And I'd go straight for a carefully laid out PCB - not a lash-up on a plugin breadboard. Too risky. Any bad connections or mistakes and you're in for magic smoke!

Perhaps for further work I should charge - this is professional stuff.

Allan

allanhurst:
The ADS111S is a nice device, but well over the top. It''ll give you loads of numbers, but what do they mean?

16-bit resolution and accuracy is meaningless here unless you use R2 and R8 of that accuracy. Even 0.1% resistors ( not that expensive) only get you to 10 bits. And what about the reference?
And the accuracy of the 0.5 ohm current measuring resistor?

The limited gain of the MPSA42 in place of M1 gives about 2% error - if worried it would be better to use 2 and make a darlington.

The input offset of the opamp is also a contributor

  • even the OPA192's 5uV is > 1% with a resistor-to-be-measured of 1 milliohm and a 400mA current flowing. The LMC6482's 750uV is nearly 200% - you MUST calibrate!

How accurate do you want to be? set up an error budget ( this is only a start - I haven't even looked at temperature coefficients...).

I reckon you could get this circuit to a bit under 1% without too much trouble. If you want much better than that I'll have to think again.

The circuit I published is a good hint to an experienced engineer after a 1/2 hour of thinking - but not a finalised design. Those who are qualified, please criticise.

And I'd go straight for a carefully laid out PCB - not a lash-up on a plugin breadboard. Too risky. Any bad connections or mistakes and you're in for magic smoke!

Perhaps for further work I should charge - this is professional stuff.

Allan

Yes I would like this to be pretty accurate <1% atleast.
Not much concerned about budget either. The ADC i'm using is 22bit (3551), was planning to sacrifice the last few bits for noises etc.
The sense resistor is Vishay Precision Group Metal Foil Resistor - Through Hole 0.5ohm 0.5% 2 PPM / C, I also have a 0.1Ohm 0.1% available.
Not doing on breadboard either, using self made pcb. Can work with some smd(till it can be hand soldiered) components also.

Really appreciate the hard work you have done for me so far. Your design is well thought, and really a good hint to an experienced engineer, but sadly i'm just a newbie engineer who still need a little help in designing circuits. Maybe with more experience someday I can also help someone like that. So if you have time I would like you to guide a little more till I can make this thing work. Thanks again.

LT1677

BTW,

WHY is anyone talking about using RS to measure current when RX is the precision current shunt ,(NOT RS) ?

Allan,
what is the purpose of the circuit you posted ? (attached)

You posted it but provided no title for the circuit or any description of it's operation.
It appears to be a measuring circuit where U1 measures the voltage drop across precision current shunt R1 and uses that to control mosfet M1 (which I would label Q1) and outputs the voltage based on ISUPPLY (which I would label ILOAD since is a function of the load not the supply)

The above op amp is low noise.
I rather prefer the nomenclature of RSENSE for current shunts, (instead of R1 or Rx (Rs is NOT a current shunt and why anyone would use a 0.5 ohm non precision resistor for a precision current measurement is beyond me)

The circuit does look interesting and well designed BTW. Do you have a name for it ?

high-R.pdf (25.4 KB)

raschemmel:
LT1677

BTW,

WHY is anyone talking about using RS to measure current when RX is the precision current shunt ,(NOT RS) ?

Allan,
what is the purpose of the circuit you posted ? (attached)

You posted it but provided no title for the circuit or any description of it's operation.
It appears to be a measuring circuit where U1 measures the voltage drop across precision current shunt R1 and uses that to control mosfet M1 (which I would label Q1) and outputs the voltage based on ISUPPLY (which I would label ILOAD since is a function of the load not the supply)

The above op amp is low noise.
I rather prefer the nomenclature of RSENSE for current shunts, (instead of R1 or Rx (Rs is NOT a current shunt and why anyone would use a 0.5 ohm non precision resistor for a precision current measurement is beyond me)

The circuit does look interesting and well designed BTW. Do you have a name for it ?

Thanks for the suggested opamp. But I think you didn't go through all of our posts. Allan only suggested the part of the circuit to measure low voltage across Rx (low unknown resistance).
And for the resistor (Vishay Precision Group Metal Foil Resistor - Through Hole 0.5ohm 0.5% 2 PPM / C), I am using what I have found best till now. Better suggestions are always welcome.

Take a look at the accuracy of these :

Precision current shunts-1

Precision current shunts-2

Vishay make good quality products. The PhD EEs at my last job used their products all the time.

However, 0.1% < 0.5% (or greater (precision) if you want to look at it that way)

I didn't see any explanation why you need such accuracy (?)

What is your application ?

Hi Raschemmel - nice to hear from you.

The reason for this rather peculiar design can be made clear by reading the OP's post #32.and looking at his/her circuit diagram. The floating resistor of a few mOhms at 50-200v dc above ground is the one to be measured.

As to the reason for this I'm as much in the dark as you - OP?

As to the accuracy to be achieved - much better than 1% is doubtful however precise the resistors and voltage sources

( by the way, OP - the arduino's internal reference is nowhere near 1%.)

  • unless you use a very low input offset amplifier - perhaps a switched capacitor autozeroing device such as a 7660.

Ongoing

Allan.

Hi,

Reading about the required accuracy I am surprised folks suggest buying precision parts, put them together and expect to end up with an accuracy device. I would suggest the OP concentrate on stability and find a way to get it calibrated after it is complete. If cost is not a primary concern perhaps a calibration house could help out calibrating with the final device.

We should also not forget the tempco of silver, somewhere around 0.0038 ohms/ohm/°C so changing a few °C during the test might be misconstrued as coming from the chemical interaction.

Just my thought.

John

I don't think any test house has stuff in the cupboard to deal with this peculiar topology .

The only obvious way to calibrate is to use precision mohm-range resistors in place of the OP's silver foil...

The point about the tempco is a good one - perhaps a thermouple or similar to monitor the temperature would be useful...

Allan

Hello everyone,

The project is a type of LAB instrument that requires low ohm measurement to find resistivity of the conducting material. And the precision is my concern to a better job. For now 1% is quite sufficient, but I would like to do better later.

And I don't know of any type of calibration house facilty that can do this kinda work. Most of these facilities just check the final device and make sure their specifications are correct. Also they are mostly for the the marketable products.

Even though I started the project on Arduino UNO board, but currently I am using a lot of extra components (as suggested here) and arduino is just calculating the result. So I don't mind adding a precise voltage regulator for reference, if needed.

raschemmel ,sir, your suggestions of current sense resistors are very good, but currently I think I will test using the 0.5Ohm(0.5%) and 0.1Ohm(0.1%) from vishay. But I will definitely keep them in mind.

About temperature concern, even if the device work accurately in a fixed temperature range, is currently fine by me. We can add temperature sensors later on after a few tests, if necessary.

Lastly, I have started working on the board, will probably post feedback in a day.

Thanks.

OP

This resistivity change you are trying to measure, does the reaction affect the whole body of the electrode or only it's surface ?

nikhiljacob123:
Is there any other more effective and reliable methods of measuring differences with nanovolt resolution?

If it is only a surface effect then using an electrode made by thin film deposition may make things a bit easier.

There is also something called the skin effect which may or may not be applicable to your setup.

EDIT

Please ignore i just noticed the goalposts have changed.

A small addition...

At some point the foil will be eroded through and go open circuit - at which point everything blows up!

Add a forward-biased diode across it to aviod this . eg 1N4004.

A summary of my various suggested changes is enclosed.

Allan.

Imeas2.pdf (25.8 KB)

Firststep :

Re your post #36

Also the position of load, can it be before or and after R1? bcoz as in my pic, the load of the wire can be on both side.

Could you redraw your circuit to make it clear what you mean?

Allan

allanhurst:
Firststep :

Re your post #36

Could you redraw your circuit to make it clear what you mean?

Allan

See Problem Statement pic. It is a long wire, where the resistance of wire on both side could be about 1k Ohm max. (around 200-400 Ohm typically). That is why I said load on both sides.

While I am still waiting for the components (yes its hard to get these things here), I have simulated your circuit design and shared the result. See pic "low Ohm measurement". But why is 0.4mV got reduced to 36.8uV? Also changing R2 isn't having any effect in the simulator.

Doing these things coz I don't want to see any magic smokes. Noticed the V+ rail attached directly to the high voltage line (50V to 400V) and V- to ground through the 22k resistor. As per the datasheet for LMC6482 and OPA192 supply voltage is 3V to 36V. Why aren't we using a 12V regular supply (the one that is powering the Arduino) to power the opamp? Just curious and precautious.

Thanks.

Well...

1/ I'd recommend a OPA192 for this - much better Vos. Or maybe an ICL7660 - near zero Vos - but if you want to go that way I'll have to redesign.

2/ re-read my earlier posts and apply the equation - R2 has to be a small value - thought you understood this.
10k gives a very small output. Try 2 ohms

3/ You show an input voltage of 400 - if you do that you'll get magic smoke! Your original requirements only implied 200v max above ground ( your diagram in post #32) . The design is good for 250v or maybe a bit more.

And I do hope your 400v is clean dc and not just rectified 400 vac

  • in which case it could go to 400 x sqrt2 or 566v peak ! - please confirm.

4/ You can't power the opamp sitting at ~+200v from 12v on the arduino sitting at ground! Magic smoke big time!

5/ Note your diagram implies a dissipation of up to 160 watts - 400v across about 1k....had you noticed ? are the resistors appropriately rated? where are they ? - they're going to get HOT!

Allan

ps .... who thought this whole thing up? - if you merely want to measure the change of resistance of a bit of foil while being etched , there are much easier ways..... why does it have to sit at 200v above ground and be driven by a split current source dissipating 160 watts? A precision constant current source of a few hundred mA at low voltages is easy-peasy.

If you're a technician given a job by postgrads ( who probably know nothing of electronics) - as I guess - show them these posts, and particularly these comments, and get them to talk to me .

allanhurst:
Well...

1/ I'd recommend a OPA192 for this - much better Vos. Or maybe an ICL7660 - near zero Vos - but if you want to go that way I'll have to redesign.

2/ re-read my earlier posts and apply the equation - R2 has to be a small value - thought you understood this.
10k gives a very small output. Try 2 ohms

3/ You show an input voltage of 400 - if you do that you'll get magic smoke! Your original requirements only implied 200v max above ground ( your diagram in post #32) . The design is good for 250v or maybe a bit more.

And I do hope your 400v is clean dc and not just rectified 400 vac

  • in which case it could go to 400 x sqrt2 or 566v peak ! - please confirm.

4/ You can't power the opamp sitting at ~+200v from 12v on the arduino sitting at ground! Magic smoke big time!

5/ Note your diagram implies a dissipation of up to 160 watts - 400v across about 1k....had you noticed ? are the resistors appropriately rated? where are they ? - they're going to get HOT!

Allan

ps .... who thought this whole thing up? - if you merely want to measure the change of resistance of a bit of foil while being etched , there are much easier ways..... why does it have to sit at 200v above ground and be driven by a split current source dissipating 160 watts? A precision constant current source of a few hundred mA at low voltages is easy-peasy.

If you're a technician given a job by postgrads ( who probably know nothing of electronics) - as I guess - show them these posts, and particularly these comments, and get them to talk to me .

Hello,

1/ OPA192 is really good, but could not find any vendor yet. That's why was simulating using the LMC6482 as it is available. I don't want to put you through too much work as to redesign the circuit. You are already helping a lot and I am really grateful. So please wait till I have some actual tests done.

2/ As posted, changing the R2 have no effect in simulator. (using Proteus). Please check if there is any error that I may have missed something.

3/ Though 220-230 is the typical voltage, the max voltage can go upto 400V and yes DC multi-meter reads 400, hope that means pure DC, right? Environment noises can be present though.

4/ Yes though the diagram do show a high dissipation, but actually it does not. The voltage only gets increased to maintain a good flow of current around 0.05A to 2A at max. The max 2A current will only flow if the total resistance is very low. The supply is generally 200W btw, so it can deliver 160W if load requires.
Also why are we even considering the load? The load could be any high watt load.

EDIT: And the load is on both side of R1, almost equal on both sides. Taking this into account how should I power the OPAMP now? Should I supply it directly from the source like before?

At 2A output the drop across my sense resistor of 0.5 Ohm is 1V only that makes the power at the sense resistor as 2W.
And R1 is the part of current conducting material (eg. wire). Even if R1 is as large as 1k and the current is 0.05A, The max power is 2.5W. Even though in practical cases the R1 will never be 1k, R1 is generally less than 1 Ohm. So I don't think we have to consider much power dissipation, atleast for now.

AND NO I AM NOT GIVEN ANY PROJECT BY GRAD STUDENTS. Though I was a grad student a few years back, and currently a fresher electronics engineer with very low experience. I am trying to make a LAB equipment here to measure resistivity of materials. And NO, the low voltage current source is not going to work here, as a current from the supply is already flowing through the material when we are doing the measurements for R1.

5/ Another question, I know that the diode D1 is protecting the circuit from high voltage due to open R1, or high R1, but how can I calculate the measurement range of the circuit? without trial and error.

Thanks again.

Hello,
sadly OPA 192, 140 is not available right now and instead of ICL7660 my vendor got me TC7660. Are the same or equivalent? will read their datasheet tonight to get more info.

Also 22k is not available in 5W.
I got all other components except these. But without the OPA192, Allan sir, I think you have to suggest some changes in the design.

I also got the 16bit ADS1115 to play around.