我看到很多什么查表法,不太理解,就是我现在下面这个程序,里面算出了NTC电阻值和温度,那比如我有个模式只要加热到150°就算完成,那是不是我只要算出温度和这个150°去比较就可以得出是否加热完成了,而查表法是不是也只是为了方便不用总是去查看手册而做到程序里面呢?
#include <math.h>
float T_c=0.0; //温度值
// 定义常量
#define R_FIXED 10000.0 // 固定电阻值10kΩ
#define B_CONST 3950.0 // NTC的B常数
#define T0 298.15 // 25℃转换为开尔文
#define R0 10000.0 // NTC在25℃时的电阻值10kΩ
float calculate_temperature(float voltage) {
float R_ntc, T;
float V_supply = 3.3; // 电源电压3.3V
// 计算NTC电阻值
R_ntc = R_FIXED * (V_supply / voltage - 1);
// 计算温度(开尔文)
T = 1 / (1 / T0 + log(R_ntc / R0) / B_CONST);
// 转换为摄氏度
T = T - 273.15;
return T;
}
|
|