方法二 NTC热敏电阻转换温度的计算方式

一.硬件

STC15W408AS单片机 10KNTC热敏电阻

 

二.资料

 

NTC 热敏电阻温度计算公式

Rt = R *EXP(B*(1/T1-1/T2))
这里T1和T2指的是K度即开尔文温度,K度=273.15(绝对温度)+摄氏度;其中T2=(273.15+25)
Rt 是热敏电阻在T1温度下的阻值;

R是热敏电阻在T2常温下的标称阻值;

B值是热敏电阻的重要参数;

EXP是e的n次方; 

三.C代码实现

#include "math.h"
const float Rp=10000.0; //10K
const float T2 = (273.15+25.0);//T2
const float Bx = 3950.0;//B
const float Ka = 273.15;
float Get_Temp(uint16_t NTC_Res)
{
	float Rt;
	float temp;
	Rt = NTC_Res;
	
	//like this R=5000, T2=273.15+25,B=3470, RT=5000*EXP(3470*(1/T1-1/(273.15+25)),  
	temp = Rt/Rp;
	temp = log(temp);//ln(Rt/Rp)
	temp/=Bx;//ln(Rt/Rp)/B
	temp+=(1/T2);
	temp = 1/(temp);
	temp-=Ka;
	return temp;
} 
NTC(Negative Temperature Coefficient)温度传感器是一种电阻随温度变化而变化的温度敏感元件,其电阻值温度升高而降低。在C语言中,可以通过读取NTC传感器的电阻值,并根据其特定的温度-电阻特性曲线(通常由制造商提供)来计算对应的温度值。 以下是计算NTC温度的基本步骤: 1. 测量NTC电阻:首先需要使用适当的电路(如电压分压电路)来测量NTC传感器的电阻值。 2. 标准曲线公式:根据NTC传感器制造商提供的标准曲线公式(通常是B值参数方程),可以将测量得到的电阻值转换温度值。标准曲线公式通常具有如下形式: \[ \frac{1}{T} = \frac{1}{T_0} + \frac{1}{B} \ln \left( \frac{R}{R_0} \right) \] 其中,\( T \) 是绝对温度(开尔文),\( T_0 \) 是参考温度(开尔文),\( B \) 是材料常数,\( R \) 是在温度 \( T \) 时的电阻值,\( R_0 \) 是在参考温度 \( T_0 \) 时的电阻值。 3. 转换开尔文到摄氏度:将绝对温度 \( T \) 转换为摄氏度,需要减去273.15: \[ T_{Celsius} = T_{Kelvin} - 273.15 \] 4. 实现代码:在C语言中,你需要实现相关的数学计算温度转换,可能还需要考虑AD转换(模拟信号转换为数字信号)等硬件接口的读取。例如: ```c #include <stdio.h> #include <math.h> // 假设函数getNTCResistance()从传感器读取电阻值 double getNTCResistance() { // 这里应该是硬件接口读取电阻值的代码 return 1000.0; // 示例电阻值 } // 根据NTC传感器的B参数和参考电阻值计算温度 double calculateTemperature(double R, double R0, double B, double T0) { double temp = 1.0 / T0 + (1.0 / B) * log(R / R0); return 1.0 / temp - 273.15; // 转换为摄氏度 } int main() { double R = getNTCResistance(); // 从传感器获取阻值 double R0 = 1000.0; // 假设参考电阻值 double B = 3450.0; // 假设B参数值 double T0 = 298.15; // 假设参考温度为25°C (298.15K) double temperature = calculateTemperature(R, R0, B, T0); printf("The temperature is: %.2f°C\n", temperature); return 0; } ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是唐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值