Measure Large Quantities of Resistive Elements Using a Minimal Number of Cables
David presents a method to measure a large number of resistive elements (e.g., fixed resistor and sensors) using a very small number of cables and a lot of math. He also describes the implementation of this method as both a simulation and as a physical device, the results of the simulations, and the actual measurements.
In this article I describe a combined mathematical and electrical method of measuring a large quantity of resistive elements using a relatively low number of cables connecting the measurement device and the measured system. This is achieved by taking a large quantity of measurements, while automatically changing the measured setup via electronic switches, after which the measurements are processed into a system of linear equations. These are then solved by an iterative numerical solver.
I also detail the implementation of this method as both a simulation and as a physical device. I present the results of the simulations and actual measurements. You also can use the method for the high-resolution measurement of small quantities of resistive elements.
As the number of sensors used for various applications grows, cables become a problem. Getting a proper shielded wired connection between a data acquisition system and two or three sensors is simple, but doing the same for a hundred sensors can make things troublesome. Various approaches can be used to minimize these problems and costs involved, each one with its own specific drawbacks. Intelligent sensors connected to a bus solve the whole cabling challenge; however, they are much more expensive than just a simple sensing element and consume extra power. Various cabling configurations can save some cables, but at the cost of diverse trade-offs.
I’ll describe an alternative approach to measuring large quantities of resistive elements while using relatively small numbers of cabling. It can be used for niche applications, where cabling space is critical, such as measuring temperatures via RTD elements in a confined space in many points or MEMS probes. Imagine having a microscopic sensor shaft with hundreds of sensing elements on its length with the connections to the controller running through the middle of the shaft.
The maximal number of resistors that can be measured via this technique in the presented form, assuming N signal cables/nodes, is:
For instance, with eight wires, you can measure up to 28 individual resistors (minus a few reference ones). The technique can also be used to measure small quantities of unknown resistors, but with greater precision and accuracy. As such, this technique is not revolutionary in any sense; it is yet another tool to add to an engineer’s toolbox. As with everything, it has its advantages and its drawbacks.
The main advantage is the more efficient use of cabling. Alternatively, the system can be used for high-precision resistance measurements for low resistor counts. The main drawbacks are relatively long measurement times and the need for a large amount of computational power and memory.
Several simulations have been done as to determine how various parameters and errors influence the accuracy of a measurement. Two physical devices that implement this measurement (with as many as 16 nodes) have been constructed and evaluated.
The method bears some similarity to electrical impedance tomography, which is a medical imaging technique that measures tissue impedance—using a number of electrodes placed on the patient—and creates an image of the tissues inside.
THE BASIC CONCEPT
Figure 1 depicts the measurement system. The measurement method can be shortly described as an automated probing of an electrical circuit of resistors (the Measured system) connected between nodes in a known configuration. The individual Nodes are switchable by their respective Node switch in the Switch matrix to either one of the available source voltages’ known voltage (this turns the node into a Powered node) or to a high-impedance mode (in which the node is left floating, which is a Floating node). Such nodes are Switchable nodes. A node also can be permanently connected to a fixed voltage source. The ADC measures the individual voltages on all of the nodes, records them, sets of the nodes (which are high impedance, which are sink/source nodes), and sends this data into the Control and analysis computer. After one set of node settings (a Situation) is completely measured, a different one is generated by the situation generating logic running in the controller computer, which is then applied onto the Switch matrix.
Doing this for just one situation would not give us much data on the ratios of the resistors in the setup; however, doing this hundreds of times—each time with a different node setup—yields clues about the ratios of the resistors. A section of the measured system can be viewed as a simple resistive divider, whose center is a high-impedance node. The relations between the resistances and the voltages on such a divider can be represented as a simple linear equation. By measuring different resistive divider configurations—involving different resistors of the measured system—the data gathered from all of these measurements can be compiled into an overdetermined system of linear equations, which can then be iteratively solved by any solving system.
Figure 2 depicts examples of measured systems that have four and seven nodes. Every node is connected with every other node by one resistor. From a topological viewpoint, they form a complete graph between the nodes. Many different configurations are possible. Not all nodes need to be connected, depending on the target application. Furthermore, some of the nodes can be fixed voltage nodes, yielding a higher number of measured resistors without adding extra switches.
CORE OF THE MEASUREMENT
The measured system consists of a number of resistors connected between the nodes of the measurement system. Each node can be connected to every other node via a single resistive element. It is desirable to maximize the number of resistive elements used. A node of the measurement system can be either a switchable node or a fixed voltage node. In the provided examples, they are numbered 1–4 and 1–7, respectively.
A switchable node can be set to either a powered mode or high-impedance mode. A powered mode connects the node to one of the power rails—to a voltage source. At least two such rails are needed—generally, a positive and a negative excitation voltage, whose voltage is within the ADC’s range, preferably using as much of the ADC’s range as possible without going outside of it. The system’s power rails (+VCC and GND) can be used. Used in high-impedance mode, the node is left floating. Ideally, there would be no leakage current going through this node into the switch matrix.
Fixed voltage nodes are nodes connected to the same voltage rail all of the time. They cannot be switched into a high-impedance state.
The voltage on every node must be known to complete a measurement situation; therefore, every node must be connected to an ADC (either directly, where each node has its own ADC, or through a multiplexor) and the voltage should be measured for every situation for every node. If much lower accuracy is acceptable, the voltage on switchable nodes in source mode and fixed voltage nodes can be assumed to be the nominal value, which can speed up the measurement, at the cost of ignoring the node driver resistance.
Switching the individual nodes to different output modes will have the effect of changing what the resistors in the measured system are connected to. This essentially creates a different resistive voltage divider with every new switch configuration. To illustrate the actual process, we will use a simple, four-node measured system (see Figure 3). All nodes (1–4) are connected together through a resistor, with all of the other nodes. The resistors are numbered according to the nodes they connect. Nodes 3 and 1 are connected via the R31 resistor. Nodes 4 and 2 are connected through R42, and so on.
The measured system is connected to the switch matrix. Every switchable node is connected to a node switch, which can connect the node to any of the available excitation voltage sources (the +V_EXC and -V_EXC rails in these examples) or leave it floating. Every node is also connected to the multiplexer that connects whichever node is selected to the systems ADC (and any extra signal conditioning before the actual ADC—amplifiers, protections, etc.). The individual switches are solid-state analog switches that are controlled individually. (In theory, electromechanical relays or any similar devices could be used as well, although severely limiting speed and lifetime.) Refer to Figure 4 for an example. The default (safe) state of the switch matrix should be that all switches are open (i.e., nothing is connected to anything).
With such a basic switching system, it is possible to connect any node of the measured system to any excitation voltage or leave it floating—effectively altering the schematic, leaving parts out, and limiting the scope of any single measurement. By closing select switches, we can effectively reduce the whole graph of resistors into a simple resistive voltage divider, with a center at the floating node. (Note that there can be more floating nodes, a fact which can speed up a measurement.) An example of such a transformation is shown in Figure 5. In this example, nodes 1 and 2 are connected to the negative excitation voltage (-V_EXC). Node 4 is connected to the positive excitation voltage (+V_EXC). Node 3 is left floating. Let’s consider several important things.
The final outcome of switching some switches closed is a simple resistive divider (other configurations with more floating nodes are possible), when viewed from the point of view of the floating nodes.
The voltage on the center node of the resistive divider is dependent only on the voltages on the nodes that are connected directly to the floating node via resistors (1, 2, and 4 in the example) and on the value of the resistors (only those that directly connect the floating node, 3). This applies even when a floating node is connected to another floating node. We can treat a floating node just like any other voltage source when it is connected via a resistor to the chosen center node.
The multiplexor can still connect to any of the nodes without affecting the voltage. (It connects to a high-input impedance amplifier/signal conditioner that connects to the ADC.)
By switching the switch matrix into a different situation, a different resistive divider would start to exist. Assuming more nodes, the result would be just another divider, only with more nodes and consisting of more resistors.
Figure 6 is a generalized schematic of a resistive divider. In the interest of simplifying the explanation, the naming convention of the resistors (and nodes and their respective voltages) has been simplified. We will just assume R1 to RN to be of a subgroup of all of the resistors in the measured system that connects to the center node. The voltages on the other end of these resistors will be named U1 to UN, respectively. UC is the voltage on the floating node of the created voltage divider.
The voltage at the center node (UC) of such a voltage divider will be affected by only the resistors, which connect that node directly to the other nodes. After a little algebraic manipulation, we get a general equation that gives us the center voltage:
UC is the voltage at the center of the voltage divider. A is the subset of resistors that are connected to the center node. RN are the resistors that are connected to the node, UN is the voltage on the node that is on the other end of the specific resistor with the index N. This is a general equation which is useful for calculating the voltage at the center of any simple voltage divider. This can be rewritten into a different form, using the reciprocal value of resistance—conductivity (GN).
Multiplying the whole with the inverse value of the total conductivity gives us the following equation:
Subtracting the left side from the whole gives us the following:
This is a linear equation of the following shape (once all the known values—UN and UC—are filled in and treating the GN as unknowns):
Note that resistances (or rather conductivities) that are not connected to the center node will have their coefficients set to zero. One such equation alone is useless. However, when a sufficient number of situations have been measured (depending on the number of resistors as many as several thousand may be needed) we can create an overdetermined system of linear equations in the classical Ax = b format.
Aside from the measured situations, a reference block must be appended to the A matrix. This indicates to the solver the values of the known resistors—the reference resistors. These equations are simple:
This will yield rows for the matrix of the following format for every reference resistor:
Having done all this, we now have a typical, solvable system of linear equations in the classic Ax = b form, which allows us to solve the system via iterative numerical means and yields the conductivities of all involved resistive elements in the x vector. The A matrix (matrix of known coefficients) is of the following format:
K is the number of reference resistors. N is the total number of resistors used. M is the number of measured situations (number of measured rows). After formulating the final problem, we can use any number of solvers, which will fill out the unknowns into the x vector—the conductivities.
This is just one step away from the final phase: calculate the reciprocal value of the now known vector of conductivities, which finally yields the values of the known and unknown resistances.
Obviously, due to errors of all sorts, the outcome will not be the exact value of the resistors in question. Using a noniterative solver is impossible in those cases; however, with an iterative numeric solver, it is possible to get if not the exact value, then at least the closest approximation of the vector of the resistor values.
At this point, we are done with the measurement. For practical purposes it is good to evaluate the actual output error. The maximum absolute error value is the largest absolute deviation from the actual value of the resistor in question:
The maximum relative error of the measurement is more meaningful, because it is immune to the relative sizes of the compared elements in relationship to their true values:
RMeasured is the vector of the resistance values which we have measured via the method. RReal is the vector of the actual values. The matrix and calculation are practically the only place where raw computational power and lots of memory are required. A full 16-node measurement can have matrix sizes of several thousands of rows with 120 columns. A simple simulation resulted in a 2,088 × 120 matrix.
TWEAKING THE MATRIX
The problem matrix can be tweaked to get better, more accurate results. To understand why the simple kind of matrix might not yield the best results, it is necessary to understand how the solving of an overdetermined system of equations works. An exact solution to an overdetermined system only exists when an x vector that fits every row exactly exists. In that case, the following is true:
Such a system can be solved by using simple matrix algebra. However, with real measurement noise, limited resolution, imperfections of all sorts, limited precision number representation (floating-point mathematics), and other problems are present, which means that an exact solution is impossible for a real measurement.
Any system will necessarily have an approximate solution. Using various mathematical and numerical methods it is possible to find the approximate solution, which could be considered close enough. It is a vector that is the set of x values that has the lowest error possible when fitted back into the equation:
e is a nonzero error vector. The solver looks for a solution that will have the lowest e it can get. The error is calculated from all of the rows. As such, when there are only a few lines that refer to the reference resistors and their values, they will have less weight on the final solution than the rest of the several thousand lines with the actual measurements. Add multiple copies of the reference rows several times, or add various combinations of reference values will add more weight to them.
GENERATING THE SITUATIONS
To do the actual measurements, many different situations need to be applied to the measured system and measured. Ideally, all possible combinations of node settings would be measured; however, this would take a lot of time and be redundant. For a simple 16-node system that can there are 524288 possible combinations (assuming possible node values of high, low and high impedance and only one node set to high impedance in any given situation) that would have to be measured – this would take a lot of time and would affect the accuracy only slightly.
A visualization of the steps for an eight-node measurement is on Figure 7. Each colored small rectangle represents the state of a single node state during a situation (green for high impedance, red for powered high, and blue for powered low). The individual lines represent one measured situation. The columns represent the nodes.
PROBLEMS & RULES OF THUMB
The described solution may seem simple and very effective, but there are a number of problems with it and a number of restrictions one must abide reasonably accurate result.
First off, let’s discuss some general suggestions, which can lead to good measurement results—a low relative error EREL. These suggestions are based on empirical evidence gathered from simulations and a real-world device. These suggestions are a rule of thumb. There are exceptions and they can be further expanded upon.
Resistance values should not change much during the actual measurement. The measurement takes some time, waiting for the system to settle and be measured takes some time for each situation. Depending on various factors (e.g., capacitance of the connections, settling time, and sampling speed), this can be in the order of several milliseconds per situation for a reasonably fast data acquisition device. The total measurement time should be as low as possible, otherwise the resistance values (or the actual values measured by the sensors) may change significantly over the course of the measurement. This effectively leads to some rows of the final matrix to be measured with one set of values, the other ones with another set of values. This limits the measurement to using fast hardware for slowly changing values – such as temperatures. In reality the values can change to some degree without affecting the measurement significantly. For example, the error for an eight-node measurement, with a 16-bit resolution, five reference resistors, a 25-LSB noise, and a 1:5 lowest-to-highest resistance ratio will have a less than 0.5% error when the values change during the measurement by 0.01% (100 ppm). When the values change by 0.1% during the measurement, the error is around 0.7%. At 1% total change, the error is 1.5%. At 10% change, the error is above 20%.
Another requirement is to have enough ADC resolution. Under ideal conditions, we would be using an infinite resolution, fully linear, perfect ADC. In reality, we are limited to using real ADCs, which have a finite resolution. This effectively truncates the actual voltage, giving us limited information on the voltage values for any particular situation. For instance (in simulation, assuming 16 switchable nodes), assuming a 16 bit resolution, it is possible to achieve a relative error of less than 0.1%, while the same situations and system measured using an 8-bit ADC result in an error of around 5% to 10% in the same cases. As such, more ADC resolution is better.
The linearity of the whole acquisition path (ADC, multiplexor, signal conditioner) is critical, as the mathematical model is linear. The resistors themselves are linear; however, ADCs, signal conditioners, multiplexors, amplifiers, and other parts of the signal path may not have a perfectly linear response.
Voltage noise is quite important. The error can rise very fast with noise amplitude. At a 16-bit resolution with an error of less than 10 LSB, it is possible to achieve a less than 0.1% error, while the same measurement with 250-LSB noise can result in more than 100% errors, making it useless.
When choosing the measured system configuration, it is best to keep at least a certain ratio of the amount reference resistors to the number of unknown resistors. Using just one reference resistor for 16 nodes can lead to a greater than 100% error (assuming some noise at 16 bits). The same measurement can have less than 1% error when 1 in 10 resistors is a reference resistor.
The stability of the reference resistors is quite important too. These determine the absolute accuracy of the system, as such when a change in their value occurs either during the measurement or over a long period.
The ratio between the lowest and highest values of the measured and reference resistors should be kept at least 1:10. Lower ratios (such as 1 to 100) can lead to problems. The dividers produce very low voltage differences as can be seen in the simulations.
Higher individual resistor values are preferred for practical reasons. Many low individual resistances (less than 1,000 Ω) in a parallel combination can be combined into a very low resistance circuit. Even very low excitation voltages will cause high currents to flow. High resistance values on the other hand (i.e., 10 kΩ to 1 MΩ) will not cause such an effect and will limit the effect of any extra resistance added by the wires leading to the resistors.
There is no direct method for compensating against the resistance of individual wire connections. Depending on the chosen range of the measured resistors this may (when using low resistance resistors) or may not (high resistance resistors) present a problem by creating a significant offset.
The impedance of the high-impedance nodes is important. This should be as high as possible to avoid the resistance presenting a load for the resistive divider. As such, it is best to have a high input impedance buffer (such as an operational amplifier in a voltage follower configuration) between the ADC (which can have a low impedance during sampling) and the individual nodes. Avoid very high resistances for the individual resistors (greater than 1 MΩ). They can lead to high settling times due to excessive RC constants, as well as make the signal weak and prone to external noise and pronounced effects of any leakage currents present. Now let’s consider things that do not affect the measurement.
Relatively Constant Voltage Offsets: Any voltage offsets added to the measurement during the signal amplification and processing has little to no effect, provided that it is reasonably constant during one full measurement cycle. Common sources of such offsets are operational amplifiers.
Absolute Voltage Accuracy: Excitation voltage accuracy is not critical at all, provided that the voltage is stable during the measurement of one single situation. The same goes for the ADC reference voltage. The measurement effectively takes into account only the ratios in single situations, making such errors and reference voltage long-term drifts harmless.
Switch resistance: Switch resistance does not come into play if the node voltage is measured after the switch. This allows for the use of relatively cheap switches, or even digital output pins, provided they can offer a good high-impedance state and have a low leakage current.
FROM THEORY TO RESULTS
In this article, I provided the theoretical basis for a new measurement method that enables you to measure large numbers of resistors using a smaller number of cabling and a fair amount of math. It’s an inexpensive way to measure large quantities of sensors.
In the next article, I’ll present the actual results from both a simulated system as well as a real device. The simulation results indicate when and where the method can be useful. The results from the real device indicate that the method can be implemented in the real world using inexpensive off-the-shelf parts.
PUBLISHED IN CIRCUIT CELLAR MAGAZINE • SEPTEMBER 2016 #314 – Get a PDF of the issueSponsor this Article