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:
@@ -493,22 +493,26 @@ void sensorTask(void *param){
|
||||
float deltaV = sensors.batteryVoltage - sensors.batteryVoltage10;
|
||||
// Higher limits for lower voltages
|
||||
if(sensors.batteryVoltage10 < 4.0){
|
||||
if(deltaV > 0.045 && deltaV < 4.15){
|
||||
if(deltaV > 0.045){
|
||||
sensors.BatteryChargeStatus = 1; // Charging active
|
||||
}
|
||||
if(deltaV < -0.04 || deltaV >= 4.15){ // Charging stops by grater than 4,15V
|
||||
if(deltaV < -0.04){
|
||||
sensors.BatteryChargeStatus = 0; // Discharging
|
||||
}
|
||||
}
|
||||
// Lower limits for higher voltages
|
||||
else{
|
||||
if(deltaV > 0.03 && deltaV < 4.15){
|
||||
if(deltaV > 0.03){
|
||||
sensors.BatteryChargeStatus = 1; // Charging active
|
||||
}
|
||||
if(deltaV < -0.03 || deltaV >= 4.15){ // Charging stops by grater than 4,15V
|
||||
if(deltaV < -0.03){
|
||||
sensors.BatteryChargeStatus = 0; // Discharging
|
||||
}
|
||||
}
|
||||
// Charging stops by grater than 4,15V
|
||||
if(sensors.batteryVoltage10 > 4.15){
|
||||
sensors.BatteryChargeStatus = 0; // Discharging
|
||||
}
|
||||
// Send to NMEA200 bus as instance 10
|
||||
if(!isnan(sensors.batteryVoltage)){
|
||||
SetN2kDCBatStatus(N2kMsg, 10, sensors.batteryVoltage, N2kDoubleNA, N2kDoubleNA, 0);
|
||||
|
||||
Reference in New Issue
Block a user