Strange issue with resistance meter using CD4051 switches - Page 1
Forum section: electronics / general

author: edgaras006
author_rank: Contributor
timestamp: July 28, 2023, 04:30:39 am
content: I had designed simple single channel resistance meter which worked fine, but I needed to expand it to 20 channels and problems showed up.Basic specs:Input voltage (originally 5V, but later reduced to 3.3V)Input resistance range 0Ohm to 5OhmOutput: 0.2001V/Ohm (error <3mOhm in analog terms)Test current 403uA, gain 496.5Problem: sense switches pass about 1/4 of test current. Schematic shows HCT switches which was originally used in 5V version. 3.3V uses HC, I also tried CD4051 and 74LV4051. They all give almost exact result (voltage drop is proportional to switch resistance). I tried to increase test current 10x and dropping gain 10x, but result does not change. I get >30mV drop on sense switches. I even added buffers before R8, R13 with input bias current of 1pA and still no change, so I assume I did something fundamentally wrong. Lastly, I removed U14, U16 and just shorted pads in a way it makes connection where I need it to be and.... problem disappeared. My assumption is that reed relays would be a quick way to go, but I want to understand what went wrong. Circuit is used with 12b noise free ADC. I had designed analog front ends for >20 bit systems, so I thought I understand what I am doing (including layout).Thanks in advance.Update: how can I reduce voltage drop on sense switches below 1uV. Maximum voltage drop on DUT is 2mV. With input resistance of 112Kohm I expected <1uV (not >10mV) drop on sense switches.Circuit is not shielded yet, but that should not change behavior in any significant way in terms of voltage drop.

author: Kim Christensen
author_rank: Super Contributor
timestamp: July 28, 2023, 04:59:28 am
content: I think your channel select logic is wrong. When both the channel select 3 & 4 lines (J2-6 J2-7) are low, then pin-6 onallthe 4051s are low. (multiplexers are enabled)You should be using NOR gates (4001) instead of the NAND gates (4011) for U5 and U9.

author: edgaras006
author_rank: Contributor
timestamp: July 28, 2023, 06:12:15 am
content: What a face palmsituation. I tested everything I could expect switching logic.Thank you.

author: ejd.pol
author_rank: Contributor
timestamp: July 28, 2023, 02:53:05 pm
content: I have one additional suggestion for you that might be helpful to improve the accuracy of the readings.It just so happens that I am building a curve tracer, and I also want to do some switching of resistors,while squeezing the most in terms of accuracy out of the setup. (I will post the curve tracer elsewhere in this forum.)The main idea is to use Kelvin connections! If you take two 4051 analog multiplexers,you can solder them on top of each other on all pins except for the z pin(!).So the selection signals are the same, and the y inputs are the same for both chips,but the multiplexer outputs are kept apart. I assume the resistors to be switched are connected to the y pins.Then you can connect the current drive (force, in Kelvin terms) to one of the z pins (doesn't matter which one),and use the other z pin to do the the measurement. That way, the larger current that causes the voltage drop in the switchis kept separate from the measurement current, which is (should be) very small.So the voltage drop on the measurement switches should be quite small.Neat, right?

author: edgaras006
author_rank: Contributor
timestamp: July 30, 2023, 03:59:06 pm
content: I am doing exactly that ejd.pol. Putting package on package is not what you want. You want sense lines to be routed to the "point of interest", not right on the other mux.