فهرست منبع

fix: 开启均衡前先判断单电芯电压是否过压

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 4 سال پیش
والد
کامیت
5215610944
2فایلهای تغییر یافته به همراه2 افزوده شده و 2 حذف شده
  1. 1 1
      Application/app/sox/state.c
  2. 1 1
      Application/app/sox/state.h

+ 1 - 1
Application/app/sox/state.c

@@ -620,7 +620,7 @@ static uint32_t get_balance_mask(uint8_t current_max_index){
 }
 
 static void check_cell_balance(uint8_t current_max_index){
-	if (!_bms_state.charging){ //not charging, need not do balance
+	if (!_bms_state.charging || (_bms_state.cell_max_vol >= SIGLE_CELL_MAX_CHARGER_VOLTAGE)){ //not charging, need not do balance
 		if (_bms_state.pack_balancing){
 			_bms_state.pack_balancing = 0;
 			_cell_balance.count = 10;

+ 1 - 1
Application/app/sox/state.h

@@ -19,7 +19,7 @@
 #define MIN_START_LOADING_CURRENT 5  //ma, 如果有反向小于 MIN_START_LOADING_CURRENT的电流,认为在放电
 #define MAX_DIFF_BETWEEN_MIN_MAX_CELL 150 //0.15v ,压差超过这个值,开始balance
 #define MIN_DIFF_BETWEEN_MIN_MAX_CELL 050 //0.05v, 牙差低于这个数据,停止balance
-#define MAX_CELL_VOLTAGE_FOR_BALACNE 3650
+#define MAX_CELL_VOLTAGE_FOR_BALACNE 3600
 #define CELL_FUSION_VOLTAGE      3500 //LFP电池在3.5v的时候,开始发散,需要判断是否要balance