[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Measuring currents with shunts
Original poster: "Jim Lux by way of Terry Fritz <twftesla-at-qwest-dot-net>" <jimlux-at-earthlink-dot-net>
Having spent yesterday calculating variation in waveguide losses with
temperature, I have some information that will be useful to those folks
contemplating making accurate current measurements in a TC with a resistive
shunt.
Leaving aside skin effect issues (a very important problem, by the way),
another significant problem will be the temperature coefficient of the
shunt. Copper, for instance, varies its resistivity quite a bit with
temperature. Manganese (and its alloys) has a very low tempco, hence the
popularity of Maganin wires. Constantan (hmm, how do you think it got the
name) and Nichrome also have fairly low tempcos. Even stainless steel has a
fairly low temperature coefficient compared to copper (.00017 vs .0043).
Meter shunts will likely be made of something like Nichrome, just because
of this reason, but it is something you should test. You can do something
like put it in the freezer and compare the resistance against what you
measure at room temperature. (granted, accurately measuring the resistance
of a 0.01 ohm resistor is a challenge.. best bet is a constant current
source (big voltage, big resistor in series) and measure voltage drop.
Here are a couple of Matlab functions with useful data...
%conductivity,tempco
% [sigma,alpha]=conductivity(material)
function [sigma,alpha20]=conductivity(material)
switch material
case 'Cu'
sigma=1/(1.694E-8);
alpha20=4.3E-3;
case 'Ag'
sigma = 1/(1.63E-8); %another ref gives 1.59
alpha20=4.1E-3;
case 'Au'
sigma = 1/2.2E-8;
alpha20=4.0E-3
case 'Mn'
sigma = 1/(42.3E-8);
alpha20 = 0;
case 'Manganin'
sigma = 1/48.23E-8;
alpha20 = 0; % +/- 0.00001
case 'Constantan'
sigma = 1/52.0E-8;
alpha20 = 0; % +/- 0.00002
case 'Nichrome' %MWS-675
sigma=1/112.26E-8;
alpha20 = 0.00013;
case 'SS' % stainless steel 18 Cr, 8 Ni, Fe
sigma=1/72.84E-8;
alpha20 = .00017;
otherwise
end
%adjust sigma for temperature
function sigma=sigmat(sigma20,alpha20,tdegC)
sigma = sigma20 /(1+alpha20*(tdegC-20));