Browse Source

fix: 单电芯充电过压,如果总电压小于53V,放电欠压后不记录最小容量

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 4 years ago
parent
commit
77cf234819
1 changed files with 4 additions and 0 deletions
  1. 4 0
      Application/app/sox/soc.c

+ 4 - 0
Application/app/sox/soc.c

@@ -24,6 +24,7 @@ static const float _discharger_gain[] = {1.0f/*>0
 #define DEFALUT_MAX_COULOMB (MAX_HA * 3600.0f)
 #define DEFALUT_MIN_COULOMB (25.0f * 3600.0f)
 #define FULL_MAX_VOLTAGE_CHARGING (53500)//mV
+#define SIGAL_CELL_OV_MAX_PACK_VOL (53000)
 #define FULL_MAX_VOLTAGE (54000) //mV
 #define FULL_MIN_CURRENT (500.0f) //mA
 static void calibrate_soc_by_ocv(void);
@@ -320,6 +321,9 @@ static int _soc_update_by_ocv(uint8_t prev_charge_status){
 		}*/
 		if (bms_health()->sigle_cell_over_voltage) { //单电芯过压强制充满
 			_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, 放电欠压后不校准最小容量
+			}
 			ocv_full_count = 0;
 			return 1;
 		}