Electronics > Projects, Designs, and Technical Stuff

Designing an OHM Meter

(1/3) > >>

Hello folks

I am stuck at the Ohms metering part of the OSHW multimeter that I am trying to figure out. Basically what I think I need is a precision current source that can supply a current to the Resistor under test so I can measure the voltage across the resistor and determine its value according to the Ohm's Law. There are two ways of implementing this and I don't know which one would be more suitable.

The first method is connecting a reference voltage source across a reference resistor and the resistor under test in series. Like this:

And measuring the voltage V across Rref.
The value of the R under test would be   Rut = ( Vref - V ) * Rref / V

The other method is having a precision current source connected across the R under test and measuring the voltage V directly across Rut like this:

The resistance of Rut is then V / Iref

I have no clue why to select one over the other. Your advice is needed.

I am going to suggest a third method.

If you look at your first suggestion, the accuracy will depend on the sum or the errors of 3 things:

Rref, VRef and the accuracy of the Voltmeter, then  I am assuming that the voltmeter input current is small enough to be negligible.

If you look at your second suggestion, the error is the sum of the errors in:

VRef and sense resistor in the current source, and the voltmeter. I am assuming here that again the voltmeter input current is negligible, and the output resistance of the current source is also high enough to be negligible.

So my 3rd option will just depend on the accuracy of one item. Rref only. Nothing else has to be particularly accurate.

Apply a voltage across Rref and Runder_test from a stable voltage - it doesn't need to be very accurate.

Set up the voltmeter so it can be switched across Rref and Runder_test. This switching can be done with switching ICs, discrete MOSFETS or relays, but the leakage current of the switches has to be negligible.  The switch resistance will be too low to effect the voltmeter reading. The voltmeter lead in the junction of the two resistors doesn't have to be switched - just the other voltmeter lead.  You also want it so the voltmeter lead can also be shorted to the other voltmeter lead so you can auto zero the voltmeter, so that offset voltages are not an issue. If the voltage source to the two resistors can be made floating, then the junction of the two resistors can be made measurement ground, and it all becomes much easier to implement.

Now all you need to do is to to accurately measure the ratios of the two voltages. Again the accuracy doesn't matter - ratios only depend on linearity and nothing else.

If the voltmeter is a dual slope converter, then you use Runder_test voltage  to charge for a fixed period, then use RRef voltage to discharge and measure the discharge time.

If Rref is 1K precision resistor , the charge time was 1 second, and the discharge time was 0.43678 seconds, then you have a 436.78 ohm resistor.

Hope that makes sense. If it is useful to you, I could do a sketch tomorrow.

Now if you want to stick to your two solutions, I would probably go with the first with a twist.  Arrange so the voltmeter can measure both the voltage across Rref and also VRef. Having an auto-calibrate stage where the voltmeter full scale is set to equal VRef exactly, it eliminates the errors caused by Vref and the voltmeter totally, and so like my suggestion, the accuracy depends only on Rref.

Once you add that step, you will realize that the only difference between the two methods is in my method, you are measuring the relative voltages across the two resistors, and in the modified method 1, you are measuring the relative voltages across Rref and Vref so it comes down to which ones works out easiest. If you know any two voltages, you know the third.


Thank you Richard, this makes a lot of sense.

Am I getting this correctly?

If we call the current across both resistors Iref (because it will be the reference for the subsequent measurement) Then

Iref = 5V / Rref + Rut

Subsequently we can calculate Rut

Rut = V(rut) / I ref

which is the same thing as

Rut = V (rut) * Rref / 5V

It should work but I think I messed up the maths. 5V should not be necessary for finding the value of Rut

If you look at the data sheet for the max 133/134 DMM on a chip, the technique they use is to connect Vref across a range setting resistor and the DUT.  Vref is the same voltage reference used by the ADC, so as amspire suggests, the result is a ratiometric output that doesn't depend on the value of the voltage reference.  This works for both dual/multi-slope integrators and sigma-delta converters.  This is a very common technique.  For instance, most high resolution ADCs designed for strain gauge or other resistance bridge applications will do the same: the bridge excitation voltage is connected to the ADC reference input in order to cancel Vref variation.

In the max133 design, the range setting resistor is the same one used by the attenuator in volts mode, which doesn't have any impact on performance but is an economical use of precision resistors.

It depends how much precision and resolution you want. The way my LCR meter design does it is to drive the device under test at a known voltage (DAC+buffer amp) and then measure the current with a transimpedance amplifier. Drive voltage is initially set at a minimum level, and then increased until it nears a predefined current limit. For higher impedances, the gain on the transimpedance amplifier is increased.

So long as you use reasonably low ppm components in the gain switching, the components don't have to be ultra high precision as they can be calibrated relative to external test components.


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version