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.

bq27510 G2 SOC Behavior with an Old Battery

Other Parts Discussed in Thread: BQ27510, BQ27510-G2, BQ27742-G1, BQ27546-G1, BQ27542-G1

We are using a bq27510 G2 as a gas gauge for a handheld.  They have been in the field for over a year under heavy use.  We have seen a few exhibit unusual behavior for the SOC.  These batteries are fairly weak now, possibly worn out.  They show that they charge to an SOC of 100% with appropriate input current with the flags as 0x238 in the charger.  When removed from the charger we see current coming out of the battery but the flag stays at 239, indicating the full charge was reached and remains there even after an hour of discharge.  The current can be seen coming out of the battery as read from the bq chip.  The voltage at this point is 3.7 or so volts.  So the full charge flag does not seem to be reset when discharging.  then after a while, the full charge flag goes low and the available charge starts to decrement.  By now the battery is exhausted and the voltage crashes.  We have moved these batteries to other boards, ones that work normal with fresh batteries, and this pattern repeats itself.  Another phenomenon is the maximum capacity of the battery when it is in early demise is reduced heavily, from 2800 mAh to around 1000 mAh until near the recharge.  Then it suddenly jumps back top 2800 mAh.  Our guess is the battery gauge is fooled by certain old batteries near their end of useful life.  Is this to be expected?

  • Hi Houston,

    This is a classic challenge when putting the fuel gauge inside the system and not the battery pack when your batteries are removable.  The Impedance Track algorithm will learn your batteries as they age, but if you swap them out and introduce a new battery to a gauge with an old learned profile, or an old battery to a gauge with the new default profile then it will take some time for it to adapt. 


    We have a feature in the bq27510-G2 which will try to minimize the problem.  It's called battery arbitration.  The bq27510-G2 keeps a copy of the default Qmax and Ra values in flash, as well as has two copies which are updated.  This for the case where a user might be regularly swapping between the same two batteries with different ages.  Page 30 of the bq27510-G2 datasheet (SLUS948) has more details.


    The bottom line is that it does sound like the heavily degraded batteries are confusing the gauges in the systems you swap them around to.  It may be initializing to a newer profile which doesn't match the actual battery used, or sometimes switching between the old and the new profiles per the battery arbitration algorithm.  That's why you see your capacity sometimes swapping between 2800 and 1000.  Actually, the 1000 is a default setting so I suspect your golden file may have one of the profiles with 1000 still in there.

    Architecturally, the only way around this challenge is to use an embedded battery or else to utilize a pack-side gauge like bq27542-G1, bq27546-G1, or bq27742-G1 so the gauge is always married to the same cell and you can achieve instant accuracy when the pack is inserted into the system.

    If you use a system-side gauge like bq27510-G2 with an embedded battery, then it's ideal to turn off the pack arbitration feature by setting IDSELEN = 0 in the Operation Configuration register.  Then it won't ever accidentally switch to the other profile and will stay with the learned one.