一、工作原理与计算公式
NTC395010K热敏电阻是一种负温度系数(NTC)热敏电阻,其阻值随温度升高而降低。该传感器在25°C时的标称阻值为10kΩ,B值为3950。其温度与阻值之间的关系可以通过以下公式表示:
Rt = R * exp(B * (1/T - 1/T25))
其中,Rt是在温度T下的阻值,R是在25°C下的标称阻值(10kΩ),B是热敏电阻的B值(3950),T25是25°C对应的绝对温度(298.15K),T是待测温度的绝对温度(单位为K)。
通过上述公式,可以计算出不同温度下的阻值Rt。反过来,如果已知阻值Rt,也可以通过以下公式计算温度T:
T = 1 / (ln(Rt / R) / B + 1 / T25)
将T转换为摄氏温度t,则有:
t = T - 273.15
二、电路设计
在实际应用中,NTC395010K热敏电阻通常与一个上拉电阻(例如10kΩ)组成分压电路,如下图所示:
通过测量分压点的电压Vo,可以计算出热敏电阻的阻值Rt,进而计算出温度。具体计算方法如下:
Vo = Vcc * (Rt / (Rt + Rp))
其中,Vcc是电源电压(例如3.3V),Rp是上拉电阻的阻值(例如10kΩ)。通过上述公式,可以解出Rt:
Rt = (Vo * Rp) / (Vcc - Vo)
三、C语言实现
以下是使用C语言实现NTC395010K热敏电阻温度计算的示例代码:
#include
// 电压换算成温度
void temp_data(void)
{
float Rt = 0; // 热敏电阻阻值
float Rp = 10000; // 上拉电阻值
float T2 = 273.15 + 25; // 25°C对应的绝对温度
float Bx = 3950; // B值
float Ka = 273.15; // 绝对零度
float vol = 0; // 读取ADC值并转换为电压
vol = (float)(Get_Adc_Average(ADC_Channel_5, 10) * 3.3 / 4096);
Rt = (3.3 - vol) * 10000 / vol; // 计算热敏电阻阻值
float temp = 1 / (1 / T2 + log(Rt / Rp) / Bx) - Ka + 0.5; // 计算温度并进行误差校正
}
通过上述代码,可以实现从ADC读取电压值到计算温度的完整过程。希望本文对您理解NTC395010K热敏电阻的工作原理及应用有所帮助。