volt-nuts@lists.febo.com

Discussion of precise voltage measurement

View all threads

HP3458 - OHMF and DELAY vs APER and NPLC

AK
Attila Kinali
Fri, Jan 28, 2022 11:17 AM

Moin,

I've been doing some resistance measurements lately and have
run accross a currious problem. I'm measuring a 10kΩ resistance
standard (L&N 4040-B) with my trusty HP3458 (vintage 1989 or 1990,
firmware rev 4.6 haven't gotten around to update yet).

I've noticed that already with 10kΩ the choice of DELAY and
NPLC vs APER makes a huge difference in measurement value.
To quantify that, I run some measurements yesterday.

Before each round, I did let the DMM rest for 5minutes,
then did an ACAL to ensure same starting conditions
and then, immediately after, run the following measurement
script:

$dmm->write(command => "ARANGE ONCE");
$dmm->write(command => "AZERO ONCE");
$dmm->write(command => "TARM HOLD");
$dmm->write(command => "TRIG AUTO");
$dmm->write(command => "NRDGS 1,LINE");
$dmm->write(command => "NDIG 9");
$dmm->write(command => "OCOMP ON");
$dmm->write(command => "NPLC $nplc") if $nplc != 0;
$dmm->write(command => "APER $aper") if $aper != 0;
$dmm->write(command => "DELAY $delay");
$dmm->write(command => "OHMF");

if($aper != 0)
{
$sleep = ($aper + $delay) * 4 + 2.25;
} else {
switch($delay)
{
case "5e-1" { $sleep = $nplc * 0.1295 + 0.775 }
case 1 { $sleep = $nplc * 0.23945 + 0.2825; }
case 2 { $sleep = $nplc * 0.422525 + 3.11125 }
case 3 { $sleep = $nplc * 0.614 + 5.5 }
}
}

$dmm->write(command => "TARM SGL,1");

usleep(2* $sleep * 1e6);

for($i = 0; $i < 210; $i++)
{
$ohmf = $dmm->get_value();
# throw away first 10 measurments as they have too much bias
$stat->add_data($ohmf) unless $i < 10;
$dmm->write(command => "TARM SGL,1");
usleep($sleep * 1e6);
}

Note that I throw away the first 10 measurements to avoid bias
due to initial settling. The first measurement was low by
0.2ppm to 3.9ppm versus the calculated average, APER almost
an order of magnitude worse then NPLC.

The attached graph is the result of this measurement.
(normalized to APER 1 DELAY 3)

Each box is the average of 200 measurement. The inner box shows
the uncertainty of the center point (3 sigma, width w/o meaning).
The outer box shows the "noise" of each individual measurement
(1 sigma) and the time span over which the whole measurement took
place. The whiskers show the maximum and minimum of the values
used.

The whole setup is in free air in an office, so the temperature
varies a bit. I whish it would have been more stable, but a
maximum deviation of less than 0.17°C over 9h is IMHO acceptable.
The temperature plots are the 5minutes and 30 minutes moving
averages, right next to the resistor (using a BME280).

The first and the last measurement use the same settings for
cross checking. First and last measurement are off by +0.97ppm.

You can find the measured and calulated values down below.

Now, what's curious is, that, although all measurements measured
for the same amount of time (50NPLC = 1s), the noise levels are
quite different. There is approximately a factor of sqrt(5) in
between, suggesting that the measurement is limited by the
sample noise of the ADC and not by some input related noise
(either from the signal or from the integration stage of the ADC).

The second thing to notice is that NPLC 50 DELAY 2 is still
off by -7ppm, compared to APER 1 DELAY 2 and APER 1 DELAY 3.
Which would suggest, that even a 2s delay is not enough for the
system to fully settle.

Now, the big question is, what to use for measurements?
APER has definitely less bias, but has much worse noise.
Yet, I am not sure how large the bias is (it's definitely
still non-zero).

I'm sure I am not the first one to attempt this kind of
measurement with an HP3458. And someone must have gotten
sub-ppm precision with it, otherwise the specs for accuracy
wouldn't be in the 2+0.2ppm range (24h after cal).

So, what are other people doing and how do they achieve
the spec'ed accuracy?

		Attila Kinali

NPLC 0
APER 1
DELAY 1

Average: 10000.3894693035
STD-DEV: 0.00695488039639252
Min:    10000.37384
Max:    10000.4097

NPLC 0
APER 1
DELAY 2

Average: 10000.4733173134
STD-DEV: 0.0101684497040978
Min:    10000.39685
Max:    10000.49339

NPLC 0
APER 1
DELAY 3

Average: 10000.4681456219
STD-DEV: 0.0125243902670948
Min:    10000.37739
Max:    10000.54444

NPLC 0
APER 1
DELAY 5e-1

Average: 10000.3451104478
STD-DEV: 0.00706507704987731
Min:    10000.32884
Max:    10000.3677

NPLC 50
APER 0
DELAY 1

Average: 10000.2979074129
STD-DEV: 0.00363564657597388
Min:    10000.28872
Max:    10000.30701

NPLC 50
APER 0
DELAY 2

Average: 10000.3982425871
STD-DEV: 0.00482583949242416
Min:    10000.38485
Max:    10000.41723

NPLC 50
APER 0
DELAY 5e-1

Average: 10000.1577926866
STD-DEV: 0.00359873550247818
Min:    10000.14333
Max:    10000.17091

NPLC 0
APER 1
DELAY 1

Average: 10000.399188607
STD-DEV: 0.00790352248839778
Min:    10000.37715
Max:    10000.41973

--
The driving force behind research is the question: "Why?"
There are things we don't understand and things we always
wonder about. And that's why we do research.
-- Kobayashi Makoto

Moin, I've been doing some resistance measurements lately and have run accross a currious problem. I'm measuring a 10kΩ resistance standard (L&N 4040-B) with my trusty HP3458 (vintage 1989 or 1990, firmware rev 4.6 haven't gotten around to update yet). I've noticed that already with 10kΩ the choice of DELAY and NPLC vs APER makes a huge difference in measurement value. To quantify that, I run some measurements yesterday. Before each round, I did let the DMM rest for 5minutes, then did an ACAL to ensure same starting conditions and then, immediately after, run the following measurement script: ---- $dmm->write(command => "ARANGE ONCE"); $dmm->write(command => "AZERO ONCE"); $dmm->write(command => "TARM HOLD"); $dmm->write(command => "TRIG AUTO"); $dmm->write(command => "NRDGS 1,LINE"); $dmm->write(command => "NDIG 9"); $dmm->write(command => "OCOMP ON"); $dmm->write(command => "NPLC $nplc") if $nplc != 0; $dmm->write(command => "APER $aper") if $aper != 0; $dmm->write(command => "DELAY $delay"); $dmm->write(command => "OHMF"); if($aper != 0) { $sleep = ($aper + $delay) * 4 + 2.25; } else { switch($delay) { case "5e-1" { $sleep = $nplc * 0.1295 + 0.775 } case 1 { $sleep = $nplc * 0.23945 + 0.2825; } case 2 { $sleep = $nplc * 0.422525 + 3.11125 } case 3 { $sleep = $nplc * 0.614 + 5.5 } } } $dmm->write(command => "TARM SGL,1"); usleep(2* $sleep * 1e6); for($i = 0; $i < 210; $i++) { $ohmf = $dmm->get_value(); # throw away first 10 measurments as they have too much bias $stat->add_data($ohmf) unless $i < 10; $dmm->write(command => "TARM SGL,1"); usleep($sleep * 1e6); } ---- Note that I throw away the first 10 measurements to avoid bias due to initial settling. The first measurement was low by 0.2ppm to 3.9ppm versus the calculated average, APER almost an order of magnitude worse then NPLC. The attached graph is the result of this measurement. (normalized to APER 1 DELAY 3) Each box is the average of 200 measurement. The inner box shows the uncertainty of the center point (3 sigma, width w/o meaning). The outer box shows the "noise" of each individual measurement (1 sigma) and the time span over which the whole measurement took place. The whiskers show the maximum and minimum of the values used. The whole setup is in free air in an office, so the temperature varies a bit. I whish it would have been more stable, but a maximum deviation of less than 0.17°C over 9h is IMHO acceptable. The temperature plots are the 5minutes and 30 minutes moving averages, right next to the resistor (using a BME280). The first and the last measurement use the same settings for cross checking. First and last measurement are off by +0.97ppm. You can find the measured and calulated values down below. Now, what's curious is, that, although all measurements measured for the same amount of time (50NPLC = 1s), the noise levels are quite different. There is approximately a factor of sqrt(5) in between, suggesting that the measurement is limited by the sample noise of the ADC and not by some input related noise (either from the signal or from the integration stage of the ADC). The second thing to notice is that NPLC 50 DELAY 2 is still off by -7ppm, compared to APER 1 DELAY 2 and APER 1 DELAY 3. Which would suggest, that even a 2s delay is not enough for the system to fully settle. Now, the big question is, what to use for measurements? APER has definitely less bias, but has much worse noise. Yet, I am not sure how large the bias is (it's definitely still non-zero). I'm sure I am not the first one to attempt this kind of measurement with an HP3458. And someone must have gotten sub-ppm precision with it, otherwise the specs for accuracy wouldn't be in the 2+0.2ppm range (24h after cal). So, what are other people doing and how do they achieve the spec'ed accuracy? Attila Kinali NPLC 0 APER 1 DELAY 1 Average: 10000.3894693035 STD-DEV: 0.00695488039639252 Min: 10000.37384 Max: 10000.4097 NPLC 0 APER 1 DELAY 2 Average: 10000.4733173134 STD-DEV: 0.0101684497040978 Min: 10000.39685 Max: 10000.49339 NPLC 0 APER 1 DELAY 3 Average: 10000.4681456219 STD-DEV: 0.0125243902670948 Min: 10000.37739 Max: 10000.54444 NPLC 0 APER 1 DELAY 5e-1 Average: 10000.3451104478 STD-DEV: 0.00706507704987731 Min: 10000.32884 Max: 10000.3677 NPLC 50 APER 0 DELAY 1 Average: 10000.2979074129 STD-DEV: 0.00363564657597388 Min: 10000.28872 Max: 10000.30701 NPLC 50 APER 0 DELAY 2 Average: 10000.3982425871 STD-DEV: 0.00482583949242416 Min: 10000.38485 Max: 10000.41723 NPLC 50 APER 0 DELAY 5e-1 Average: 10000.1577926866 STD-DEV: 0.00359873550247818 Min: 10000.14333 Max: 10000.17091 NPLC 0 APER 1 DELAY 1 Average: 10000.399188607 STD-DEV: 0.00790352248839778 Min: 10000.37715 Max: 10000.41973 -- The driving force behind research is the question: "Why?" There are things we don't understand and things we always wonder about. And that's why we do research. -- Kobayashi Makoto
AK
Attila Kinali
Fri, Jan 28, 2022 8:46 PM

Good evening!

I had a short discussion with Brooke and it seems like there are
a few more explanations required as to why I am doing what.

So I would like to give a quick run-down of the setup and settings
I'm using.

First of all. The setup is pretty simple and standard. An HP3458
with 4-wire, Kelvin connected measurement of a 10kΩ old resistance
standard made from manganin wire. As far as I am aware of, their
construction follows the one introduced by Thomas in 1930[1]
and later picked up by HP[2]. These resistors usually have a
temperature coefficient in the order of 10ppm/°C at 23°C that
goes to zero around 40-50°C. I do not have enough measurements
to get a number on the TC of this particular resistor, but
it seems to be in the ballpark.

My lead wires are Pomona 5295 type low-emf spade-banana test leads.
I suspended them in air, rather crudely, to ensure they are well
thermalized and that they don't couple anything via the metal
bits fo the table. Twisting the positive and negative leads
together didn't have any significant effect on measurement
performance, so I left them straight, with distance between
each other to minimize capacitive coupling and potential dielectric
absorption. The test leads are not the most optimal, as they
have a PVC insulation which has some dielectric absorption and
might be the cause of what I am seeing.

Now for the settings/script

As I wrote before, before the measurement runs, I frist
do an ACAL.

On Fri, 28 Jan 2022 12:17:00 +0100
Attila Kinali attila@kinali.ch wrote:

$dmm->write(command => "ARANGE ONCE");

I am planing to use the script with different
resistors, so I want the range to adjust to that.
The HP3458 does this by doing a short measurement first.
As I am not changing the resistor once the measurement
started, I only want the DMM to do that once and keep the
setting afterwards.

$dmm->write(command => "AZERO ONCE");

AZERO does calibrate the zero point of the voltage measurements.
There are people on the net who say that this is note required
for OHM/OHMF measurment as OCOMP takes care of that, the user
manual is quite clear that it's required:


Autozero should be on for 4-wire ohms measurements. If you must disable
autozero, be sure to make all measurement connections before disabling
autozero and ensure that the lead resistance will not change. If you disable
autozero before making the 4-wire connections, or if you have a varying lead
resistance with autozero disabled (such as when scanning), you will get
inaccurate 4-wire ohms measurements.

As AZERO doubles the time a measurement takes, I do it only once
and hope that the zero point doesn't move too much during the
measurement. This is a potential source of error.

$dmm->write(command => "TARM HOLD");

Disable arming of the DMM for now. We will later arm
it manually.

$dmm->write(command => "TRIG AUTO");

Set to trigger automatically.
This could be potentially set to TRIG LINE, which triggers at
the zero crossing of mains voltage.

$dmm->write(command => "NRDGS 1,LINE");

Do only one measurement, initiate at zero crossing of mains voltage.
I guess that setting here LINE is enough and I don't need to do
the same for TRIG.

$dmm->write(command => "NDIG 9");

Return all the digits the DMM calculates internally.

$dmm->write(command => "OCOMP ON");

Set offset compensation for OHM/OHMF measurement on.
This does a zero-current measurement first, to measure
the offset voltage to later subtract.
From the manual:

With offset compensation enabled, the multimeter measures the external offset
voltage (with the ohms current source shut off) before each resistance reading
and subtracts the offset from the following reading. This prevents the offset
voltage from affecting the resistance reading, but it doubles the time required
per reading.

$dmm->write(command => "NPLC $nplc") if $nplc != 0;
$dmm->write(command => "APER $aper") if $aper != 0;
$dmm->write(command => "DELAY $delay");

Set the number of line cycles to measure, the aperture period
and the delay before the measurement for the system to settle.
NPLC and APER are exclusive and one disables the other. IF NPLC
is used and it is set to higher than 10, then the measurement is
broken up into pieces of 10NPLC measurements that are then
internally averaged. But, keep in mind that OCOMP, AZERO and DELAY
are all applied to each measurement. I.e. setting NPLC to 50 means
that it's 5×( (10NPLC + DELAY) + (10NPLC for OCOMP + DELAY) )
If AZERO is set, then this doubles as an zero measurement is
inserted infront of each of them.

If APER is used then this becomes ( (APER + DELAY) + (APER for OCOMP

  • DELAY) ). Again, if AZERO is set, this doubles.

Keep in mind that the processor has to do some bookkeeping and
calculation after each measurement, which can take a lot of time.
E.g. for the APER case, it's an additional ~2.2s. For the NPLC
case, there seems to be a non-linear relationship between how long
the measurement takes and how long DELAY is. I have not figured
out what is exactly going on there. For a fixed DELAY setting, it
seems to be pretty linear, though.

$dmm->write(command => "OHMF");

Last but not least, set to 4-wire resistance measurement.

$dmm->write(command => "TARM SGL,1");

The measurement is then started by manually arming the HP3458.
The measurement data is later collected, after waiting the
approriate time and another TARM SGL,1 is sent.

To reiterate, what is puzzling me is that I see quite large
settling times, in the multiple seconds range. So much that
using NPLC becomes infeasible because of the long time it takes.
Using APER on the other hand, has the disadvantage of increased
noise and uncertainty.

So I am at the level, where I have to say that I have a measurement
uncertainty of somewhere in the order of 2-10ppm (depending on
how one judges the uncertainty), which is beyond what the HP3458
should be able to do, to reach the specified 2+0.2ppm accuracy
for the 10kΩ range. I am pretty sure that I am doing something
wrong or that there is something I didn't account for. But I
do not know what. And help or advice would be appreciated.

		Attila Kinali

[1] "A New Design of Precision Resistance Standard",
by James L. Thomas, 1930

[2] "An Adjustable Standard Resistor with Improved Accuracy
and High Stability", by Hubbs and Hetzel, HP Journal April 1966

The driving force behind research is the question: "Why?"
There are things we don't understand and things we always
wonder about. And that's why we do research.
-- Kobayashi Makoto

Good evening! I had a short discussion with Brooke and it seems like there are a few more explanations required as to why I am doing what. So I would like to give a quick run-down of the setup and settings I'm using. First of all. The setup is pretty simple and standard. An HP3458 with 4-wire, Kelvin connected measurement of a 10kΩ old resistance standard made from manganin wire. As far as I am aware of, their construction follows the one introduced by Thomas in 1930[1] and later picked up by HP[2]. These resistors usually have a temperature coefficient in the order of 10ppm/°C at 23°C that goes to zero around 40-50°C. I do not have enough measurements to get a number on the TC of this particular resistor, but it seems to be in the ballpark. My lead wires are Pomona 5295 type low-emf spade-banana test leads. I suspended them in air, rather crudely, to ensure they are well thermalized and that they don't couple anything via the metal bits fo the table. Twisting the positive and negative leads together didn't have any significant effect on measurement performance, so I left them straight, with distance between each other to minimize capacitive coupling and potential dielectric absorption. The test leads are not the most optimal, as they have a PVC insulation which has some dielectric absorption and might be the cause of what I am seeing. Now for the settings/script As I wrote before, before the measurement runs, I frist do an ACAL. On Fri, 28 Jan 2022 12:17:00 +0100 Attila Kinali <attila@kinali.ch> wrote: > $dmm->write(command => "ARANGE ONCE"); I am planing to use the script with different resistors, so I want the range to adjust to that. The HP3458 does this by doing a short measurement first. As I am not changing the resistor once the measurement started, I only want the DMM to do that once and keep the setting afterwards. > $dmm->write(command => "AZERO ONCE"); AZERO does calibrate the zero point of the voltage measurements. There are people on the net who say that this is note required for OHM/OHMF measurment as OCOMP takes care of that, the user manual is quite clear that it's required: --- Autozero should be on for 4-wire ohms measurements. If you must disable autozero, be sure to make all measurement connections before disabling autozero and ensure that the lead resistance will not change. If you disable autozero before making the 4-wire connections, or if you have a varying lead resistance with autozero disabled (such as when scanning), you will get inaccurate 4-wire ohms measurements. --- As AZERO doubles the time a measurement takes, I do it only once and hope that the zero point doesn't move too much during the measurement. This is a potential source of error. > $dmm->write(command => "TARM HOLD"); Disable arming of the DMM for now. We will later arm it manually. > $dmm->write(command => "TRIG AUTO"); Set to trigger automatically. This could be potentially set to TRIG LINE, which triggers at the zero crossing of mains voltage. > $dmm->write(command => "NRDGS 1,LINE"); Do only one measurement, initiate at zero crossing of mains voltage. I guess that setting here LINE is enough and I don't need to do the same for TRIG. > $dmm->write(command => "NDIG 9"); Return all the digits the DMM calculates internally. > $dmm->write(command => "OCOMP ON"); Set offset compensation for OHM/OHMF measurement on. This does a zero-current measurement first, to measure the offset voltage to later subtract. From the manual: --- With offset compensation enabled, the multimeter measures the external offset voltage (with the ohms current source shut off) before each resistance reading and subtracts the offset from the following reading. This prevents the offset voltage from affecting the resistance reading, but it doubles the time required per reading. --- > $dmm->write(command => "NPLC $nplc") if $nplc != 0; > $dmm->write(command => "APER $aper") if $aper != 0; > $dmm->write(command => "DELAY $delay"); Set the number of line cycles to measure, the aperture period and the delay before the measurement for the system to settle. NPLC and APER are exclusive and one disables the other. IF NPLC is used and it is set to higher than 10, then the measurement is broken up into pieces of 10NPLC measurements that are then internally averaged. But, keep in mind that OCOMP, AZERO and DELAY are all applied to each measurement. I.e. setting NPLC to 50 means that it's 5×( (10NPLC + DELAY) + (10NPLC for OCOMP + DELAY) ) If AZERO is set, then this doubles as an zero measurement is inserted infront of each of them. If APER is used then this becomes ( (APER + DELAY) + (APER for OCOMP + DELAY) ). Again, if AZERO is set, this doubles. Keep in mind that the processor has to do some bookkeeping and calculation after each measurement, which can take a lot of time. E.g. for the APER case, it's an additional ~2.2s. For the NPLC case, there seems to be a non-linear relationship between how long the measurement takes and how long DELAY is. I have not figured out what is exactly going on there. For a fixed DELAY setting, it seems to be pretty linear, though. > $dmm->write(command => "OHMF"); Last but not least, set to 4-wire resistance measurement. > $dmm->write(command => "TARM SGL,1"); The measurement is then started by manually arming the HP3458. The measurement data is later collected, after waiting the approriate time and another TARM SGL,1 is sent. To reiterate, what is puzzling me is that I see quite large settling times, in the multiple seconds range. So much that using NPLC becomes infeasible because of the long time it takes. Using APER on the other hand, has the disadvantage of increased noise and uncertainty. So I am at the level, where I have to say that I have a measurement uncertainty of somewhere in the order of 2-10ppm (depending on how one judges the uncertainty), which is beyond what the HP3458 should be able to do, to reach the specified 2+0.2ppm accuracy for the 10kΩ range. I am pretty sure that I am doing something wrong or that there is something I didn't account for. But I do not know what. And help or advice would be appreciated. Attila Kinali [1] "A New Design of Precision Resistance Standard", by James L. Thomas, 1930 [2] "An Adjustable Standard Resistor with Improved Accuracy and High Stability", by Hubbs and Hetzel, HP Journal April 1966 -- The driving force behind research is the question: "Why?" There are things we don't understand and things we always wonder about. And that's why we do research. -- Kobayashi Makoto
EB
ed breya
Fri, Jan 28, 2022 11:02 PM

I'm not familiar with the 3458A, so don't know how the connections are
made up front. Presuming it's working right, I would suspect the
interconnect setup. The thermal voltages and contact noise may be the
main problem, especially using any sort of banana plugs. If the 3458A's
terminals are the classic 5-way binding posts (likely special low
thermal version), then do away with all banana connections, and use
copper wire directly anchored to the posts - same for the resistor end.
A very convenient way is to use plain two-lead "zip" cord, like on lamps
and small appliances. Be sure it's all copper (not tinned or plated),
and don't tin the ends - just wrap the strands together tightly, and
attach to the posts by wrap-around or through the cross-holes. Put the
source current and high sense on one piece, and the low source and sense
on the other. In operation, the Kelvin connections tie each twin lead
pair together at the resistor, so even crappy insulation won't matter.

Before changing anything around, a little experiment may shed some
light. Instead of doing resistance measurements, set it to measure the
voltage on the resistor, leaving the whole setup as it was. In the most
sensitive ranges, with all those digits, I'd think you'll see the
effects of the input bias current, the thermal voltages, and some
resistor noise. The thermals should be easy to spot - just puff some air
at the connections, or wave your hand around.

Then do the same after you change it to direct wiring. It should be much
better. If not, then that's not the issue. Good luck.

One last thing is to see if there are any strong HF/RF interference
signals available nearby, that could be messing it up.

Ed

On 1/28/2022 12:46 PM, Attila Kinali wrote:

Good evening!

I had a short discussion with Brooke and it seems like there are
a few more explanations required as to why I am doing what.

So I would like to give a quick run-down of the setup and settings
I'm using.

First of all. The setup is pretty simple and standard. An HP3458
with 4-wire, Kelvin connected measurement of a 10kΩ old resistance
standard made from manganin wire. As far as I am aware of, their
construction follows the one introduced by Thomas in 1930[1]
and later picked up by HP[2]. These resistors usually have a
temperature coefficient in the order of 10ppm/°C at 23°C that
goes to zero around 40-50°C. I do not have enough measurements
to get a number on the TC of this particular resistor, but
it seems to be in the ballpark.

My lead wires are Pomona 5295 type low-emf spade-banana test leads.
I suspended them in air, rather crudely, to ensure they are well
thermalized and that they don't couple anything via the metal
bits fo the table. Twisting the positive and negative leads
together didn't have any significant effect on measurement
performance, so I left them straight, with distance between
each other to minimize capacitive coupling and potential dielectric
absorption. The test leads are not the most optimal, as they
have a PVC insulation which has some dielectric absorption and
might be the cause of what I am seeing.

Now for the settings/script

As I wrote before, before the measurement runs, I frist
do an ACAL.

On Fri, 28 Jan 2022 12:17:00 +0100
Attila Kinali attila@kinali.ch wrote:

$dmm->write(command => "ARANGE ONCE");

I am planing to use the script with different
resistors, so I want the range to adjust to that.
The HP3458 does this by doing a short measurement first.
As I am not changing the resistor once the measurement
started, I only want the DMM to do that once and keep the
setting afterwards.

$dmm->write(command => "AZERO ONCE");

AZERO does calibrate the zero point of the voltage measurements.
There are people on the net who say that this is note required
for OHM/OHMF measurment as OCOMP takes care of that, the user
manual is quite clear that it's required:


Autozero should be on for 4-wire ohms measurements. If you must disable
autozero, be sure to make all measurement connections before disabling
autozero and ensure that the lead resistance will not change. If you disable
autozero before making the 4-wire connections, or if you have a varying lead
resistance with autozero disabled (such as when scanning), you will get
inaccurate 4-wire ohms measurements.

As AZERO doubles the time a measurement takes, I do it only once
and hope that the zero point doesn't move too much during the
measurement. This is a potential source of error.

$dmm->write(command => "TARM HOLD");

Disable arming of the DMM for now. We will later arm
it manually.

$dmm->write(command => "TRIG AUTO");

Set to trigger automatically.
This could be potentially set to TRIG LINE, which triggers at
the zero crossing of mains voltage.

$dmm->write(command => "NRDGS 1,LINE");

Do only one measurement, initiate at zero crossing of mains voltage.
I guess that setting here LINE is enough and I don't need to do
the same for TRIG.

$dmm->write(command => "NDIG 9");

Return all the digits the DMM calculates internally.

$dmm->write(command => "OCOMP ON");

Set offset compensation for OHM/OHMF measurement on.
This does a zero-current measurement first, to measure
the offset voltage to later subtract.

From the manual:


With offset compensation enabled, the multimeter measures the external offset
voltage (with the ohms current source shut off) before each resistance reading
and subtracts the offset from the following reading. This prevents the offset
voltage from affecting the resistance reading, but it doubles the time required
per reading.

$dmm->write(command => "NPLC $nplc") if $nplc != 0;
$dmm->write(command => "APER $aper") if $aper != 0;
$dmm->write(command => "DELAY $delay");

Set the number of line cycles to measure, the aperture period
and the delay before the measurement for the system to settle.
NPLC and APER are exclusive and one disables the other. IF NPLC
is used and it is set to higher than 10, then the measurement is
broken up into pieces of 10NPLC measurements that are then
internally averaged. But, keep in mind that OCOMP, AZERO and DELAY
are all applied to each measurement. I.e. setting NPLC to 50 means
that it's 5×( (10NPLC + DELAY) + (10NPLC for OCOMP + DELAY) )
If AZERO is set, then this doubles as an zero measurement is
inserted infront of each of them.

If APER is used then this becomes ( (APER + DELAY) + (APER for OCOMP

  • DELAY) ). Again, if AZERO is set, this doubles.

Keep in mind that the processor has to do some bookkeeping and
calculation after each measurement, which can take a lot of time.
E.g. for the APER case, it's an additional ~2.2s. For the NPLC
case, there seems to be a non-linear relationship between how long
the measurement takes and how long DELAY is. I have not figured
out what is exactly going on there. For a fixed DELAY setting, it
seems to be pretty linear, though.

$dmm->write(command => "OHMF");

Last but not least, set to 4-wire resistance measurement.

$dmm->write(command => "TARM SGL,1");

The measurement is then started by manually arming the HP3458.
The measurement data is later collected, after waiting the
approriate time and another TARM SGL,1 is sent.

To reiterate, what is puzzling me is that I see quite large
settling times, in the multiple seconds range. So much that
using NPLC becomes infeasible because of the long time it takes.
Using APER on the other hand, has the disadvantage of increased
noise and uncertainty.

So I am at the level, where I have to say that I have a measurement
uncertainty of somewhere in the order of 2-10ppm (depending on
how one judges the uncertainty), which is beyond what the HP3458
should be able to do, to reach the specified 2+0.2ppm accuracy
for the 10kΩ range. I am pretty sure that I am doing something
wrong or that there is something I didn't account for. But I
do not know what. And help or advice would be appreciated.

		Attila Kinali

[1] "A New Design of Precision Resistance Standard",
by James L. Thomas, 1930

[2] "An Adjustable Standard Resistor with Improved Accuracy
and High Stability", by Hubbs and Hetzel, HP Journal April 1966

I'm not familiar with the 3458A, so don't know how the connections are made up front. Presuming it's working right, I would suspect the interconnect setup. The thermal voltages and contact noise may be the main problem, especially using any sort of banana plugs. If the 3458A's terminals are the classic 5-way binding posts (likely special low thermal version), then do away with all banana connections, and use copper wire directly anchored to the posts - same for the resistor end. A very convenient way is to use plain two-lead "zip" cord, like on lamps and small appliances. Be sure it's all copper (not tinned or plated), and don't tin the ends - just wrap the strands together tightly, and attach to the posts by wrap-around or through the cross-holes. Put the source current and high sense on one piece, and the low source and sense on the other. In operation, the Kelvin connections tie each twin lead pair together at the resistor, so even crappy insulation won't matter. Before changing anything around, a little experiment may shed some light. Instead of doing resistance measurements, set it to measure the voltage on the resistor, leaving the whole setup as it was. In the most sensitive ranges, with all those digits, I'd think you'll see the effects of the input bias current, the thermal voltages, and some resistor noise. The thermals should be easy to spot - just puff some air at the connections, or wave your hand around. Then do the same after you change it to direct wiring. It should be much better. If not, then that's not the issue. Good luck. One last thing is to see if there are any strong HF/RF interference signals available nearby, that could be messing it up. Ed On 1/28/2022 12:46 PM, Attila Kinali wrote: > Good evening! > > I had a short discussion with Brooke and it seems like there are > a few more explanations required as to why I am doing what. > > So I would like to give a quick run-down of the setup and settings > I'm using. > > First of all. The setup is pretty simple and standard. An HP3458 > with 4-wire, Kelvin connected measurement of a 10kΩ old resistance > standard made from manganin wire. As far as I am aware of, their > construction follows the one introduced by Thomas in 1930[1] > and later picked up by HP[2]. These resistors usually have a > temperature coefficient in the order of 10ppm/°C at 23°C that > goes to zero around 40-50°C. I do not have enough measurements > to get a number on the TC of this particular resistor, but > it seems to be in the ballpark. > > My lead wires are Pomona 5295 type low-emf spade-banana test leads. > I suspended them in air, rather crudely, to ensure they are well > thermalized and that they don't couple anything via the metal > bits fo the table. Twisting the positive and negative leads > together didn't have any significant effect on measurement > performance, so I left them straight, with distance between > each other to minimize capacitive coupling and potential dielectric > absorption. The test leads are not the most optimal, as they > have a PVC insulation which has some dielectric absorption and > might be the cause of what I am seeing. > > Now for the settings/script > > As I wrote before, before the measurement runs, I frist > do an ACAL. > > > On Fri, 28 Jan 2022 12:17:00 +0100 > Attila Kinali <attila@kinali.ch> wrote: > >> $dmm->write(command => "ARANGE ONCE"); > I am planing to use the script with different > resistors, so I want the range to adjust to that. > The HP3458 does this by doing a short measurement first. > As I am not changing the resistor once the measurement > started, I only want the DMM to do that once and keep the > setting afterwards. > >> $dmm->write(command => "AZERO ONCE"); > AZERO does calibrate the zero point of the voltage measurements. > There are people on the net who say that this is note required > for OHM/OHMF measurment as OCOMP takes care of that, the user > manual is quite clear that it's required: > > --- > Autozero should be on for 4-wire ohms measurements. If you must disable > autozero, be sure to make all measurement connections before disabling > autozero and ensure that the lead resistance will not change. If you disable > autozero before making the 4-wire connections, or if you have a varying lead > resistance with autozero disabled (such as when scanning), you will get > inaccurate 4-wire ohms measurements. > --- > > As AZERO doubles the time a measurement takes, I do it only once > and hope that the zero point doesn't move too much during the > measurement. This is a potential source of error. > >> $dmm->write(command => "TARM HOLD"); > Disable arming of the DMM for now. We will later arm > it manually. > >> $dmm->write(command => "TRIG AUTO"); > Set to trigger automatically. > This could be potentially set to TRIG LINE, which triggers at > the zero crossing of mains voltage. > >> $dmm->write(command => "NRDGS 1,LINE"); > Do only one measurement, initiate at zero crossing of mains voltage. > I guess that setting here LINE is enough and I don't need to do > the same for TRIG. > >> $dmm->write(command => "NDIG 9"); > Return all the digits the DMM calculates internally. > >> $dmm->write(command => "OCOMP ON"); > Set offset compensation for OHM/OHMF measurement on. > This does a zero-current measurement first, to measure > the offset voltage to later subtract. > >From the manual: > --- > With offset compensation enabled, the multimeter measures the external offset > voltage (with the ohms current source shut off) before each resistance reading > and subtracts the offset from the following reading. This prevents the offset > voltage from affecting the resistance reading, but it doubles the time required > per reading. > --- > > >> $dmm->write(command => "NPLC $nplc") if $nplc != 0; >> $dmm->write(command => "APER $aper") if $aper != 0; >> $dmm->write(command => "DELAY $delay"); > Set the number of line cycles to measure, the aperture period > and the delay before the measurement for the system to settle. > NPLC and APER are exclusive and one disables the other. IF NPLC > is used and it is set to higher than 10, then the measurement is > broken up into pieces of 10NPLC measurements that are then > internally averaged. But, keep in mind that OCOMP, AZERO and DELAY > are all applied to each measurement. I.e. setting NPLC to 50 means > that it's 5×( (10NPLC + DELAY) + (10NPLC for OCOMP + DELAY) ) > If AZERO is set, then this doubles as an zero measurement is > inserted infront of each of them. > > If APER is used then this becomes ( (APER + DELAY) + (APER for OCOMP > + DELAY) ). Again, if AZERO is set, this doubles. > > Keep in mind that the processor has to do some bookkeeping and > calculation after each measurement, which can take a lot of time. > E.g. for the APER case, it's an additional ~2.2s. For the NPLC > case, there seems to be a non-linear relationship between how long > the measurement takes and how long DELAY is. I have not figured > out what is exactly going on there. For a fixed DELAY setting, it > seems to be pretty linear, though. > >> $dmm->write(command => "OHMF"); > Last but not least, set to 4-wire resistance measurement. > >> $dmm->write(command => "TARM SGL,1"); > The measurement is then started by manually arming the HP3458. > The measurement data is later collected, after waiting the > approriate time and another TARM SGL,1 is sent. > > > To reiterate, what is puzzling me is that I see quite large > settling times, in the multiple seconds range. So much that > using NPLC becomes infeasible because of the long time it takes. > Using APER on the other hand, has the disadvantage of increased > noise and uncertainty. > > So I am at the level, where I have to say that I have a measurement > uncertainty of somewhere in the order of 2-10ppm (depending on > how one judges the uncertainty), which is beyond what the HP3458 > should be able to do, to reach the specified 2+0.2ppm accuracy > for the 10kΩ range. I am pretty sure that I am doing something > wrong or that there is something I didn't account for. But I > do not know what. And help or advice would be appreciated. > > Attila Kinali > > > [1] "A New Design of Precision Resistance Standard", > by James L. Thomas, 1930 > > [2] "An Adjustable Standard Resistor with Improved Accuracy > and High Stability", by Hubbs and Hetzel, HP Journal April 1966
IT
Illya Tsemenko
Sat, Jan 29, 2022 1:22 AM

Hello Attila,

First off, are you confident that your 3458A is properly working and has no stability issues due to A3 U180 drift? It's worth to check that, before you dig deep into sub-ppm rabbit hole. To test for drift issue you can follow SN18 procedure using ACAL DCV daily for a week or two or log known good 10V standard without doing any ACALs over a week or two. Either method should give you good dataset to confirm or deny 3458As stability, which should be better than 0.05ppm/day after correction for temperature.

As for your APER vs NPLC timings and noise. Keep in mind that when you select NPLC larger than 10 meter internally configure ADC to perform not single but multiple conversions with max NPLC 10, and then average out readings before giving to user. So running NPLC 100 (typical sweetspot for 3458s) meaning that meter makes 10 internal readings and give you average of those as result. OCOMP and Delay is also applied after -each- reading, so you get longer than expected acquisition times.

I join the suggestion to ditch banana connectors altogether and use direct spade to post wiring. Also length of wire and insulation matters , so best to keep wires short and PTFE isolated. Other than fancy PTFE wiring, many get good results with shielded UTP (RJ45 cat6, etc) cable with solid copper core. For 10kohm PTFE isn't really that super important but nice to invest into decent cables for future anyway.
What is more important - make sure all connections are clean of any oxides or oils. Oxidized surfaces are unpredictable for thermal EMFs and contact quality. Hence another benefit of binding posts and spades, while turning the nut metal surfaces at the binding posts will scrape thin oxides away and make more reliable metal to metal interface.

Do you have any timescale data plots or CSV files with your setup? You should see flat nice and steady data with specified meters noise, without random jumps or excessive noise. If there is large slope over time, then its good idea to check temperature stability. If your resistor has 10ppm/K TCR then to get 1ppm stability you must maintain environment within ±0.05C. That is not trivial without airbath chamber on any decently long timescale (hours).

I have found some old test with 3458A with 10kOhm measurement, while ambient temperature allowed to go crazy:
https://xdevs.com/sl935_10k_sep/
One can see that loosing 10ppm due to temperature excursions is not hard at all, even with <0.1ppm/K resistance standard (Fluke SL935 has internal oven for resistor elements).

If you have another more stable standard, that would be good alternate check. Sometimes these decades long standards go bad too (from user abuse or mishandling) and become unstable no matter what.

It's been a while since I used 3458s for resistance measurements, as it is not the strongest field for these meters but had no problems with them meeting specifications. I can hook up some resistors and log for you this weekend if you need a reference. Don't have 4040-10kOhm however, sorry.

BR,
Illya
xDevs.com

On January 28, 2022 3:46:41 PM EST, Attila Kinali attila@kinali.ch wrote:

Good evening!

I had a short discussion with Brooke and it seems like there are
a few more explanations required as to why I am doing what.

So I would like to give a quick run-down of the setup and settings
I'm using.

First of all. The setup is pretty simple and standard. An HP3458
with 4-wire, Kelvin connected measurement of a 10kΩ old resistance
standard made from manganin wire. As far as I am aware of, their
construction follows the one introduced by Thomas in 1930[1]
and later picked up by HP[2]. These resistors usually have a
temperature coefficient in the order of 10ppm/°C at 23°C that
goes to zero around 40-50°C. I do not have enough measurements
to get a number on the TC of this particular resistor, but
it seems to be in the ballpark.

My lead wires are Pomona 5295 type low-emf spade-banana test leads.
I suspended them in air, rather crudely, to ensure they are well
thermalized and that they don't couple anything via the metal
bits fo the table. Twisting the positive and negative leads
together didn't have any significant effect on measurement
performance, so I left them straight, with distance between
each other to minimize capacitive coupling and potential dielectric
absorption. The test leads are not the most optimal, as they
have a PVC insulation which has some dielectric absorption and
might be the cause of what I am seeing.

Now for the settings/script

As I wrote before, before the measurement runs, I frist
do an ACAL.

On Fri, 28 Jan 2022 12:17:00 +0100
Attila Kinali attila@kinali.ch wrote:

$dmm->write(command => "ARANGE ONCE");

I am planing to use the script with different
resistors, so I want the range to adjust to that.
The HP3458 does this by doing a short measurement first.
As I am not changing the resistor once the measurement
started, I only want the DMM to do that once and keep the
setting afterwards.

$dmm->write(command => "AZERO ONCE");

AZERO does calibrate the zero point of the voltage measurements.
There are people on the net who say that this is note required
for OHM/OHMF measurment as OCOMP takes care of that, the user
manual is quite clear that it's required:


Autozero should be on for 4-wire ohms measurements. If you must disable
autozero, be sure to make all measurement connections before disabling
autozero and ensure that the lead resistance will not change. If you disable
autozero before making the 4-wire connections, or if you have a varying lead
resistance with autozero disabled (such as when scanning), you will get
inaccurate 4-wire ohms measurements.

As AZERO doubles the time a measurement takes, I do it only once
and hope that the zero point doesn't move too much during the
measurement. This is a potential source of error.

$dmm->write(command => "TARM HOLD");

Disable arming of the DMM for now. We will later arm
it manually.

$dmm->write(command => "TRIG AUTO");

Set to trigger automatically.
This could be potentially set to TRIG LINE, which triggers at
the zero crossing of mains voltage.

$dmm->write(command => "NRDGS 1,LINE");

Do only one measurement, initiate at zero crossing of mains voltage.
I guess that setting here LINE is enough and I don't need to do
the same for TRIG.

$dmm->write(command => "NDIG 9");

Return all the digits the DMM calculates internally.

$dmm->write(command => "OCOMP ON");

Set offset compensation for OHM/OHMF measurement on.
This does a zero-current measurement first, to measure
the offset voltage to later subtract.
From the manual:

With offset compensation enabled, the multimeter measures the external offset
voltage (with the ohms current source shut off) before each resistance reading
and subtracts the offset from the following reading. This prevents the offset
voltage from affecting the resistance reading, but it doubles the time required
per reading.

$dmm->write(command => "NPLC $nplc") if $nplc != 0;
$dmm->write(command => "APER $aper") if $aper != 0;
$dmm->write(command => "DELAY $delay");

Set the number of line cycles to measure, the aperture period
and the delay before the measurement for the system to settle.
NPLC and APER are exclusive and one disables the other. IF NPLC
is used and it is set to higher than 10, then the measurement is
broken up into pieces of 10NPLC measurements that are then
internally averaged. But, keep in mind that OCOMP, AZERO and DELAY
are all applied to each measurement. I.e. setting NPLC to 50 means
that it's 5×( (10NPLC + DELAY) + (10NPLC for OCOMP + DELAY) )
If AZERO is set, then this doubles as an zero measurement is
inserted infront of each of them.

If APER is used then this becomes ( (APER + DELAY) + (APER for OCOMP

  • DELAY) ). Again, if AZERO is set, this doubles.

Keep in mind that the processor has to do some bookkeeping and
calculation after each measurement, which can take a lot of time.
E.g. for the APER case, it's an additional ~2.2s. For the NPLC
case, there seems to be a non-linear relationship between how long
the measurement takes and how long DELAY is. I have not figured
out what is exactly going on there. For a fixed DELAY setting, it
seems to be pretty linear, though.

$dmm->write(command => "OHMF");

Last but not least, set to 4-wire resistance measurement.

$dmm->write(command => "TARM SGL,1");

The measurement is then started by manually arming the HP3458.
The measurement data is later collected, after waiting the
approriate time and another TARM SGL,1 is sent.

To reiterate, what is puzzling me is that I see quite large
settling times, in the multiple seconds range. So much that
using NPLC becomes infeasible because of the long time it takes.
Using APER on the other hand, has the disadvantage of increased
noise and uncertainty.

So I am at the level, where I have to say that I have a measurement
uncertainty of somewhere in the order of 2-10ppm (depending on
how one judges the uncertainty), which is beyond what the HP3458
should be able to do, to reach the specified 2+0.2ppm accuracy
for the 10kΩ range. I am pretty sure that I am doing something
wrong or that there is something I didn't account for. But I
do not know what. And help or advice would be appreciated.

		Attila Kinali

[1] "A New Design of Precision Resistance Standard",
by James L. Thomas, 1930

[2] "An Adjustable Standard Resistor with Improved Accuracy
and High Stability", by Hubbs and Hetzel, HP Journal April 1966

The driving force behind research is the question: "Why?"
There are things we don't understand and things we always
wonder about. And that's why we do research.
-- Kobayashi Makoto


volt-nuts mailing list -- volt-nuts@lists.febo.com -- To unsubscribe send an email to volt-nuts-leave@lists.febo.com
To unsubscribe, go to and follow the instructions there.

BR,
Illya Tsemenko

Hello Attila, First off, are you confident that your 3458A is properly working and has no stability issues due to A3 U180 drift? It's worth to check that, before you dig deep into sub-ppm rabbit hole. To test for drift issue you can follow SN18 procedure using ACAL DCV daily for a week or two or log known good 10V standard without doing any ACALs over a week or two. Either method should give you good dataset to confirm or deny 3458As stability, which should be better than 0.05ppm/day after correction for temperature. As for your APER vs NPLC timings and noise. Keep in mind that when you select NPLC larger than 10 meter internally configure ADC to perform not single but multiple conversions with max NPLC 10, and then average out readings before giving to user. So running NPLC 100 (typical sweetspot for 3458s) meaning that meter makes 10 internal readings and give you average of those as result. OCOMP and Delay is also applied after -each- reading, so you get longer than expected acquisition times. I join the suggestion to ditch banana connectors altogether and use direct spade to post wiring. Also length of wire and insulation matters , so best to keep wires short and PTFE isolated. Other than fancy PTFE wiring, many get good results with shielded UTP (RJ45 cat6, etc) cable with solid copper core. For 10kohm PTFE isn't really that super important but nice to invest into decent cables for future anyway. What is more important - make sure all connections are clean of any oxides or oils. Oxidized surfaces are unpredictable for thermal EMFs and contact quality. Hence another benefit of binding posts and spades, while turning the nut metal surfaces at the binding posts will scrape thin oxides away and make more reliable metal to metal interface. Do you have any timescale data plots or CSV files with your setup? You should see flat nice and steady data with specified meters noise, without random jumps or excessive noise. If there is large slope over time, then its good idea to check temperature stability. If your resistor has 10ppm/K TCR then to get 1ppm stability you must maintain environment within ±0.05C. That is not trivial without airbath chamber on any decently long timescale (hours). I have found some old test with 3458A with 10kOhm measurement, while ambient temperature allowed to go crazy: https://xdevs.com/sl935_10k_sep/ One can see that loosing 10ppm due to temperature excursions is not hard at all, even with <0.1ppm/K resistance standard (Fluke SL935 has internal oven for resistor elements). If you have another more stable standard, that would be good alternate check. Sometimes these decades long standards go bad too (from user abuse or mishandling) and become unstable no matter what. It's been a while since I used 3458s for resistance measurements, as it is not the strongest field for these meters but had no problems with them meeting specifications. I can hook up some resistors and log for you this weekend if you need a reference. Don't have 4040-10kOhm however, sorry. BR, Illya xDevs.com On January 28, 2022 3:46:41 PM EST, Attila Kinali <attila@kinali.ch> wrote: >Good evening! > >I had a short discussion with Brooke and it seems like there are >a few more explanations required as to why I am doing what. > >So I would like to give a quick run-down of the setup and settings >I'm using. > >First of all. The setup is pretty simple and standard. An HP3458 >with 4-wire, Kelvin connected measurement of a 10kΩ old resistance >standard made from manganin wire. As far as I am aware of, their >construction follows the one introduced by Thomas in 1930[1] >and later picked up by HP[2]. These resistors usually have a >temperature coefficient in the order of 10ppm/°C at 23°C that >goes to zero around 40-50°C. I do not have enough measurements >to get a number on the TC of this particular resistor, but >it seems to be in the ballpark. > >My lead wires are Pomona 5295 type low-emf spade-banana test leads. >I suspended them in air, rather crudely, to ensure they are well >thermalized and that they don't couple anything via the metal >bits fo the table. Twisting the positive and negative leads >together didn't have any significant effect on measurement >performance, so I left them straight, with distance between >each other to minimize capacitive coupling and potential dielectric >absorption. The test leads are not the most optimal, as they >have a PVC insulation which has some dielectric absorption and >might be the cause of what I am seeing. > >Now for the settings/script > >As I wrote before, before the measurement runs, I frist >do an ACAL. > > >On Fri, 28 Jan 2022 12:17:00 +0100 >Attila Kinali <attila@kinali.ch> wrote: > >> $dmm->write(command => "ARANGE ONCE"); > >I am planing to use the script with different >resistors, so I want the range to adjust to that. >The HP3458 does this by doing a short measurement first. >As I am not changing the resistor once the measurement >started, I only want the DMM to do that once and keep the >setting afterwards. > >> $dmm->write(command => "AZERO ONCE"); > >AZERO does calibrate the zero point of the voltage measurements. >There are people on the net who say that this is note required >for OHM/OHMF measurment as OCOMP takes care of that, the user >manual is quite clear that it's required: > >--- >Autozero should be on for 4-wire ohms measurements. If you must disable >autozero, be sure to make all measurement connections before disabling >autozero and ensure that the lead resistance will not change. If you disable >autozero before making the 4-wire connections, or if you have a varying lead >resistance with autozero disabled (such as when scanning), you will get >inaccurate 4-wire ohms measurements. >--- > >As AZERO doubles the time a measurement takes, I do it only once >and hope that the zero point doesn't move too much during the >measurement. This is a potential source of error. > >> $dmm->write(command => "TARM HOLD"); > >Disable arming of the DMM for now. We will later arm >it manually. > >> $dmm->write(command => "TRIG AUTO"); > >Set to trigger automatically. >This could be potentially set to TRIG LINE, which triggers at >the zero crossing of mains voltage. > >> $dmm->write(command => "NRDGS 1,LINE"); > >Do only one measurement, initiate at zero crossing of mains voltage. >I guess that setting here LINE is enough and I don't need to do >the same for TRIG. > >> $dmm->write(command => "NDIG 9"); > >Return all the digits the DMM calculates internally. > >> $dmm->write(command => "OCOMP ON"); > >Set offset compensation for OHM/OHMF measurement on. >This does a zero-current measurement first, to measure >the offset voltage to later subtract. >From the manual: >--- >With offset compensation enabled, the multimeter measures the external offset >voltage (with the ohms current source shut off) before each resistance reading >and subtracts the offset from the following reading. This prevents the offset >voltage from affecting the resistance reading, but it doubles the time required >per reading. >--- > > >> $dmm->write(command => "NPLC $nplc") if $nplc != 0; >> $dmm->write(command => "APER $aper") if $aper != 0; >> $dmm->write(command => "DELAY $delay"); > >Set the number of line cycles to measure, the aperture period >and the delay before the measurement for the system to settle. >NPLC and APER are exclusive and one disables the other. IF NPLC >is used and it is set to higher than 10, then the measurement is >broken up into pieces of 10NPLC measurements that are then >internally averaged. But, keep in mind that OCOMP, AZERO and DELAY >are all applied to each measurement. I.e. setting NPLC to 50 means >that it's 5×( (10NPLC + DELAY) + (10NPLC for OCOMP + DELAY) ) >If AZERO is set, then this doubles as an zero measurement is >inserted infront of each of them. > >If APER is used then this becomes ( (APER + DELAY) + (APER for OCOMP >+ DELAY) ). Again, if AZERO is set, this doubles. > >Keep in mind that the processor has to do some bookkeeping and >calculation after each measurement, which can take a lot of time. >E.g. for the APER case, it's an additional ~2.2s. For the NPLC >case, there seems to be a non-linear relationship between how long >the measurement takes and how long DELAY is. I have not figured >out what is exactly going on there. For a fixed DELAY setting, it >seems to be pretty linear, though. > >> $dmm->write(command => "OHMF"); > >Last but not least, set to 4-wire resistance measurement. > >> $dmm->write(command => "TARM SGL,1"); > >The measurement is then started by manually arming the HP3458. >The measurement data is later collected, after waiting the >approriate time and another TARM SGL,1 is sent. > > >To reiterate, what is puzzling me is that I see quite large >settling times, in the multiple seconds range. So much that >using NPLC becomes infeasible because of the long time it takes. >Using APER on the other hand, has the disadvantage of increased >noise and uncertainty. > >So I am at the level, where I have to say that I have a measurement >uncertainty of somewhere in the order of 2-10ppm (depending on >how one judges the uncertainty), which is beyond what the HP3458 >should be able to do, to reach the specified 2+0.2ppm accuracy >for the 10kΩ range. I am pretty sure that I am doing something >wrong or that there is something I didn't account for. But I >do not know what. And help or advice would be appreciated. > > Attila Kinali > > >[1] "A New Design of Precision Resistance Standard", >by James L. Thomas, 1930 > >[2] "An Adjustable Standard Resistor with Improved Accuracy >and High Stability", by Hubbs and Hetzel, HP Journal April 1966 >-- >The driving force behind research is the question: "Why?" >There are things we don't understand and things we always >wonder about. And that's why we do research. > -- Kobayashi Makoto >_______________________________________________ >volt-nuts mailing list -- volt-nuts@lists.febo.com -- To unsubscribe send an email to volt-nuts-leave@lists.febo.com >To unsubscribe, go to and follow the instructions there. BR, Illya Tsemenko
AK
Attila Kinali
Sun, Jan 30, 2022 12:59 PM

Hoi Ed,

On Fri, 28 Jan 2022 15:02:46 -0800
ed breya eb@telight.com wrote:

I'm not familiar with the 3458A, so don't know how the connections are
made up front. Presuming it's working right, I would suspect the
interconnect setup. The thermal voltages and contact noise may be the
main problem, especially using any sort of banana plugs.

These are not "any sort" of banana plugs. These are low-EMF from Pomona.
I doubt that wires would perform significantly better. But it's worth
a shot.

Put the
source current and high sense on one piece, and the low source and sense
on the other. In operation, the Kelvin connections tie each twin lead
pair together at the resistor, so even crappy insulation won't matter.

This I doubt. The effect I am seeing looks awfully like what I would
expect from a settling effect that takes a few seconds. And dielectric
absorption is one of those that are exactly in that time-range.

Before changing anything around, a little experiment may shed some
light. Instead of doing resistance measurements, set it to measure the
voltage on the resistor, leaving the whole setup as it was. In the most
sensitive ranges, with all those digits, I'd think you'll see the
effects of the input bias current, the thermal voltages, and some
resistor noise. The thermals should be easy to spot - just puff some air
at the connections, or wave your hand around.

That's a good idea. I'll set it up next.

		Attila Kinali

--
The driving force behind research is the question: "Why?"
There are things we don't understand and things we always
wonder about. And that's why we do research.
-- Kobayashi Makoto

Hoi Ed, On Fri, 28 Jan 2022 15:02:46 -0800 ed breya <eb@telight.com> wrote: > I'm not familiar with the 3458A, so don't know how the connections are > made up front. Presuming it's working right, I would suspect the > interconnect setup. The thermal voltages and contact noise may be the > main problem, especially using any sort of banana plugs. These are not "any sort" of banana plugs. These are low-EMF from Pomona. I doubt that wires would perform significantly better. But it's worth a shot. > Put the > source current and high sense on one piece, and the low source and sense > on the other. In operation, the Kelvin connections tie each twin lead > pair together at the resistor, so even crappy insulation won't matter. This I doubt. The effect I am seeing looks awfully like what I would expect from a settling effect that takes a few seconds. And dielectric absorption is one of those that are exactly in that time-range. > Before changing anything around, a little experiment may shed some > light. Instead of doing resistance measurements, set it to measure the > voltage on the resistor, leaving the whole setup as it was. In the most > sensitive ranges, with all those digits, I'd think you'll see the > effects of the input bias current, the thermal voltages, and some > resistor noise. The thermals should be easy to spot - just puff some air > at the connections, or wave your hand around. That's a good idea. I'll set it up next. Attila Kinali -- The driving force behind research is the question: "Why?" There are things we don't understand and things we always wonder about. And that's why we do research. -- Kobayashi Makoto
AK
Attila Kinali
Sun, Jan 30, 2022 1:41 PM

Hoi Illya,

On Fri, 28 Jan 2022 20:22:56 -0500
Illya Tsemenko illya@xdevs.com wrote:

First off, are you confident that your 3458A is properly working and has no stability
issues due to A3 U180 drift?

Yes. My meter has not been in use for quite long, so first thing I did was monitor
what CAL 72 did. As you can see from the first plot, it took about half a year of
continuous running until it settled. Since new year, CAL72 has moved up by a ppm.
So I guess that the ADC board is ok.

As for your APER vs NPLC timings and noise. Keep in mind that when you select NPLC larger
than 10 meter internally configure ADC to perform not single but multiple conversions
with max NPLC 10, and then average out readings before giving to user. So running NPLC
100 (typical sweetspot for 3458s) meaning that meter makes 10 internal readings and give
you average of those as result. OCOMP and Delay is also applied after -each- reading, so
you get longer than expected acquisition times.

Yes. I know. That's what explains the sqrt(5) difference in noise between APER 1 and
NPLC 50. That also explains why NPLC is more succeptible to the settling I see than
APER is, because NPLC switches every 200ms. I.e. if the settling isn't over after DELAY,
NPLC will see the residue, while APER will give it an other 800ms to settle and give
the average over that period.

I join the suggestion to ditch banana connectors altogether and use direct spade to post > wiring.

I am not convinced that it's EMF. At least not caused by the cables.
I measured an 100Ω resistor earlier and it did not show anything like this
(measured with NPLC 100, OCOMP OFF, AZERO On and whatever the default DELAY is).
If anything, if EMF was a problem it should be 10 times worse with 100Ω as
the voltage applied to the resistor is 1/10th than with 10kΩ. But as you can
see from the first plot, the 100Ω shows only the ~6.7ppm/°C tempco I would expect it to.
And once this tempco is removed, the combined temperature correction and measurement
uncertainty is about 0.5ppm.

Meanwhile, the 10kΩ (measured with APER 1, DELAY 2, OCOMP On AZERO Once) shows jumps
of >1ppm between measurements. So much that, with the little data I have, I wouldn't
even attempt to calculate a temperature coefficient. The cables are the same, so
the EMF should have the same effect (with the excpetion of the resistor side, that
is now of course different).

My guess is, that most of this uncertainty is from the settling I am seeing, which
I can't really figure out. I think it is dielectric absorption, but I am not sure.
Unfortunately, I don't have PTFE cables at hand.

Do you have any timescale data plots or CSV files with your setup? You should see flat
nice and steady data with specified meters noise, without random jumps or excessive
noise. If there is large slope over time, then its good idea to check temperature
stability. If your resistor has 10ppm/K TCR then to get 1ppm stability you must maintain
environment within ±0.05C. That is not trivial without airbath chamber on any decently
long timescale (hours).

Yes. I looked at the 200 measurements of each run and they are, up to noise, flat.
The noise is also pretty well Gauss distributed, at least for the 100Ω case. For
the 10kΩ case I see a slight e^-t slope at the beginning, but only if I correlate
multiple measurements together, Otherwise it's below the noise.  (With APER 1 DELAY 2)

I have found some old test with 3458A with 10kOhm measurement, while ambient temperature allowed to go crazy:
https://xdevs.com/sl935_10k_sep/
One can see that loosing 10ppm due to temperature excursions is not hard at all, even with <0.1ppm/K resistance standard (Fluke SL935 has internal oven for resistor elements).

Ah.. Ok. So you have some effects. But at least it seems to be mostly temperature related.
Your noise is about a factor 10 below what I see and is where I would expect it to be.

If you have another more stable standard, that would be good alternate check. Sometimes
these decades long standards go bad too (from user abuse or mishandling) and become
unstable no matter what.

Unfortunately not a 10kΩ standard only a 100Ω and a 1kΩ. I will see what these show
with the new settings I have.

			Attila Kinali

--
The driving force behind research is the question: "Why?"
There are things we don't understand and things we always
wonder about. And that's why we do research.
-- Kobayashi Makoto

Hoi Illya, On Fri, 28 Jan 2022 20:22:56 -0500 Illya Tsemenko <illya@xdevs.com> wrote: > First off, are you confident that your 3458A is properly working and has no stability > issues due to A3 U180 drift? Yes. My meter has not been in use for quite long, so first thing I did was monitor what CAL 72 did. As you can see from the first plot, it took about half a year of continuous running until it settled. Since new year, CAL72 has moved up by a ppm. So I guess that the ADC board is ok. > > As for your APER vs NPLC timings and noise. Keep in mind that when you select NPLC larger > than 10 meter internally configure ADC to perform not single but multiple conversions > with max NPLC 10, and then average out readings before giving to user. So running NPLC > 100 (typical sweetspot for 3458s) meaning that meter makes 10 internal readings and give > you average of those as result. OCOMP and Delay is also applied after -each- reading, so > you get longer than expected acquisition times. Yes. I know. That's what explains the sqrt(5) difference in noise between APER 1 and NPLC 50. That also explains why NPLC is more succeptible to the settling I see than APER is, because NPLC switches every 200ms. I.e. if the settling isn't over after DELAY, NPLC will see the residue, while APER will give it an other 800ms to settle and give the average over that period. > I join the suggestion to ditch banana connectors altogether and use direct spade to post > wiring. I am not convinced that it's EMF. At least not caused by the cables. I measured an 100Ω resistor earlier and it did not show anything like this (measured with NPLC 100, OCOMP OFF, AZERO On and whatever the default DELAY is). If anything, if EMF was a problem it should be 10 times worse with 100Ω as the voltage applied to the resistor is 1/10th than with 10kΩ. But as you can see from the first plot, the 100Ω shows only the ~6.7ppm/°C tempco I would expect it to. And once this tempco is removed, the combined temperature correction and measurement uncertainty is about 0.5ppm. Meanwhile, the 10kΩ (measured with APER 1, DELAY 2, OCOMP On AZERO Once) shows jumps of >1ppm between measurements. So much that, with the little data I have, I wouldn't even attempt to calculate a temperature coefficient. The cables are the same, so the EMF should have the same effect (with the excpetion of the resistor side, that is now of course different). My guess is, that most of this uncertainty is from the settling I am seeing, which I can't really figure out. I think it is dielectric absorption, but I am not sure. Unfortunately, I don't have PTFE cables at hand. > Do you have any timescale data plots or CSV files with your setup? You should see flat > nice and steady data with specified meters noise, without random jumps or excessive > noise. If there is large slope over time, then its good idea to check temperature > stability. If your resistor has 10ppm/K TCR then to get 1ppm stability you must maintain > environment within ±0.05C. That is not trivial without airbath chamber on any decently > long timescale (hours). Yes. I looked at the 200 measurements of each run and they are, up to noise, flat. The noise is also pretty well Gauss distributed, at least for the 100Ω case. For the 10kΩ case I see a slight e^-t slope at the beginning, but only if I correlate multiple measurements together, Otherwise it's below the noise. (With APER 1 DELAY 2) > I have found some old test with 3458A with 10kOhm measurement, while ambient temperature allowed to go crazy: > https://xdevs.com/sl935_10k_sep/ > One can see that loosing 10ppm due to temperature excursions is not hard at all, even with <0.1ppm/K resistance standard (Fluke SL935 has internal oven for resistor elements). Ah.. Ok. So you have some effects. But at least it seems to be mostly temperature related. Your noise is about a factor 10 below what I see and is where I would expect it to be. > If you have another more stable standard, that would be good alternate check. Sometimes > these decades long standards go bad too (from user abuse or mishandling) and become > unstable no matter what. Unfortunately not a 10kΩ standard only a 100Ω and a 1kΩ. I will see what these show with the new settings I have. Attila Kinali -- The driving force behind research is the question: "Why?" There are things we don't understand and things we always wonder about. And that's why we do research. -- Kobayashi Makoto
EB
ed breya
Sun, Jan 30, 2022 8:55 PM

Hi Attila,

Yes, those are very nice cables - I looked them up. But, they are still
banana plugs, relying on spring contact. From the description, I'd guess
there are two contacts in series - one from the plug core to the banana
or basket spring, and the other from there to the inner surface of the
jack. Another type is machined directly from springy material, with
cross cuts, and profiled to compress on insertion - these have only one
contact involved, so can be the best of the banana plug class. The fancy
materials and plating help greatly with contact issues, but may still
not be enough. I didn't see any specs on the datasheet other than "low
EMF," so I wonder if maybe they offer related low EMF jack/binding posts
too. Maybe the combination is specified with numbers. Also, what does HP
say in the 3458A manual about interconnect and fixturing?

Regarding dielectric absorption, what is the reference node? If you
connect the wire pairs at the resistor, there is very low resistance and
voltage drop between them at the "open" (3458A) end, so I would think
the insulation between them shouldn't matter too much. The other part of
dielectric absorption would be from each wire pair to the other, and to
everything else beyond. This should be dominated mostly by very small
(due to distance of separation) air capacitance, in series with the the
C from the conductors to the insulation/air boundary. I suppose that you
may be at the resolution level where the effects are noticeable, but my
gut feel is that the wire insulation characteristics are still minute in
scale. The main thing is to maximize the distance between the wire
pairs, and to everything else.

It appears the measuring process includes AC, with the various auto-cals
and zeroing going on, so the resistor and wiring would be jumping to
different voltages in the process. Is it possible to just set up for
pure DC, with constant current in the resistor? This may help to
separate the capacitive from DC effects. Speaking of timing, as you
noted, the few seconds of effects are about right for dielectric
absorption, but also a good profile for thermal or contact effects too.
Especially if the test current to the resistor is being turned on and
off during the process, everything may respond over some time span in
seconds.

One last thing occurred to me. DMMs typically have a switch or post to
connect the low input (guard) to earth ground. Have you tried different
settings for this? I would think grounded should be best, but maybe not.
Maybe you have some subtle ground loops in the system, that could add DC
offsets or AC from the activity. If the grounding choice makes a
difference, check the CMRR specs. That invokes one more last, last thing

  • the DUT itself. I don't know what it looks like, but I'd guess it's in
    a metal can. If so, there's of course parasitics to it from the
    resistor. Is the can grounded, guarded, or isolated? Could there be
    significant leakage current into the can? Could the can be filled with
    tar or other potting material? this could give you yet another
    dielectric absorption issue to worry about.

Ed

On 1/30/2022 4:59 AM, Attila Kinali wrote:

Hoi Ed,

On Fri, 28 Jan 2022 15:02:46 -0800
ed breya eb@telight.com wrote:

I'm not familiar with the 3458A, so don't know how the connections are
made up front. Presuming it's working right, I would suspect the
interconnect setup. The thermal voltages and contact noise may be the
main problem, especially using any sort of banana plugs.

These are not "any sort" of banana plugs. These are low-EMF from Pomona.
I doubt that wires would perform significantly better. But it's worth
a shot.

Put the
source current and high sense on one piece, and the low source and sense
on the other. In operation, the Kelvin connections tie each twin lead
pair together at the resistor, so even crappy insulation won't matter.

This I doubt. The effect I am seeing looks awfully like what I would
expect from a settling effect that takes a few seconds. And dielectric
absorption is one of those that are exactly in that time-range.

Before changing anything around, a little experiment may shed some
light. Instead of doing resistance measurements, set it to measure the
voltage on the resistor, leaving the whole setup as it was. In the most
sensitive ranges, with all those digits, I'd think you'll see the
effects of the input bias current, the thermal voltages, and some
resistor noise. The thermals should be easy to spot - just puff some air
at the connections, or wave your hand around.

That's a good idea. I'll set it up next.

		Attila Kinali
Hi Attila, Yes, those are very nice cables - I looked them up. But, they are still banana plugs, relying on spring contact. From the description, I'd guess there are two contacts in series - one from the plug core to the banana or basket spring, and the other from there to the inner surface of the jack. Another type is machined directly from springy material, with cross cuts, and profiled to compress on insertion - these have only one contact involved, so can be the best of the banana plug class. The fancy materials and plating help greatly with contact issues, but may still not be enough. I didn't see any specs on the datasheet other than "low EMF," so I wonder if maybe they offer related low EMF jack/binding posts too. Maybe the combination is specified with numbers. Also, what does HP say in the 3458A manual about interconnect and fixturing? Regarding dielectric absorption, what is the reference node? If you connect the wire pairs at the resistor, there is very low resistance and voltage drop between them at the "open" (3458A) end, so I would think the insulation between them shouldn't matter too much. The other part of dielectric absorption would be from each wire pair to the other, and to everything else beyond. This should be dominated mostly by very small (due to distance of separation) air capacitance, in series with the the C from the conductors to the insulation/air boundary. I suppose that you may be at the resolution level where the effects are noticeable, but my gut feel is that the wire insulation characteristics are still minute in scale. The main thing is to maximize the distance between the wire pairs, and to everything else. It appears the measuring process includes AC, with the various auto-cals and zeroing going on, so the resistor and wiring would be jumping to different voltages in the process. Is it possible to just set up for pure DC, with constant current in the resistor? This may help to separate the capacitive from DC effects. Speaking of timing, as you noted, the few seconds of effects are about right for dielectric absorption, but also a good profile for thermal or contact effects too. Especially if the test current to the resistor is being turned on and off during the process, everything may respond over some time span in seconds. One last thing occurred to me. DMMs typically have a switch or post to connect the low input (guard) to earth ground. Have you tried different settings for this? I would think grounded should be best, but maybe not. Maybe you have some subtle ground loops in the system, that could add DC offsets or AC from the activity. If the grounding choice makes a difference, check the CMRR specs. That invokes one more last, last thing - the DUT itself. I don't know what it looks like, but I'd guess it's in a metal can. If so, there's of course parasitics to it from the resistor. Is the can grounded, guarded, or isolated? Could there be significant leakage current into the can? Could the can be filled with tar or other potting material? this could give you yet another dielectric absorption issue to worry about. Ed On 1/30/2022 4:59 AM, Attila Kinali wrote: > Hoi Ed, > > On Fri, 28 Jan 2022 15:02:46 -0800 > ed breya <eb@telight.com> wrote: > >> I'm not familiar with the 3458A, so don't know how the connections are >> made up front. Presuming it's working right, I would suspect the >> interconnect setup. The thermal voltages and contact noise may be the >> main problem, especially using any sort of banana plugs. > These are not "any sort" of banana plugs. These are low-EMF from Pomona. > I doubt that wires would perform significantly better. But it's worth > a shot. > >> Put the >> source current and high sense on one piece, and the low source and sense >> on the other. In operation, the Kelvin connections tie each twin lead >> pair together at the resistor, so even crappy insulation won't matter. > This I doubt. The effect I am seeing looks awfully like what I would > expect from a settling effect that takes a few seconds. And dielectric > absorption is one of those that are exactly in that time-range. > >> Before changing anything around, a little experiment may shed some >> light. Instead of doing resistance measurements, set it to measure the >> voltage on the resistor, leaving the whole setup as it was. In the most >> sensitive ranges, with all those digits, I'd think you'll see the >> effects of the input bias current, the thermal voltages, and some >> resistor noise. The thermals should be easy to spot - just puff some air >> at the connections, or wave your hand around. > That's a good idea. I'll set it up next. > > Attila Kinali >
EB
ed breya
Mon, Jan 31, 2022 12:33 AM

Hi Attila,

I got to thinking some more about the DUT, and what's inside, and the
parasitics. I found ref [2] that you showed in the OP, about the HP
resistance standards. It's very informative, covering a lot of the
construction details. One thing that struck me is the discussion of
transient performance beginning on page 12, noting that chemical
contamination in older (non-HP) types is known to cause an
electro-chemical cell effect that can last for many seconds. I think you
said your resistor is an old type, similar to the HP ones. I wonder if
maybe this is the cause of trouble.

To eliminate all possible DUT problems, I'd suggest setting it up with
just a regular, medium precision 10 K resistor, like a T9 with wire
leads. For quick, temporary use, you can scrape off the lead plating
down to bare copper, then tightly twist the lead and copper wires to the
3458A, then crimp a splice lug on to crush them together for a gas-tight
seal. Even a (steel-insert) wire nut will do to hold it together for a
while, as long as there's good Cu-Cu contact between all the parts. Then
you can suspend the little DUT up away from everything, and mostly
eliminate the parasitics, packaging, and other issues. If it works with
this, but not the original DUT, you'll know what the deal is.

Ed

Hi Attila, I got to thinking some more about the DUT, and what's inside, and the parasitics. I found ref [2] that you showed in the OP, about the HP resistance standards. It's very informative, covering a lot of the construction details. One thing that struck me is the discussion of transient performance beginning on page 12, noting that chemical contamination in older (non-HP) types is known to cause an electro-chemical cell effect that can last for many seconds. I think you said your resistor is an old type, similar to the HP ones. I wonder if maybe this is the cause of trouble. To eliminate all possible DUT problems, I'd suggest setting it up with just a regular, medium precision 10 K resistor, like a T9 with wire leads. For quick, temporary use, you can scrape off the lead plating down to bare copper, then tightly twist the lead and copper wires to the 3458A, then crimp a splice lug on to crush them together for a gas-tight seal. Even a (steel-insert) wire nut will do to hold it together for a while, as long as there's good Cu-Cu contact between all the parts. Then you can suspend the little DUT up away from everything, and mostly eliminate the parasitics, packaging, and other issues. If it works with this, but not the original DUT, you'll know what the deal is. Ed
IT
Illya Tsemenko
Wed, Feb 9, 2022 5:50 AM

Hello Attila,

Any improvement on your 3458A results? I've got L&N 4040-10k resistor
and logged it for a bit last night. This standard was just random ebay
special, nothing fancy.
To mitigate tempco standard was placed in peltier active air bath,
programmed at +23.00°C.
Connection to DMMs front terminal was done with 4-conductor PTFE 1 meter
long shielded AWG18 cable with bare CuTe spade forks. Guard terminal is
floating and not connected at the resistor end.

Attached a plot with 725 samples acquired. Initial slope was due thermal
settling of the resistor after placement in air bath chamber.
Dots on plot indicate individual samples. Scale is in ppms from
9999.8270 ohm value. Horizontal time scale is 30 minutes/div.

Overall noise of readout is within ±0.35ppm peak to peak.

My 3458 configuration function was:

def init_inst(self):
        # Setup HP 3458A
        self.inst.clear()
        self.inst.write("PRESET NORM")
        self.inst.write("OFORMAT ASCII")
        self.inst.write("TARM HOLD")
        self.inst.write("TRIG AUTO")
        self.inst.write("AZERO ON")
        self.inst.write("LFILTER ON")
        self.inst.write("NRDGS 1,AUTO")
        self.inst.write("MEM OFF")
        self.inst.write("END ALWAYS")
        self.inst.write("OHMF 10E3")
        self.inst.write("OCOMP ON")
        self.inst.write("NPLC 50")
        self.inst.write("NDIG 9")
        self.inst.write("DELAY 1")  # 1 second delay to mitigate OCOMP
accuracy issue due DA

RAW data file is also available:
https://xdevs.com/datashort/hp3458b_ln4040_10k_minibox_23c_test1_feb2022.dsv

Hope this helps.

BR,
Illya

On 1/30/2022 8:41 AM, Attila Kinali wrote:

Hoi Illya,

On Fri, 28 Jan 2022 20:22:56 -0500
Illya Tsemenko illya@xdevs.com wrote:

First off, are you confident that your 3458A is properly working and has no stability
issues due to A3 U180 drift?

Yes. My meter has not been in use for quite long, so first thing I did was monitor
what CAL 72 did. As you can see from the first plot, it took about half a year of
continuous running until it settled. Since new year, CAL72 has moved up by a ppm.
So I guess that the ADC board is ok.

As for your APER vs NPLC timings and noise. Keep in mind that when you select NPLC larger
than 10 meter internally configure ADC to perform not single but multiple conversions
with max NPLC 10, and then average out readings before giving to user. So running NPLC
100 (typical sweetspot for 3458s) meaning that meter makes 10 internal readings and give
you average of those as result. OCOMP and Delay is also applied after -each- reading, so
you get longer than expected acquisition times.

Yes. I know. That's what explains the sqrt(5) difference in noise between APER 1 and
NPLC 50. That also explains why NPLC is more succeptible to the settling I see than
APER is, because NPLC switches every 200ms. I.e. if the settling isn't over after DELAY,
NPLC will see the residue, while APER will give it an other 800ms to settle and give
the average over that period.

I join the suggestion to ditch banana connectors altogether and use direct spade to post > wiring.

I am not convinced that it's EMF. At least not caused by the cables.
I measured an 100Ω resistor earlier and it did not show anything like this
(measured with NPLC 100, OCOMP OFF, AZERO On and whatever the default DELAY is).
If anything, if EMF was a problem it should be 10 times worse with 100Ω as
the voltage applied to the resistor is 1/10th than with 10kΩ. But as you can
see from the first plot, the 100Ω shows only the ~6.7ppm/°C tempco I would expect it to.
And once this tempco is removed, the combined temperature correction and measurement
uncertainty is about 0.5ppm.

Meanwhile, the 10kΩ (measured with APER 1, DELAY 2, OCOMP On AZERO Once) shows jumps
of >1ppm between measurements. So much that, with the little data I have, I wouldn't
even attempt to calculate a temperature coefficient. The cables are the same, so
the EMF should have the same effect (with the excpetion of the resistor side, that
is now of course different).

My guess is, that most of this uncertainty is from the settling I am seeing, which
I can't really figure out. I think it is dielectric absorption, but I am not sure.
Unfortunately, I don't have PTFE cables at hand.

Do you have any timescale data plots or CSV files with your setup? You should see flat
nice and steady data with specified meters noise, without random jumps or excessive
noise. If there is large slope over time, then its good idea to check temperature
stability. If your resistor has 10ppm/K TCR then to get 1ppm stability you must maintain
environment within ±0.05C. That is not trivial without airbath chamber on any decently
long timescale (hours).

Yes. I looked at the 200 measurements of each run and they are, up to noise, flat.
The noise is also pretty well Gauss distributed, at least for the 100Ω case. For
the 10kΩ case I see a slight e^-t slope at the beginning, but only if I correlate
multiple measurements together, Otherwise it's below the noise.  (With APER 1 DELAY 2)

I have found some old test with 3458A with 10kOhm measurement, while ambient temperature allowed to go crazy:
https://xdevs.com/sl935_10k_sep/
One can see that loosing 10ppm due to temperature excursions is not hard at all, even with <0.1ppm/K resistance standard (Fluke SL935 has internal oven for resistor elements).

Ah.. Ok. So you have some effects. But at least it seems to be mostly temperature related.
Your noise is about a factor 10 below what I see and is where I would expect it to be.

If you have another more stable standard, that would be good alternate check. Sometimes
these decades long standards go bad too (from user abuse or mishandling) and become
unstable no matter what.

Unfortunately not a 10kΩ standard only a 100Ω and a 1kΩ. I will see what these show
with the new settings I have.

			Attila Kinali

volt-nuts mailing list -- volt-nuts@lists.febo.com -- To unsubscribe send an email to volt-nuts-leave@lists.febo.com
To unsubscribe, go to and follow the instructions there.

Hello Attila, Any improvement on your 3458A results? I've got L&N 4040-10k resistor and logged it for a bit last night. This standard was just random ebay special, nothing fancy. To mitigate tempco standard was placed in peltier active air bath, programmed at +23.00°C. Connection to DMMs front terminal was done with 4-conductor PTFE 1 meter long shielded AWG18 cable with bare CuTe spade forks. Guard terminal is floating and not connected at the resistor end. Attached a plot with 725 samples acquired. Initial slope was due thermal settling of the resistor after placement in air bath chamber. Dots on plot indicate individual samples. Scale is in ppms from 9999.8270 ohm value. Horizontal time scale is 30 minutes/div. Overall noise of readout is within ±0.35ppm peak to peak. My 3458 configuration function was: def init_inst(self):         # Setup HP 3458A         self.inst.clear()         self.inst.write("PRESET NORM")         self.inst.write("OFORMAT ASCII")         self.inst.write("TARM HOLD")         self.inst.write("TRIG AUTO")         self.inst.write("AZERO ON")         self.inst.write("LFILTER ON")         self.inst.write("NRDGS 1,AUTO")         self.inst.write("MEM OFF")         self.inst.write("END ALWAYS")         self.inst.write("OHMF 10E3")         self.inst.write("OCOMP ON")         self.inst.write("NPLC 50")         self.inst.write("NDIG 9")         self.inst.write("DELAY 1")  # 1 second delay to mitigate OCOMP accuracy issue due DA RAW data file is also available: https://xdevs.com/datashort/hp3458b_ln4040_10k_minibox_23c_test1_feb2022.dsv Hope this helps. BR, Illya On 1/30/2022 8:41 AM, Attila Kinali wrote: > Hoi Illya, > > On Fri, 28 Jan 2022 20:22:56 -0500 > Illya Tsemenko <illya@xdevs.com> wrote: > >> First off, are you confident that your 3458A is properly working and has no stability >> issues due to A3 U180 drift? > Yes. My meter has not been in use for quite long, so first thing I did was monitor > what CAL 72 did. As you can see from the first plot, it took about half a year of > continuous running until it settled. Since new year, CAL72 has moved up by a ppm. > So I guess that the ADC board is ok. > > >> As for your APER vs NPLC timings and noise. Keep in mind that when you select NPLC larger >> than 10 meter internally configure ADC to perform not single but multiple conversions >> with max NPLC 10, and then average out readings before giving to user. So running NPLC >> 100 (typical sweetspot for 3458s) meaning that meter makes 10 internal readings and give >> you average of those as result. OCOMP and Delay is also applied after -each- reading, so >> you get longer than expected acquisition times. > Yes. I know. That's what explains the sqrt(5) difference in noise between APER 1 and > NPLC 50. That also explains why NPLC is more succeptible to the settling I see than > APER is, because NPLC switches every 200ms. I.e. if the settling isn't over after DELAY, > NPLC will see the residue, while APER will give it an other 800ms to settle and give > the average over that period. > > > >> I join the suggestion to ditch banana connectors altogether and use direct spade to post > wiring. > I am not convinced that it's EMF. At least not caused by the cables. > I measured an 100Ω resistor earlier and it did not show anything like this > (measured with NPLC 100, OCOMP OFF, AZERO On and whatever the default DELAY is). > If anything, if EMF was a problem it should be 10 times worse with 100Ω as > the voltage applied to the resistor is 1/10th than with 10kΩ. But as you can > see from the first plot, the 100Ω shows only the ~6.7ppm/°C tempco I would expect it to. > And once this tempco is removed, the combined temperature correction and measurement > uncertainty is about 0.5ppm. > > Meanwhile, the 10kΩ (measured with APER 1, DELAY 2, OCOMP On AZERO Once) shows jumps > of >1ppm between measurements. So much that, with the little data I have, I wouldn't > even attempt to calculate a temperature coefficient. The cables are the same, so > the EMF should have the same effect (with the excpetion of the resistor side, that > is now of course different). > > My guess is, that most of this uncertainty is from the settling I am seeing, which > I can't really figure out. I think it is dielectric absorption, but I am not sure. > Unfortunately, I don't have PTFE cables at hand. > > >> Do you have any timescale data plots or CSV files with your setup? You should see flat >> nice and steady data with specified meters noise, without random jumps or excessive >> noise. If there is large slope over time, then its good idea to check temperature >> stability. If your resistor has 10ppm/K TCR then to get 1ppm stability you must maintain >> environment within ±0.05C. That is not trivial without airbath chamber on any decently >> long timescale (hours). > Yes. I looked at the 200 measurements of each run and they are, up to noise, flat. > The noise is also pretty well Gauss distributed, at least for the 100Ω case. For > the 10kΩ case I see a slight e^-t slope at the beginning, but only if I correlate > multiple measurements together, Otherwise it's below the noise. (With APER 1 DELAY 2) > > >> I have found some old test with 3458A with 10kOhm measurement, while ambient temperature allowed to go crazy: >> https://xdevs.com/sl935_10k_sep/ >> One can see that loosing 10ppm due to temperature excursions is not hard at all, even with <0.1ppm/K resistance standard (Fluke SL935 has internal oven for resistor elements). > Ah.. Ok. So you have some effects. But at least it seems to be mostly temperature related. > Your noise is about a factor 10 below what I see and is where I would expect it to be. > >> If you have another more stable standard, that would be good alternate check. Sometimes >> these decades long standards go bad too (from user abuse or mishandling) and become >> unstable no matter what. > Unfortunately not a 10kΩ standard only a 100Ω and a 1kΩ. I will see what these show > with the new settings I have. > > Attila Kinali > > > _______________________________________________ > volt-nuts mailing list -- volt-nuts@lists.febo.com -- To unsubscribe send an email to volt-nuts-leave@lists.febo.com > To unsubscribe, go to and follow the instructions there.
AK
Attila Kinali
Sat, Feb 12, 2022 7:15 PM

Moin,

On Wed, 9 Feb 2022 00:50:58 -0500
Illya Tsemenko illya@xdevs.com wrote:

Any improvement on your 3458A results?

A bit. I now know what isn't the cause: The cable and EMF.

I found some silver plated, PTFE insulated AWG 30 wire (AlphaWire 2841/1)
and substituted it for the Pomona leads (Yes, not ideal, but that's the
only PTFE insulated wire I could find).

I did the same run of different NPLC, APER and DELAY settings as before
and the numbers are virtually the same. Additionally I also did a run with
APER 1 and larger DELAY numbers to see how that changes things (plot attached)

On some more long term measurement, the behaviour looks virtually the same.
There is no change that wouldn't be within the noise of the measurement.
I also covered everything in cardboard to shield it from all air currents.
While this inproved my temperature readings quite a bit (noise went down by
a factor of 5-7), it did not change the ohm reading noise at all (again,
all within noise/uncertainty).

But things are slow as the whole thing needs hours to stabilize. So each
time I change anything in the setup or the way how I measure, I let it
run for a couple of days to see what it did.

I've got L&N 4040-10k resistor and logged it for a bit last night.
This standard was just random ebay special, nothing fancy.

Coincidentally, that's the same type of resistor I am measuring.

To mitigate tempco standard was placed in peltier active air bath,
programmed at +23.00°C.

I whish I could do that as well, but my current budget does not allow
to buy a commercial air/oil bath and fire regulations prevent me from
using a home-brewn one.

Overall noise of readout is within ±0.35ppm peak to peak.

That's about 1/3 of the readout noise I have for the same settings.

My current working hypothesis is, that the resistor has some significant
temperature gradient/change based behaviour, which would explain some of
the large jumps I see, which seem to be always around when temperature was
changing quickly (as in faster than 0.01-0.02°C/h).

I will further investigate and report back once I have a better understanding
of what is going on.

			Attila Kinali

--
The driving force behind research is the question: "Why?"
There are things we don't understand and things we always
wonder about. And that's why we do research.
-- Kobayashi Makoto

Moin, On Wed, 9 Feb 2022 00:50:58 -0500 Illya Tsemenko <illya@xdevs.com> wrote: > Any improvement on your 3458A results? A bit. I now know what isn't the cause: The cable and EMF. I found some silver plated, PTFE insulated AWG 30 wire (AlphaWire 2841/1) and substituted it for the Pomona leads (Yes, not ideal, but that's the only PTFE insulated wire I could find). I did the same run of different NPLC, APER and DELAY settings as before and the numbers are virtually the same. Additionally I also did a run with APER 1 and larger DELAY numbers to see how that changes things (plot attached) On some more long term measurement, the behaviour looks virtually the same. There is no change that wouldn't be within the noise of the measurement. I also covered everything in cardboard to shield it from all air currents. While this inproved my temperature readings quite a bit (noise went down by a factor of 5-7), it did not change the ohm reading noise at all (again, all within noise/uncertainty). But things are slow as the whole thing needs hours to stabilize. So each time I change anything in the setup or the way how I measure, I let it run for a couple of days to see what it did. > I've got L&N 4040-10k resistor and logged it for a bit last night. > This standard was just random ebay special, nothing fancy. Coincidentally, that's the same type of resistor I am measuring. > To mitigate tempco standard was placed in peltier active air bath, > programmed at +23.00°C. I whish I could do that as well, but my current budget does not allow to buy a commercial air/oil bath and fire regulations prevent me from using a home-brewn one. > Overall noise of readout is within ±0.35ppm peak to peak. That's about 1/3 of the readout noise I have for the same settings. My current working hypothesis is, that the resistor has some significant temperature gradient/change based behaviour, which would explain some of the large jumps I see, which seem to be always around when temperature was changing quickly (as in faster than 0.01-0.02°C/h). I will further investigate and report back once I have a better understanding of what is going on. Attila Kinali -- The driving force behind research is the question: "Why?" There are things we don't understand and things we always wonder about. And that's why we do research. -- Kobayashi Makoto