24小(xiǎo)时联系電(diàn)话:18217114652、13661815404
中文(wén)
- 您当前的位置:
- 首页>
- 電(diàn)子资讯>
- 技术专题>
- PCB设计热敏電(diàn)阻测量...
技术专题
PCB设计热敏電(diàn)阻测量中获得温度值
在PCB设计的所有(yǒu)产品中都有(yǒu)某种形式的温度回路。最简单且最具成本效益的電(diàn)路使用(yòng)负温度系数(NTC)或正温度系数(PTC)热敏電(diàn)阻来测量温度。最基本的電(diàn)路是基于電(diàn)阻分(fēn)压器,该電(diàn)阻分(fēn)压器连接到具有(yǒu)模数转换器(ADC)的低成本微控制器(MCU)。这里我们将介绍了如何将NTC或PTC热敏電(diàn)阻与ADC一起使用(yòng),以及各种处理(lǐ)技术将ADC测量结果转换為(wèi)可(kě)用(yòng)的温度值。
典型的热敏電(diàn)阻電(diàn)路提供施加到ADC输入端的電(diàn)压(V Sense)。然后,ADC将该電(diàn)压转换為(wèi)与输入電(diàn)压成比例的LSB(最低有(yǒu)效位)数字值。对于许多(duō)低成本MCU而言,常见的ADC分(fēn)辨率為(wèi)12位,因此本文(wén)中的公式将使用(yòng)12位分(fēn)辨率。图1显示了分(fēn)压電(diàn)路和恒流電(diàn)路。
图1. 分(fēn)压器和恒流電(diàn)路实现
您可(kě)以使用(yòng)公式1将测得的12位ADC LSB值转换為(wèi)電(diàn)压:
其中ADC分(fēn)辨率(12位ADC(2 12))為(wèi)4,096总位,V REF為(wèi)3.3 V,测得的ADC LSB值為(wèi)2,024(德州仪器(TI)TMP61热敏電(diàn)阻系列测试板的ADC LSB值示例) 。
例如:
公式2通过分(fēn)压器的V Sense计算電(diàn)阻:
例如:
公式3从恒定電(diàn)流I bias计算出電(diàn)阻:
其中I bias為(wèi)200 µA(TMP61系列器件的默认标准電(diàn)流),V Sense為(wèi)1.63V 。
例如:
转换方式
将電(diàn)压转换為(wèi)ADC表示后,有(yǒu)多(duō)种方法可(kě)以从热敏電(diàn)阻的V Sense電(diàn)压获取实际温度。最常见的方法使用(yòng)查找表(LUT),也称為(wèi)電(diàn)阻表,通常由热敏電(diàn)阻制造商(shāng)提供。1°C的LUT表具有(yǒu)166个元素,必须存储在控制器中,但这会占用(yòng)控制器内存。為(wèi)了减少元素的数量,可(kě)以使用(yòng)5°C的LUT,但是在计算中可(kě)能(néng)会有(yǒu)一些線(xiàn)性误差。一个5°C的LUT需要33个元素,但没人希望看到5°C的分(fēn)辨率,因此有(yǒu)必要对LUT进行进一步处理(lǐ),以使其获得优于5°C或1°C的分(fēn)辨率。我将在“線(xiàn)性插值”部分(fēn)中进一步讨论。
另一种方法是使用(yòng)Steinhart-Hart方程,该方程基于三阶多(duō)项式曲線(xiàn)拟合。这将需要自然对数数學(xué)来完成,并且您必须具有(yǒu)浮点控制器或浮点数學(xué)库才能(néng)执行计算。Steinhart-Hart方程比LUT更精确。
给定器件的線(xiàn)性输出,PTC可(kě)以使用(yòng)多(duō)项式方程式。多(duō)项式方程是从热敏電(diàn)阻获取温度的最准确方法。多(duō)项式是变量的数學(xué)表达式,仅涉及加,减,乘和非负整数的运算。描述多(duō)项式的另一种方法是,它们為(wèi)斜率提供曲線(xiàn)拟合方程。您必须自己应用(yòng)多(duō)项式拟合,然后求解回归函数(基于曲線(xiàn)拟合的温度)以获得温度。大多(duō)数PTC基于多(duō)项式。
不用(yòng)担心 一旦掌握了多(duō)项式,您将获得更好的准确性;另外,您的控制器中不需要LUT。这些是简单的数學(xué)函数,其处理(lǐ)速度比带插值的LUT更快。TI的设计工具可(kě)以為(wèi)您提供LUT或四阶多(duō)项式和回归函数,并提供示例示例,说明如何在C代码中為(wèi)控制器应用(yòng)这些数學(xué)函数,以从热敏電(diàn)阻获得最准确的温度。
查找表
LUT通常在-40°C至125°C的范围内变化,但会根据热敏電(diàn)阻的热极限而变化。LUT有(yǒu)两种类型:1°C和5°C。有(yǒu)关示例,请参见图2。
图2. TMP61热敏電(diàn)阻系列的1°C和5°C表示例
LUT方法的工作方式如下:
将1°C步进LUT存储到控制器的存储器中。
根据读取的ADC LSB值计算测得的電(diàn)阻值。
在存储的LUT中找到最接近的電(diàn)阻匹配。与找到的電(diàn)阻值对应的温度将是结果温度。
如果要提高精度而不是舍入到LUT中的最接近值,则需要对1°C步进LUT进行線(xiàn)性插值。使用(yòng)5°C步进LUT可(kě)以节省一些存储空间,因為(wèi)它是一个较小(xiǎo)的表,并且插值将提供合理(lǐ)的精度。但是,温度计算中的線(xiàn)性步进误差会很(hěn)小(xiǎo)。
線(xiàn)性插值
插值是计算并插入一个在两个已知值之间得出的中间值。
插值方法如下所示:
将1°C或5°C的步进LUT存储到MCU的存储器中。
根据读取的ADC LSB值计算测得的電(diàn)阻值。
计算被测電(diàn)阻与LUT中两个最接近的電(diàn)阻值之间的距离。将相应電(diàn)阻的相同比率应用(yòng)于温度值(也称為(wèi)两点之间实际温度的線(xiàn)性近似)。
公式4是線(xiàn)性插值过程的公式:
其中X是热敏電(diàn)阻的已知值,Y是温度的未知值,X 1和Y 1是比已知電(diàn)阻及其相关温度低的最接近值,而X 2和Y 2是比已知電(diàn)阻高的最近值比已知的電(diàn)阻及其相关温度低。
Y值将是LUT的最高温度和最低温度之间最接近的温度值。
如果以5°C的步長(cháng)提供LUT,请注意,使用(yòng)線(xiàn)性插值将其转换為(wèi)1°C LUT可(kě)能(néng)会产生0.5°C的線(xiàn)性误差。这是通过線(xiàn)性步長(cháng)在两个值之间进行计算得出的数學(xué)错误。如果可(kě)以从制造商(shāng)处获得,则通常最好使用(yòng)1°C的LUT。
Steinhart-Hart方程
Steinhart-Hart方程是使用(yòng)自然对数的三阶多(duō)项式。从已知電(diàn)阻得出温度可(kě)能(néng)是一种准确的方法。Steinhart-Hart方法中使用(yòng)的方程式需要来自热敏電(diàn)阻LUT的三个電(diàn)阻值来计算估计的曲線(xiàn)拟合:
R1 =最低温度下的電(diàn)阻(T1 = -40°C)。
R2 =中等温度下的電(diàn)阻(T2 = 25°C)。
R3 =最高温度下的電(diàn)阻(T3 = 125°C)。
您可(kě)以在下面的系数公式中使用(yòng)这些变量,并且只需要计算一次。
您必须解析每个元素,才能(néng)确定计算Steinhart-Hart方程所需的三个系数,其中ln 是自然对数。
公式5、6和7将提供计算温度所需的系数。您只需要计算一次。
公式8计算了温度。每次要从计算得出的電(diàn)阻中知道温度时,都将使用(yòng)公式8。
* T是开氏温度(°C =°K-272.15)(°F =(1.8×°C)+ 32)。
多(duō)项式
三阶和四阶多(duō)项式是计算TI热敏電(diàn)阻产品组合的温度值的最准确,最快的方法。您将不需要LUT。四次函数是一个四阶多(duō)项式,根据温度得出電(diàn)阻值。使用(yòng)回归公式将得出基于测得電(diàn)阻的温度值。
首先在Microsoft Excel中打开空白電(diàn)子表格。从设备的LUT输入温度和電(diàn)阻值。如图3所示,使用(yòng)散点图而非線(xiàn)图来绘制典型電(diàn)阻。
图3. 四次函数图
X轴為(wèi)温度,Y轴為(wèi)電(diàn)阻,右键单击绘图線(xiàn),然后选择“添加趋势線(xiàn)”。图4显示了格式趋势線(xiàn)窗口。选择“多(duō)项式”并将顺序更改為(wèi)“ 4。
图4. Excel中的趋势線(xiàn)
在“格式趋势線(xiàn)”窗口的底部,选择“在图表上显示方程式”和“在图表上显示R平方值”。图中显示的方程式将是您的四阶多(duō)项式四次函数,使您能(néng)够从温度中获取電(diàn)阻值。获取系数的另一种方法是使用(yòng)Excel的LINEST函数。语法為(wèi)LINEST(known_y,[known_x],[const],[stats])。请记住,四阶多(duō)项式具有(yǒu)五个系数。
在趋势線(xiàn)提供的四阶多(duō)项式中,您会注意到一些数字使用(yòng)加法,而某些使用(yòng)减法。下面的四次函数使用(yòng)所有(yǒu)加法。在系数中,将系数的符号更改為(wèi)负值,以便根据趋势線(xiàn)多(duō)项式进行减法。
4阶多(duō)项式是四次函数,可(kě)通过公式9计算,其中電(diàn)阻是温度的函数。
R(Ω)= A4 *(T 4)+ A3 *(T 3)+ A2 *(T 2)+ A1 * T + A0
其中R是热敏電(diàn)阻的電(diàn)阻,T是温度,A0 / A4是系数。
|
系数 |
8.479874E + 03 |
A0 |
5.548683E + 01 |
A1 |
1.577759E-01 |
A2 |
-2.849901E-04 |
A3 |
2.165629E-06 |
A4 |
回归函数
回归函数是四阶多(duō)项式的逆函数。只需将X轴替换為(wèi)Y轴,如图5所示。图中所示的4阶多(duō)项式方程式将使用(yòng)電(diàn)阻值来找到温度。
图5.回归图
公式9中的四阶多(duō)项式回归,其中温度是電(diàn)阻的函数:(Y = Y轴,即温度)
T°C = A4 *(R 4)+ A3 *(R 3)+ A2 *(R 2)+ A1 * R + A0)
其中R是热敏電(diàn)阻的電(diàn)阻,T是温度,A0 / A4是图5中列出的系数。
准确度
R 2是多(duō)项式曲線(xiàn)的趋势線(xiàn)的拟合值。R²= 1.00000E + 00非常适合,并且根据多(duō)项式计算電(diàn)阻时的误差很(hěn)小(xiǎo)。可(kě)接受的R 2值為(wèi)R 2 = 0.999及以下。
温度精度的公差将根据您的应用(yòng)而变化。1%-3%°C的精度适用(yòng)于大多(duō)数温度测量应用(yòng)。我总是建议您在设计之初就确定该值,并尝试实现此目标。
潜在错误
使用(yòng)公式计算温度时,大多(duō)数误差是由数學(xué)和舍入误差引起的。图6提供了一个由四舍五入引起的数學(xué)错误的示例。要记住的一个好习惯是,使用(yòng)的小(xiǎo)数点后的位数越多(duō)(例如0.123456),公式将越精确。
图6.回归错误
我建议至少使用(yòng)六位数字-最好是小(xiǎo)数点后九位或12位数字-以获得更好的精度。小(xiǎo)数点后的最佳位数為(wèi)16。尽管对于電(diàn)子表格而言这是可(kě)能(néng)且容易的,但对于MCU而言并不总是可(kě)行的。六位数字将在整个温度范围内提供优于0.4°C的精度,这仍然比LUT更准确。图6中的回归计算图显示了小(xiǎo)数点后六位数字的潜在误差。