Milliohm meter

This is a simple but accurate milliohm meter with a range of 0 – 2000 milliohm (= 2 Ohm). It has a typical accuracy of 2%-3%. Unlike other designs this circuits doesn’t use large currents to measure these small resistances. So there is no risk to damage components. A small alternating current is used to excite the resistance under test. This AC voltage is then amplified with a common OpAmp AC gain block. Therefor the OpAmp DC offset voltage doesn’t come into play. It can be used to measure contact resistance of coax connectors, relays, switches, etc. It is powered from 2 9V / 6LR61 batteries.

Milliohm meter – block diagram – pa3cor

The circuit is build up with 5 separate blocks that can be build and tested sequentially. A square wave oscillator with 50% duty cycle and two complementary outputs. The non-inverted output switches the 10 mA current-source on and off. This current is passed through the unknown resistance. The voltage drop is then amplified 200 times. The output of OpAmp is then rectified by the synchronous rectifier (more on this later). The DC voltage still contains some switching artifacts and is then smoothed out by a 3-pole low pass filter. The resulting smoothed DC voltage can then be offered to a 3 1/2 DMM or an analog meter.

Timing Diagram
In the diagram below, the most important waveforms in the circuit are shown. At point A flows a 10mA current that is switched on/off by the oscillator Q output with a 50% duty cycle.
If this current flows through the unknown resistance, a voltage drop of 10mA * Rx is created (B). After the DC-blocking capacitor, there is a voltage that alternates between +5 mA * Rx and -5 mA * Rx (C). This voltage is then amplified 200x, an easy job for an Operation Amplifier. The output then becomes +1000 mA * Rx vs. -1000 mA * Rx (D).
The output is then fed to the synchronous rectifier, which gives an output of +1000mA * Rx and some switching artifacts (E). This is then send through a low pass filter with fc = 2.5Hz.

Milli ohm meter – timing diagram – pa3cor

Why a synchronous rectifier?
And why not a ordinary (active) diode rectifier, you might wonder? A synchronous rectifier is a rectifier in which the signal input and the switching input are synchronous, in other words they are in phase. This might reminiscent you of a product detector / mixer. They actually perform the same function, indeed!
If a diode rectifier is used, all of the signal being picked up is amplified and rectified. The output is thus the sum of the desired signal, as well of 50 Hz / 100 Hz hum and the noise that was picked up
If a synchronous rectifier / product detector is used, the amplified input signal is multiplied with clock signal (475 Hz). If we presume, not unlikely, there is a 50 Hz hum signal present, this signal after multiplication, is shifted to 475 Hz – 50 Hz = 425 Hz and 475 Hz + 50 Hz = 525 Hz. This is easily removed by a low pass filter. If there is noise present in the signal, again not unlikely, this shifted up in frequency as well and again removed by the low pass filter.
The only signal that will make it to exit of the circuit is the desired amplified signal and any noise signal that will fall within the passband of our low pass filter. With the filter -3 dB point is chosen rather low at 2.5 Hz, this is only a small amount.
There is small caveat, a square wave signal is compromised, not only of his fundamental f0, but also the odd harmonics : 3 x f0, 5 x f0, 7 x f0, etc. Thus the output does not only have the desired 475 Hz signal, but also a small band at 3 x 475 Hz, 5 x 475 Hz, etc. None of which are multiples of 50 Hz hum. So only a small, varying noise signal is added.

Circuit diagram
After the description of the block diagram and the timing diagram, the circuit should be relatively easy to follow. The stuff around Q1 form a switchable current source. D2 compensates the Vbe drop of Q1. The current source is set by voltage reference D3/R1 = 2.5V/250 Ohm = 10mA. If Q3 conducts, that is VGS is 0V, the current source is on. If VGS is below VP, Q3 is off and Q1 stops conducting. The current is send through the unknown resistance R3. C5 is the DC blocking capacitor. A1 and the surrounding components form the AC gain block. The gain AV is set by (R5+R4)/R4 = 201x. OpAmp A2 and Q2 with resistors R6,R8 and R7 is the synchronous rectifier. If Q2 is not conducting, the input signal is offered to both the inverting input and non-inverting input. The output thus must be equal to the input. Hence the gain is +1x. However, if Q2 is conducting and the non-inverting input is connected to ground. OpAmp A2 then function as standard inverting amplifier. The gain is set by R7/R6 and is -1x! Thus the input is either multiplied by +1 or by -1, depending on the clock signal. The final block in the signal chain is the 3rd order low pass filter around A3. It starts with the passive R9 and C2 filter. So that the OpAmp life gets a bit easier.
The 475 Hz is build around OpAmp A4 which is constructed as a-stable multivibrator. Because R18, R17 and R20 are all equal, the switching points are set at 1/3 and 2/3 from the Vcc with a 50% duty-cycle. Q4 and Q5 form an inverting Rail-to-Rail output stage. The output goes all the way to V+ – Vce,sat and V- + Vce,sat and is not restricted by the OpAmp’s output limitations. This guarantees a symmetrical output signal.

Possible improvements
With a circuit as simple as this, the accuracy is pretty amazing at better than 2% – 3%. To squeeze out even more accuracy, many changes can be made that will each up the accuracy. For example:
– A true differential amp can be created for increased common-mode noise rejection
– Add ESD protection, might be nice to protect the current source and OpAmp A1.
– Limit the voltage at the resistance under test, properly a couple of anti-parallel diodes should do the trick
– A synchronous rectifier with 4066, might further limit the offset voltage
– The oscillator duty cycle can be further improved by following it with with a CMOS CD4013 D-flipflop.
– Better current source delivering true AC output

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>