24小时联系电话:18217114652、13661815404

中文

您当前的位置:
首页>
电子资讯>
技术专题>
PCB设计热敏电阻测量...

技术专题

PCB设计热敏电阻测量中获得温度值


PCB设计的所有产品中都有某种形式的温度回路。最简单且最具成本效益的电路使用负温度系数(NTC)或正温度系数(PTC)热敏电阻来测量温度。最基本的电路是基于电阻分压器,该电阻分压器连接到具有模数转换器(ADC)的低成本微控制器(MCU)。这里我们将介绍了如何将NTCPTC热敏电阻与ADC一起使用,以及各种处理技术将ADC测量结果转换为可用的温度值。

典型的热敏电阻电路提供施加到ADC输入端的电压(V Sense)。然后,ADC将该电压转换为与输入电压成比例的LSB(最低有效位)数字值。对于许多低成本MCU而言,常见的ADC分辨率为12位,因此本文中的公式将使用12位分辨率。图1显示了分压电路和恒流电路。

 

1. 分压器和恒流电路实现

您可以使用公式1将测得的12ADC LSB值转换为电压:

其中ADC分辨率(12ADC2 12))为4,096总位,V REF3.3 V,测得的ADC LSB值为2,024(德州仪器(TITMP61热敏电阻系列测试板的ADC LSB值示例) 。

例如:

公式2通过分压器的V Sense计算电阻:

例如:

公式3从恒定电流I bias计算出电阻:

其中I bias200 µATMP61系列器件的默认标准电流),V Sense1.63V 

例如: 

转换方式

将电压转换为ADC表示后,有多种方法可以从热敏电阻的V Sense电压获取实际温度。最常见的方法使用查找表(LUT),也称为电阻表,通常由热敏电阻制造商提供。1°CLUT表具有166个元素,必须存储在控制器中,但这会占用控制器内存。为了减少元素的数量,可以使用5°CLUT,但是在计算中可能会有一些线性误差。一个5°CLUT需要33个元素,但没人希望看到5°C的分辨率,因此有必要对LUT进行进一步处理,以使其获得优于5°C1°C的分辨率。我将在线性插值部分中进一步讨论。

另一种方法是使用Steinhart-Hart方程,该方程基于三阶多项式曲线拟合。这将需要自然对数数学来完成,并且您必须具有浮点控制器或浮点数学库才能执行计算。Steinhart-Hart方程比LUT更精确。

给定器件的线性输出,PTC可以使用多项式方程式。多项式方程是从热敏电阻获取温度的最准确方法。多项式是变量的数学表达式,仅涉及加,减,乘和非负整数的运算。描述多项式的另一种方法是,它们为斜率提供曲线拟合方程。您必须自己应用多项式拟合,然后求解回归函数(基于曲线拟合的温度)以获得温度。大多数PTC基于多项式。

不用担心 一旦掌握了多项式,您将获得更好的准确性;另外,您的控制器中不需要LUT。这些是简单的数学函数,其处理速度比带插值的LUT更快。TI的设计工具可以为您提供LUT或四阶多项式和回归函数,并提供示例示例,说明如何在C代码中为控制器应用这些数学函数,以从热敏电阻获得最准确的温度。

查找表

LUT通常在-40°C125°C的范围内变化,但会根据热敏电阻的热极限而变化。LUT有两种类型:1°C5°C。有关示例,请参见图2

2.  TMP61热敏电阻系列的1°C5°C表示例

LUT方法的工作方式如下:

1°C步进LUT存储到控制器的存储器中。

根据读取的ADC LSB值计算测得的电阻值。

在存储的LUT中找到最接近的电阻匹配。与找到的电阻值对应的温度将是结果温度。

如果要提高精度而不是舍入到LUT中的最接近值,则需要对1°C步进LUT进行线性插值。使用5°C步进LUT可以节省一些存储空间,因为它是一个较小的表,并且插值将提供合理的精度。但是,温度计算中的线性步进误差会很小。 

线性插值

插值是计算并插入一个在两个已知值之间得出的中间值。

插值方法如下所示:

1°C5°C的步进LUT存储到MCU的存储器中。

根据读取的ADC LSB值计算测得的电阻值。

计算被测电阻与LUT中两个最接近的电阻值之间的距离。将相应电阻的相同比率应用于温度值(也称为两点之间实际温度的线性近似)。

公式4是线性插值过程的公式:

其中X是热敏电阻的已知值,Y是温度的未知值,X 1Y 1是比已知电阻及其相关温度低的最接近值,而X 2Y 2是比已知电阻高的最近值比已知的电阻及其相关温度低。

Y值将是LUT的最高温度和最低温度之间最接近的温度值。

如果以5°C的步长提供LUT,请注意,使用线性插值将其转换为1°C LUT可能会产生0.5°C的线性误差。这是通过线性步长在两个值之间进行计算得出的数学错误。如果可以从制造商处获得,则通常最好使用1°CLUT

Steinhart-Hart方程

Steinhart-Hart方程是使用自然对数的三阶多项式。从已知电阻得出温度可能是一种准确的方法。Steinhart-Hart方法中使用的方程式需要来自热敏电阻LUT的三个电阻值来计算估计的曲线拟合:

R1 =最低温度下的电阻(T1 = -40°C)。

R2 =中等温度下的电阻(T2 = 25°C)。

R3 =最高温度下的电阻(T3 = 125°C)。

您可以在下面的系数公式中使用这些变量,并且只需要计算一次。

您必须解析每个元素,才能确定计算Steinhart-Hart方程所需的三个系数,其中ln 是自然对数。

公式567将提供计算温度所需的系数。您只需要计算一次。

公式8计算了温度。每次要从计算得出的电阻中知道温度时,都将使用公式8

* T是开氏温度(°C =°K-272.15)(°F =1.8×°C+ 32)。 

多项式

三阶和四阶多项式是计算TI热敏电阻产品组合的温度值的最准确,最快的方法。您将不需要LUT。四次函数是一个四阶多项式,根据温度得出电阻值。使用回归公式将得出基于测得电阻的温度值。

首先在Microsoft Excel中打开空白电子表格。从设备的LUT输入温度和电阻值。如图3所示,使用散点图而非线图来绘制典型电阻。

3. 四次函数图 

X轴为温度,Y轴为电阻,右键单击绘图线,然后选择添加趋势线。图4显示了格式趋势线窗口。选择多项式并将顺序更改为“ 4

4. Excel中的趋势线

格式趋势线窗口的底部,选择在图表上显示方程式在图表上显示R平方值。图中显示的方程式将是您的四阶多项式四次函数,使您能够从温度中获取电阻值。获取系数的另一种方法是使用ExcelLINEST函数。语法为LINESTknown_y[known_x][const][stats])。请记住,四阶多项式具有五个系数。

在趋势线提供的四阶多项式中,您会注意到一些数字使用加法,而某些使用减法。下面的四次函数使用所有加法。在系数中,将系数的符号更改为负值,以便根据趋势线多项式进行减法。

4阶多项式是四次函数,可通过公式9计算,其中电阻是温度的函数。

RΩ= A4 *T 4+ A3 *T 3+ A2 *T 2+ A1 * T + A0 

其中R是热敏电阻的电阻,T是温度,A0 / A4是系数。

 

系数

8.479874E + 03

A0

5.548683E + 01

A1

1.577759E-01

A2

-2.849901E-04

A3

2.165629E-06

A4

回归函数

回归函数是四阶多项式的逆函数。只需将X轴替换为Y轴,如图5所示。图中所示的4阶多项式方程式将使用电阻值来找到温度。

5.回归图

公式9中的四阶多项式回归,其中温度是电阻的函数:(Y = Y轴,即温度)

T°C = A4 *R 4+ A3 *R 3+ A2 *R 2+ A1 * R + A0 

其中R是热敏电阻的电阻,T是温度,A0 / A4是图5中列出的系数。

准确度

R 2是多项式曲线的趋势线的拟合值。R²= 1.00000E + 00非常适合,并且根据多项式计算电阻时的误差很小。可接受的R 2值为R 2 = 0.999及以下。

温度精度的公差将根据您的应用而变化。1-3°C的精度适用于大多数温度测量应用。我总是建议您在设计之初就确定该值,并尝试实现此目标。

潜在错误

使用公式计算温度时,大多数误差是由数学和舍入误差引起的。图6提供了一个由四舍五入引起的数学错误的示例。要记住的一个好习惯是,使用的小数点后的位数越多(例如0.123456),公式将越精确。

6.回归错误

我建议至少使用六位数字-最好是小数点后九位或12位数字-以获得更好的精度。小数点后的最佳位数为16。尽管对于电子表格而言这是可能且容易的,但对于MCU而言并不总是可行的。六位数字将在整个温度范围内提供优于0.4°C的精度,这仍然比LUT更准确。图6中的回归计算图显示了小数点后六位数字的潜在误差。

请输入搜索关键字

确定