Tuesday, 12 February 2019

adc - How to measure three resistors in a triangle


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)?



Answer



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.


schematic


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.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...