1
0
mirror of https://github.com/thooge/esp32-nmea2000-obp60.git synced 2025-12-15 23:13:07 +01:00

Fix undervoltage detection

This commit is contained in:
norbert-walter
2025-01-26 15:01:47 +01:00
parent 9dc857056b
commit e7d5ada610
2 changed files with 21 additions and 9 deletions

View File

@@ -491,11 +491,23 @@ void sensorTask(void *param){
}
// Charging detection
float deltaV = sensors.batteryVoltage - sensors.batteryVoltage10;
if(deltaV > 0.045){
sensors.BatteryChargeStatus = 1; // Charging active
// Higher limits for lower voltages
if(sensors.batteryVoltage10 < 4.0){
if(deltaV > 0.045 && deltaV < 4,15){
sensors.BatteryChargeStatus = 1; // Charging active
}
if(deltaV < -0.04 || deltaV >= 4,15){ // Charging stops by grater than 4,15V
sensors.BatteryChargeStatus = 0; // Discharging
}
}
if(deltaV < -0.04){
sensors.BatteryChargeStatus = 0; // Discharging
// Lower limits for higher voltages
else{
if(deltaV > 0.03 && deltaV < 4,15){
sensors.BatteryChargeStatus = 1; // Charging active
}
if(deltaV < -0.03 || deltaV >= 4,15){ // Charging stops by grater than 4,15V
sensors.BatteryChargeStatus = 0; // Discharging
}
}
// Send to NMEA200 bus as instance 10
if(!isnan(sensors.batteryVoltage)){