I have three unknown resistors arranged in a triangle (a delta) and need to determine one of them, which is on the order of 100x larger than the other two, in a measurement circuit. I'm wondering if there is a known best way to go about this practically.

Here's what I'm thinking. A brute-force way would be to set up a voltage divider to measure between every pair of nodes, one at a time, then solve the obvious system of equations. That's three separate measurement cycles and not so great precision. I don't think it's possible to get three independent measurements in a single measurement cycle (i.e., using three ADCs simultaneously) to solve the system, but maybe there is a clever way if I only need one resistor value and not the other two? Or, in terms of how to arrange everything for each measurement, is there a better way, using a bridge or somesuch, to make the measurement more precise (making best possible use of the ADC)?

  • \$\begingroup\$ Do you just need to figure out which one is the high-value arm, or do you also need to figure out the actual resistance value? \$\endgroup\$ – The Photon Oct 27 '12 at 15:31
  • \$\begingroup\$ I need the resistance value. \$\endgroup\$ – usethe4ce Oct 27 '12 at 20:00
  • \$\begingroup\$ @usethe4ce I'll bet you didn't expect another answer after so much time? The question came up in the sidebar, so it's still visible, so worth answering, as the new answer contradicts the existing one. \$\endgroup\$ – Neil_UK Aug 18 '16 at 9:39

It is possible to make the measurement in a single cycle. The general technique is called 'guarding', and it's the staple technique used by 'in circuit test equipment' (ICT) for measuring components on already populated boards.

In the general case, a wanted resistor Runknown is shunted by a parallel path of at least two other resistors, for which a node on that path is accessible. This point is called the guard node.

In the worst case, the shunt path is very low resistance, and the unknown is high resistance.


simulate this circuit – Schematic created using CircuitLab

In this circuit, we apply a voltage of Vref across the unknown resistor, and measure the current flowing through it. The virtual ground amplifier keeps the sense node at 0v, and measures the current flowing out of the sense node.

How do we cope with the current also flowing through the parallel path?

The current flowing through Rtop is not measured. The current flows in at the force node, and out through the guard node, no current flows in the sense node. The force node needs to have sufficient output capacity to drive whatever current Rtop consumes. Power dissipation in Rtop is one of the limitations on how high a Vref can be used.

The current flowing through Rbottom is made to be zero, by keeping both ends of it at the same voltage. Therefore the only current that flows out of the sense node is the current through Runknown, due to Vref across it.

The effects of Rtop and Rbottom have been 'guarded out'.

There are a number of errors that will come into the measurement.

a) The VirtGND amplifier does not have zero offset voltage.

This will make the voltage across Rbottom non-zero, and consequently a current will flow through it and add to the measured current. This effect gets worse as the ratio of Runknown/Rbottom gets bigger. This can be mitigated by making the Vref/Voffset ratio as large as possible.

b) All three leads to the 'resistor delta' will have some finite resistance, which will cause measurement errors. In the case of ICT, there is one set of measurement gear, and an analogue multiplexer that is connected to potentially 1000 components on the board under test. Each path through the multiplexer could have 10s of ohms of resistance, and this lead resistance is too much to give a reasonable range of accurate measurement.

Fortunately, the connections to the force node and the sense node can each be connected by a 'voltage sense' lead, and a 'current drive' lead, much as you would make a '4 terminal' measurement of a resistor. The guard node also needs to be low impedance, but usually in ICT work, the ground connection is available to all terminals locally and does not have to go through the full multiplexer, so can usually be made by a single hard connection.

If there still turns out to be too much voltage drop through the guard connection for accuracy (the voltage drop in this lead appears across Rbottom, so drives an error current through to the sense node), then the simple guard can be replaced by an amplifier with a sense and drive connection to the guard node, and a zero voltage reference input.

  • 1
    \$\begingroup\$ Wow, nice! You deserve a badge and a big thanks! Have to think about this one.... \$\endgroup\$ – usethe4ce Aug 19 '16 at 7:17

With a three-node circuit, it's pretty clear that in order to measure anything, you need to impose a voltage across two of the nodes. At that point, you can measure the current flowing through the voltage source, and you can measure the voltage of the third node relative to one of the other two.

So no, there's no way to get all the information you need in a single measurement cycle.

If you want to do it with voltage measurements only, you're going to need to be able to apply your voltage source to each pair of nodes. This means that you need to be able to ground two of the nodes, and you need to be able to apply your source to the third node and one of the first two. This means you need a total of four switches (plus a mux for the ADC).

  • \$\begingroup\$ Well, with nodes A, B, C, I can connect A to power, B to a grounded known resistor, and leave C floating, then measure voltages at B and C simultaneously. That's two of three unknowns. Do a second measurement cycle with B and C swapped, and the system is overdetermined. Best I can think of so far. \$\endgroup\$ – usethe4ce Oct 27 '12 at 20:14
  • \$\begingroup\$ It might be simpler if you create a precision current source, ground one node and apply the current source to one of the remaining nodes and then the other. This gives you four voltage readings, from which it should be possible to derive the values of the resistors. \$\endgroup\$ – Dave Tweed Oct 28 '12 at 12:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.