This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ76952: Host-Controlled Cell Balancing; Acknowledged, but not applied

Part Number: BQ76952
Other Parts Discussed in Thread: BQSTUDIO, EV2400

Tool/software:

Hi all,

We have developed a BMS using two BQ76952 AFEs, controlled by a host MCU over the I2C protocol. This is the reference schematic we followed: https://www.ti.com/lit/df/tidmb58/tidmb58.pdf?ts=1718796381858

We are using host-controlled balancing with the 0x0083 CB_ACTIVE_CELLS() function. This has previously been tested and has passed our tests. But now, after having installed our BMS on a battery for about 3 weeks, we have discovered that the cells are getting imbalanced. Probing across the balance resistors, we see zero volts. Similarly, probing the Vgs voltage of our balancing FETs, we see no voltage.

We have now connected this BMS to a cell simulator, and are using an EV2400 and BQstudio for further debugging. Upon applying the CB_ACTIVE_CELLS() functions, the BQstudio does acknowledge the command.

However, we still fail to measure any voltage across the balance resistors, any Vgs voltage on the balancing FETs, nor any increase in power consumption. It appears the AFEs are acknowledging the balance command, but simply not applying it.

The AFEs are not reporting any fault status. Sleep mode has been disabled, so we know it is in Normal mode. We are able to toggle the FETs with the FET_TEST commands, and the AFEs are measuring voltages, current and temperatures accurately. The singular issue is in applying the Balance commands.

All this behaviour is consistent across both the Upper and Lower AFEs on this particular BMS.

Replicating these procedures on other units, we see that this is the only one with this issue; All our other BMS of the same design are working. That said, this is the only BMS which has been tested as extensively as this.

On searching the forums, we came across this post from last month: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1358343/bq76952-bq76952-host-cell-balancing/5206930?tisearch=e2e-sitesearch&keymatch=0x0083%2520BQ76952#5206930

Solution here appears to have been disabling Sleep mode. In our case, Sleep mode is already disabled.

I would like to understand if there are any other reasons that the AFEs may have stopped applying the balancing commands. If so, I'm hoping to find a way for the host microcontroller to detect and recover from this failure mode.

Additionally, in case this is an irrecoverable failure, I would like to understand how this occurs, and how I may prevent this failure mode from recurring.

  • Hello Arush,

    Is the address you chose 0x60? 

    If you continue reading again, does it report that balancing stopped?

    If only a single die is experiencing an issue, I would suggest to do an ABA swap with a good board and see if the problem follows the IC or it is based on the board.

    Typically balancing would only stop when there is a fault condition is present (with the exception of OV).

    Mind also sharing your .gg.csv file so I can review all the cell balancing settings?

    Best Regards,

    Luis Hernandez Salomon

  • Yes, this particular AFE is operating on address 0x60

    It reports balancing has stopped, within 1 second of the initial command. I've added a screenshot to illustrate:

    It is two dies on the same PCB, which are facing this issue. we can perform an ABA swap on both of them.

    No fault conditions are present at this time

    .gg.csv files are attached below

    AFE_B.gg.csvAFE_U.gg.csv

    Would like to note that the VcellMode is 0x8003 on startup, in line with these OTP files. But it is written 0x807F by the Host microcontroller after a short while.

    EDIT: Just identified the cause, this particular PCB doesn't have all Thermistors installed. It's measuring a MinCellTemperature of -60 Celcius. This seems to be why the Balancing Command is ignored.

    By changing my thermistor pin configurations (TS1, TS3 and HDQ) to "Unused", balancing works as normal.

    Is there any way to change this behaviour, so that balancing works regardless of Temperature measurements? It would be useful in the development phase.

  • Hello Arush,

    Thanks for the EDIT! I see, yes that would do it. The temperature will affect if balancing is allowed or not.

    For the development phase can you leave the pins left to "unused"? Alternatively you could put a fixed resistance on those pins, so that cell balancing is not affect by temperature. 

    Or maybe set to 0x02, I believe that could also work, but I have not tested on my side. You can check if that works as well!

    Best Regards,

    Luis Hernandez Salomon

  • Thanks for the suggestions!

    Fixed Resistances seem like the best option for us, we'd like to maintain identical OTP across all our PCBs to avoid confusion. Fixed resistors on the hardware would be visually obvious, as well.

    Thanks for the help!

    Arush Thomas