Explorar o código

1. 暂时去掉上报过来的充电器状态,老充电底座不支持
2. shutdown power 常温修改为2.7v

Signed-off-by: huhui <huhui@sharkgulf.com>

huhui %!s(int64=5) %!d(string=hai) anos
pai
achega
3e1ebe9e73
Modificáronse 2 ficheiros con 9 adicións e 9 borrados
  1. 4 4
      Application/app/sox/health.c
  2. 5 5
      Application/app/sox/soc.c

+ 4 - 4
Application/app/sox/health.c

@@ -29,14 +29,14 @@ static int8_t work_lower_temp[PACK_TEMPS_NUM - 1] = {0,0,0}; //pcb
 /*能提供动力的最小电压*/
 static float min_discharger_power_vol[] = {32000, 38000}; //允许能提供动力的最小电压
 static float min_discharger_power_recovery_vol[] = {34000, 40000}; //恢复能提供动力的最小电压
-static float min_discharger_power_cell_vol[] = {2100, 2550}; //允许能提供动力的最小电芯电压
-static float min_discharger_power_recovery_cell_vol[] = {2200, 2650}; //恢复能提供动力的最小电芯电压
+static float min_discharger_power_cell_vol[] = {2100, 2700}; //允许能提供动力的最小电芯电压
+static float min_discharger_power_recovery_cell_vol[] = {2200, 2750}; //恢复能提供动力的最小电芯电压
 
 /*能提供大电的最小电压*/
 static float min_discharger_vol[] = {30000, 36000};//允许能放电的最小电压
 static float min_discharger_recovery_vol[] = {32000, 40000};//恢复放电的最小电压
-static float min_discharger_cell_vol[] = {2000, 2500};//允许能放电的最小电芯电压
-static float min_discharger_cell_recovery_vol[] = {2100, 2600};//恢复放电的最小电芯电压
+static float min_discharger_cell_vol[] = {1900, 2500};//允许能放电的最小电芯电压
+static float min_discharger_cell_recovery_vol[] = {2000, 2600};//恢复放电的最小电芯电压
 
 /*电池PowerDown的最小电压 */
 static float min_discharger_pdown_vol[] = {28000, 34000}; //power down的最小电压

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

@@ -22,8 +22,8 @@ uint32_t charger_remain_time = 0;
 #define MAX_TIME_FULL_TO_EMPTY (5 * 24 * 3600) //充满到欠压5天内达到,可以校准最小电量
 #define DEFALUT_MAX_COULOMB (MAX_HA * 3600.0f)
 #define DEFALUT_MIN_COULOMB (25.0f * 3600.0f)
-#define FULL_MAX_VOLTAGE_CHARGING (53000)//mV
-#define FULL_MAX_VOLTAGE (53500) //mV
+#define FULL_MAX_VOLTAGE_CHARGING (53500)//mV
+#define FULL_MAX_VOLTAGE (54000) //mV
 #define FULL_MIN_CURRENT (500.0f) //mA
 static void calibrate_soc_by_ocv(void);
 
@@ -181,8 +181,7 @@ static void _force_capacity_full(void){
 
 static int _soc_is_under_voltage(void) {
 	return (bms_health()->powerdown_lower_voltage || bms_health()->sigle_cell_lower_voltage || 
-		bms_health()->discharger_lower_voltage || bms_health()->discharger_cell_shutpower_voltage ||
-		bms_health()->discharger_shutpower_voltage);
+		bms_health()->discharger_lower_voltage);
 }
 
 static int _soc_update_by_ocv(uint8_t prev_charge_status){
@@ -207,10 +206,11 @@ static int _soc_update_by_ocv(uint8_t prev_charge_status){
 		}
 	}
 	if (chargering || prev_charge_status) {
+		/*
 		if (bms_state_get()->ps_charger_mask && !bms_state_get()->ps_charger_in) { //ps100 上报无充电器,不做处理
 			ocv_full_count = 0;
 			return changed;
-		}
+		}*/
 		if (bms_health()->sigle_cell_over_voltage) { //单电芯过压强制充满
 			_force_capacity_full();
 			ocv_full_count = 0;