|
|
@@ -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;
|
|
|
}
|