Просмотр исходного кода

欠压充电0.1AH才校准到100%

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 4 лет назад
Родитель
Сommit
845db84a7c
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      Application/app/sox/soc.c

+ 2 - 2
Application/app/sox/soc.c

@@ -319,7 +319,7 @@ static int _soc_update_by_ocv(uint8_t prev_charge_status){
 			ocv_full_count = 0;
 			return changed;
 		}*/
-		if (bms_health()->sigle_cell_over_voltage) { //单电芯过压强制充满
+		if (chargering && bms_health()->sigle_cell_over_voltage && (_soc.charger_coulomb >= (0.1f * 3600.0f))) { //单电芯过压强制充满
 			_force_capacity_full();
 			if (bms_state_get()->pack_voltage < SIGAL_CELL_OV_MAX_PACK_VOL) {
 				force_full_ts = 0; //单电芯过压,总电压小于SIGAL_CELL_OV_MAX_PACK_VOL, 放电欠压后不校准最小容量
@@ -338,7 +338,7 @@ static int _soc_update_by_ocv(uint8_t prev_charge_status){
 				ocv_full_count = 0;
 			}
 		}else if (!chargering && prev_charge_status && (_soc.capacity != 100)){
-			if ((bms_state_get()->pack_voltage >= FULL_MAX_VOLTAGE) && (((_soc.coulomb_now - _soc.coulomb_min)/(_soc.coulomb_max - _soc.coulomb_min)) >= 0.998f)){//充电容量几乎接近最大容量
+			if ((bms_state_get()->pack_voltage >= FULL_MAX_VOLTAGE) && (_soc.charger_coulomb >= (0.1f * 3600.0f))){//充电容量几乎接近最大容量
 				_force_capacity_full();
 				changed = 1;
 			}