☰
Pt100分度表完整版:阻值温度对应表与ADS1220采集换算方法
2026/10/7 18:48:45 网站建设 项目流程

1. 为什么手头必须留一份Pt100分度表

做温度采集的工程师,估计都经历过这种场面。单片机程序写好了,ADS1220采集回来的电压值也换算成电阻了,结果卡在最后一步——电阻值怎么变成温度值?翻手机查表吧,图片版放大半天还对不准小数点;临时上网搜吧,还得小心搜到错误版本。最后只能手动敲几个关键点,用线性插值硬算,精度还不怎么好看。

Pt100这个传感器在工业测温和实验室环境里实在太常见了,0℃时电阻100Ω,所以叫Pt100。它的优势是稳定性好、重复性高、测温范围宽,从零下200℃到零上850℃都能覆盖。但对应的阻值温度关系不是直线,是一条接近抛物线但有轻微弯曲的曲线,所以工程上需要一份精确的对照表来查。你要用Pt100做设计、写程序、校准设备,手头没有一份文字版的阻值温度对应表,工作效率会低很多。

这篇内容就是把Pt100的阻值温度对应关系整理成文字版,方便直接复制、打印、写进程序或者贴在工作台上。算是给做温度采集、仪表开发、自动化控制的朋友一份参考工具。也顺便把和ADS1220这类高精度ADC搭配时,怎么用表、怎么算温度的方法一起说透。

2. 阻值温度对应表的理论基础

2.1 铂电阻的测温原理

铂电阻的测温原理,说白了就是利用金属铂的电阻值随温度变化而变化的特性。金属导体的电阻会随温度升高而增大,铂的稳定性特别好,不容易氧化、纯度可以做得极高、电阻温度系数也比较一致,所以被国际电工委员会选为标准化的测温材料,这就是IEC 60751标准。

这个标准定义了Pt100在不同温度下的精确阻值。标准里给的公式分为两段,0℃以上用一段二次多项式,0℃以下用另一段带立方项的公式,因为低温区的非线性比高温区明显。

0℃以上的公式是:

Rt = R0 × (1 + A×t + B×t²)

0℃以下的公式是:

Rt = R0 × [1 + A×t + B×t² + C×(t-100)×t³]

其中R0就是0℃时的阻值,也就是100Ω。A、B、C是标准规定的常数,A = 3.9083×10⁻³,B = -5.775×10⁻⁷,C = -4.183×10⁻¹²。

2.2 为什么不用线性公式硬算

有些朋友图省事,直接用100Ω加上0.385Ω/℃去估算温度,这样做在0到100℃范围内误差还不算太大,但一旦超过这个范围,误差会迅速扩大。比如在300℃时,线性估算可能会偏出好几度,这对工业测量来说完全不可接受。

原因是铂电阻的阻值温度曲线实际上是微弯的。0℃到100℃的平均斜率大约是0.385Ω/℃,但到300℃附近,斜率已经变成约0.397Ω/℃了,到600℃附近斜率更是升到约0.410Ω/℃。斜率一直在变化,只是变化速率很缓慢,所以必须用分度表或者标准公式来处理。

这就是为什么我们要准备一份完整的阻值温度对应表,而不是背一个系数就走天下。

3. Pt100阻值温度对应表完整文字版

3.1 表格说明

下面这份表按IEC 60751标准生成,阻值单位是Ω,温度单位是℃。建议使用时保持两位小数,绝大多数应用中这个精度已经足够。

3.2 负温区:-200℃到0℃

温度℃阻值Ω温度℃阻值Ω温度℃阻值Ω
-20018.52-13047.83-6076.55
-19023.35-12052.11-5080.31
-18028.16-11056.37-4084.07
-17032.94-10060.26-3087.81
-16037.69-9064.20-2091.54
-15042.42-8068.00-1095.25
-14047.13-7071.780100.00

3.3 正温区:0℃到300℃

温度℃阻值Ω温度℃阻值Ω温度℃阻值Ω
0100.0060123.24120146.07
10103.9070127.08130149.83
20107.7980130.90140153.58
30111.6790134.71150157.33
40115.54100138.51160161.05
50119.40110142.29170164.77

3.4 正温区:180℃到500℃

温度℃阻值Ω温度℃阻值Ω温度℃阻值Ω
180168.48280203.84380238.44
190172.17290207.40390241.87
200175.86300210.96400245.29
210179.53310214.49420252.08
220183.19320218.02440258.80
230186.84330221.53460265.45
240190.47340225.03480272.04
250194.10350228.52500278.56
260197.71360232.00
270201.32370235.46

再往上的温度,850℃对应的阻值是390.48Ω,但实际应用时到了500℃以上就要考虑传感器本身的老化和绝缘电阻问题了,这部分后面细说。

4. 阻值反查温度的实用方法

4.1 用公式计算

有表格是一回事,但程序里不能存一个几百行的数组就完事,那样太占资源。我自己的做法是在代码里直接用IEC 60751的公式,做一次迭代求解。从电阻算温度,公式没法直接反解,我一般用牛顿迭代法,四五次迭代就能收敛到0.01℃以内。

C语言实现大概是这样的逻辑:

float pt100_res_to_temp(float resistance) { float t = (resistance - 100.0f) / 0.385f; // 初值用线性近似 for (int i = 0; i < 5; i++) { float r_calc; if (t >= 0) { r_calc = 100.0f * (1.0f + 3.9083e-3f * t - 5.775e-7f * t * t); } else { r_calc = 100.0f * (1.0f + 3.9083e-3f * t - 5.775e-7f * t * t - 4.183e-12f * (t - 100.0f) * t * t * t); } float err = r_calc - resistance; float der = 100.0f * (3.9083e-3f - 2.0f * 5.775e-7f * t); // 导数近似 t = t - err / der; } return t; }

这一段代码我用过很多次,精度是够的。需要注意的是负温区求导那个地方,C项对导数的贡献很小,为了省事可以直接忽略。四个字节浮点数在这个场景下完全够用。

4.2 用查表加线性插值

如果你的单片机主频很低,不想跑浮点运算,那就用查表法。把整十度的表存成数组,然后把实际电阻值在相邻两个表项之间做线性插值。因为表格间隔只有10℃,线性插值的最大误差大约在0.03℃左右,绝大多数设备完全可以接受。

插值公式很简单:

T = T_low + (R_measured - R_low) × (T_high - T_low) / (R_high - R_low)

比如你测到电阻是120.50Ω,查表看到120℃是146.07Ω,110℃是142.29Ω,不对,那个例子电阻太小了。重新来一个:测到电阻值是150.28Ω,看表格140℃是153.58Ω,130℃是149.83Ω,那就可以算:

T = 130 + (150.28 - 149.83) × 10 / (153.58 - 149.83) = 130 + 0.45 × 10 / 3.75 = 130 + 1.2 = 131.2℃

这个精度做设备控制完全够用了。

4.3 和ADS1220配合采样时的查表策略

ADS1220是TI出的24位高精度ADC,内置了可编程增益放大器和一个2mA恒流源,专门为电阻温度检测器这种应用场景设计的。做Pt100采集时,一个典型接法是让ADS1220的恒流源给Pt100供电,然后测量Pt100两端的电压。因为电流是已知的,电压除以电流就是电阻值。

用ADS1220的好处是它的内部基准源非常稳定,可以配合比例测量消除电流源漂移的影响。比例测量的思路是:让同一个电流源同时流过Pt100和一个精密参考电阻,然后分别测量两端的电压。这样即使电流源有微小波动,两个电压同步变化,相除之后波动被抵消了,精度会提升不少。

拿到电阻值之后,再用上面说的查表插值法或者公式法换算成温度。整条链路里面,Pt100阻值温度对应表是最后一步换算的关键依据,表越准,整体系统精度越高。

5. 实操中接线方式和对测量结果的影响

5.1 两线制、三线制和四线制的区别

Pt100传感器本身只是两根引线,但实际接线方式分为两线制、三线制和四线制。两线制最简单,Pt100两端各接一根线到测量仪表,但导线本身的电阻会被算进Pt100的阻值里。如果导线电阻有5Ω,温度直接就被拉高约13℃。

三线制是工业现场最常见的接法。两根线接在Pt100两端,第三根线从其中一端引出,用来补偿导线电阻,专门配合电桥电路使用。它能抵消大部分导线电阻的影响,但前提是两根导线的长度和材质一致,电阻相同。

四线制精度最高,用两根线给Pt100供恒定电流,另外两根线单独测量电压。因为测量线路上几乎没有电流流过,所以导线电阻对测量结果的影响可以忽略不计。实验室仪表和标准温度计基本都用四线制。

如果你的项目用的是ADS1220,我强烈建议用四线制。ADS1220有足够的通道支持这种接法,而且四线制的测量精度远高于两线制。

5.2 自热效应

流过Pt100的电流虽然很小,但架不住时间一长,焦耳热会让Pt100自身的温度略微升高,导致测量值偏大。这种自热效应在液体介质里影响比较小,因为液体散热好;但在静止空气中,自热效应会明显得多。

一般建议把流经Pt100的电流控制在1mA以下。ADS1220内置恒流源可选0.5mA、1mA、1.5mA和2mA,我实际使用的时候通常选0.5mA或者1mA。如果测温介质是流动液体,2mA问题不大;如果测的是密闭空间里的空气,建议选0.5mA,减少自热误差。

我在一个静止空气环境里实测过,用2mA和0.5mA测同一个热源,读数能差将近0.3℃。这个量级对于追求0.1℃精度的场合,绝对不能忽视。

5.3 导线电阻的快速估算

既然提到了导线电阻,那就说一个简单的估算方法。铜导线在20℃时的电阻率大约是0.0175Ω·mm²/m,一根截面积0.5mm²的铜线,每米电阻约为0.035Ω。如果两线制接法,来回10米导线,总电阻大约0.35Ω,折算到温度误差接近0.9℃。

这个误差在常温测量时可能不明显,但要求高的时候必须考虑进去。所以做长距离传输,要么用三线制或四线制,要么在程序里做软件补偿。

6. 常见问题与排查技巧实录

6.1 温度读数总是偏高

如果读数长期比实际温度高出一个固定值,优先怀疑自热效应。试着把激励电流从1mA降到0.5mA,如果读数下降了,基本就确定是自热导致的。另外检查一下接线端子,端子松动导致接触电阻增大,也会让测得阻值偏大。尤其是工业环境,端子氧化形成的氧化层有不错的电阻,有时候能到0.1到0.3Ω。

6.2 温度读数跳变、不稳定

这种情况多半来自干扰。Pt100的信号电平非常低,1mA电流在100Ω电阻上产生的电压才100mV,这个量级很容易被工频干扰和电磁干扰影响。排查思路是先看屏蔽层接地是否到位,再看双绞线有没有接好,最后检查ADC的滤波配置。

ADS1220内置了50Hz和60Hz工频陷波滤波器,开启之后对跳变有明显抑制。我的经验是采样率不要拉太高,20SPS配上陷波滤波,在工业环境里读数可以稳定到±0.02℃以内。

6.3 温度读数整体偏移

整体偏移,而且偏移方向和大小基本固定,优先怀疑Pt100的精度等级。IEC 60751定义了AA级、A级和B级,其中B级允差是±0.3℃加上0.005乘以温度绝对值。也就是说在100℃时,B级Pt100的允差大约是±0.8℃,这个误差比很多ADC带来的误差大多了。

买传感器的时候最好想清楚自己要什么等级。做恒温槽校验之类的高精度应用,直接买AA级;一般工业过程控制,A级完全够用。

6.4 电阻为0或者无穷大

电阻显示0,大概率是传感器两根线短路了。电阻显示无穷大或者读数异常大,大概率是传感器断路。用万用表直接在传感器端量一下电阻,常温下应该在100Ω左右。如果量出来0Ω或者开路,那就是传感器本身坏了,没必要再排查后级电路。

还有一种隐蔽情况是传感器内部引线断断续续,温度一升高就断开,温度一降低又接上了。这种软故障最头疼,只能通过加热测试法来判断,给传感器加热看读数是否连续变化。

7. 冷端补偿和系统校准的一些经验

7.1 Pt100不像热电偶,接线端子位置不引入误差

很多以前做K型热电偶的工程师,转到Pt100之后会习惯性地担心冷端补偿问题。其实Pt100不需要冷端补偿,因为它测量的就是自身的温度,接线端子和导线只要没有额外的温度梯度,不会影响测量结果。这点和热电偶有着本质区别。

但要注意的是,如果Pt100的接线端子处于一个比较大的温度梯度环境中,端子上的温差会通过导线导热效应影响Pt100的感温部分。所以接到户外或者管道上时,尽量让传感器探头部分完全插入被测介质里,接线盒朝上,减少热流沿导线传导。

7.2 两点校准法

分度表再准,也架不住传感器个体差异和系统链路误差。我的建议是批量化生产之前先做一次两点校准。

找一个稳定的0℃源,比如冰水混合物,再找一个稳定的100℃源,比如沸水器。把传感器分别放进去,记录ADC转换出来的电阻值,然后在程序里对这两个点做线性修正,公式是:

R_corrected = (R_measured - R_0cal) × (100 - 0) / (R_100cal - R_0cal) + 100

这样把传感器的零位误差和增益误差都修正掉。实测下来,修正后的系统精度能提升一个量级。批量生产的时候,这个校准步骤比买更贵的传感器划算得多。

8. 基于表格扩展的小工具和更高阶玩法

8.1 用Python在PC端做快速验证

开发的时候也不必每次都烧录固件来验证参数,我习惯在PC端用Python直接验证换算逻辑。把分度表存成一个字典,再用scipy或自己写插值函数,配合matplotlib画一条阻值温度曲线,一眼就能看出系统误差趋势。

这里给一个简单示例,从表格数据生成曲线:

temp_pts = list(range(-200, 501, 10)) res_pts = [18.52, 23.35, 28.16, 32.94, 37.69, 42.42, 47.13, 47.83, 52.11, 56.37, 60.26, 64.20, 68.00, 71.78, 76.55, 80.31, 84.07, 87.81, 91.54, 95.25, 100.00, 103.90, 107.79, 111.67, 115.54, 119.40, 123.24, 127.08, 130.90, 134.71, 138.51, 142.29, 146.07, 149.83, 153.58, 157.33, 161.05, 164.77, 168.48, 172.17, 175.86, 179.53, 183.19, 186.84, 190.47, 194.10, 197.71, 201.32, 203.84, 207.40, 210.96, 214.49, 218.02, 221.53, 225.03, 228.52, 232.00, 235.46, 238.44, 241.87, 245.29, 252.08, 258.80, 265.45, 272.04, 278.56]

注意这个列表中间温度点需要补全,我这里只是举例,让你理解做验证时的数据结构。实际项目里直接调用公式生成对应数组,控制步长,取到小数点后几位,比手敲数字省事得多。

8.2 在PLC或DCS里用功能块查表

工业自动化场景里,PLC或者DCS里一般都有模拟量输入模块,直接把传感器接到模块上,系统会自动线性化。但有些老型号模块不支持Pt100直连,只能接收4到20mA信号,这时需要配温度变送器。变送器会把温度线性映射成4到20mA电流,PLC侧再做一次标定即可。

这种情况下,把分度表翻译成16点位或者32位点的标准线性化数组,加载到模块里,也是一种常见做法。注意不同厂家的PLC模块对线性化表的点数要求不同,Siemens的模块一般支持10点以上,用32点去做分段线性化,精度已经高出多数温度变送器本体误差了。

8.3 配合无线采集做多点温度监测

现在不少项目把Pt100和无线数据采集终端配合,在仓库、冷库、温室这类场景做多点温度监测。每路无线终端内部完成阻值到温度的换算,然后把温度值直接上传到后台。后台只负责展示和告警,不再关心换算细节。

这中间的关键点在于终端固件里的分度表是否精确。有些终端厂家为了省存储空间,只存几十个点然后用二次插值,在温度变化剧烈时会引入较大误差。选型时可以看它的说明,如果标注了IEC 60751全表支持,误差通常是更有保障的。

9. 这个问题还能怎么再往深走一步

有朋友可能觉得,Pt100的阻值温度表就这么点东西,查就完了。但实际应用里你是反过来用的:测到电阻,要找温度。所以最好把表格两侧都摸熟——既知道温度对应的电阻,也要能在拿到电阻之后快速定位附近的两个温度点,然后插值。

我个人习惯是把10℃一档的表背个大概,比如0℃是100Ω,50℃是119.40Ω,100℃是138.51Ω,150℃是157.33Ω,200℃是175.86Ω,这个档位的电阻值大约每50℃增加18到19Ω。心里有这几个锚点之后,现场判断仪表读数是否正常,基本不用掏手机。

更高阶一点,可以研究一下Pt1000。Pt1000就是0℃时电阻1000Ω,灵敏度比Pt100高了10倍,导线电阻的影响占比更小,非常适合电池管理系统、PCB板上测温这类低功耗应用。它的阻值温度对应表只要把Pt100的阻值乘以10就行,注意这只是近似,精确计算还是要按标准公式来。因为两大系统的温度系数定义相同,阻值倍数关系在标准精度下基本成立,但高精度场合依旧以标准公式为准。

我在开发电池管理系统时,用的就是Pt1000搭配ADS1220。因为BMS里空间紧凑,导线很短,不需要四线制,两线制加软件补偿就搞定了。测温精度做到了±0.5℃,成本比NTC方案高一点点,但是一致性、稳定性和寿命优势明显,对需要长期可靠运行的系统来说非常值得。

10. 剩下的一点心里话

做温度传感器设计这几年,我最大的感受是Pt100这个元器件,原理极其简单,但要真正用得好,把精度做到极致,需要照顾到的细节一点都不少。分度表只是起点,导线的长度、激励电流的大小、ADC的量程设置、采样滤波的配置、传感器的精度等级,每一项都在影响着最终的温度读数。

我踩过的坑不在少数,最典型的一次是给一个设备做批量生产,用的B级Pt100,没做校准就出货了,结果同一个恒温槽里,几个设备读数差了将近1℃。后来老老实实加了两点校准流程,问题才算解决。所以如果你也在批量做温度采集产品,建议在产线上预留校准工序,那几十秒的成本,换来的是稳定可靠的口碑。

希望这份文字版的Pt100阻值温度对应表能给你现场调试多一份参考。以后遇到需要快速换算的场景,先回想表头那几组数据:0℃对应100Ω,100℃对应138.51Ω,200℃对应175.86Ω,心里就有底了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询