NTC3950 100k 1%热敏电阻阻值和ADC采集值的转换 您所在的位置:网站首页 100k的温度传感器69电阻正常吗 NTC3950 100k 1%热敏电阻阻值和ADC采集值的转换

NTC3950 100k 1%热敏电阻阻值和ADC采集值的转换

2023-06-26 04:38| 来源: 网络整理| 查看: 265

目录

电路图:

代码:输入adc采样值,返回温度值

解释:电阻阻值的转换

电路图:

 

代码:输入adc采样值,返回温度值 float NTC3950_Temp(uint16_t adc_value) { float resistance; // 电阻值 float temp; // 温度值 resistance = (float)(100000 * adc_value) / (4096 - adc_value); // 根据电压分压原理计算电阻值 temp = log(resistance / 100000); // 计算电阻值对数 temp /= 3950; // 计算B值分数项 temp += 1.0 / (25 + 273.15); // 计算开尔文温度倒数 temp = 273.15 / temp; // 计算开尔文温度值 temp -= 273.15; // 计算摄氏温度值 return temp; // 返回温度值 } 解释:电阻阻值的转换

resistance = (float)(10000 * adc_value) / (4096 - adc_value);是根据电压分压原理和ADC的转换公式来的。假设温度传感器和一个10k欧姆的电阻串联,两端接5V电源,那么温度传感器的电阻值和输出电压之间有如下关系:

 

其中,Vout​是输出电压,Rntc​是温度传感器的电阻值,Rref​是参考电阻的电阻值,Vcc​是电源电压。假设Rref​=10000Ω,Vcc​=5V,那么可以得到:

另一方面,ADC的转换公式是:

 

 

其中,adc_value是ADC的转换值,n是ADC的位数,Vref​是ADC的参考电压。假设n=12,Vref​=5V,那么可以得到:

 

将上式代入前面的公式,可以得到:

 

化简后得到:

 

这就是代码中的公式。为了提高精度,将结果转换为浮点数。

如果Vcc等于3.3v,那么电压分压原理和ADC的转换公式不变,只是Vcc​和Vref​的值都变为3.3v。那么可以得到:

 化简后得到:

 解释:电阻值转化为温度值

根据NTC3950 100k 1%温度传感器的特性曲线,可以得到以下公式:

 其中,T是温度传感器的绝对温度(开尔文),T0​是参考温度(25摄氏度),B是传感器的B值(3950),R是温度传感器的电阻值,R0​是参考电阻(100k欧姆)。

接着,将上式变形,得到:

 

最后,将上式中的各个参数代入,并将绝对温度转换为摄氏温度,得到最终结果。

这个公式是根据NTC温度传感器的特性曲线来的。NTC温度传感器的电阻值和温度之间有一个非线性的对数关系,可以用下面的公式表示

 其中,T是绝对温度(开尔文),R是电阻值(欧姆),A、B、C是传感器的特定系数,可以通过实验测量得到。这个公式叫做Steinhart-Hart方程

如果忽略C项,那么可以得到一个简化的公式:

 其中,T0​是参考温度(一般取25摄氏度),R0​是参考电阻(一般取100k欧姆),B是传感器的B值(一般取3950)。这个公式叫做B参数方程

NTC Thermistor - Steinhart and Hart Equation | Amethermicon-default.png?t=N4N7https://www.ametherm.com/thermistor/ntc-thermistors-steinhart-and-hart-equation

NTC3950_Temp函数就是用的B参数方程来计算温度值的。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有