Home Algorithms Temperature Measuring temperature: Platinum Resistance thermometers 03 | 12 | 2021
Feed Display Latest News
Popular
 Measuring temperature: Platinum Resistance thermometers   Algorithms - Temperature
Monday, 06 December 2010 13:45 # Platinum resistance thermometers

Within a limited range several metals and alloys have an approximately linear resistivity alteration depending on temperature. Resistance thermometers are sensors that allow determining temperature by measuring the electrical resistance of the sensor, assuming that it is in thermal equilibrium with the medium to measure. Thus, respective sensors can be used within their specific range to calculate temperature by polynomial approximation.

Platinum has a positive temperature coefficient, meaning that electrical resistance increases with raising temperature. Platinum Resistance Thermometers (PRT) are often manufactured of coiled platinum wire or as film thermometers with a layer of platinum applied on non conductive substrates. They are used in the range -200°C ≤ t ≤ 850°C. Outer these bounds polynomial approximation is not assured and higher temperatures are often problematic for proper use. Depending on the application the platinum freely extends into the medium to measure, is mounted on non conductive materials or encapsulated in housings for rugged use. PRT sensors are characterised by their specific electrical resistance R0 at 0°C. The calibration is easily accomplished by length and thickness of the used wire or coating area and thickness. Common types are:

• Pt100 (R0 = 100Ω)
• Pt200 (R0 = 200 Ω)
• Pt500 (R0 = 500Ω)
• Pt1000 (R0 = 1000Ω)
• Pt3000 (R0 = 3000Ω)
• Pt6000 (R0 = 6000Ω)
• Pt9000 (R0 = 9000Ω)

The advantage of PRT’s is their exchangeability without necessitating recalibration. To measure temperature the easy measurable property of the electrical resistance needs to be gauged. Within a given tolerance this resistance can be converted to temperature for the respective PRT type. Tolerances according to DIN IEC 751/DIN EN 60751 (1995) are:

• Class A: ±(0.15 + 0.002*|ϑ|) °C
• Class B: ±(0.30 + 0.005*|ϑ|) °C
• Class C: ±(1.20 + 0.005*|ϑ|) °C
• Class 1/3: ±[1/3*(0.3 + 0.005*|ϑ|)] °C
• Class 1/5: ±[1/5* (0.3 + 0.005*|ϑ|)] °C
• Class 1/10: ±[1/10*(0.3+ 0.005*|ϑ|)] °C

As electrical resistance of PRT’s can become very small (e.g. 18.53 Ohm at -200°C for a Pt100 sensor) resistance of the wires used to cable the sensor may be significant. Another point to pay attention for is self-heating of the sensor due to a continuous measurement current.

## Equation

As PRT’s are not completely linear polynomial approximation is required. In the range -200°C ≤ ϑ < 0°C electrical resistance at temperature t is calculated according to the polynomial: In the range of 0°C ≤ ϑ ≤ 850°C coefficient c is set to zero and the polynomial becomes: For conversion of electrical resistance to temperature the above equations can be used after solving for t: Polynomial coefficients for conversion of resistance to temperature, or vice versa, from platinum resistance thermometers according to IPTS-68 and ITS-90 scale.

 Coefficient IPTS-68 ITS-90 a +3.90802E-03 +3.9083E-03 b -5.80195E-07 -5.7750E-07 c -4.27350E-12 -4.1830E-12

## Algorithm

The above equations are implemented in two functions for temperatures on ITS-90 scale. For IPTS-68 coefficients need to be changed to the respective values tabulated in table (XYZ). It can be easily seen that conversion is senseless, if R0=0. Thus both functions check for this case.

The first function is temp_PRTResistanceValue. It calculates electrical resistance of a PRT of type R0 (Ω) at temperature aTemp (°C, ITS-90). If aTemp is not within the defined range of -200°C to +850°C function returns FALSE and a resistance value of 0 in the variable Resistance. Otherwise electrical resistance will be calculated. Depending on the value in aTemp respective equation (XYZ) is chosen for aTemp values ≥0°C and equation (XYZ) for aTemp values <0°C.

The second function is temp_PRTTemperatureValue. It calculates the temperature from a given electrical resistance aResistance for a PRT of the type defined in R0. Function first calls twice temp_PRTResistanceValue for calculating lower and upper limits of electrical resistance for the respective PRT type with base value R0. When aResistance is outer these limits function returns FALSE and a temperature value of 0 in the variable Temperature. Otherwise temperature is calculated from electrical resistance with respect to the PRT type R0 and returned in the variable Temperature.

## Source

`Function temp_PRTResistanceValue (aTemp, R0 :Double; Var Resistance : Double) : Boolean;// The function temp_PRTResistanceValue calculates the electrical// resistance for a Platinum Resistance Thermometer (PRT) at given// temperature and defined resistance R0 at 0°C for a PRT element.// E.g. for a Pt1000 element resistance R0=1000. Function returns// TRUE if aTemp is within the ranges polynomial approximation// are defined, the respective resistance for the temperature aTemp// is found in Resistance.//----------------------------------------------------------------// Units://  aTemp        Input temperature in ITS-90                   °C//  R0           Type of PRT (resistance at 0°C; e.g. Pt100)   Ohm//  Resistance   Returned resistance of R0 type PRT at aTemp   Ohm//----------------------------------------------------------------// References://  Preston-Thomas & Quinn 1990 - Techniques for approximating//    the international temperature scale of 1990 - Bureau//    International des Poids et Mesures, 2nd Edition 1997,//    respecting the amendments of the 2nd Edition//-------------------------------------------------------------//  (c) Dr. Jan Schulz, 17. December 2008, www.code10.infoBegin  //expect best case  temp_PRTResistanceValue := True;  // is aTemp within defined ranges for the polynomial approximation  If (aTemp >= -200) And (aTemp <= 850) THen  Begin    // aTemp decides which polynomial to use    If aTemp >= 0 THen    Begin      Resistance := R0 * (( -5.775E-7 * aTemp + 3.9083E-3) * aTemp + 1);    end    Else    Begin      Resistance := R0 * ((((aTemp - 100) * - 4.183E-12 * aTemp - 5.775E-7) * aTemp + 3.9083E-3) * aTemp + 1);    end;  end  Else  Begin    // otherwise return False and defined Resistance    temp_PRTResistanceValue := False;    Resistance              := 0;  end;end;Function temp_PRTTemperatureValue (aResistance, R0 :Double; Var Temperature : Double) : Boolean;// The function temp_PRTTemperatureValue calculates the temperature// measured by a Platinum Resistance Thermometer (PRT) at given// electrical resistance and defined resistance R0 at 0°C for a// PRT element. E.g. for a Pt1000 element resistance R0=1000.// Function returns TRUE if aResistance is within the ranges// polynomial approximation are defined, the respective temperature// for resistance aResistance is found in Temperature.//----------------------------------------------------------------// Units://  aResistance  Input electrical resistance                   Ohm//  R0           Type of PRT (electrical resistance at 0°C)    Ohm//  Temperature  Returned ITS-90 Temperature                   °C//----------------------------------------------------------------// References://  Preston-Thomas & Quinn 1990 - Techniques for approximating//    the international temperature scale of 1990 - Bureau//    International des Poids et Mesures, 2nd Edition 1997,//    respecting the amendments of the 2nd Edition//-------------------------------------------------------------//  (c) Dr. Jan Schulz, 18. December 2008, www.code10.infoVar MinResistance : Double;    MaxResistance : Double;Begin  // expect worst case  temp_PRTTemperatureValue := False;  Temperature              := 0;  // find min and max resistance values for defined range  If temp_PRTResistanceValue (-200, R0, MinResistance) And     temp_PRTResistanceValue (+850, R0, MaxResistance) THen  Begin    // is aResitance within defined range of polynomial approximation    If (aResistance >= MinResistance) And (aResistance <= MaxResistance) THen    Begin      // then calculate temperature      Temperature := (-R0 * 3.9083E-3 +                      Sqrt (R0 * R0 * + 3.9083E-3 * 3.9083E-3 - 4 * R0 * -5.775E-7 * (R0 - aResistance))) /                      (2 * R0 * -5.775E-7);      // and notify that we expect reliable results      temp_PRTTemperatureValue := True;    end;  end;end;`

## References

• DIN IEC 751/ DIN EN 60751 (1995): Industrielle Platin-Widerstandsthermometer und Platin Meßwiderstände. German Edition HD 459 S2, 1988; German Norm, December 1990; EN60751+A2, 1995.

Last Updated on Friday, 18 March 2011 18:32 