我看到很多什么查表法,不太理解,就是我現在下面這個程序,里面算出了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;
}
|
|