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.

BQ25887: Having trouble getting manual balancing to work

Part Number: BQ25887

This is related to the forum question:  "BQ25887:  Discharging cells without charging"

I am finally implementing this and running into some issues.  Namely, I can't seem to manually turn on the discharge path.  From the response from June, it seems like this is possible.  However I am having issues seeing this.

Here is the relevant text:

If you are referring to discharging through the cell balancing scheme within BQ25887, then the QCBH_EN and QCBL_EN bits will enable and disable discharging of the upper and lower cells respectively.

This is what I am referring to.  Basically we want to use our existing hardware to periodically to a estimated measure of battery health.  The basic scheme would be:

1 - Disable charging

2 - Discharge the connected batteries to known low voltages using the BQ25887 balancing scheme

3 - Re-enable charging and monitor the current going into the batteries over time to form a crude Coulomb counter

4 - At end of charge we would then have the total charge that entered the battery and then would have a crude estimate of SOH.

From your answer above, I think the BQ25887 supports this.  Do you agree that the approve approach is possible using the BQ25887?

In reply to DAVID BROBST:

David,

This sounds reasonable. The CB_CHG_DIS bit disables charging during discharge by default. 

End relevant text

However, I can't seem to get anything going.  Here is the algorithm I am using:

- I assume that the values in "Cell Balancing Control 1 Register (0x28)" and "Cell Balancing Control 2 Register (0x29)" don't matter as I am manually controlling this.
- I am setting "Cell Balancing Status and Control Register (0x2A)" to 0b10xxxxxx' which CB_CHG_DIS == 1 and CB_AUTO_EN == 0.  This should turn off charge during measurement and disable auto cell balancing.
- I am setting "Cell Balancing Flag Register" to 0b01xxxxxx which is QCBH_EN == 0 and QCBL_EN = 1, which should turn on the current path for the Bottom Cell to discharge through my current limiting resistor of 15 ohm.
- I am enabling the charger by setting "Charger Control 2 Register (0x06)" to 0b01111110.

I verify that the registers are set correctly by checking in my FW IDE.  I also decode the I2C signals on the scope and all of the values are set the way I want them; however, I never see a voltage drop across the balance resistor.  What am I doing wrong here?  Is there a reference design/code snippet/etc. showing how to use the manual balancing feature?

I tried looking at the ap note SLUA938 and saw a bit of reference to manual cell-balancing as seen below

The BQ25887 also implements a manual cell-balancing mode where you can build an even more
customized cell-balancing program according to your application requirements. In manual cell-balancing
mode, the cell-balancing discharging FETs, QCBH and QCBL, can be enabled through the QCBH_EN and
QCBL_EN bits. Only one of these bits can be selected at a time. QCBH and QCBL can only be enabled when
charge is enabled and CB_EN is set to 0.

I think that the "CB_EN" is a typo and should be "CB_AUTO_EN" as found in the "Cell Balancing Status and Control Register (0x2A)".  Other than that, I seem to be doing everything that I need to do.  

Note, I can charge and automatically balance with this circuit fine and am fairly confident that the I2C and register loading is correct -- all of the other loading/operation has worked fine and as expected.  We have used this device on ~1000 units over the past year and it works fine.  

Thank you.