热敏电阻阻值和ADC采集值的转换(附10K(3950)案例)

解释:电阻阻值的转换

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 | Ametherm

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

文章转自:https://blog.csdn.net/qq_41422009/article/details/130884309

在这里插入图片描述

ADC_data[5] += Get_Adc_Average(ADC_CHANNEL_5,1)*3300/4096;

ntc_R  = 50 * (float)ADC_data[5]*0.001 / (5 - (float)ADC_data[5]*0.001);		//单位:KΩ

/*热敏电阻(B值:3950)温度对照数组 (-30℃ ~ 240℃)   一行10℃*/	
float Thermistor[]={
	200.2039, 187.3164,	175.3536, 164.2428, 153.9176, 144.3169,	135.3851, 127.071, 119.3276, 112.112,	
	105.3847, 99.1093, 93.2524,	87.7834, 82.674, 77.8981, 73.4319, 69.2531,	65.3415, 61.6781,	
	58.2457, 55.0282, 52.0106, 49.1794,	46.5218, 44.026, 41.6813, 39.4773, 37.4049, 35.4554,	
	33.6206, 31.8931, 30.266, 28.7328, 27.2875,	25.9246, 24.6387, 23.4251, 22.2793, 21.1971,	
	20.1746, 19.208, 18.2941, 17.4296, 16.6115,	15.8371, 15.1039, 14.4092, 13.751, 13.127,	
	12.5353, 11.9741,	11.4415,	10.936,	10.4559,	10,	9.5668,	9.1551,	8.7636,	8.3913,	
	8.0371,	7.7001,	7.3793,	7.0738,	6.7828,	6.5055,	6.2413,	5.9894,	5.7492,	5.5201,	
	5.3015,	5.0928,	4.8936,	4.7034,	4.5217,	4.3481,	4.1822,	4.0236,	3.872,	3.7269,	
	3.5882,	3.4554,	3.3283,	3.2066,	3.0901,	2.9784,	2.8715,	2.769,	2.6707,	2.5765,	
	2.4862,	2.3995,	2.3163,	2.2365,	2.1599,	2.0864,	2.0157,	1.9479,	1.8827,	1.8201,	
	1.7598,	1.7019,	1.6463,	1.5927,	1.5412,	1.4917,	1.444,	1.3981,	1.3539,	1.3113,	
	1.2703,	1.2308,	1.1928,	1.1561,	1.1208,	1.0867,	1.0538,	1.0221,	0.9915,	0.962,	
	0.9336,	0.9061,	0.8796,	0.854,	0.8292,	0.8054,	0.7823,	0.76,	0.7385,	0.7176,	
	0.6975,	0.6781,	0.6592,	0.641,	0.6234,	0.6064,	0.5899,	0.574,	0.5586,	0.5436,	
	0.5291,	0.5151,	0.5016,	0.4884,	0.4757,	0.4633,	0.4514,	0.4398,	0.4285,	0.4177,	
	0.4071,	0.3968,	0.3869,	0.3773,	0.3679,	0.3588,	0.35,	0.3415,	0.3332,	0.3251,	
	0.3173,	0.3097,	0.3023,	0.2951,	0.2882,	0.2814,	0.2748,	0.2684,	0.2622,	0.2562,	
	0.2503,	0.2446,	0.239,	0.2336,	0.2284,	0.2233,	0.2183,	0.2134,	0.2087,	0.2041,	
	0.1997,	0.1953,	0.1911,	0.187,	0.183,	0.1791,	0.1753,	0.1715,	0.1679,	0.1644,	
	0.161,	0.1576,	0.1544,	0.1512,	0.1481,	0.1451,	0.1421,	0.1392,	0.1364,	0.1337,	
	0.131,	0.1284,	0.1259,	0.1234,	0.121,	0.1186,	0.1163,	0.1141,	0.1119,	0.1097,	
	0.1076,	0.1056,	0.1036,	0.1016,	0.0997,	0.0979,	0.096,	0.0943,	0.0925,	0.0908,	
	0.0892,	0.0875,	0.086,	0.0844,	0.0829,	0.0814,	0.08,	0.0785,	0.0771,	0.0758,	
	0.0745,	0.0732,	0.0719,	0.0706,	0.0694,	0.0682,	0.0671,	0.0659,	0.0648,	0.0637,	
	0.0626,	0.0616,	0.0606,	0.0596,	0.0586,	0.0576,	0.0567,	0.0557,	0.0548,	0.0539,	
	0.0531,	0.0522,	0.0514,	0.0506,	0.0498,	0.049,	0.0482,	0.0474,	0.0467,	0.046,	
	0.0453,	0.0446,	0.0439,	0.0432,	0.0425,	0.0419,	0.0413,	0.0406,	0.04,	0.0394,	
	0.0388
};

temperature = ((recurbinary(Thermistor, ntc_R, 0, 270) - 30)*100 - 100); //单位:100 * ℃
  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Stig_Q

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

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

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

打赏作者

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

抵扣说明:

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

余额充值