Study of temperature coefficient on 150 precision resistors

Introduction

In instrumentation and sensor/analog design stability of used electronic components can depend on many factors. Key factors can be such as power, temperature, pressure and humidity. One of most visible effects is related to temperature, as every component has specified operational range of temperatures, and lot of electrical circuit properties change with actual temperature. Even simple passive component, such as resistor is affected by temperature. Higher temperature makes electrons move with different speed, making total resistance change. Rate of this change per fixed temperature value is called temperature coefficient of resistance. This coefficient,sometimes referred as “alpha” (α) and “beta” (β) constants reflects the resistance change factor per 1 degree of temperature change. Different materials used as resistor elements have a certain specific resistance at standard 20°C, and rate of resistance change to temperature by certain amounts. For pure metals, TCR is a positive number, meaning that resistance increases with increasing temperature. Some other elements, such as carbon, silicon, and germanium have negative TCR, meaning that resistance decreases with increasing temperature. Metal alloys can have overall TCR close to zero, meaning that the resistance stays stable within specific temperature variation.

Also TCR depends a lot on construction of resistor, used package and even resistance element shape and configuration. Making resistor to some specific value, let’s say 10.0000 KΩ is not that difficult, but making same resistor with very low temperature coefficient is much bigger challenge. Even stress introduced to precision resistance wire can make otherwise stable resistance become mediocre due to thermal coefficient. Good analog designers who need accurate signal processing pay attention to resistor temperature coefficient, and often this value is more important then resistance accuracy tolerance itself. And since better TCR resistors (more stable ones) are usually also much more expensive, it’s important to know and be able to measure TCR. This allow to calculate error budget of design and factor in possible resistance variations, to ensure circuit is working correctly under possible temperature variation.


Image 1: Test resistors for tempco study

We will need stable resistance meter, temperature controller with little “oven” box and some Raspberry Pi software to automate the measurements. Often simple estimation of temperature coefficient can be made by measuring resistance on two points (low temperature, high temperature), but this may lead to inaccurate results due to non-linear resistance changes.

Test setup

So to do accurate temperature coefficient measurement slow temperature change speed over extended range is required. If resistor under test cooled or heated too fast thermal gradients may develop stress and cause larger resistance change compared to temperature coefficient change itself. Large wire-wound and large value resistors are especially sensitive in this respect. This speed is also sets overall temperature ramp test time, and can become multiple hours long. Test software app developed for this study tests each resistor for duration of 15-30 hours. Having 130 resistors to test that would mean three months of continuous testing, if we use just single ohm-meter.

To speed up testing multiple separate multimeters were used, with test resistors individually connected. Initial test runs were using three calibrated long-scale DMMs (HP 3458A, K2002-4 and K2002-6). Use of high performance DMM in stable environment is important, to ensure minimal error from meter drift/own tempco. Later test runs had forth calibrated HP 3458A added in the mix. Even better method would be using stable current source to drive test resistors and sensitive voltmeter. This setup will be used to measure tempco of low value resistors, such as 50 mΩ and 10 mΩ 4-terminal shunts. Lowest range of used DMMs (10 Ω in case of HP 3458A) lacks of required stability and too noisy for ppm-level temperature coefficients of such low resistances.

Alternative measurement can be also performed using resistance bridge with stable reference resistor held at constant temperature and DUT resistor in thermal chamber. However better in theory uncertainty comes at high price (require multiple standards), due to large magnitude of DUT resistance values, ranging from 0.1 Ω to 1 GΩ.

Thermal chamber

Each resistor under test was quickly (to reduce thermal stress of resistor element itself) soldered to twisted AWG34 test copper 4-wire cable. Other end is directly connected to DMM inputs in 4W configuration (except ranges >10MΩ, where 2 wires only are used). If resistor have four terminals, sense line connected separately to dedicated pins. Otherwise both sides tied as resistor sides.


Image 2-3: Parts for DIY thermal box

Connected resistors are placed in metal die-cast box with copper slug and precision thermistor to monitor and feedback box inner temperature. Precision 10KΩ (25°C) thermistor from YSI, Model 44031 is used as thermal sensor feedback, connected to Keithley SMU by 4-wire cable. Today these termistors are manufactured and sold by Omega, another big and well-known thermal solutions manufacturer.


Image 4: Precision thermistor YSI 44031

Few mm thick copper plate added on the bottom of the chamber as thermal damper, with thermistor mounted in center. Thermal grease was used to enhance surface contact and provide good thermal coupling of sensor with metal slug to minimize self-heating and readings noise. Make sure you don’t subject sensitive thermistor to temperatures over +75°C and use heatsinking during leads soldering.


Image 5: Thermistor mounted to a plate

Box top cover is bolted down and whole test assembly placed in styrofoam larger container with 40W TEC and heatsink attached thru bottom. TEC setpoint, temperature control and power is maintained using Keithley 2510 TEC SMU.


Image 6-9: Keithley 2510 configuration

Such simple yet effective setup allow to set and stabilize any temperature from +5°C to about +70°C with precision better than 0.05°C. Insulation required to reduce heat loss and influence of ambient temperature change on internal box temperature. This means that we will spend less power to adjust and maintain set temperature in the box.


Image 10-11: Fansink and mount on the box

All instruments like DMMs and Keithley 2510 are remotely controlled by simple Python application, running on Terasic DE1-SoC board (or Raspberry Pi 3). Actual physical interface is GPIB, with linux-gpib as software framework. We have actual guides covering setup both popular NI GPIB-USB-HS and Agilent 82357B dongles with linux-gpib.


Image 12: Box ready for resistors test

Environment conditions such as ambient temperature, humidity and pressure are also logged at every sample, with help of Bosch BME280 I2C sensor. Here’s the guide setting it up with Python in linux.

Automated Python code

Actual test starts from configuring all meters to proper range, setting 3458A’s to NPLC 100 speed, AZERO on, OCOMP ON and Keithley 2002s to equivalent settings with NPLC 30. Meters then sampled in sequence, and box sensor temperature, TEC current are read from Keithley 2510. Each 20 samples (equals about 30 minutes of time) setpoint temperature increased by +0.1 °C. After reaching +40.0 °C ramp down sequence with same speed executed to bring box temperature down to +20 °C. This allow to also confirm symmetric temperature coefficient in both directions while heating or cooling resistor under test.

Python code used for TCR measurement with 2×3458A,2xKI2002,2510 and BME280

Few key code blocks to configure:

root_dir = '/repo/3458/'
fileName4 = root_dir + 'vpg20_tcr1_nplc100_tin.csv'  

Variable fileName4 stores target result data filename, to be stored in root_dir folder.

Keithley 2510 is a TEC SMU, configured to YSI thermistor and used chinese cheap TEC element 127060-040, rated for 12Vmax at 6 A.

def init_inst(self):
        # Setup SCPI TEC SMU
	#Set temperature transducer to thermistor and 4-wire sense mode
	self.inst.write(":sens:temp:tran ther")       #select thermistor as sensor
	self.inst.write(":sens:temp:ther:a 1.032e-3") #Thermistor A
	self.inst.write(":sens:temp:ther:b 2.387e-4") #Thermistor B
	self.inst.write(":sens:temp:ther:c 1.580e-7") #Thermistor C
	self.inst.write(":sens:temp:ther:rang 10000") #10 kOhm thermistor
	self.inst.write(":sens:temp:curr 1e-4")       #Test current 100uA for thermistor
	self.inst.write(":syst:rsen on")              #4-wire mode enabled
	self.inst.write(":sour:volt:prot 10.0")       #10V limit                        	
	#Set current limit
	self.inst.write(":sens:curr:prot 3.0")        # 3A limit
	#Set temperature limit*
	self.inst.write(":sour:temp:prot:high 65")    # 65C max temp
	self.inst.write(":sour:temp:prot:low 5")      # 5C min temp
	self.inst.write(":sour:temp:lcon 70")         # P = 70
	self.inst.write(":sour:temp:lcon:int 0.03")   # I = 0.03
	self.inst.write(":sour:temp:lcon:der 1.8")    # D = 1.8
	self.inst.write(":sour:temp:prot:state ON")   #enable temp protection (default)

Coefficients A,B,C are taken from actual sensor datasheet, and PID values are tweaked to work on my specific thermal box setup, shown above in this article. Let’s take a look on Keithley 2002’s config:

def init_inst_fres(self):
        # Setup SCPI DMM
        self.inst.clear()
	self.inst.write("*RST")
	self.inst.write("*CLR")
        self.inst.write(":SYST:AZER:TYPE SYNC")
        self.inst.write(":SYST:LSYN:STAT ON")
	self.inst.write(":SENS:FUNC 'FRES'")           # Select 4-wire resistance 
	self.inst.write(":SENS:FRES:DIG 9;NPLC 30;AVER:COUN 10;TCON MOV") # Set 8.5-digit mode, NPLC 30
	self.inst.write(":SENS:FRES:AVER:STAT OFF")    # No filtering
	self.inst.write(":SENS:FRES:OCOM ON")          # Offset compensation on (used up to 20Kohm)
	self.inst.write(":SENS:FRES:RANG 2E3")         # Range 2 Kohm
        self.inst.write(":FORM:ELEM READ")

Similar configuration also used for Keysight 3458A multimeters

def init_inst(self):
        # Setup HP 3458A
        self.inst.clear()
        self.inst.write("PRESET NORM")
        self.inst.write("OFORMAT ASCII")
        self.inst.write("OHMF 10E6")
        self.inst.write("TARM HOLD")
        self.inst.write("TRIG AUTO")
        self.inst.write("NPLC 100")
        self.inst.write("AZERO ON")
	self.inst.write("OCOMP 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("NDIG 9")
	self.inst.write("DELAY 1")     # second delay to mitigate OCOMP accuracy issue due DA on 1k-100k ranges

And finally code logic that runs temperature ramps:

while cnt <= 400000:
    cnt+=1

    if ( (cnt >= 100) and (enable_start == 0) ):
	enable_start = 1
        cnt = 0

    if (enable_start == 1):
        if (xtemp >= 40.0 and reverse_dir == 0):
    	    reverse_dir = 1
    	    cnt = 0

        if ( ((cnt % 10) == 0) and (reverse_dir == 0) ):
	    xtemp = 20 + ((float(cnt) / 10)*0.1)
	    print ("Set TEC Temp = %2.1f" % xtemp)
	    meter2510.deduct_tmp(xtemp)

    if ( (cnt >= 50) and (reverse_dir == 1) ):
	enable_hold = 1
	cnt = 0

    if ( ((cnt % 10) == 0) and (reverse_dir == 1) and (reverse_dir == 1) ):
        xtemp = 40 - ((float(cnt) / 10)*0.1)
        print ("Set TEC Temp = %2.1f" % xtemp)
        meter2510.deduct_tmp(xtemp)

    if (xtemp <= 19.9 and reverse_dir == 1):
	quit() 

This code uses counter for timespan, with data collected from meters on each count, and temperature configured on each 10th count. First 100 counts code runs with fixed 20 °C setpoint, to obtain our reference point readings, used as 0.0 ppm calculation reference. This is our start. Next step is to increase temperature setting at +0.1 °C increments by programming Keithley 2510 SMU.

Once temperature reaches +40.0 °C code will keep this temperature level for another 50 samples, to ensure resistors under test are stable. Next is ramp down in -0.1 °C change till reach of final value +20.0 °C. Ramp down data used on some resistors tests, to confirm accurate and uniform results, so it’s not used on every case.

Interesting results

Test results

Datalog

Initial prelim TCR based on few 2C/3C spots:

Resistor Meter Result
1K 3458A +1.25 ppm/K
10K 2002-4 +6.67 ppm/K
100K 2002-6 +1.5 ppm/K

Data DSVs:
Ramp up
Ramp down

10KΩ is bad, surely. So I’d think it’s one off, rather than PRC issue. 1K and 100K well below spec.

Datalog

PRC 1Meg at one of 2002’s and fluke wirewound mica 10K (one at another 2002, second at 3458)

So far PRC 1Meg is nice, +0.8ppm, down in the noise, from 20C to 30C, and even less from 30C to 38C
Fluke WW 10K 2002: -3.05ppm/K
Fluke WW 10K 3458: -2.4ppm/K

Datalog

TC 3458 (AE 9R000) : +1.5…+0.94 ppm/K
TC 2002-4 (S102 634R00) : -1.2…1.25 ppm/K
TC 2002-6 (S102 634R00) : -1.3…-1.56 ppm/K

Datalog – tweaked snake so it ramps 0.1c/4 minutes to give smooth nice ramp.

TC 3458 (VPG S102 120R00) : -0.65 ppm/K
TC 2002-4 (soviet BMF S5-61 908R84) : -2.78 ppm/K
TC 2002-6 (soviet BMF S5-61 1.96K00) : +3.95 ppm/K

Datalog – more tests

TC 3458 (VPG CSNG 2.5R #2) : -0.3 ppm/K
TC 2002-4 (SFERNICE 30K) : +0.15 ppm/K
TC 2002-6 (Wirewound 30K) : -6.2 ppm/K

SFERNICE 30K surprised me, almost zero TCR, yay. CSNG is rocking too.

Datalog

TC 3458 (VPG VPR5 1.0R #1) : +16.5 ppm/K
TC 2002-4 (Soviet WW 100ohm big bobin) : -11 ppm/K
TC 2002-6 (Soviet S5-5-5W 9.1k 0.05%) : -25 ppm/K

Datalog

TC 3458 (VPG 0.1R CSNG #1) : +0.55 ppm/K
TC 2002-4 (HP 3458A HV-divider 100K) : +3.2 ppm/K
TC 2002-4 (HP 3458A HV-divider 10M) : +2.9 ppm/K

Datalog

TC 3458 (VPG 2.5R CSNG #1) : -0.175 ppm/K
TC 2002-6 (Fluke WW 1.02K) : -3.05 ppm/K
TC 2002-6 (VPG magical VHP101 19K 0.005% with PMO and matching) : -0.105 ppm/K

Resistance value calculator

DC output VDC = VREF V * Duty_CH1 REF % * VREFuV uV * Duty_CH2 REFuV %

Results from direct measurements

Each resistor test result can be viewed by clicking on ppm/K value link, which leads to separate page with graph and DSV-datalog file. Photo of each specimen also presented for overview.

Resistor Value Meter Result Sample photo
Soviet S5-5-5W 0.05% 9.1 KΩ 2002-6 -25 ppm/K
VWW Wirewound 0.5% 20 KΩ 2002-6 -6.2…-13 ppm/K
Soviet WW big bobin 100 Ω 2002-4 -11 ppm/K
Fluke WW 201699 from 720A, 5.915 Ω 2002-4 -8.5 ppm/K
PTF56 15ppm spec, #1 75 KΩ 2002-6 -7.06 ppm/K
PTF56 15ppm spec, #2 75 KΩ 3458A -7 ppm/K
Wirewound long 120 Ω 2002-6 -6.75 ppm/K
PTF56 15ppm spec, #4 75 KΩ 2002-4 -6.3 ppm/K
Wirewound 30K Ω 2002-6 -6.2 ppm/K
PTF56 15ppm spec, #6 75 KΩ 3458A -5.9 ppm/K
PTF56 15ppm spec, #10 75 KΩ 2002-4 -5.0 ppm/K
PTF56 15ppm spec, #7 75 KΩ 3458B -3.8 ppm/K
Soviet S5-61 10ppm spec 1.01 KΩ 2002-4 -3.8 ppm/K
S5-61 11.1K 10ppm spec 11.1 KΩ 2002-6 -3.65 ppm/K
PTF56 15ppm spec, #3 75 KΩ 3458B -3.4 ppm/K
Fluke WW 10 KΩ 2002-6 -3.05 ppm/K
Fluke WW 1.02 KΩ 2002-6 -3.05 ppm/K
soviet BMF S5-61 908.84 Ω 2002-4 -2.78 ppm/K
PTF56 15ppm spec, #8 75 KΩ 2002-4 -2.6 ppm/K
Fluke WW 10 KΩ 3458A -2.4 ppm/K
PTF56 15ppm spec, #9 75 KΩ 2002-6 -2.0 ppm/K
3458AR HP A1 shunt 9 Ω 2002-6 -1.375 ppm/K
S102 from eBay 634.00 Ω 2002-6 -1.3…-1.56 ppm/K
VPG Z202T 10 KΩ 2002-6 -1.28 ppm/K
S102 from eBay 634.00 Ω 2002-4 -1.2…1.25 ppm/K
VPG Z202T 10 KΩ 2002-4 -1.18 ppm/K
2xVPG S102 40.96 KΩ/2 3458A -1.15 ppm/K
VPG VPR221Z 1% spec 2.6ppm 1 Ω 2002-4 -0.86…-1.47 ppm/K
VPG VHP202Z 0.005% 190 Ω 2002-6 -0.95 ppm/K
VPG VHP202Z 19R 0.05% 19 Ω 3458A -0.9 ppm/K
VPG S102 120.00 Ω 3458A -0.65 ppm/K
Soviet S5-61 spec 5ppm 11.1 KΩ 2002-4 -0.6ppm/K
VPG VHP202ZT 0.05% 120 Ω 3458A -0.55 ppm/K
VPG VHA518 0.005% 100 KΩ 3458B -0.51 ppm/K
VPG CSNG #2 2.5 Ω 3458A -0.3 ppm/K
Fluke WW 146530 40 KΩ 2002-4 -0.3 ppm/K
VPG VHP101 0.005% 0.3ppm spec 1.9 KΩ 3458B -0.25 ppm/K
VPG CSNG #1 2.5 Ω 3458A -0.175 ppm/K
HP 3458A A1 VPG 301358 0.5% A1R307 300 Ω 2002-6 -0.15 ppm/K
VPG VHP101 0.005% with PMO and matching 19 KΩ 2002-6 -0.105 ppm/K
PTF56 15ppm spec, #5 75 KΩ 2002-6 -0.13…+0.18 ppm/K
VPG VHP101 0.005% 0.3ppm spec 95 KΩ 2002-4 <-0.1 ppm/K average
RIEDON USR2G-15KX1 1ppm/K spec 15 KΩ 3458A +0.04 ppm/K
SFERNICE 30 KΩ 2002-4 +0.15 ppm/K
VPG 321219 VHA518-11 1ppm spec 0.01% 1 MΩ 3458A +0.19 ppm/K
VPG CSNG #1 from eBay 0.1 Ω 3458A +0.55 ppm/K
CADDOCK USF340 500 KΩ 3458B +0.78 ppm/K
PRC HR3716N from MC-7 set 1 MΩ 2002-4 +0.8 ppm/K
PRC HR3716N from MC-7 set 1 KΩ 3458A +1.25 ppm/K
HP 3458A A1 0.1% 1.3ppm spec from dead A1 40 KΩ 2002-6 +1.4 ppm/K
HP 3458A A1 0.1% 1.3ppm spec from dead A1 40 KΩ 2002-4 +1.6 ppm/K
PRC HR3716N from MC-7 set 100 KΩ 2002-6 +1.5 ppm/K
AE from eBay 9.000 Ω 3458A +1.5…+0.94 ppm/K
3458AR HP shunt 1 Ω 2002-4 +1.7 ppm/K
3458AR 500K 500 KΩ 2002-6 +1.86 ppm/K
Old black VWW 0.1% 300 Ω 3458A +2.2 ppm/K
VPG VPR5 #3 from eBay 1 Ω 2002-6 +2.65 ppm/K
MZNRE1801 network 5-last 1 KΩ 3458A +2.75 ppm/K
HP 3458A HV-divider 10 MΩ 2002-6 +2.9 ppm/K
HP 3458A HV-divider 100 KΩ 2002-4 +3.2 ppm/K
VPG VPR5 #3 from eBay 1 Ω 3458A +3.4 ppm/K
Caddock USF340 5ppm/K spec 10 MΩ 3458A +3.4 ppm/K
soviet BMF S5-61 1.96 KΩ 2002-6 +3.95 ppm/K
3458AR HP A1 shunt 634 Ω 2002-4 +4.65 ppm/K
HP 3458A shunt 9 Ω 2002-6 +4.7 ppm/K
VPG VPR5 #5 from eBay 1 Ω 3458A +6.2 ppm/K
PRC HR3716N from MC-7 set 10 KΩ 2002-4 +6.67 ppm/K
Wirewound VWW 0.05% 100 Ω 2002-4 +3.0…+7.5 ppm/K
Old black VWW 0.1% 1.5 KΩ 2002-4 +8 ppm/K
Old black VWW 0.05% 353 Ω 2002-6 +8 ppm/K
HP 3458A shunt 1 Ω 2002-4 +8.3 ppm/K
VPG VPR5 #2 from eBay 1 Ω 3458A +10 ppm/K
VPG VPR5 #4 from eBay 1 Ω 2002-6 +10 ppm/K
PRC 10 ohm 10 Ω 2002-4 +14.6 ppm/K
VPG VPR5 1R 0# 1 Ω 3458B +15 ppm/K
VPG VPR5 #1 from eBay 1 Ω 3458A +16.5 ppm/K

Scanner setup

To further improve testing speed by paralleling multiple resistors test at one temperature ramp, Keithley 7168 nanovolt scanner was used.

Results from scanner setup

Separate table with results obtained from more complex scanner setup presented below.

Resistor Value Channel Test current Result Sample photo
3458AR HP 03458-82501-1 shunt 4W 0.1 Ω 2002-6 7.2mA direct -6.2…-13 ppm/K
3458AR HP 03458-82501-1 shunt 4W 0.1 Ω 182M 1000mA K2304A +7.5 ppm/K 25C to 35C
PRC 1 ohm 1 Ω 182M 100mA TE9823 +54.6 ppm/K 100mA TE9823

Resistor Value Channel Test current Result Sample photo
AE 1KΩ (999.95020) 7168-1 1 mA TE9823 OC -2.39 ppm/K
VPG S102 #1 0.1% 700 Ω (699.96084) 7168-2 1 mA TE9823 OC -1.64 ppm/K
VPG S102 #2 0.1% 700 Ω (699.96629) 7168-3 1 mA TE9823 OC -1.13 ppm/K
VPG S102 #3 0.1% 700 Ω (699.99800) 7168-4 1 mA TE9823 OC -2.45 ppm/K
VPG S102 #4 0.1% 700 Ω (699.94275) 7168-5 1 mA TE9823 OC -1.06 ppm/K
VPG S102 #5 0.1% 700 Ω (699.91479) 7168-6 1 mA TE9823 OC -1.63 ppm/K
VPG S102 #6 0.1% 700 Ω (699.93719) 7168-7 1 mA TE9823 OC -1.87 ppm/K
VPG S102 #7 0.1% 700 Ω (699.96841) 7168-8 1 mA TE9823 OC -1.38 ppm/K
VPG VHP102L B9143 0.05% 40 KΩ (39998.160) 2002-4 internal +0.78 ppm/K
VPG VHP102L B9143 0.05% 40 KΩ (39998.007) 2002-6 internal +0.60 ppm/K

Resistor Value Channel Test current Result Sample photo
VPG VHD100 B9318 315709 #1 X8320 7.663 KΩ 7168-1 100 µA -1.38 ppm/K
VPG VHD100 B9318 315709 #2 X8320 20 KΩ 7168-2 100 µA -0.96 ppm/K
VPG VHD100 B9244 315709 #1 X8318 7.663 KΩ 7168-3 100 µA -0.90 ppm/K
VPG VHD100 B9244 315709 #2 X8318 20 KΩ 7168-4 100 µA -0.86 ppm/K
VPG VHD100 B9316 315709 #1 X8342 7.663 KΩ 7168-5 100 µA -0.58 ppm/K
VPG VHD100 B9316 315709 #2 X8342 20 KΩ 7168-6 100 µA -0.54 ppm/K
VPG VHD100 B9318 315709 #1 R0301 7.663 KΩ 7168-7 100 µA -0.86 ppm/K
VPG VHD100 B9318 315709 #2 R0301 20 KΩ 7168-8 100 µA -0.75 ppm/K
VPG S102 #1 0.1% 75 KΩ 2002-4 internal -1.31 ppm/K
VPG S102 #2 0.1% 75 KΩ 2002-6 internal -0.55 ppm/K

Fluke teal WW 540 Ω 7168-1 3 mA/-3 mA +1.8 ppm/K
VPG S102 #1 0.1% 330 Ω 7168-2 3 mA/-3 mA -1.65 ppm/K
VPG S102 #2 0.1% 330 Ω 7168-3 3 mA/-3 mA -1.4 ppm/K
VPG S102 #1 0.1% 10 Ω 7168-4 3 mA/-3 mA -0.375 ppm/K
VPG S102 #1 0.1% 178.1 Ω 7168-5 3 mA/-3 mA -1.03 ppm/K
VPG S102 #1 0.1% 522.2 Ω 7168-6 3 mA/-3 mA -1.23 ppm/K
VPG S102 #2 0.1% 522.2 Ω 7168-7 3 mA/-3 mA -0.305 ppm/K
AE #3 0.1% 522.2 Ω 7168-8 3 mA/-3 mA -1.95 ppm/K
VPG S102 #1 0.1% 40 KΩ 2002-4 Internal -1.2 ppm/K
VPG VHP102L B9117 7 KΩ 2002-6 Internal, OCOMP -0.105 ppm/K

Resistor Value Channel Test current Result Sample photo
VPG Divider #1 0.1% 1 10 KΩ 7168-1 250 µA/-250 µA bad data
VPG Divider #1 0.1% 2 10 KΩ 7168-2 250 µA/-250 µA -0.65 ppm/K
VPG Divider #2 0.1% 1 10 KΩ 7168-3 250 µA/-250 µA +1.15 ppm/K
VPG Divider #2 0.1% 2 10 KΩ 7168-4 250 µA/-250 µA +1.2 ppm/K
VPG S102 #1 1% 5 KΩ 7168-5 250 µA/-250 µA -0.6 ppm/K
VPG S102 #2 1% 5 KΩ 7168-6 250 µA/-250 µA -1.45 ppm/K
VPG S102 #3 1% 5 KΩ 7168-7 250 µA/-250 µA -1.1 ppm/K
VPG S102 #4 1% 5 KΩ 7168-8 250 µA/-250 µA -0.73 ppm/K
VPG S102 #2 0.1% 40 KΩ 2002-4 Int. -0.44 ppm/K
VPG S102 #1 0.1% 11.110 KΩ 2002-6 Int., OCOMP +0.20 ppm/K

Resistor Value Channel Test current Result Sample photo
Fluke WW 5.496 Ω 7168-1 2 mA/-2 mA -4.3 ppm/K
Fluke WW 5.860 Ω 7168-2 2 mA/-2 mA -4.7 ppm/K
Fluke WW 5.894 Ω 7168-3 2 mA/-2 mA -7.5 ppm/K
Fluke WW 5.716 Ω 7168-4 2 mA/-2 mA -3.15 ppm/K
VPG S102 #3 0.1% 330 Ω 7168-5 2 mA/-2 mA -0.6 ppm/K
VPG S102 #1 0.1% 312.80 Ω 7168-6 2 mA/-2 mA -0.5 ppm/K
VPG S102 #4 0.1% 330 Ω 7168-7 2 mA/-2 mA -0.6 ppm/K
VPG S102 #1 0.1% 900 Ω 7168-8 2 mA/-2 mA -1.9 ppm/K
VPG S102 #1 0.1% 100 KΩ 2002-6 internal -1.35 ppm/K
AE #1 0.1% 50 KΩ 2002-4 internal +0.13 ppm/K

VPG S102 #1 0.01% 5 KΩ 7168-1 500 µA x ppm/K
VPG S102 #2 0.01% 5 KΩ 7168-2 500 µA x ppm/K
VPG S102 #9 1% 5 KΩ 7168-3 500 µA x ppm/K
VPG S102 #10 1% 5 KΩ 7168-4 500 µA x ppm/K
VPG S102 #2 0.1% 900 Ω 7168-5 500 µA x ppm/K
VPG S102 #3 0.1% 900 Ω 7168-6 500 µA x ppm/K
VPG S102 #5 0.1% 330 Ω 7168-7 500 µA x ppm/K
VPG S102 #1 0.1% 18 KΩ 7168-8 500 µA x ppm/K
VPG S102 #1 0.01% 20 KΩ 2002-4 internal OCOMP x ppm/K
VPG S102 #1 0.1% 10.100 KΩ 7168-2 500 µA x ppm/K
VPG S102 #5 1% 5 KΩ 7168-5 500 µA x ppm/K
VPG S102 #6 1% 5 KΩ 7168-6 500 µA x ppm/K
VPG S102 #7 1% 5 KΩ 7168-7 500 µA x ppm/K
VPG S102 #8 1% 5 KΩ 7168-8 500 µA x ppm/K
VPG S102 #1 0.05% 10 KΩ 7168-6 500 µA x ppm/K
VPG S102 #1 0.01% 10 KΩ 7168-7 500 µA x ppm/K
VPG S102 #2 0.01% 10 KΩ 7168-8 500 µA x ppm/K
VPG S102 #3 0.01% 10 KΩ 7168-8 500 µA x ppm/K
VPG S102 #1 0.1% 34.8 KΩ 7168-3 500 µA x ppm/K
VPG S102 #2 0.1% 34.8 KΩ 7168-4 500 µA x ppm/K
VPG S102 #3 0.1% 34.8 KΩ 7168-5 500 µA x ppm/K
VPG S102 #1 0.1% 28.5 KΩ 7168-6 500 µA x ppm/K
VPG S102 #2 0.1% 28.5 KΩ 7168-7 500 µA x ppm/K
VPG S102 #3 0.1% 28.5 KΩ 7168-8 500 µA x ppm/K
VPG Divider #1 0.1% total 20 KΩ 7168-1 500 µA x ppm/K
VPG Divider #2 0.1% total 20 KΩ 7168-1 500 µA x ppm/K
RIEDON USR2G-15KX1 1ppm/K spec +0.04 measured 15 KΩ 7168-1 500µA x ppm/K
RIEDON USR2G-15KX1 1ppm/K spec +0.04 measured 15 KΩ 7168-2 500µA x ppm/K
RIEDON USR2G-15KX1 1ppm/K spec +0.04 measured 15 KΩ 7168-3 500µA x ppm/K
RIEDON USR2G-15KX1 1ppm/K spec +0.04 measured 15 KΩ 7168-4 500µA x ppm/K
RIEDON USR2G-15KX1 1ppm/K spec +0.04 measured 15 KΩ 7168-5 500µA x ppm/K
RIEDON USR2G-15KX1 1ppm/K spec +0.04 measured 15 KΩ 7168-6 500µA x ppm/K
RIEDON USR2G-15KX1 1ppm/K spec +0.04 measured 15 KΩ 7168-7 500µA x ppm/K
RIEDON USR2G-15KX1 1ppm/K spec +0.04 measured 15 KΩ 7168-8 500µA x ppm/K
RIEDON USR2G-15KX1 1ppm/K spec +0.04 measured 15 KΩ 7168-9 500µA x ppm/K
RIEDON USR2G-15KX1 1ppm/K spec +0.04 measured 15 KΩ 7168-10 500µA x ppm/K

Overall results

Most of the Vishay Precision Group BMF resistors show almost linear negative temperature coefficient.

This study was a good introduction to resistor characterization, and we will be working to further improve accuracy, speed and test procedure for future temperature stability measurements. Stay tuned!


Author: Illya Tsemenko
Published: Jan. 9, 2017, 9:58 a.m.
Modified: June 27, 2017, 2:45 p.m.

References

Comments