## A new method for measuring lots of resistors using a minimal amount of cables

12 posts / 0 new
Author
Message

Hi guys, long time no see :-D

So, after a long while I have finally finished one of my projects - a new method for measuring lots of resistors ( N*(N-1)/2 ) using only N wires! This means that with 8 wires you can measure up to 28 resistors/resistive sensors. With 16 wires this could be 120 resistors... minus a few reference resistors :-) The application range is a very niche area, where you are extremely constrained by the physical size or cost of extra cabling, such as a microscopic probe with thermistors along its length, or similar.

In summary, the method uses a mesh of resistors, connected between N nodes where every node is connected to every other node with a maximum of one resistor - topologically, a complete graph, as shown in the attachment. The measurement system connects the nodes to either one of the at least two excitation voltages (the simplest being GND and VCC) or floats that node. This limits the scope of any one measurement, allowing the creation of a single linear equation describing that particular situation. With enough of the measured combinations (I call them situations), and an addition of special equations describing the reference resistors, an overdetermined system of linear equations can be formed, and solved iteratively. And that's that :-)

The method works, has been tried both in simulation and on a real device. And that device is of course an AVR ATMega32 :-)

For more details, see the write up on my page:

Theory start: http://www.daqq.eu/?p=1333

Theory continuation: http://www.daqq.eu/?p=1412

Practical implementation: http://www.daqq.eu/?p=1676

Coming soon: Software, firmware descriptions and detailed results.

Enjoy!

David

## Attachment(s):

There are pointy haired bald people.
Time flies when you have a bad prescaler selected.

Hey welcome back! Good to hear from you again.

daqq wrote:
a microscopic probe with thermistors along its length, or similar.

having difficulty thinking of things that would be "similar" to such a device!!

a mesh of resistors, connected between N nodes where every node is connected to every other node with a maximum of one resistor - topologically, a complete graph, as shown in the attachment. The measurement system connects the nodes to either one of the at least two excitation voltages

Sounds a bit like Charlieplexing in "reverse" ?

Jolly impressive.

awneil wrote:
Sounds a bit like Charlieplexing in "reverse" ?

I just looked at http://www.daqq.eu/?p=1333 - I see that is where the idea came from!

awneil wrote:

awneil wrote:
Sounds a bit like Charlieplexing in "reverse" ?

I just looked at http://www.daqq.eu/?p=1333 - I see that is where the idea came from!

Yup! I wondered if I could recycle charlieplexing for this kind of measurement, turns out, you can use some of the concepts, but you have to add some nasty math.

clawson wrote:
Hey welcome back! Good to hear from you again.
Thanks! I'm mostly on the EEVBlog now, mostly since I use AVRs only rarely these days. But I lurk here occasionally :-)

There are pointy haired bald people.
Time flies when you have a bad prescaler selected.

My question is :

IF ADC is real 9 bit (10 bit AVR ADC), how many real bit do you have left, with 28 sensors on a normal micro wirh 8 ADC channels ?

sparrow2 wrote:
IF ADC is real 9 bit (10 bit AVR ADC), how many real bit do you have left, with 28 sensors on a normal micro wirh 8 ADC channels ?

Good question. Well, the resolution in this measurement is kinda tricky. There is an insane amount of oversampling, but the resolution is much greater than that of the ADC alone. That said, the error can be significant and there are many factors contributing to it.

Here is a measurement of a static, accurate 10kOhm resistor.

Note that the measured point can be pretty much anywhere (since the outputs are true floating point values), and the distribution is not very gaussian.

## Attachment(s):

There are pointy haired bald people.
Time flies when you have a bad prescaler selected.

When I first saw this on hackaday my initial reaction was I can measure thousands of resistors with a DMM and it's 2 leads.

then I read some more and qickly concluded that the whole thing goes haywire if a bunch of the resistors are 0 Ohm and quickly lost interest.

This also suggests that the resoluton reatly depends on the values of the resistors in the network.

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

Paulvdh wrote:
then I read some more and qickly concluded that the whole thing goes haywire if a bunch of the resistors are 0 Ohm and quickly lost interest.
Yup, that is a problem. That said, most measurements go 'haywire' if you short circuit them. Also, if you have a bus with a bunch of resistance measurement devices hooked up to it and you short the bus, you aren't going to get much useful data out of it.

Paulvdh wrote:
This also suggests that the resoluton reatly depends on the values of the resistors in the network.
This is true-ish. As I said, resolution in this kind of measurement is a tricky concept. There is no real concept of how many ohms is an LSB.

There are pointy haired bald people.
Time flies when you have a bad prescaler selected.

Hi daqq,

it somehow reminds me on "impedance tomography"

ossi wrote:

Hi daqq,

it somehow reminds me on "impedance tomography"

Yup, as was mentioned in the article:

Quote:
The technique bears some similarity to electrical impedance tomography, but is at its core different for being used on discrete parts (resistors) rather then volumes, uses DC excitation and uses reference resistors to enable the measurement of the exact resistance values. Also, it can be used with a single, cheap microcontroller.

There are pointy haired bald people.
Time flies when you have a bad prescaler selected.