锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

NTC(3950K ,100k Ohms at 25deg. C)程序的实现

时间:2023-11-07 06:37:01 ntc47k3950温度电阻

/*------------------------------------------------------

TEMPERATURE VS RESISTANCE TABLE

Resistance 100k Ohms at 25deg. C

Resistance Tolerance /- 1%

B Value 3950K at 25/50deg. C

B Value Tolerance /- 1%

------------------------------------------------------*/#include"bsp_ntc.h"#include"sysparam.h"

#define N 191 //NTC温度对应阻值的数量,即ntc[]数组大小

const static float ntc[N]={//-20℃////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

975.8038,920.5962,868.8615,820.3603,774.8710,732.1889,692.1238,654.4999,619.1540,585.9346,//-10℃////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

554.7016,525.3245,497.6821,471.6621,447.1599,424.0781,402.3264,381.8204,362.4818,344.2375,//0℃////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

327.0195,310.7640,295.4121,280.9084,267.2014,254.2428,241.9877,230.3940,219.4224,209.0361,//10℃////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

199.2007,189.8841,181.0559,172.6881,164.7540,157.2290,150.0898,143.3144,136.8825,130.7749,//20℃/21//22/23/24//25//26//27//28///29/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2///2/2//2/2/2//2/2/2/2/2/2/2/2/2//2/2/2/2/2/2////2/2///2/2/2/2/2/////2/2////2/2/2/2/2/2/2/2/2/2/2/2/2////2/2//2/2/2/2/2/2/2/2/2/2/2/2/////////2//2/2/2/2/2/2/2/2/2/2///////////2/2/2/2/2////2////2//2/2/2/2/2/2/////2///2/2/2/2/2/2/2/2/2/2/2/2/2//2//2////2/2/2//2/2/2/2/2///2//2/2/2/2//

124.9734,119.4612,114.2223,109.2417,104.5053,100.0000,95.7132, 91.6333, 87.7492, 84.0505,//30℃/31/32//33/34/35//36//37//37/38//39/39//39//39//39/3/33/3/33/3/3////3/3//3/3/3/3//3/3/3/3/3/3/3/3/3/3/3/3/3/3//3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3//3/3/3//3/3/3/3//3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3/3//3//3//3//3/3//3/3//3/3//3/3//3/3/3/3//3/3///3//3///3/3/3//3//3/3/3/3//3/////3////////3/3///3///3//3//3/3//3///3/3/3///3/3///3//3/3/3/3/3////3///////3//////3////3/3/3/3////3////3/3/3//////3/////3//3/3//3/3/3/3///////3///////3//3/3/3/3/3/3/3//////////3/////////3////3/3/3/3/////3//////3////////////3///3/3/3/3/////3/3/3/3////////3///////3////////3/////////3//3/

80.5274, 77.1707, 73.9717, 70.9222, 68.0144, 65.2411, 62.5954, 60.0707, 57.6610, 55.3604,//40℃/41/42/44/44/44/45//46//47/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4//4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4//4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4//4/4//4/4/4//4/4/4/4/4//4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4/4///4////4///4//4/4/4/4/4/4/4//4/4/4/4/4/4/4/4/4//4/4/4/4/4/4//4/4/////////4/4/4/4/4/4/4//4/4//4//4/4///4////////4/4//4/4/4/4/4//4/4/4/4/4///4/4/4/4/4/4/4/4/4/4/4//////////////4/4/4//4/4/4/4/4/4/4///4/4///4////////4////4/4/4/4/4/4//4/4/4/4/////4//////4//////4////4///////4/4/4/4/4/

53.1635, 51.0651, 49.0602, 47.1443, 45.3130, 43.5621, 41.8878, 40.2862, 38.7539, 37.2876,//50℃//51//52//53//54//55//56//57//58//59

35.8842, 34.5405, 33.2538, 32.0214, 30.8408, 29.7096, 28.6253, 27.5860, 26.5895, 25.6338,//60℃/61/62/63/64/66/66/66//67/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/6/

24.7171, 23.8376, 22.9937, 22.1836, 21.4061, 20.6594, 19.9424, 19.2537, 18.5920, 17.9562,//70℃/71/72/73//74/75//76//77//77//77/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7//7/7/7/7/7//7/7/7/7/7/7/7/7/7/7/7/7/7/7//7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7//7/7//7/7//7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7//7/7/7/7/7//7/7/7/7//7/7/7/7/7/7/7/7/7//7/7/7/7//7/7/7/7/7/7/7/7/7/7/7///7/7//7//////7/7//7/7/7/7/7/7/7/7/7/7/7/7/7/7//7//7/7/7//7//7/7///7////7/7/7/7/7/7/7/7/7//7/////7//7/////7/7/7//7/7/7/7/7/7////7///////7/7/7/7/7/7/7/7/7/7/7///////7////////7/7/7/7/7/7/7/7/7/7/7/7/7/7/7///////7/7/7/7/7/7/7/7/7/7/7/7/7/7/7/7//7////7/7///7/7///////7/////7/7//7/7/

17.3452, 16.7578, 16.1930, 15.6499, 15.1276, 14.6251, 14.1417, 13.6764,13.2286, 12.7976,//80℃/81/82//83//84/85//86//87//88///88///88///89//8//8//8/8//8//8//8//8//8//8//8//8//8//8//8//8/8//8//8//8//8///8//8//8/8/8//8/8//8/8/8/8/8/8/8/8/8/8/8/8/8/8/8//8//8//8//8//8//8//8//8//8//8/8/8/8//8/8/8/8//8/8/8/8/8/8/8/8/8/8/8/8/8/8/8/8//8//8///8////8///8///8///8///8///8////8/8////8/8///8///8///8/8///8/8/8/8///8/8///8/////8///////8//////8/8////8//8////8///8//8/8///8//8///8//8/8////8////////////8///////8/8////8///8///8///8/8//8//////8//8//8///8//////8///////8/////8/8/8/8//8///////8///////////8//////8///8/8/8/8/8//////8////////////8/////////8//8/8/8////8/8//////8///////////8/////////////8///8///8//

12.3825, 11.9828, 11.5978, 11.2270, 10.8697, 10.5254, 10.1935, 9.8736, 9.5652, 9.2678,//90℃/91/92/93//94/95//96///97//99//99//99//99///99//9/9//9/9/9//9//9//9//9//9//9/9//9//9/9/9//9/9/9//9/9/9//9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9//9//9/9//9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9/9//9//9/9//9//9/9/9/9/9//9/9//9/9//9/9/9/9/9/9/9/9///9///9//9/9/9/9/9/9/9/9/9//9//////9//////9////9/9/9/9/9/9//9///9/9/9/9/9//9/9//9/9/9/9/9/9/9/9/9/////////9/////9//9/9/9/////9/9/9/9/9/9//9/9///9/9/9/9/9/9/9/9//9/9/////9///9//9/9/9/9/9/9/9/9/9/9////9//////9///9/9/9/9////9/9/9/9///9//9/////9///////9//9//9/9/9/9/9/9//9/9/9/9///////9///////9/9/9////9/////9/9/9/9/9/

8.9809, 8.7042, 8.4373, 8.1797, 7.9312, 7.6912, 7.4596, 7.2360, 7.0201, 6.8115,//100℃////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

6.6101, 6.4155, 6.2274, 6.0457, 5.8701, 5.7003, 5.5362, 5.3775, 5.2240, 5.0755,//110℃////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

4.9319, 4.7930, 4.6586, 4.5285, 4.4026, 4.2807, 4.1627, 4.0484, 3.9378, 3.8306,//120℃////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

3.7268, 3.6263, 3.5289, 3.4345, 3.3430, 3.2543, 3.1683, 3.0850, 3.0042, 2.9258,//130℃/131/132////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

2.8498, 2.7761, 2.7045, 2.6352, 2.5678, 2.5025, 2.4391, 2.3775, 2.3178, 2.2598,//140℃////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

2.2034, 2.1487, 2.0956, 2.0440, 1.9939, 1.9452, 1.8978, 1.8518, 1.8071, 1.7637,//150℃////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1.7215, 1.6804, 1.6405, 1.6017, 1.5640, 1.5273, 1.4915, 1.4568, 1.4230, 1.3901,//160℃////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1.3582, 1.3270, 1.2967, 1.2672, 1.2385, 1.2106, 1.1833, 1.1568, 1.1310, 1.1059,//170℃

1.0814};

State_Enum_TypeDef Samp_Temp_Volt_State= FLG_SAMP_START; //开机上电后即执行温度电压采样

/*************************************************************

函数: void handle_temperature_volt(vu16 *ADCConvertedValue,variables *outpc)

功能: 配合中断,收集温度\缸温\电池电压

参数: ADCConvertedValue: ADC数组

outpc : 串口发送数据

返回: none

描述:

**************************************************************/

void handle_temperature_volt(vu16 *ADCConvertedValue,variables *topc)

{//采集气温,缸温,电池电压,分别存入

switch(Samp_Temp_Volt_State)

{caseFLG_SAMP_START:

ADC_SoftwareStartConvCmd(ADC1,ENABLE);//开启ADC转换、温度、缸温、电池电压

Samp_Temp_Volt_State =FLG_SAMP_WAIT;break;case FLG_SAMP_END: //等待ADC转换完成后,将进行处理ADC数据、温度、缸温、电池电压

get_temperature_volt(ADCConvertedValue,topc);

Samp_Temp_Volt_State= FLG_SAMP_OVER; //温度、缸温、电池电压采样

break;default: break;

}

}/*************************************************************

函数: void get_temperature_volt(vu16 *ADCConvertedValue,variables *outpc)

功能: 滑动平均算法平滑数据获得温度、缸温和电池电压,深度为3

参数: ADCConvertedValue: ADC数组

outpc : 串口发送数据

返回: none

描述: Third-order moving average algorithm,get ntc temperature

and battery voltage

**************************************************************/

static void get_temperature_volt(vu16 *ADCConvertedValue,variables *topc)

{

uint32_t temp= 0;static uint16_t ad_air_temp[3]; ///温度,平均滑动深度为3

static uint16_t ad_cyl_temp[3]; /缸温,滑动平均深度为3

static uint16_t ad_vol_temp[3]; //电池电压,滑动平均深度为3

temp= (ADCConvertedValue[0]+ADCConvertedValue[3]+ADCConvertedValue[6])/3; //气温的ADC平均值

ad_air_temp[0] = ad_air_temp[1];

ad_air_temp[1] = ad_air_temp[2];

ad_air_temp[2] =temp;

temp= (ad_air_temp[0] + ad_air_temp[1] + ad_air_temp[2])/3;

topc->mat = get_ntc_temperature((u16)temp,inpram.Temp_Units); //得到气温X10

temp= (ADCConvertedValue[1]+ADCConvertedValue[4]+ADCConvertedValue[7])/3; //缸温的ADC平均值

ad_cyl_temp[0] = ad_cyl_temp[1];

ad_cyl_temp[1] = ad_cyl_temp[2];

ad_cyl_temp[2] =temp;

temp= (ad_cyl_temp[0] + ad_cyl_temp[1] + ad_cyl_temp[2])/3;

topc->clt = get_ntc_temperature((u16)temp,inpram.Temp_Units); //得到缸温X10

temp= (ADCConvertedValue[2]+ADCConvertedValue[5]+ADCConvertedValue[8])/3; //电池电压的ADC平均值

ad_vol_temp[0] = ad_vol_temp[1];

ad_vol_temp[1] = ad_vol_temp[2];

ad_vol_temp[2] =temp;

temp= (ad_vol_temp[0] + ad_vol_temp[1] + ad_vol_temp[2])/3;

topc->batt = temp*132/4095; //电池电压X10

}/*************************************************************

函数: static int16_t get_ntc_temperature(uint16_t ad_data)

功能:

参数: ad_data: STM32的ADC采集到的NTC电路分压AD值

返回: 根据单位换算成摄氏度/华氏度,返回温度值*10

描述: 10K与NTC串联,接到3V3电源上

**************************************************************/

staticint16_t get_ntc_temperature(uint16_t ad_data,uint8_t Temp_Units)

{floatRntc,t;

uint8_t index;

Rntc= 10.0*ad_data/(4095 - ad_data);//求出Rntc阻值,单位为Komh

for(index = 0;index < (N-1);index++)

{if(Rntc >ntc[index])

{break;

}

}if(index <= 0) //temp lower than -20℃

{

t= -20.0; //rail at -20℃

}else

if(index >= (N-1)) //temp higher than 170℃

{

t= 170.0; //rail at 170℃

}else //temp between -20℃ and 170℃

{

t= (-20 +index) - (Rntc-ntc[index])/(ntc[index]-ntc[index-1]);}if(Temp_Units) //摄氏度 ℃

{

t= t*10; //温度扩大10倍

}else //华氏度 F

{

t= (t*1.8 + 32)*10; //温度扩大10倍

}return (int16_t)t; //类型转换为int16_t

}

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章