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 balancing

Part Number: BQ76952

Hello,

We're trying to use host-controlled balancing but we don't see any cell balancing happen.

Settings:Configuration:DA Configuration = 0x0A

Settings:Cell Balancing Config:Balancing Configuration = 0x00

Settings:Cell Balancing Config:Min Cell Temp = 0x80

Settings:Cell Balancing Config:Max Cell Temp = 0x7F

Settings:Cell Balancing Config:Max Internal Temp = 0x7F

Settings:Cell Balancing Config:Cell Balance Interval = 0x0A

Settings:Cell Balancing Config:Cell Balance Max Cells = 0x10

Settings:Cell Balancing Config:Cell Balance Min Cell V (Charge) = 0x0A8C

Settings:Cell Balancing Config:Cell Balance Min Delta (Charge)  = 0x28

Settings:Cell Balancing Config:Cell Balance Stop Delta (Charge) = 0x14

Settings:Cell Balancing Config:Cell Balance Min Cell V (Relax) = 0x0A8C

Settings:Cell Balancing Config:Cell Balance Min Delta (Relax) = 0x28

Settings:Cell Balancing Config:Cell Balance Stop Delta (Relax) = 0x14

To begin host-controlled balancing, we send 0x0083 CB_ACTIVE_CELLS() with mask 0x0050

And then read back CB_ACTIVE_CELLS() as 0x0000, and see no current draw from our bench supply / resistor ladder.

Is there a setting that we're missing here?

  • 0x0002 FW_VERSION returns:
    Device Number 0x7695
    Firmware Version: 0x0036
    Build Number: 0x0027

  • Hi Robert,

    The part (Firmware Version: 0x0036)supports balancing.

    Host balancing ignores many of the cell balancing settings.  See specifics in the BQ76952 technical reference manual section 10.1 Cell Balancing Operation and the register definitions later on. 

    Be sure not to set the CB_NO_CMD bit in Settings:Cell Balancing Config:Balancing Configuration, which you have not. 

    Temperature checks are used, it seems you have a wide range allowed. Check the reported values for temperature to be sure they are within those limits.

    The part will check faults and terminate balancing if fault is pending.  This may be what is happening.  With a resistor ladder the voltages of the other cells change when cell balancing current is drawn. Check the balanced cell with an oscilloscope, you may see that balancing is actually applied for a few ms, then stops.  The register will report no cells balancing when read.

    Try using a second supply set to the desired cell voltage connected across the cell to be balanced.  That will hold the voltage stable and allow the balancing to run. 

    Be sure Vcell Mode is set correctly for your supported cells.  Incorrect setting can allow a fault on unused cells and terminate balancing.  The part excludes checks on the cells balancing and those adjacent.  If Vcell Mode is set wrong it may be checking for faults on cells actually adjacent to the balanced cell. 

    Please let us know if this solves the issue.

  • Try using a second supply set to the desired cell voltage connected across the cell to be balanced.  That will hold the voltage stable and allow the balancing to run. 

    Thanks for the reply.

    Confirmed that Settings:Configuration:Vcell Mode = 0xFFFF (we have all 16 cells connected).

    We do have cell undervoltage protections disabled just in case. Our resistor ladder is also build with 10-ohm resistors so fairly strong against our 44 ohms of balancing resistor per cell.

    Watching with the scope, we don't see any dip on the cell we're trying to balance, not even for 1 ms.

    I also hooked up a second supply to hold up the cell voltage, but I still see no balancing activity or current drawn.

    Anything else that we should check out?

  • I hooked into BQ studio and lifted Data Memory settings off the device, found that most of our settings are not sticking and we likely have an issue in our 2-byte SPI writes.

    I'll update here once we fix our SPI driver, but for now we're good, thanks for your help!

  • Confirmed that balancing is working with the above settings. We just had an issue in how we were doing 2-byte SPI writes to data memory.

    Thanks again