|
@@ -13,7 +13,7 @@
|
|
|
#define MIN_VOLTAGE_FOR_POWER_DOWN (2.1f * CELLS_NUM* 1000)
|
|
#define MIN_VOLTAGE_FOR_POWER_DOWN (2.1f * CELLS_NUM* 1000)
|
|
|
#define SIGLE_CELL_LOWER_DISCHARGER_VOLTAGE (1820) //最小允许的电芯放电电压 1.8v, 考虑到采样的误差取 1.82
|
|
#define SIGLE_CELL_LOWER_DISCHARGER_VOLTAGE (1820) //最小允许的电芯放电电压 1.8v, 考虑到采样的误差取 1.82
|
|
|
|
|
|
|
|
-#define SIGLE_CELL_MAX_CHARGER_VOLTAGE (3880)//最大允许充电电压,3.9v,考虑到采样的误差取 3.88
|
|
|
|
|
|
|
+#define SIGLE_CELL_MAX_CHARGER_VOLTAGE (3800)//最大允许充电电压,3.9v,考虑到采样的误差取 3.88
|
|
|
|
|
|
|
|
static int8_t charger_normal_low_temp[PACK_TEMPS_NUM] = {0,0,0,0}; //正常的充电最低温度
|
|
static int8_t charger_normal_low_temp[PACK_TEMPS_NUM] = {0,0,0,0}; //正常的充电最低温度
|
|
|
static int8_t charger_normal_high_temp[PACK_TEMPS_NUM] = {50,50,50,55}; //正常的充电最高温度
|
|
static int8_t charger_normal_high_temp[PACK_TEMPS_NUM] = {50,50,50,55}; //正常的充电最高温度
|
|
@@ -39,7 +39,7 @@ static float min_discharger_power_cell_vol[] = {2100, 2300}; //
|
|
|
static float min_discharger_power_recovery_cell_vol[] = {2100, 2300}; //恢复能提供动力的最小电芯电压
|
|
static float min_discharger_power_recovery_cell_vol[] = {2100, 2300}; //恢复能提供动力的最小电芯电压
|
|
|
|
|
|
|
|
/*电池PowerDown的最小电压 */
|
|
/*电池PowerDown的最小电压 */
|
|
|
-static float min_discharger_pdown_vol[] = {(2000 * CELLS_NUM), (2300 * CELLS_NUM)}; //power down的最小电压
|
|
|
|
|
|
|
+static float min_discharger_pdown_vol[] = {(2000 * CELLS_NUM), (2400 * CELLS_NUM)}; //power down的最小电压
|
|
|
static float min_discharger_pdown_cell_vol[] = {1900, 2200}; //power down的最小电芯电压
|
|
static float min_discharger_pdown_cell_vol[] = {1900, 2200}; //power down的最小电芯电压
|
|
|
|
|
|
|
|
/* health 模块,只检测状态,不做任何控制,如果有异常情况,控制中心会统一处理 */
|
|
/* health 模块,只检测状态,不做任何控制,如果有异常情况,控制中心会统一处理 */
|
|
@@ -57,7 +57,9 @@ void health_init(void){
|
|
|
ml5238_register_notify_handler(check_ml5238_state);
|
|
ml5238_register_notify_handler(check_ml5238_state);
|
|
|
init_detect_timer();
|
|
init_detect_timer();
|
|
|
set_log_level(MOD_HEALTH, L_debug);
|
|
set_log_level(MOD_HEALTH, L_debug);
|
|
|
- _health.internal_resistance = 20; //毫欧,暂时用一个固定数据,后期需要计算R0=(U2-U1)/(I1-I2) - R1(R1为电路上的等效电阻+采样电阻)
|
|
|
|
|
|
|
+ for (int i = 0; i < CELLS_NUM; i++){
|
|
|
|
|
+ _health.internal_resistance[i] = 5;//毫欧,暂时用一个固定数据,后期需要计算R0=(U2-U1)/(I1-I2) - R1(R1为电路上的等效电阻+采样电阻)
|
|
|
|
|
+ }
|
|
|
_health.is_work_temp_lower = 1;
|
|
_health.is_work_temp_lower = 1;
|
|
|
}
|
|
}
|
|
|
|
|
|