龙空技术网

热敏电阻温度采集简述

zhangxiala1 250

前言:

如今我们对“温度采集算法”大致比较讲究,朋友们都想要学习一些“温度采集算法”的相关资讯。那么小编同时在网上网罗了一些有关“温度采集算法””的相关文章,希望你们能喜欢,咱们一起来学习一下吧!

热敏电阻NTC

一. 热敏电阻总体说明

本简述是说明 NTC热敏电阻器对温度的测量。热敏电阻器把温度的变化转换为电阻阻值的变化, 再应用相应的测量电路把阻值的变化转换为电压的变化;然后通过芯片或处理电路,可以把模拟的电压值转换为数字信号,对数值信号进行处理可以得到相应的温度值。也就音特公司常提到的模数转换.

1.1 热敏电阻器热敏电阻有电阻值随温度升高而升高的正温度系数

Positive Temperature Coefficient 简称 PTC热敏电阻有电阻值随温度升高而降低的负温度系数Negative Temperature Coefficient简称 NTC 热敏电阻。NTC 热敏电阻器,是一种以过渡金属氧化物为主要原材料,采用电子陶瓷工艺制成的热敏半导体陶瓷组件。这种组件的电阻值随温度升高而降低,利用这一特性可制成测温、温度补偿和控温组件,又可以制成功率型组件,抑制电路的浪涌电流。

电阻温度特性可以近似地用下式来表示:

热敏电阻温度特性可以近似地用下式来表示

公式中:RT、RN分别表示NTC在温度T(K)和额定额定温度TN (K)下的电阻值,单位Ω,T、TN 为温度, 单位K(TN(k)=273.15+TN(℃))。B,称作B值,NTC热敏电阻特定的材料常数(Beta)。由于B值 同样是随温度而变化的,因此NTC热敏电阻的实际特性,只能粗略地用指数关系来描述,所以这种方法只能以一定的精度来描述额定温度或电阻值附近的有限的范围。但是在实际应用中,要求有比较精确的 R-T 曲线。要用比较复杂的方法(例如用 The Steinhart-Hart 方程),或者用表格的形式来给定电阻/温度关系。

下表是选用 NTC热敏电阻器 MF52-502F3950B,基于精确的R-T 曲线,来对温度进行精确的测量。

1.2 电阻-温度关系如表A1 所示,NTC 热敏电阻器 MF52-502F3950B 各温度点的电阻值,即电阻-温度关系表。从提供的电阻-温度关系表中可以 看出 NTC 热敏电阻器MF52-502F3950B的测温范围为 [-55℃,125℃],其电阻值的变化范围为[250062Ω,242.64Ω]。

表A1MF52-502F3950B所示:

热敏A1MF52-502F3950B

热敏A1MF52-502F3950B

热敏A1MF52-502F3950B

1.3数值处理

通过表 A1 电阻-温度关系表可以很直观的看到电阻的变化范围从 242.64Ω到 250062Ω,在-55℃的时候其表现出的电阻值是 125℃时所表现的电阻值的 1030 倍,这么大的变化范围也为模数转换测量带来了困难。

测量电路如下图所示。

热敏电阻测量电路

如上图所示 NTC 热敏电阻 Rv 和测量电阻 Rm(精密电阻)组成一个简单的串联分压电路,参考电压VCC_Ref 经过分压可以得到一个电压值随着温度值变化而变化的数值,这个电压的大小将反映出NTC 电阻的大小,从而也就是相应温度值的反映。 通过欧姆定律可以得到输出电压值Vadc 和 NTC 电阻值的一个关系表达式1:

电压值Vadc 和 NTC 电阻值

那么接下来的数据处理将基于式上式展开:查出处理芯片也称模数转换器 ADC 的精度,其参考电压为 5V,因此这里可以选择 Vref=5V。各温度点对应的 ADC 转换后的数字量可以计算。

表达式2.

Dadc = 1024*Vadc/5V

结合表达式1和表达式2,可以得出表达式3:

Dadc = 1024*Rm/(Rv+Rm)

如果这里取 测量电阻Rm 选择4.7KΩ,那么可以计算出:

在- 55℃时 所对应的 Dadc = 1024*1000/(250062+1000) = 4;

在 125℃时 所对应的 Dadc= 1024*1000/(242.64+1000)= 824。

根据这样的对应关系对数据进行预处理,得到如下处理结果如下数据所示:

atic const Int16 NTCTAB2[181] =

{19,20,21,22,23,24,26,27,29,30,32,34,36,38,40,42,44,47,49,52,55,57,61,64,67,71,74,78,82,86,90,95,99,104,109,114,120,150,156,161,168,172,180,187,194,201,208,215,222,230,238,247,255,264,272,280,291,302,310,319,328,338,347,357,367,376,384,395,405,414,424,434,444,453,464,474,484,494,502,512,522,531,540,551,560,569,579,586,595,604,613,624,633,642,650,658,666,673,680,688,696,704,712,719,726,733,741,749,755,760,767,774,780,785,791,798,804,811,816,821,827,832,837,842,847,851,856,862,868,873,856,860,864,868,872,876,879,883,886,890,893,896,899,902,905,908,911,914,917,919,922,924,927,929,931,934,936,938,940,942,944,946,947,949,951,953,954,956,958,959,961,962,964,965,966,968,969,970,971,973,974};//4.7K

重要说明:

这个表格是应用中所需要的一个很重要的转换表,这一部分是事先制作好的表格,将为接下来的处理提供参考依据。测量电阻 Rm 的选取是有一定的规律的,在实际的应用中不一定都需要测量全程温度,可以估算出大致的温度范围。本着提高测量精度的宗旨:如果是应用在测量低温的系统中建议 Rm 选择较大 的电阻(10KΩ),如果在测量较高温的系统中建议 Rm 选择较小的电阻(1KΩ)

等。

1.4线性差值

在ADC 进行数据采集的过程中不可能每一个数值都在整温度所对应的 ADC 数值上,所以如果在两个数据的中间一段就要对其进行进一步的精确定位。这样就必须知道采集到的数据在数据表中的具体位置,因此要对数据表进行搜索、查找。线性表的查找(也称检索),可以有比较常见的顺序查 找、折半查找及分块查找等方法,分析线性数据表可以得到折半查找的算法是比较高效的。

例如:如果 ADC 采样的数值为 Dadc = 360,即 357<Dadc<367,那幺温度值就绝对不是一个 整数值了,怎么来得到具体的温度值呢!可以运用简单可行的线性插值来对付类似的情况。 插值求得温度值实际就是用直线 L 拟和温度曲线 T,这样的做法虽然难免的有一定的误差,但是可以控制在允许的范围内的,线性插值原理如下图所示。

已知点(X1,Y1)和点(X2,Y2)求(Xi,Yi)。 由两点可以得到直线L 的方程式

(X1,Y1)和点(X2,Y2)求(Xi,Yi)

点(X1,Y1)和点(X2,Y2)为相邻两温度点,所以 X2-X1=1那么由式上式可得:

X2-X1=1

这样通过 ADC采样来的 Dadc(Y1)数值带入式X上式中,可以求得相应的温度值。 差值计算出来的数值肯定是小数,那幺需要对数值进行特殊的处理:基于定点计算的思想,把

数据首先规格化,把小数点定在第六位即计算数值放大64倍参与计算,当然在计算后的温度数据也应该是真实数值的64倍,所以需要 X/64得到的数值为实际测量到的温度值。把小数点定的位数越 高表示的精度越高。

这样的插值计算实际上是分段的, 用直线段来模拟温度曲线, 因此在处理的过程中分段越细致拟和的曲线就越接近实际温度曲线。

二.软件部分 (本司不做详细说明)

应用例程序部分主要针对 NTC热敏电阻测量温度的应用,其中最主要的是使用 ADC模块对信号的采集和处理,从而得到温度数值。

三. 硬件原理图

硬件原理图,如下图所示。显示部分电路原理图为示意图。

硬件原理图

下一章自恢复保险丝

音特电子研发组

更多电路保护解决方案与技术:

标签: #温度采集算法