高精度NTC温度测量的硬件电路和软件设计

电脑杂谈  发布时间:2020-06-25 02:28:11  来源:网络整理

ntc热敏电阻器在高精度温度测量中的应用_ntc是什么_ntc精度

NTC是一个热敏电阻,其电阻值对温度变化敏感,在不同温度下,它可以显示不同的电阻值.

热敏电阻有两种类型,一种是负温度系数电阻(NTC),当温度升高时电阻值减小,另一种是正温度系数电阻(PTC),当温度升高时电阻值增加增加.

NTC的电阻R和温度之间的关系可以近似为:

高精度NTC测温的硬件电路以及软件设计

公式1,电阻与温度函数之间的关系

其中T是绝对温度,值是摄氏+273.15,单位是K(开尔文).

R0通常在25°C或298.15K的温度下取电阻值,而相应的T0在25°C或298.15K的温度下取值.

B是材料常数. 不同的村庄材料或生产过程可能会导致B值发生变化. 即使在热敏电阻的工作范围内,B的值也可能会代替严格的常数而改变;

因为NTC的电阻与温度呈非线性关系ntc精度,并且温度升高,所以温度随温度变化的速率较小.

ntc精度_ntc热敏电阻器在高精度温度测量中的应用_ntc是什么

因此,随着温度的升高,NTC温度测量的精度会发生变化;

因此,它更适合于温度变化范围较小的应用场景,例如环境温度(大约-20℃-50℃)或水温检测(0℃-100℃).

下图是在淘宝上搜索的NTC. 根据25℃的电阻值,可以有5KΩ,10KΩ等不同规格,材料系数B值固定为3950.

高精度NTC测温的硬件电路以及软件设计

从淘宝网发现的NTC

我们选择10K规格. 根据公式1,我们可以得到该NTC的电阻与温度之间的关系:

高精度NTC测温的硬件电路以及软件设计

公式2,电阻与温度之间的函数关系

在excel工作簿的第一栏中输入温度,在第二栏中输入公式,以通过excel表中的公式获得不同温度下的电阻值,例如0℃为33.6KΩ

ntc热敏电阻器在高精度温度测量中的应用_ntc是什么_ntc精度

高精度NTC测温的硬件电路以及软件设计

使用excel计算AD值

NTC温度测量的核心在于具有ADC功能的MCU. 电路比较简单. 它只需要通过另一个高精度电阻将固定电压分压至NTC电阻,然后将分压后的电压值连接至MCU的ADC输入端口即可.

如下所示:

高精度NTC测温的硬件电路以及软件设计

NTC温度测量电路

R1是精度为1%的电阻,R2是NTC,

除了0.1uF电容器C1之外,它还可以过滤掉从电源引入或从电路板引入的高频干扰信号. 另外,当ADC有多个AD输入转换时,MCU的AD模块需要切换不同的通道,然后进行采样转换,电容C1可以在ADC转换通道后快速为采样电容充电,从而实现转换速度可以提到以避免由于采样时间太短而导致测量不准确.

R1上拉电源应与MCU的ADC参考电源共享同一电源(在一般设计中,MCU的电源与ADC的参考电源共享). 相同的电源).

ntc热敏电阻器在高精度温度测量中的应用_ntc精度_ntc是什么

这是因为:

输入ADC的AD值(假定为12位ADC):

高精度NTC测温的硬件电路以及软件设计

广告价值计算公式

如果上拉功率ADC的参考功率共享相同的功率,则可以得到与较高功率无关的公式:

高精度NTC测温的硬件电路以及软件设计

广告价值计算公式

因此可以消除电源精度对测试的影响,并降低计算复杂度;

NTC温度测量软件的设计

ntc是什么_ntc精度_ntc热敏电阻器在高精度温度测量中的应用

我看到在一个网民的编程中,他直接取了公式1的对数,通过复对数运算和倒数运算获得了温度值,这是不合适的,

主要:

普通微控制器不一定提供这样的数学函数库. 普通的单片机没有浮点计算. 浮点数将转换为轮循计算,并且舍入误差是不可避免的. 单片机执行对数和倒数计算,只能是近似算法,并且会消耗大量的计算时间,可能会达到数百毫秒,这会影响其他功能的实时处理. 公式1仅是近似公式,并且B值不是常数. 使用这种特定的分析公式,无法根据实际测量值校准计算值,从而提高了测量精度.

在我的实际项目中,我使用了分段线性化方法. 步骤如下:

高精度NTC测温的硬件电路以及软件设计

使用excel形式自动生成包含C语言的AD和温度的二维数组

温度测量范围分为几个区间,例如在0-100度范围内,分为100个区间,每个区间以1℃或每个区间的上下限和上限温度值计算被测量;例如,间隔30℃-31℃,根据公式1计算或实际测试的AD值为30℃和31℃. 将这些间隔表示为二维数组(此二维数组也可以通过实际测试形成);转换AD并进行多次平均后取出值ntc精度,编辑分段间隔,并将其与这些间隔中AD的上下限进行比较,确定哪个间隔落差,并根据线性公式更正间隔内的插值功能:

测试温度值=区间温度下限+(区间温度上限-区间温度下限)/(区间AD上限-区间AD下限)*(AD测量值-区间AD下限)

最后,我使用了分段线性化程序:

高精度NTC测温的硬件电路以及软件设计

零件线性化程序

转载于:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/dianqi/article-257419-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...