原理
温度是表征物体冷热程度的物理量,它可以通过物体随温度变化的某些特性(如电阻、电压变化等特性)来间接测量,通过研究发现,金属铂(Pt) 的阻值跟温度的变化成正比,并且具有很好的重现性和稳定性,利用铂的此种物理特性制成的传感器称为铂电阻温度传感器RTD(Resistance Temperature Detector ),通常使用的铂电阻温度传感器零度阻值为100Ω,电阻变化率为0.3851Ω/℃。铂电阻温度传感器精度高,稳定性好,应用温度范围广,是中低温区(-200~650℃)最常用的一种温度检测器,不仅广泛应用于工业测温,而且被制成各种标准温度计(涵盖国家和世界基准温度)供计量和校准使用。
温度系数
在Omega网站上这样描述温度系数
The temperature coefficient of an element is a physical and electrical property of the material. This is a term that describes the average resistance change per unit of temperature from ice point to the boiling point of water. Different organizations have adopted different temperature coefficients as their standard. In 1983, the IEC (International Electrotechnical Commission) adopted the DIN (Deutsche Institute for Normung) standard of Platinum 100 ohm at 0ºC with a temperature coefficient of 0.00385 ohms per ohm degree centigrade. This is now the accepted standard of the industry in most countries, although other units are widely used. A quick explanation of how the coefficient is derived is as follows: Resistance at the boiling point (100ºC) =138.50 ohms. Resistance at ice point (0ºC) = 100.00 ohms. Divide the difference (38.5) by 100 degrees and then divide by the 100 ohm nominal value of the element. The result is the mean temperature coefficient (alpha) of 0.00385 ohms per ohm per ºC.
Some of the less common materials and temperature coefficients are:
Pt TC = .003902 (U.S. Industrial Standard)
Pt TC = .003920 (Old U.S. Standard)
Pt TC = .003923 (SAMA)
Pt TC = .003916 (JIS)
Copper TC = .0042
Nickel TC = 0.00617 (DIN)
Nickel TC = .00672 (Growing Less Common in U.S.)
Balco TC = .0052
Tungsten TC = 0.0045
通常大家都按照一定的标准去生产RTD,常见的标准有PT100(385) or 395, 3916 etc.
PT100与PT1000的区别
PT100的阻值与温度变化关系为:当PT100温度为0℃时它的阻值为100欧姆,在100℃时它的阻值约为138.5欧姆;PT1000的阻值与温度变化关系为:当PT1000温度为0℃时它的阻值为1000欧姆,在100℃时它的阻值约为1385.005欧姆。PT1000温度变化一度,阻值增减和减小约3.8欧姆;PT100温度变化一度,阻值增减和减小约0.38欧姆。
因此按照Omega的说法计算下来两者会有相同的温度系数0.00385 ohms per ohm per ºC,但是PT1000适合测量小量程温度测量,PT100 适合测量稍大量程温度测量(有些场合二者都可以使用)
换算关系
按IEC751国际标准, 温度系数TCR=0.003851,Pt100(R0=100Ω)、Pt1000(R0=1000Ω)为统一设计型铂电阻。
TCR=(R100-R0)/ (R0×100)
0℃时标准电阻R0 | 100℃时标准电阻R100 | |
PT100 | 100.00 | 138.51 |
PT1000 | 1000.0 | 1385.1 |
铂RTD使用(Callendar-Van Dusen方程)测量RTD的温度,在-200~850度测量范围之间近似于线性。该方程如下:
温度-200<t<0 ℃时:R T = R0[1 + A × T + B × T2 + C × T3 × (T - 100 °C)]
温度0<t<850 ℃时:R T = R0[1 + A × T + B × T2]
其中:
T = 温度(摄氏度)
RT = 温度为T时RTD的阻值
R0 = 0 ℃时RTD的额定阻值
A、B和C = RTD类型中指定的系数。
下表列出了常见的铂RTD类型和标准[From NI-DAQmx Help]。某些标准适用于多种类型的铂RTD。
材料 | TCR | 常规值R0(Ω) | Callendar-Van Dusen系数 | 注: | |
· IEC-751 · DIN 43760 · BS 1904 · ASTM-E1137 · EN-60751 · IEC-60751 | 铂 | 3851 | · 100 Ω · 1000 Ω | · A = 3.9083 × 10-3 · B = -5.775 × 10-7 · C = -4.183 × 10-12 | 最常见的RTD |
铂 | 3750 | 1000 Ω | · A = 3.81 × 10-3 · B = -6.02 × 10-7 · C = -6.0 × 10-12 | 低成本RTD | |
JISC 1604 | 铂 | 3916 | 100 Ω | · A = 3.9739 × 10-3 · B = -5.870 × 10-7 · C = -4.4 × 10-12 | 主要用于日本 |
US工业标准D-100,美国 | 铂 | 3920 | 100 Ω | · A = 3.9787 × 10-3 · B = -5.8686 × 10-7 · C = -4.167 × 10-12 | 低成本RTD |
US工业标准,美国 | 铂 | 3911 | 100 Ω | · A = 3.9692 × 10-3 · B = -5.8495 × 10-7 · C = -4.233 × 10-12 | 低成本RTD |
ITS-90 | 铂 | 3928 | 100 Ω | · A = 3.9888 × 10-3 · B = -5.915 × 10-7 · C = -3.85 × 10-12 | 温度类型 |
虽然各个RTD厂家都声称自己是遵循了某一国际标准生产了他们的RTD电阻,但是实际上不同厂家产品实际表现出来的性能参数是不一样的,厂家给出来的也不会是上面表格中的参数,而是一个分度表。为了达到更好的准确度,我们可以自己根据分度表或者是自己的实测结果进行拟合,调整上述表格中的A、B、C参数(从测试系统开发者的角度来讲这是一种很不标准的做法,因为ABC系数一旦与标准不符合在计量院则无法通过考核,因为计量院校准使用的是校准器基于某一标准发出一个模拟的RTD信号作为你的测试系统的输入)。
Ref :RTD Temperature vs. Resistance Table
C#平台下已知电阻求温度
在已知电阻的情况下,只要解一元二次或一元三次方程求根即可求出对应的温度值,如下类为调用MathNet.Numerics求根的RTD温度计算类:
/// <summary> /// RTD温度计算类 /// </summary> public class RTDMode { public double A { get; set; } //RTD参数 public double B { get; set; } //RTD参数 public double C { get; set; } //RTD参数 public double R0 { get; set; } //RTD参数 private double k; //换算模型预处理斜率 private double offset; //换算模型预处理截距 /// <summary> /// 构造函数 /// </summary> public RTDMode() { A = 0.00390802; //ohm*degree^-1 B = -0.000000580195; //ohm*degree^-2 C = 0.0000000000042735; //ohm*degree^-3 R0 = 100; //ohm k = -1 / R0; offset = 1; } /// <summary> /// 根据所测得的电阻值计算温度 /// </summary> public double GetTemprature(double resistance) { //from : R=R0*(1+A*temp+B*temp^2) //to : c + b*x + a*x^2 = 0 //摘要: // Find both complex roots of the quadratic equation c + b*x + a*x^2 = 0. Note the // special coefficient order ascending by exponent (consistent with polynomials). var result = MathNet.Numerics.FindRoots.Quadratic(k * resistance + offset, A, B); return result.Item2.Real; } }
需要注意调用MathNet.Numerics求解多次方程的时候得到的不止一个根,需要根据情况找出符合实际情况的那个根作为求出的温度值
实际调用的时候如下
double resistance = 100; RTDMode rtd = new RTDTest.RTDMode(); double temperature = rtd.GetTemprature(resistance); //计算结果temperature=0
RTD接线与测量、两线制、三线制、四线制区别
两线制
2线电阻方法通常用于测量大于100Ω的电阻,激励电流流经导线和未知电阻Rmeas,因此我们实际测到的是Rmeas加上导线电阻RLead,因此由于导线电阻带来的附加误差使实际测量值偏高,用于测量精度要求不高的场合,并且导线的长度不宜过长,被测电阻不能太小(常规导线电阻值介于0.01–1 Ω之间,当Rmeas阻值小于100 Ω时,很难实现精确的2线制电阻测量)。
三线制
三线制测量通常会要求三根导线截面积和长度均相同。3线方法使用3根测试导线。一对导线用于激励电流(Ex+, Ex-),第三根导线(Sense-)用于导线电阻补偿。第三根导线测量激励电流路径的Ex-连线端的导线电阻电压。从总的差分信号中间减去该值,即设备补偿了Ex+连线端的寄生导线电阻。但上述操作仅能补偿Ex+连线端的导线电阻,不能补偿Ex-连线端。如要同时补偿Ex-和Ex+连线端的导线电阻,设备假设Ex+连线端的电压与Ex-连线端的电压相同,逼近Ex+端电压。由此Sense-和Ex-间的电压在被总的差分信号减去前被翻倍。当Ex+连线端的导线电阻与Ex-导线电阻匹配时,上述方法适用。
四线制
4线电阻方法用于测量小于100Ω的电阻,如下图所示。4线方法的精度高于2线方法。4线方法是用4条测试导线。一对导线用于注入电流(测试导线),另一对用于感应电阻Rmeas两端的电压(传感器导线)。由于传感器导线上没有电流经过,设备仅测量电阻两端的电压。4线电阻可消除测试导线和连接导线产生的误差。
Reference: