mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-28 13:16:32 +00:00
parent
55ba994956
commit
7c9067b7b1
@ -42,7 +42,7 @@
|
||||
#define TO_KELVIN(x) ((x) + 273.15)
|
||||
|
||||
// Parameters for equation
|
||||
#define ANALOG_V33 3.3 // ESP8266 Analog voltage
|
||||
#define ANALOG_V33 3.3 // ESP8266 / ESP32 Analog voltage
|
||||
#define ANALOG_T0 TO_KELVIN(25.0) // 25 degrees Celcius in Kelvin (= 298.15)
|
||||
|
||||
// Shelly 2.5 NTC Thermistor
|
||||
@ -410,9 +410,9 @@ void AdcEverySecond(void) {
|
||||
if (ADC_TEMP == Adc[idx].type) {
|
||||
int adc = AdcRead(Adc[idx].pin, 2);
|
||||
// Steinhart-Hart equation for thermistor as temperature sensor
|
||||
double Rt = (adc * Adc[idx].param1) / (1024.0 * ANALOG_V33 - (double)adc);
|
||||
double BC = (double)Adc[idx].param3 / 10000;
|
||||
double T = BC / (BC / ANALOG_T0 + TaylorLog(Rt / (double)Adc[idx].param2));
|
||||
double Rt = (adc * Adc[idx].param1) / (ANALOG_RANGE * ANALOG_V33 - (double)adc); // Shelly param1 = 32000 (ANALOG_NTC_BRIDGE_RESISTANCE)
|
||||
double BC = (double)Adc[idx].param3 / 10000; // Shelly param3 = 3350 (ANALOG_NTC_B_COEFFICIENT)
|
||||
double T = BC / (BC / ANALOG_T0 + TaylorLog(Rt / (double)Adc[idx].param2)); // Shelly param2 = 10000 (ANALOG_NTC_RESISTANCE)
|
||||
Adc[idx].temperature = ConvertTemp(TO_CELSIUS(T));
|
||||
}
|
||||
else if (ADC_CT_POWER == Adc[idx].type) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user