0% found this document useful (0 votes)
57 views

Ejercicio 2.3

The document describes calibrating a platinum resistance temperature sensor using its measured resistance at three temperature points: the oxygen point (-182.962°C), steam point (100°C), and zinc point (419.58°C). The Callendar-Van Duzen equation is used to relate resistance and temperature, with coefficients A, B, and C determined by solving the resulting linear system of equations. The calibrated transfer function is then plotted over the range from -200°C to 600°C.

Uploaded by

Duvan Bayona
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views

Ejercicio 2.3

The document describes calibrating a platinum resistance temperature sensor using its measured resistance at three temperature points: the oxygen point (-182.962°C), steam point (100°C), and zinc point (419.58°C). The Callendar-Van Duzen equation is used to relate resistance and temperature, with coefficients A, B, and C determined by solving the resulting linear system of equations. The calibrated transfer function is then plotted over the range from -200°C to 600°C.

Uploaded by

Duvan Bayona
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

29/8/2017 Ejercicio 2.

The transfer function

Analytic form of transfer functionIn certain cases the transfer function is available as an analytic expression.
One common transfer function used for resistance temperature sensors (to be discussed in Chapter 3) is the
Callendar– Van Duzen equation. It gives the resistance of the sensor at a temperature T as

where the constants A, B, and C are determined by direct measurement of resistance for the specific material
used in the sensor and R0 is the temperature of the sensor at 0 ºC. Typical temperatures used for calibration are
the oxygen point (-182.962 ºC; the equilibrium between liquid oxygen and its vapor), the triple point of water
(0.01 ºC; the point of equilibrium temperature between ice, liquid water, and water vapor), the steam point (100
ºC; the equilibrium point between water and vapor), the zinc point (419.58 ºC; the equilibrium point between solid
and liquid zinc), the silver point (961.93 ºC), and the gold point (1064.43 ºC), as well as others. Consider a
platinum resistance sensor with a nominal resistance of 25 Ω at 0 C. To calibrate the sensor its resistance is
measured at the oxygen point as 6.2 Ω, at the steam point as 35.6 Ω, and at the zinc point as 66.1 Ω. Calculate
the coefficients A, B, and C and plot the transfer function between -200 ºC and 600 ºC.

Solution

1. 6.2 Ω at a temperature of -182.962 ºC (oxygen point).


2. 35.6 Ω at a temperature of 100 ºC (steam point).
3. 66.1 Ω at a temperature of 419.58 ºC (zinc point)

Reordering the Callendar-Van Duzen equation we obtain the following

R(T )
2 3
AT + BT + C (T − 100)T = − 1 ,
R0

file:///C:/Users/Manuel%20Ranchoddas/Downloads/Ejercicio+2.3.html 1/4
29/8/2017 Ejercicio 2.3

In [1]: import matplotlib.pyplot as plt


import numpy as np
from math import log, exp
%matplotlib inline
from scipy.interpolate import InterpolatedUnivariateSpline

T_exp= np.array([-182.962,100,419.58]);# Celcius


R_exp= np.array([6.2 ,35.6,66.1])# Ohm
plt.plot(T_exp,R_exp,'*');
plt.ylabel('Resistance of the sensor [Ohm]')
plt.xlabel('Temperature [C]')
plt.show()

which we can write in matrix form as M x = p , where

R(T1 )

2 3 ⎡ − 1⎤
T1 T (T1 − 100)T R0
⎡ 1 1 ⎤⎡ A⎤
⎢ ⎥
R(T2 )
⎢T T
2
(T2 − 100)T
3
⎥⎢ B⎥ = ⎢ ⎥
− 1⎥ .
⎢ 2 2 2 ⎥ ⎢ R0
⎢ ⎥
⎣ 2 3 ⎦⎣ C ⎦
T3 T (T3 − 100)T R(T3 )
3 3 ⎣ − 1⎦
R0

Because M is square we can solve by computing M −1 directly.

file:///C:/Users/Manuel%20Ranchoddas/Downloads/Ejercicio+2.3.html 2/4
29/8/2017 Ejercicio 2.3

In [13]: R0=25;
M=np.array([[T_exp[0],(T_exp[0])**2,(T_exp[0]-100)*(T_exp[0])**3],[T_exp[1],(T
_exp[1])**2,(T_exp[1]-100)*(T_exp[1])**3],[T_exp[2],(T_exp[2])**2,(T_exp[2]-10
0)*(T_exp[2])**3]]);
p=np.array([[(R_exp[0]/R0)-1],[(R_exp[1]/R0)-1],[(R_exp[2]/R0)-1]]);
x = np.linalg.solve(M,p) #solve linear equations system

np.set_printoptions(precision=3)

print('M')
print(M)
print('\n')
print('p')
print(p)
print('\n')
print('x')
print(x)

M
[[ -1.830e+02 3.348e+04 1.733e+09]
[ 1.000e+02 1.000e+04 0.000e+00]
[ 4.196e+02 1.760e+05 2.361e+10]]

p
[[-0.752]
[ 0.424]
[ 1.644]]

x
[[ 4.160e-03]
[ 8.031e-07]
[ -1.028e-11]]

We have found the coeffiecients A , B , and C necessary to describe the sensor's transfer function. Now we plot
it from -200 C a 600 C.

file:///C:/Users/Manuel%20Ranchoddas/Downloads/Ejercicio+2.3.html 3/4
29/8/2017 Ejercicio 2.3

In [14]: A=x[0];B=x[1];C=x[2];
T_range= np.arange(start = -200, stop = 601, step = 1);
R_funT= R0*(1+A[0]*T_range+B[0]*(T_range)**2+C[0]*(T_range-100)*(T_range)**3);
plt.plot(T_range,R_funT,T_exp[0],R_exp[0],'ro',T_exp[1],R_exp[1],'ro',T_exp[2],R
_exp[2],'ro');
plt.ylabel('Sensor resistance [Ohm]')
plt.xlabel('Temperature [C]')
plt.show()

We see the fit is accurate. Note that our approach is also valid if we have more experimental points, in which
case the system of equations M x = p is solved in the Least-Squares sense.

In [ ]:

file:///C:/Users/Manuel%20Ranchoddas/Downloads/Ejercicio+2.3.html 4/4

You might also like