万用表热电偶测温原理

万用表热电偶测温原理

热电偶是一种常见的温度传感器,尤其适合测量高温、远距离、响应快或者环境比较恶劣的场景。它的结构很简单,通常由两种不同金属材料组成,并在一端形成测量接点。

热电偶测温时容易产生一个误解:热电偶并不是直接输出某一点的绝对温度,而是输出两个接点之间由于温度差产生的热电势。因此,要想得到真正的被测点温度,除了测量热电偶电压之外,还必须知道参考端,也就是冷端的温度。

1. 热端和冷端

热电偶不是直接测某一点的 "绝对温度",它测的是两个端点之间的温差产生的电压。这两个端点通常叫热端和冷端,其中 热端 指真正放到被测物体上的那一端,冷端 指接到电路板、接线端子、ADC 输入附近的那一端。热电偶产生的电压,主要反映的是:

热端温度−冷端温度 热端温度 - 冷端温度 热端温度−冷端温度

所以如果只看热电偶电压,并不能直接知道热端到底是多少度。必须知道冷端现在是多少度,再把它补偿回去。

举个例子:冷端 = 25°C,热端 = 100°C,热电偶输出的电压大致对应的是"从 25°C 到 100°C 的温差",而不是直接对应 100°C。

总结:冷端 可以理解为热电偶接到电路板那一端的环境温度/端子温度,用来做冷端补偿。实际产品里通常会在接线端子附近放一个 NTC、PT100、温度 IC 或 MCU 内部温度传感器来测这个冷端温度值(即冷端温度)。

2. 获取冷端

在实际使用中怎么知道冷端温度?实际使用中,冷端温度通常靠 另一个温度传感器测出来。热电偶本身只告诉你"热端相对冷端产生了多少电压",所以系统还需要在冷端附近放一个独立测温器件,用来知道冷端现在是多少度。

常见做法有这几种:

(1) 在热电偶接线端子附近放温度传感器,比如 NTC、PT100/PT1000、数字温度芯片、热敏电阻、硅温度传感器等。 这是最常见、也最合理的方式。

(2) 用带冷端补偿的热电偶采集芯片,比如一些专用热电偶 ADC 芯片内部会自带温度传感器,直接测芯片附近温度,然后自动做冷端补偿。

(3) 用固定冷端温度,比如实验室里用冰水混合物保持冷端 0°C,这是传统标准方法。 工程产品里一般不这么干,太麻烦。

(4) 简单场景下用估算值 ,可以直接给定,比如假设常温环境下,可以可以直接在程序中设定一个默认值 26°C,例如:默认冷端温度 = 26°C,对应一个固定的冷端补偿电压。这像是先假设冷端在 26°C,但如果环境变化,这种固定值会带来明显误差,或是支持由外部手动向程序输入当前的实际冷端值

总结:也就是说,实际系统应该先用板上的某个温度传感器测到接线端子附近温度,然后把冷端温度传给热电偶测温算法。这样算法才可以正确计算热电偶热端温度。

3. 为何用热电偶

既让使用热电偶测温度前提是还要另一个温度传感器,那使用热电偶测温度的意义是什么? 有意义,而且非常有意义。因为很多普通温度传感器不适合这些场景:

(1) 温度范围不够,NTC,数字温度芯片,MCU 内部温度传感器通常只能测几十到一两百度,K 型热电偶可到一千多度。

(2) 可以做得很小、响应快,热电偶接点很小,热惯性低,适合快速温度变化。

(3) 能承受恶劣环境,高温、火焰、腐蚀、振动、长线传输等场景,热电偶更合适。

(4) 测量点可以离电路很远,热电偶线可以伸到炉子,管道,模具里,而电路板和冷端传感器留在安全区域。

(5) 结构简单耐用,本质上就是两种金属形成的接点,没有半导体器件直接暴露在高温端。

因为 另一个温度传感器只测冷端,也就是电路板接线处的温度;热电偶测的是远处/高温处/恶劣环境中的被测点温度

可以这样分工:冷端温度传感器:测仪表端子附近,通常是室温附近,比如 20~60°C

热电偶:测真正目标点,可能是 300°C、800°C、1200°C,甚至在强振动、火焰、炉膛、发动机排气等环境里。

所以冷端传感器不是替代热电偶,而是给热电偶提供参考。它只需要测一个相对温和的位置,帮助把热电偶的"温差电压"还原成"热端绝对温度"。热电偶负责去危险/高温/远距离的地方测目标温度,冷端传感器负责告诉系统参考端现在是多少度。没有冷端补偿,热电偶会随仪表端环境温度漂移,有了冷端补偿,才可以把热电偶测量结果算准。

4. 冷端概念

冷端容易被曲解的是冷端比热端冷,要注意的是 "冷端不一定真的比热端冷","冷端" 这个名字更多是热电偶领域里的传统叫法,也常叫:参考端(Reference Junction),冷接点(Cold Junction)它的意思是 "接到测量电路这一端",不是说它物理上一定更冷。比如:热端为 20°C,冷端为 30°C,这时热电偶电压可能是负的,表示被测端比参考端低。

所以更准确地理解是:热端:你想测的那个接点,冷端:仪表/电路板/接线端子附近的参考接点。只要知道冷端温度,就可以把热电偶测到的 "相对电压" 换算成热端的绝对温度。名字叫冷端,但它可以比热端高温。

5. 塞贝克效应

热电偶产生的电压差从何而来? 热电偶产生的电压差来自 塞贝克效应。简单说:当一根导体两端温度不同时,导体内部的自由电子会受到温度梯度影响。热端电子能量更高,扩散趋势更强,冷端电子能量较低,扩散趋势较弱。这样会在导体内部形成一个微小电势差。

但如果用 同一种金属 绕成回路,热端和冷端产生的电势会互相抵消,外部基本测不到电压。

热电偶的关键是用了两种不同金属:金属 A 和金属 B。它们对温度梯度产生电势的能力不同,也就是塞贝克系数不同。于是两种金属在同样的热端和冷端温度下,产生的热电势不一样,二者相减后就留下了可测的电压差。

可以粗略理解为:热电偶输出电压 = 金属 A 的热电势 - 金属 B 的热电势。更准确地说,它取决于两种材料 塞贝克系数 的差,以及热端和冷端之间的温度差:

V≈(SA−SB)×(Thot−Tcold) V ≈ (S_A - S_B) × (T_hot - T_cold) V≈(SA−SB)×(Thot−Tcold)

其中:S_AS_B 为两种材料的塞贝克系数,T_hot 热端温度,T_cold 冷端温度,所以电压差不是电池那样 "自己发电" 出来的固定电压,而是由 两种不同材料 + 两端温度差共同产生的热电势。

一句话概括:热端和冷端温度不同,会让不同金属中的电子扩散程度不同,两种金属的这种差异叠加起来,就形成了热电偶输出的电压差。

6. 探头短接温度

万用表中的温度测量通常就依赖热电偶这类探头。万用表温度档把热电偶输入短接 时,理论上测到的是万用表 冷端/输入端子 附近的温度。

原因是短接后热电偶输入电压接近 0,也就是说万用表认为热端和冷端没有温差,于是计算结果就变成:显示温度 ≈ 冷端补偿温度(也就是表内部或插孔附近冷端补偿传感器测到的温度)。

注意短接时最好用同种材料或低热电势连接,别用手捏着不同金属接点,否则接触处可能形成额外热电势,读数会有一点偏差。

如果短接输入,热电偶实测电压约为 0,再结合冷端补偿查热电偶表,得到的温度就是冷端温度附近。

7. 探头悬空温度

热电偶没有接 输入端悬空时,万用表前端是高阻输入,很容易受噪声、漏电、人体感应、电路偏置影响。 这时显示的温度可能乱跳,或者固定在某个看似合理的数值,没有实际测温意义

万用表内部一般也会有冷端补偿,它会测表笔插孔附近的温度作为冷端温度。然后用:

热电偶测得的电压+插孔附近冷端补偿电压 热电偶测得的电压 + 插孔附近冷端补偿电压 热电偶测得的电压+插孔附近冷端补偿电压

换算成探头热端温度。所以如果把热电偶探头和万用表都放在同一个环境里,等稳定后显示接近室温是正常的,如果没接热电偶还显示温度,那只是悬空输入造成的假读数。

8. 分度表与温度换算

热电偶输出的是模拟电压,要想通过热电偶获得温度值,还需要依赖 热电偶分度表 ,也叫 热电偶温度-电压表(Thermocouple Reference Table) 。它不是普通的 "温度计表盘",而是一张 温度和热电势之间的对应表

在万用表温度档中,分度表的作用很直接:万用表前端测到的是热电偶插孔上的微小电压,单位通常是 mV;屏幕上要显示的是温度,单位是 °C 或 °F。分度表就是把 "mV" 和 "°C" 联系起来的标准换算依据。

8.1 分度表的参考条件

分度表通常以 冷端为 0°C 作为标准参考条件。也就是说,表中的电压值表示:冷端温度为 0∘C0^\circ\mathrm{C}0∘C,热端温度为表中给出的温度,热电势为表中给出的 mV 值。

可记为:

Tcold=0∘C T_{cold}=0^\circ\mathrm{C} Tcold=0∘C

E=E(Thot) E=E(T_{hot}) E=E(Thot)

以常见的 K 型热电偶为例,分度表大概是这种关系:

温度 °C 热电偶电压 mV
0 0.000
10 0.397
20 0.798
30 1.203
100 4.095
500 20.640
1000 41.269

例如表中:

100∘C→4.095mV 100^\circ\mathrm{C} \rightarrow 4.095\mathrm{mV} 100∘C→4.095mV

它的含义是:在冷端为 0∘C0^\circ\mathrm{C}0∘C 的标准参考条件下,K 型热电偶热端为 100∘C100^\circ\mathrm{C}100∘C 时,对应热电势约为 4.095mV4.095\mathrm{mV}4.095mV。它不是说任何情况下热端 100∘C100^\circ\mathrm{C}100∘C 都会直接输出 4.095mV4.095\mathrm{mV}4.095mV,因为实际万用表插孔附近的冷端通常不是 0∘C0^\circ\mathrm{C}0∘C。

8.2 分度表制定

分度表不是万用表生产商随意定义的,也不是某一家热电偶制造商单独决定的,而是来自热电偶标准。标准中规定了不同分度号热电偶的材料组合和温度-热电势关系,例如 K 型、J 型、T 型、E 型等。

热电偶制造商要做的是按照某个标准分度号生产热电偶。例如生产 K 型热电偶,就要使用符合 K 型要求的两种热电偶材料,并保证它在规定温度范围内的热电势误差满足标准允差。这样生产出来的 K 型探头,才可以使用 K 型分度表来换算温度。

可以简单理解为:

(1) 标准定义,材料组合 + 温度-毫伏关系 + 允许误差。

(2) 制造商生产,按某个分度号制造热电偶,并保证误差符合标准。

(3) 仪表使用,按同一个分度号的分度表解释热电偶电压。

所以分度表本质上是标准化后的材料特性。热电偶制造商不是重新定义分度表,而是让自己生产的热电偶尽量符合对应分度表;万用表厂商也不是重新定义分度表,而是在仪表算法中使用对应分度表。

如果 K 型热电偶插到只按 K 型分度表计算的万用表上,读数才有意义;如果把 J 型、T 型探头当成 K 型来算,即使电压能测到,换算出的温度也会有系统误差。

8.3 为什么要加冷端电压

热电偶实测电压反映的是热端和冷端之间的温差,而分度表给出的是 "冷端为 0∘C0^\circ\mathrm{C}0∘C 时,某个热端温度对应多少 mV"。这两个条件不一样,所以不能直接把万用表测得的热电偶电压拿去查表。

可以把分度表理解成一个函数 E(T)E(T)E(T):它表示冷端为 0∘C0^\circ\mathrm{C}0∘C、热端为 TTT 时的热电势。

实际测量时,冷端不是 0∘C0^\circ\mathrm{C}0∘C,而是 TcoldT_{cold}Tcold,热端是 ThotT_{hot}Thot。热电偶实际输出电压近似可以理解为:

Vtc=E(Thot)−E(Tcold) V_{tc}=E(T_{hot})-E(T_{cold}) Vtc=E(Thot)−E(Tcold)

所以要反推出热端温度,就要先把冷端对应的那部分电压补回来:

E(Thot)=Vtc+E(Tcold) E(T_{hot})=V_{tc}+E(T_{cold}) E(Thot)=Vtc+E(Tcold)

换成万用表算法里的写法就是:

Vcold=E(Tcold) V_{cold}=E(T_{cold}) Vcold=E(Tcold)

Vtotal=Vtc+Vcold V_{total}=V_{tc}+V_{cold} Vtotal=Vtc+Vcold

Thot=E−1(Vtotal) T_{hot}=E^{-1}(V_{total}) Thot=E−1(Vtotal)

这就是冷端补偿为什么要 "加" 冷端等效电压的原因。

8.4 如何查分度表

分度表有两个使用方向:

(1) T→VT \rightarrow VT→V:把冷端温度换算成冷端补偿电压。

(2) V→TV \rightarrow TV→T:把补偿后的总电压换算成热端温度。

看分度表时首先要确认热电偶类型。万用表温度档最常见的是 K 型热电偶,所以很多万用表默认只支持 K 型探头。如果仪表支持多种热电偶类型,就必须在软件配置或菜单中选择对应类型。K 型、J 型、T 型等分度表不能混用,同样是 1mV1\mathrm{mV}1mV,不同类型热电偶对应的温度并不一样。

其次要确认单位。分度表通常用 mV,而 ADC 或模拟前端计算时可能先得到 V。开发时必须统一单位,否则会出现 1000 倍误差。

如果输入值刚好落在表项上,可以直接取值;如果落在两个表项之间,就需要插值。

例如 K 型表中有:

(1) 20∘C→0.798mV20^\circ\mathrm{C} \rightarrow 0.798\mathrm{mV}20∘C→0.798mV。

(2) 30∘C→1.203mV30^\circ\mathrm{C} \rightarrow 1.203\mathrm{mV}30∘C→1.203mV。

要估算 25∘C25^\circ\mathrm{C}25∘C 对应的电压,可以线性插值:

V25=0.798+25−2030−20×(1.203−0.798) V_{25}=0.798+\frac{25-20}{30-20}\times(1.203-0.798) V25=0.798+30−2025−20×(1.203−0.798)

V25≈1.0005mV V_{25}\approx1.0005\mathrm{mV} V25≈1.0005mV

反过来,如果补偿后的总电压为 1.000mV1.000\mathrm{mV}1.000mV,也可以在 20∘C20^\circ\mathrm{C}20∘C 和 30∘C30^\circ\mathrm{C}30∘C 之间反向插值:

T=20+1.000−0.7981.203−0.798×(30−20) T=20+\frac{1.000-0.798}{1.203-0.798}\times(30-20) T=20+1.203−0.7981.000−0.798×(30−20)

T≈24.99∘C T\approx24.99^\circ\mathrm{C} T≈24.99∘C

所以从程序角度看,分度表至少要支持两个基础操作:

(1) 温度查电压:用于冷端补偿。

(2) 电压查温度:用于最终显示。

8.5 万用表应用

以一台支持 K 型热电偶的万用表为例,温度档通常需要两个输入量:

(1) VtcV_{tc}Vtc:热电偶插孔上测得的热电偶电压,通常是 mV 级。

(2) TcoldT_{cold}Tcold:插孔附近冷端传感器测得的温度,通常接近表内环境温度。

算法流程可以简化为:

(1) 得到热电偶实测电压 VtcV_{tc}Vtc。

(2) 得到插孔附近冷端温度 TcoldT_{cold}Tcold。

(3) 查 K 型分度表,得到 Vcold=E(Tcold)V_{cold}=E(T_{cold})Vcold=E(Tcold)。

(4) 计算 Vtotal=Vtc+VcoldV_{total}=V_{tc}+V_{cold}Vtotal=Vtc+Vcold。

(5) 查 K 型分度表,得到 Thot=E−1(Vtotal)T_{hot}=E^{-1}(V_{total})Thot=E−1(Vtotal)。

(6) 显示 ThotT_{hot}Thot。

举一个贴近万用表的例子。用户把 K 型热电偶插到万用表温度档,探头放在热水中:

Tcold=25∘C T_{cold}=25^\circ\mathrm{C} Tcold=25∘C

Vtc=3.095mV V_{tc}=3.095\mathrm{mV} Vtc=3.095mV

先查 K 型分度表,25∘C25^\circ\mathrm{C}25∘C 对应的冷端等效电压约为:

Vcold≈1.000mV V_{cold}\approx1.000\mathrm{mV} Vcold≈1.000mV

再计算补偿后的总电压:

Vtotal=Vtc+Vcold V_{total}=V_{tc}+V_{cold} Vtotal=Vtc+Vcold

Vtotal=3.095mV+1.000mV=4.095mV V_{total}=3.095\mathrm{mV}+1.000\mathrm{mV}=4.095\mathrm{mV} Vtotal=3.095mV+1.000mV=4.095mV

最后用 K 型分度表反查:

4.095mV→100∘C 4.095\mathrm{mV} \rightarrow 100^\circ\mathrm{C} 4.095mV→100∘C

所以万用表最终显示的探头温度约为 100∘C100^\circ\mathrm{C}100∘C。

这个流程也能解释温度档短接时的现象。如果热电偶输入被短接,热电偶实测电压接近 0:

Vtc≈0 V_{tc}\approx0 Vtc≈0

Vtotal≈Vcold V_{total}\approx V_{cold} Vtotal≈Vcold

此时万用表反查出来的温度就接近插孔附近的冷端温度,所以短接温度档时,屏幕上通常会显示接近室温或表内温度的数值。

总结一下,万用表温度档中分度表的关键用法是:冷端温度查表得到补偿 mV,热电偶实测 mV + 补偿 mV 得到总 mV,总 mV 反查分度表得到显示温度。

这里最重要的点是:万用表测到的热电偶电压不能直接查温度,必须先加上冷端温度对应的补偿电压。