硬件模块应用之NTC热敏电阻RT关系转换公式

	float Rt,temperature;
	float votage;	
	unsigned int temm,temm2;
	unsigned int temm3;
	
	const float degreeKelvinK = 273.15;	//开尔文绝对温度,单位:K
	const float T2 = degreeKelvinK +25.0;	//25℃的开尔文温度
	const unsigned long R_T2 = 10000;	//常温(25℃)下的阻值
	const unsigned int NTC_B = 3950;	//B值是负温度系数热敏电阻器的热敏常数
	const signed trim_K = -2;			//温度微调系数
	temm3 = ADCRead();
	votage=(2.6/0x7ff)*temm3;	//将AD值转换成电压值	内部参考电压2.6V,11位精度
	//votage=(2.6/0x7b3)*temm3;	//将AD值转换成电压值	内部参考电压2.6V,11位精度
	
	Rt=votage*10.0/(2.5-votage);//NTC负接	,求得电阻阻值
	// Rt=(2.6-votage)*10/votage;	//NTC正接	,求得电阻阻值
	temperature=1/(logf(Rt * 1000 / R_T2) / NTC_B + 1 / T2) - degreeKelvinK + trim_K;//根据RT表公式求得对应的温度值
	temm = (unsigned int)(temperature*10.0);		//将温度值放大10倍
	//个位>5,=5,<5,=0
	temm2 = temm%10;
	if(temm2 >5){
		temm = temm-(temm2-5);
	}
	if(temm2 <5){
		temm = temm-temm2;
	}	
	return temm;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值