Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

How do I compensate this error?

Status
Not open for further replies.

throbscottle

Well-Known Member
I've been playing with a design for a 4 wire ohms converter, and ended up with a simple ohms converter for force and an instrumentation amp for sense, which simulates beautifully for low values of resistance down to 0.1 ohms or lower, since the error can be offset at the in-amp's output, but it has an error due to leakage which at large values of resistance creeps up the scale. I'm looking at 6 digits of resolution and I'd really like the last couple of digits to be meaningful in the high resistance case.

Knowing that more errors will creep in in the real world, I'm trying to find the best compensation I can.

In the schematic, R5 is the DUT, R2 is the current-setting resistor, R3,R6,R7,R8 are the lead resistances, R9 and R10 are for automatic 2-wire/4-wire mode selection, R11 and R12 are to cancel the in-amp's input offset. The in-amp U3 will actually be an INA128 since TI are very kindly sending me a sample :) so it's input bias current will be higher than that shown. The gain of the in-amp is unity.

V3 represents an presettable offset circuit consisting of an op-amp voltage follower and a preset potentiometer connected to a voltage reference

I tried connecting U1's + input to the in-amp's output instead of to R2, but it made the problem worse. Other feedbacks get complicated quickly.

The best solution I can think of is to make V3 sensitive to the current through the DUT so that it changes the offset with each setting - I know it's not true compensation, but it's a "good enough" solution without something better. The easiest alternative seems to be losing a couple of digits resolution, which I don't really want to do.

So my question is, what's the best way to implement a self-adjusting V3, and is there a better solution? Should I be looking at a current feedback amp here?

Thanks everyone in advance, and happy new year!
 

Attachments

  • ohms-converter3.png
    ohms-converter3.png
    12.8 KB · Views: 160
  • ohms-converter3.asc
    2.9 KB · Views: 119
did you read the datasheet? where is the Rg?
 
The in-amp's gain is unity, so there is no Rg. (ie, Rg = infinity) I only looked up the input bias current, because I'll be using an INA128 anyway, obviously not modelled in LTSpice. As it turned out the bias current in the simulator is different from that in the datasheet anyway. It's actually acting as a buffer with differential inputs.

What I really need is a negative feedback way to compensate for the error, so that the in-amp's bias current won't be important, without applying feedback to the in-amp's input terminals. It can change either the output from the force circuit, or the output from the sense circuit, doesn't matter which, but I'm all out of ideas.
 
I've done a lot of measuring and designing in both the low current and and high current 10-100 mA and low voltage world <0.6 V and at moderate speeds.

There is a 5-wire ohms mode on some Keithley instruments which offsets some errors.

For really low currents, I actually used an Electrometer in Coulombs mode. Counted the number of Coulombs in 30 sec and I was getting currents like 2 PA at 100 V. I had to start the measurement and then zero the instrument and then count. The act of coming out of Zero Check generated too many coulombs.

High resistances are best done with an Electrometer style I-V converter and voltage bias. You have to do zero check.

Vos is you enemy in trying to measure the low currents with an I-V converter. You can modify the I-V converter a little, so it behaves as an amplifier for Vos and then Zero it. I didn't have time to get it working because I forgot something: Setting an A/D to zero is not zero. Even 50 uV for Vos is bad. Except for the 50 or so PA at zero volts, the +- 10 V biasable 4-terminal ammeter worked very well. It's AC performace was what mattered in my application.

Vos is extremely temperature dependent.

This thing ended up being expensive. 1 K USD each for two IEEE-488 systems meters, and another 1K for the IEEE-488 4-channel A/D and 8 bit port, and about 3K for the circuits. The relays used were mercury wetted.

It ended up satisfying the in-house requirement by orders of magnitude. Doing it today would be a lot harder. There were too many linear power supplies in it because of measuring, biasing and some suppression capability.

For less critical DC applications, you can consider a chopper stabilized amplifier.
 
I hadn't thought of the sense circuit as an I-V converter, but of course that's what it's doing. What I did notice was that the current through the DUT is being changed by the in-amp's offset current. I guessed if I could compensate for that, then Vos wouldn't matter.

It really bugs me that because I've designed something which can in theory measure low resistances really well, (or at least, really well enough for what I need), it has become relatively poor at measuring moderately high resistances, eg >= 1M, which even a cheap handheld dmm can do reasonably well.

So is the solution to use the 2w/4w method shown for resistances up to about 100k, and switch sensing circuit, or part of it, when it goes over that?
 
Probably. Take a look at this application note as well: www.keithley.com/data?asset=1663 using a 6 wire ohms technique.

Usually you also have to select ranges. 1 M is 1E6 ohms and now your measuring system is starting to resistive divide between the input Z of the voltage measuring buffer and the OP amp doing the measuring itself.

Impressing 1V across 1 M ohm gives you a uA and that's a lot easier to deal with. With a zero resistance ammeter in the circuit even 1 mV of Vos is probably not much of an error, but the lower Vos is, the better your measurement is.

So, you can already see the difference of a current vs voltage technique. Current is better for low R and voltage for high R. Suppose that resistor your trying to measure is 1 G ohm. Well, other problems crop up, such as the necessity of guarding.
 
I got fooled by current through the range setting resistor being the current that was supposed to come through the force connection - actually 500pA down heading to the DUT, further errors added by the sense amp's input.

The Keithley white paper was interesting - I'd read about 6 wire measurements elsewhere, but in the context of making in-circuit tests. It also says that the constant current method remains useful up to quite high resistances - about a GΩ I think - far higher than what I want to measure.

Think I need to try some alternative constant current circuits!
 
Yep, that when error sources like 1/2 a nA and uV start to matter. Keithley describes a 5-wire technique in some of their voltmeters. Do you want me to try to find it? I think it's in the 19x series meter manuals. There also a "T" circuit for I-V converters that doesn't require the high resistances.

If you make any I-V converters, don't forget the capacitor across each range resistor.

Keithley also has a low voltage low resistance handbook that you can download.
 
Why do you have 5Meg resistors in series with the inputs? These, when multiplied by the input offset current, will yield an offset relative to the input of 1.5mV typical, 5mV max.
Can you explain how your circuit is supposed to work?
 
I was looking for ways to cancel the offset. I'd read about offset cancelling resistors for opamps, so I thought I'd give it a try for my in-amp. So for the simulation, the two 5Meg resistors are just values that gave the best improvement on not having any resistors there. I got the value initially by dividing the bias current at the inputs into the error at the output, and dividing the result by two. After that I just played with the values. I don't know much about op-amps, and less about in-amps, so this is all part of my learning process.

The 0.01 ohm resistors represent lead resistances. R9 and R10 provide automatic 4 wire/2 wire selection - in 2 wire mode R7 and R8 would be disconnected. The in-amp doesn't know anything about ground, so although it looks strange it should see each end of the DUT as a differential input - it was the only way I could think of to get the differential circuit needed to do 4 wire measurement and still have one side of the DUT connected to ground. At the moment I am limited to a FS of 1 volt.

U1 is part of an ohms to volts converter circuit, where R1 sets the voltage, and R2 is switchable in decades. The op-amp wants to make it's inputs equal voltage, so the current through R2 is a fraction of I1. This current appears through R5, which is the DUT, and is my first source of errors, since U1 takes a bias current, reducing the current through the DUT by this amount. This doesn't matter for low resistance values, but becomes significant when values of 1 Meg are approached, which is why I've shown 1 Meg in the diagram.

The in-amp creates errors of it's own due to input and output offsets. V3 is effective for cancelling the offset when the DUT is a low value, but becomes insignificant when a high value is tested.
 
KeepItSimpleStupid - I would greatly appreciate anything relevant that you can find!

Point about the capacitors duly noted - this is to get rid of resistor noise? I've got and keep referring to Keithley's "Low Level Measurements Handbook", but it's mostly concerned with lower level measurements than I'm actually interested in.
 
More happy now

I found a way to make the offset change as the dut is changed. Just need to properly work out resistor values since I just guessed and then jigged them around in LTSpice.

V3 is replaced by U2, R11, R12 and R14. When the DUT is changed the voltage at the output of U1 changes, and a tiny fraction of this is inverted and applied to ref input of the in-amp. So the output offset correction for the in-amp tracks the value of the DUT.

Some problems with this though - it's set up for an in-amp with a positive output offset. Don't know how this would work with a different device.

Also it's very sensitive to the values of the resistors - needs to be a bit more robust in that respect.
 

Attachments

  • ohms-converter3.asc
    3.6 KB · Views: 113
  • ohms-converter3.png
    ohms-converter3.png
    14.8 KB · Views: 127
In Keithley's Low Level Measurements handbook: https://www.electro-tech-online.com/custompdfs/2013/01/LowLevMsHandbk_1.pdf PDF page 36, Figure 1-26 shows a zero check switch which configures the OP amp to a gain of 1. You also need to short the input too. i.e. Zero Check.

the older versions of this figure showed both the Zero Ceck and Zero correct functions. It also showed that you can effectively multiply Vos.

In any event,Vos is temperature dependent, so you would press zero check and you would be looking at Vos of the OP amp. Then another circuit would be activated using Zero correct which would automatically adjust the offset trim to read 0 volts.

You MIGHT be able to do the same thing here. Zero check might multiply Vos by 10 or 100. Then have a low value, say +- 2 mV low Z adjustable source for your Reference and adjust for 0 V out.

You used an IA rather than an OP amp in the standard Current to voltage configuration.

I missed post #11.
You can't really get rid of "resistor noise" because as the resistor gets higher in value the thermal noise increases. I too saw this when I was setting up system using an I-V converter. The system was more noise free when the input Z was at or lower than the feedback resistance.

when selecting a standard OP amp, you really need one that's unity gain stable. Again, learned the hard way trying to make some one else's design work. The C in the feedback loop adds another pole, so the system hopefully won't oscillate which can easily happen when the range is changed. Been there. Done that too. A design not done by me used a CA3140 OP amp which was a disaster. I changed it to an LF351 and the amp was better. Later, I think I used an LF41, I think. There are better OP amps to use now. I believe I also used an AD524 or AD624 IA in the circuit as well. Just not sure. Those 15 year old brain cells are probably dead by now.
 
I'd been thinking about auto-zeroing schemes today - how fortuitous you should mention it! The micro could do the "press zero check" at regular intervals and do the trim. I need to have another look at epots. Slight problem is the overall design so far has a separate standard op-amp for ac/dc V and A, and the separate in-amp for the ohms function because it was the only (or at least the easiest) way I could think of to get a 4 wire system.

Points about noise and op-amp selection duly noted!

Who needs brain cells anyway? I've been using ear fluff for years!

Thanks once again, your comments as always are greatly appreciated :)
 
I know the feeling. The device I built could do the following:
1) Measure V
2) Source V, Measure I
3) Measure I

Although, I didn't call the functions that. Measuring I was basically and I-V converter followed by an IA which also inverted. 4 ranges were available. No Vos compensation, but worked OK. Zero Check was implemented. I could be turned off.

V was a IA with two 400 M ohm resistors to give the bias currents a place to go. In 4 terminal mode V was impressed across the DUT. In 2T mode it was for the most part, an independent source.

So, there were 4 ranges, a 4 Terminal mode LED, A V(open circuit LED), A Zero Check LED and possibly a Zero Correct LED.

Zero Check/Correct needed help.

There was an independent over range indicator. Over range would blink for at least one second red or green depending on polarity of the overload.


The thing worked great except there was no provisions to zero the thing anywhere. I left all of the zero trim pots out. Intention was to be able to output zero volts on one or two ranges and solve for the zero values. I missed the fact that ZERO didn't exist as a value of the A/D.

Its primary purpose of measuring AC currents with a few +- volts of bias it did exceptionally well. Measuring low currents it did well except in the 50 pA range.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top