milliohmmeter

Thread Starter

panic mode

Joined Oct 10, 2011
5,399
i have built a 4-wire milliohm meter for our test gear. at first readings were ok then crap, then ok again... turns out there was an instability of constant current source which had tendency to oscillate at ~6MHz. once that part was resolved i run it again and CC was solid. then i checked readings and at first thought was getting false data because measurements were too perfect. i switched channels, and cables (0m, 5m, 10m) and in all cases displayed 5 significant figures were exactly the same. a little bit of change would be appreciated.... so i switched from 2.000 Ohm 2ppm precision resistor used to calibrate it to a same value regular 1% specimen and got what i was looking for - reading changed a bit. good...! then tried different values to ensure scaling is correct and yup, everything was good. so i built remaining units and let them run over the weekend.

as a baseline, my dear old Keithly 2000 using 4-wire sense, reading precision 2.00 ohm resistor fluctuates 2.000 to 2.0042 (5min interval).

few units reading that same precision resistor type were practically unchanged over 50h:
the best one had peak to peak deviation of 0.0001 Ohm, the worst one had 0.0003 Ohm.

1793022247106.png

and one of the units i left with plain 1% resistors (happens to be 2.0 and 2.7 Ohm wired in parallel, equivalent 1.15 Ohm). this combo has temperature coefficient of 100ppm/degC and it shows


1793021665517.png
 
Last edited:

Thread Starter

panic mode

Joined Oct 10, 2011
5,399
unfortunately it is for work so i am not allowed to share too much. this is only one of elements of a multifunction tester. this particular units is built around RP2350 MCU, constant current sink (opamp + mosfet) is controlled by 16bit DAC and can be set to 0-50mA. mosfet was causing instability so to tame it had to move pole and decouple feedback. this could have been fixed (or just limited by a resistor) but we wanted it have control. ADC is 24bit and has built in reference as well as CC source but only for low current (max 1mA). speed on this thing is not important so chose low sampling rate and sync3 filter that rejects both 50Hz and 60HZ. currently it has serial ports but when i get to it, will have EIP adapter stack as well. it is built on single 2-layer only PCB, MCU and relays are powered using buck converter (500kHz), CC and analog are powered using cascaded linear regulators. star GND, good bypass caps (100nF ceramic + tantal), ferrite beads, differential analog inputs, with RC filters (same bandwidth on AI and REF channel), key resistors are 0.01% 2ppm, lines that could interfere are routed separately (shielded) or crossing at right angle, etc. overal this looks very stable, i was just blasting it with hot air gun and entire board was quite toasty, readings stayed the same. the external cables connecting to DUT are standard industrial M12 4-wire unshielded. i used single (external)2.000 Ohm to calibrate all units, but actually connected was another specimen. that is possibly reason for slight bias on some boards (0.6mohm).
 
Last edited:

Thread Starter

panic mode

Joined Oct 10, 2011
5,399
this is when CC was oscilating:
1793025214868.png

now it is gone...
in the lab it is still picking 100MHz from something, not sure what. but it is very high frequency and low amplitude, this gets filtered out. the wobble is step response from buck converter (500kHz)
1793024998146.png
 

joeyd999

Joined Jun 6, 2011
6,477
Curiosity: why use a constant current?

Why not just a single high-precision, low tempco resistor in series with the DUT to generate a proportional reference voltage?
 

Thread Starter

panic mode

Joined Oct 10, 2011
5,399
that was original plan but plans change... it was decided to make it adjustable so current can be set in accordance with what particular DUT can handle. i cannot say more.
 

joeyd999

Joined Jun 6, 2011
6,477
that was original plan but plans change... it was decided to make it adjustable so current can be set in accordance with what particular DUT can handle. i cannot say more.
I am sure you know that the CCS adds shot, flicker, and reference noise to your measurements, in addition to the standard, passive Johnson noise. Buyer beware.
 

Thread Starter

panic mode

Joined Oct 10, 2011
5,399
the heart of the unit is ADC. in this case i chose ADS124S08. at $8 it was the same price as ADS124S06 , both have plenty of features. the extra inputs on S08 came in handy for some other things.
calibration unit is Y09262R00000B0L. that is a tank, a nice but rather pricey part. local reference (on-board) is an SMD resistor costing far less. gold contact relays are used to switch path (dut,ext ref,zero, 2/4 wire...).
 

Thread Starter

panic mode

Joined Oct 10, 2011
5,399
noise was a major concern from the start. it is a small board with plenty of things that could spell disaster (buck converter, relays, com ports, even status leds). i was weighing things carefully before releasing design. making it only dual layer was risky so i always leave some escape hatches just in case. when assembled boards arrived, i found CC issue and few minor mistakes (copy/paste errors). once those were identified and corrected, i cloned patches to rest of the boards. they all they worked instantly and passed all tests. now finalizing firmware (this also controls some external peripherals). this is time for any late wish list items or features to be added to final HW design.
 

Thread Starter

panic mode

Joined Oct 10, 2011
5,399
nope... i would have if EVB was $20-50.

once i got specs of what need to be done (and some things were loosely defined/changing) i simply did my research, picked part(s), designed board, ordered it... min order is 5 boards. price of 5 populated boards was not too far off from price of single EVB and allowed me to evaluate everything, not just one chip. and it is good to have an actual conversation piece since it ties into other things so we can review / modify assembly, wiring, etc. if i wanted i could deploy this since it does everything spec calls for. not so with EVB. it would require bunch of peripherals and still only be one system, not 5.
 
Last edited:
Top