Multiplexing resistance measurements (~50 resistances)

I am currently working on a project that requires me to measure the resistance of ~50 lines on a sheet (similar to the image below).

-The expected resistance per line is 10Ω - 300Ω.
-Each measurement must have a tolerance of 0,5Ω.
-Measurement must be fully automatic (so no manual switching of contacts)

My current approach

Connecting to the lines:

I’ll be using pogo-pins on two PCB’s. On one end, voltage is applied. On the other end, the current is measured. In the circuit, the lines are represented as the resistances between the two multiplexers (only 4 are drawn but you get the idea).

Measuring a resistance:
The way I’m going to measure the resistances is with an ADC (analog to digital converter) and an accurate resistor (250Ω, 1% or less tolerance). See circuit below, bottom part.

Measuring the voltage over this resistor (UR1) allows me to:
-Calculate the current going through both the known and unkown resistors (Itot = IR1 = UR1 / R1)
-Calculate voltage which must be going over the unknown resistor (URx = Utot - UR1)
-Calculate the unknown resistance (Rx = URx / IRx where IRx = Itot)

The multiplexers and ADC('s) will be controlled / read out by an arduino using an I2C I/O extender.

The problem

I need to measure like 50 lines. Using 50 special resistors and ADC’s seems quite impractical to me, so I decided to use two analog multiplexers.

However, I found out that most multiplexers have an “on” resistance, which is the resistance of the mux itself when a channel is “on”.
The CD74HC4067 (mux / demux that I planned on using) has an “on” resistance of roughly ~50-70Ω in my scenario (see link below).

This resistance of the mux is quite significant, and there’s no way I’ll be able to achieve the 0,5Ω tolerance like this. Even if I compensate for 120Ω (mux x2) in software, there’s still that ±20Ω uncertainty.

My questions

-Should I be approaching this problem in an entirely different way? I tried googling different solutions, sadly to no avail.

-Is there a way I can measure and compensate for the multiplexer resistances?
I kind of tried it in my circuit, but I’m worried my method won’t work.

One reason for that (I’m guessing) is because the input voltage of the multiplexer will be different when I try to isolate and measure it. According to the datasheet, the “on” resistance changes depending on the input voltage.

-Are there other components I could / should be using? Like an awesome, low resistance multiplexer, perhaps?

================================================

See page 6, Typical Performance Curves.

Image 1: Lines that need to be measured

Image 2: Circuit concept.

The small empty rectangles are resistors.
I know it looks bad. Please forgive me, it was drawn as a quick sketch.

================================================

Thanks in advance!

~Jonathan

I might address the reference voltage of the ADC's in a different post. Being able to measure an absolute voltage instead of a ratio and using this in my circuit would be fantastic.

The way to do it is to use two multiplexers, one for the current and one for the measurement signal.

I did a project here with 3 channels with mOhm resolution: Meter for measuring cable resistance

One of my "muxes" was just transistors, the other build into the ADC.

HKJ-lygte:
The way to do it is to use two multiplexers, one for the current and one for the measurement signal.

I did a project here with 3 channels with mOhm resolution: Meter for measuring cable resistance

One of my "muxes" was just transistors, the other build into the ADC.

Thanks! I'll look into it.

With 0.5ohm resolution it might be a good idea to use a differential ADC and use separate pogo pins for current and measurement, i.e. two at each end. This will make the measurement much more reliable.

HKJ-lygte:
With 0.5ohm resolution it might be a good idea to use a differential ADC and use separate pogo pins for current and measurement, i.e. two at each end. This will make the measurement much more reliable.

Do you mean something like this?

I’d prefer not to use an extra set of Pogo Pins.
Since their resistance is already pretty low, do you think I can get away with compensating for the extra 100mΩ resistance in software?

Also, are there any components you would recommend for:
-The ADC’s (normal & differential)
-The precision resistor


Image: Pogo Pin information. All have a 50mΩ resistance according to this table.

~Jonathan

Something like that, you have one multiplexer to much, the one to 5V. I will also suggest adding a series resistor to the 5V, to avoid working that close to the supply rail with the multiplexers and ADC.

You can use the same ADC for reference resistor and checking the external resistors, it just requires one multiplexer channel extra, but it is, of course, faster to use two separate ADC. You can use differential for both.

You have pogo pin resistance and contact resistance, depending on the surface quality it may or may not reach 0.5ohm. Using 4 pins secures it will never affect the result.

The first multiplexer that I think about is HC or HCT4051, it is not the best multiplexer around, but it is cheap and I do see it in multimeters. My favorite ADC was the one I used in my project, it can run differential or single ended and has a resolution above 10000 count from 0.1V to 5V, because it has multiple ranges.

HKJ-lygte:
Something like that, you have one multiplexer to much, the one to 5V. I will also suggest adding a series resistor to the 5V, to avoid working that close to the supply rail with the multiplexers and ADC.

You can use the same ADC for reference resistor and checking the external resistors, it just requires one multiplexer channel extra, but it is, of course, faster to use two separate ADC. You can use differential for both.

You have pogo pin resistance and contact resistance, depending on the surface quality it may or may not reach 0.5ohm. Using 4 pins secures it will never affect the result.

The first multiplexer that I think about is HC or HCT4051, it is not the best multiplexer around, but it is cheap and I do see it in multimeters. My favorite ADC was the one I used in my project, it can run differential or single ended and has a resolution above 10000 count from 0.1V to 5V, because it has multiple ranges.

Avoid working close to the supply rail? Is that to prevent damage if I accidentally short something?

Do you think the CD74HCT4067 would work fine as well?

Can I ditch the GND multiplexer instead of the 5V one?

Thanks for the ADC recommendation. It does look very nice for my purposes.

I’m having trouble with the schematic on your project page. Components seem to be floating around and I have no idea how to read this.
(Still learning. I’m relatively new to this)

I’d like to avoid extra pogo pins for these reasons:
-100 pins per platform is a lot
-The material lines are actually < 0,5mm in width (sometimes even smaller).
The chance of misalignment may increase with more pins.
-I’m worried the total spring force from the pins might break the PCB’s


Image: PCB concept (mechanical)

TechnoWaffle:
Avoid working close to the supply rail? Is that to prevent damage if I accidentally short something?

ADC converters may be slight unlinear very close to the supply rails.

TechnoWaffle:
Do you think the CD74HCT4067 would work fine as well?

Yes.

TechnoWaffle:
Can I ditch the GND multiplexer instead of the 5V one?

Yes, but you will have slightly more noise.

TechnoWaffle:
I’m having trouble with the schematic on your project page. Components seem to be floating around and I have no idea how to read this.

To avoid making the schematic look a mess, I use named signals. You will see a name on all open connections and most of them you can find around the microprocessor.
The two connectors J4 & J5 are the current output and the sense input and goes to where I want to measure with 1 connect to 1, 2 to 2, etc.

TechnoWaffle:
I’d like to avoid extra pogo pins for two reasons:
-100 pins per platform is a lot
-The material lines are actually < 0,5mm in width (sometimes even smaller).
The chance of misalignment may increase with more pins.
-I’m worried the total spring force from the pins might break the PCB’s

If you are worried about the force, you might want to use more screws along the connection or maybe a aluminum bar on the top side.
I cannot say if you really need it or not.