cancel
Showing results for 
Search instead for 
Did you mean: 

AEK-POW_BMS63EN cell balancing manually adjust

trishuynh
Associate III

Dear community members,

 

There are multiple functions related to cell balancing in AEK-POW_BMS63EN_id. However, when I tested, none of them work. Here is my main code based on the "SPC58EC - AEK_POW_BMS63EN_SOC_Estimation_14Cells_GUI application for discovery" example. Could anyone experts give me documents about how to manually use cell balancing of this board? and explain detail how cell balancing of AEK-POW-BMS63EN works?

This is my code:

trishuynh_0-1730455880757.png

And this is the results: Cells balancing still turn on

trishuynh_1-1730455908832.png

 

11 REPLIES 11

Hi Trishuynh,

It seems you entered in a faulty condition; this may be related to some poorly connected wire. I invite you to follow these steps:

  1. Switch OFF C4MLIT1
  2. Disconnect your AEK-POW- BMSHOLD connector
  3. Check if the Jumper JP1 of AEK-POW-BMESEN is inserted as in the picture below (pins 2-3)

ATROI_0-1733134042320.png

 

ATROI_1-1733134042322.png

 

  1. Check the wirings between AEK-BMS and AEK-ISOSPI, making also sure that ISOSPI VDD and VIO pins are supplied with 5V.

ATROI_2-1733134042323.png

 

  1. Check NTC connection
  2. Connect your sensing resistor as follows:
    ATROI_3-1733134042325.png

     

  3. Reconnect BMS cable to your battery pack
  4. Switch ON C4MLIT1

 

I also suggest to take a look to UM3185 for a better understanding on how to use our BMS boards.

The Demo we suggest to use with the new library (BMS_CHAIN) is SPC58EC - AEK_POW_BMS63EN_SOC_Est_SingleAccess_CHAIN

Thanks, 

AutoDevKit Team.

Dear ATROI,

 

Thank you so much. Back to the balancing of the new driver, I found out that only two value that can change the balancing status of the system (in the void AEK_POW_BMS63CHAIN_app_parserData(void)):

AEK_POW_BMS63CHAIN_app_dataChain[AEK_POW_BMS63CHAIN_chainidx].AEK_POW_BMS63CHAIN_nodeData[AEK_POW_BMS63CHAIN_devidx - 1].AEK_POW_BMS63CHAIN_Pack_Enable_Bal = 1;
AEK_POW_BMS63CHAIN_app_dataChain[AEK_POW_BMS63CHAIN_chainidx].AEK_POW_BMS63CHAIN_nodeData[AEK_POW_BMS63CHAIN_devidx - 1].AEK_POW_BMS63CHAIN_Pack_Enable_Discharge = 0;

 

When I changed the AEK_POW_BMS63CHAIN_Pack_Enable_Bal to 0, the balancing for each cell turned off to 0. 

When I changed the AEK_POW_BMS63CHAIN_Pack_Enable_Discharge to 1, the balancing for each cell turned on to 1.

 

However, All the below function seems do not works in any situation or I do not know how and when to put it in the code.

//Set Balancing Mode of Node of BMS Chain.

- AEK_POW_BMS63CHAIN_node_setBalMode


//Enable Balancing Cell of Node of BMS Chain.
- AEK_POW_BMS63CHAIN_node_enableBalCell


//Disable Balancing Cell of Node of BMS Chain
- AEK_POW_BMS63CHAIN_node_disableBalCell


//Set Balancing Start of Node of BMS Chain.
- AEK_POW_BMS63CHAIN_node_setStartBal


//Set Balancing Stop of Node of BMS Chain.
- AEK_POW_BMS63CHAIN_node_setStopBa

 

Could you please guide me by providing some example code to manually control balancing of each cell (turn on, turn off).

Thank you for your attention to this matter. I appreciate your assistance in clarifying this detail.

Best regards,

Trishuynh.