开发当中用到的温度查表与计算公式

这里是记录一下自己项目中用到的温度测量所用到的温度表 和 计算公式。

虽然有各种型号的温度传感器,但很多要求并不高,只需基本合理即可,所以稍作修改,都是可以通用的。

一、查表获取温度
const uint16_t ntc_adc_tem_table[] = 
{

/*

8.458, 8.774,  9.19, 9.643, 10.05, 10.65,  11.1, 11.82,  12.4, 12.91,   // -50~
13.53, 14.44,  15.4, 16.41, 17.48, 18.62, 19.81, 21.07, 22.39, 23.79,   // -40~
25.26,  26.8, 28.42, 30.13, 31.92,  33.8, 35.77, 37.84, 40.01, 42.28,   // -30~
44.67, 47.22, 49.89, 52.68, 55.61, 58.67, 61.87, 65.22, 68.72, 72.38,   // -20~
76.19, 80.17, 84.32, 88.65, 93.16, 97.86, 102.8, 107.9, 113.2, 118.7,   // -10~

124.4, 130.5, 136.8, 143.3,   150,   157, 164.5, 172.3, 180.4, 188.8,   //   0
197.5, 206.5, 215.8, 225.4, 235.4, 245.7, 256.6, 267.9, 279.5, 291.4,   //  10~
303.8, 316.7,   330, 343.7, 357.8, 372.4, 387.3, 402.6, 418.4, 434.6,   //  20~
451.3, 468.8, 486.7, 505.1,   524, 543.3, 562.9, 583.1, 603.6, 624.6,   //  30~
646.1, 668.4, 691.1, 714.3,   738, 762.2, 787.1, 812.4, 838.1, 864.3,   //  40~

*/
124 , 130 , 136 , 143 , 150,  157,  164 , 172 , 180 , 188 ,   //   0
197 , 206 , 215 , 225 , 235 , 245 , 256 , 267 , 279 , 291 ,   //  10~
303 , 316 , 330,  343 , 357 , 372 , 387 , 402 , 418 , 434 ,   //  20~
451 , 468 , 486 , 505 , 524, 543 , 562 , 583 , 603 , 624 ,   //  30~
646 , 668 , 691 , 714 , 738, 762 , 787 , 812 , 838 , 864 ,   //  40~
891,   918, 945, 973,  1001,  1030,  1059,  1088,  1118,  1147,   //  50~
1178,  1208,  1238,  1269,  1299,  1330,  1362,  1394,  1426,  1458,   //  60~
1490,  1522,  1554,  1586,  1618,  1650,  1684,  1717,  1750,  1784,   //  70~
1818,  1851,  1884,  1917,  1950,  1982,  2014,  2046,  2078,  2110,   //  80~
2141,  2173,  2205,  2237,  2268,  2299,  2329,  2358,  2387,  2417,   //  90~
2444,  2473,  2502,  2530,  2558,  2586,  2614,  2641,  2668,  2695,   // 100~
2722,  2747,  2771,  2796,  2819,  2842,  2866,  2889,  2911,  2934,   // 110~
2955,  2977,  2999,  3021,  3043,  3064,  3084,  3105,  3124,  3144,   // 120~
3163,  3180,  3198,  3213,  3230,  3246,  3261,  3277,  3293,  3306,   // 130~
3322,  3336,  3352,  3366,  3380,  3394,  3408,  3419,  3433,  3445,   // 140~
3459,  3471,  3483,  3495,  3507,  3519,  3531,  3540,  3552,  3562,   // 150~
3571,  3584,  3593,  3602,  3612,  3622,  3631,  3638,  3647,  3657,   // 160~
3664,  3674,  3680,  3687,  3697,  3703,  3710,  3717,  3724,  3730,   // 170~
3737,  3744,  3751,  3758,  3761,  3768,  3775,  3779,  3786,  3789,   // 180~

/*

3796,  3800,  3807,  3810,  3817,  3821,  3824,  3832,  3835,  3839,   // 190~
3842,  3850,  3853,  3857,  3861,  3864,  3868,  3871,  3879,  3882   // 200~

3842,  3850,  3853,  3857,  3861,  3864,  3868,  3871,  3879,  3882,   // 200~
3886,  3890,  3890,  3894,  3897,  3901,  3905,  3908,  3912,  3916,   // 210~
3916,  3920,  3923,  3927,  3927,  3931,  3935,  3935,  3938,  3942,   // 220~
3942,  3946,  3946,  3950,  3950,  3954,  3954,  3957,  3957,  3961,   // 230~
3961,  3965,  3965,  3969,  3969,  3973,  3973,  3973,  3977,  3977,   // 240~
3981,  3981,  3981,  3984,  3984,  3988,  3988,  3988,  3992,  3992,   // 250~
3996,  3996,  4000,  4000,  4000,  4004,  4004,  4008,  4008,  4012,   // 260~
4012,  4016,  4016,  4016,  4020,  4020,  4024,  4024,  4028,  4028,   // 270~
4031,  4031,  4031,  4035,  4035,  4039,  4039,  4043,  4043,  4043,   // 280~
4047,  4047,  4051,  4051,  4055,  4055,  4055,  4059,  4059,  4059,   // 290~

*/

};

// 查表用

int find_from_ntc_table( uint16_t adcv )
{
  int i;
  for( i = 0; i < 200; i ++ ) // 200根据自己表的元素数目来定
  if( ntc_adc_tem_table[i] >=adcv )break;
  return i;
}

 

二、这里是用公式 计算

//本计算式对应热敏电阻型号为:玻璃封装MF58-103J-3950

float MEAS_GetTemprature( uint16_t adcv)                 //读取温度
{
  //拟合函数获取
   return  0.054*log(0.021/(1000*(4096/adcv-1))) + 0.396954;  

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值