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.

BQ27X00 Fuel Gauge has NAC freeze, even though voltage and current are still changing, EDV1 flag does not trigger

Other Parts Discussed in Thread: BQ27210, BQ27010

Hi,

I have a fuel gauge in a battery pack, and have noticed that during discharge the NAC (nominal available capacity) decreases gradually from the starting value of about 1500mAh until it reaches 560.13 mAh, and then it stops updating.  However, the voltage is still at 3.3V, and the current draw is 7443mA.

As well, when the reported voltage drops below 3.4V, I am not seeing the EDV1 flag go high to indicate that the battery is getting low.

A few observations:

1) the reported temperature has just reached 40 degrees C when the NAC freezing occurs

2) the pack fuel gauge sense resistor is two 20mOhm resistors in parallel, and the current draw is 7.4A, so we have a voltage of 74mV across SRP and SRN

3) During charge of the pack
   - we are charging the battery to 4.2V, but the charge termination is set to 4.112V. 
   - our battery charge circuit cuts off the current to the battery when the taper current has dropped to 150mA, but the TAPER current is set to 91mA (I will increase this in the EEPROM)

Anyone have any ideas about what I'm doing wrong?

Thanks,

Alex

  • Hello Alex,

    I don't have enough info to answer you for certain.  It would be good to know the EEPROM values that have been programmed.

    You are correct that TAPER should be set to a value that is a little less than the charger termination current.  This will guarantee that the gauge can detect the fully-charged condition before the charger stops.  The fully-charged condition will be detected if the charge current drops below TAPER (but not to zero) for greater than 25 seconds with a reported battery voltage of at least 4112mV.  When this occurs, NAC will be adjusted to equal the LMD value.

    When the battery is discharged, NAC will count down.  If the VDQ bit is set and NAC drops to LMD/16 before EDV1 is detected, NAC will be held at this value until EDV1 is set.  If the NAC value is 560mAh when it is held, this would indicate that your LMD is 8960mAh.  However, if NAC only increased to 1500mAh when charging and then a discharge occurred, VDQ would not be set, as it will only set if NAC reaches LMD when charging.  VDQ would be set if a DONE command sequence is sent, but that would also force NAC=LMD.  Perhaps a WRTNAC command sequence was sent later that adjused NAC back down to the 1500mAh value before your discharge.  The EEPROM value for EDV1 should be confirmed, since you indicate that you expected it to set at 3400mV.

    If you are using the TI evaluation software, insure that the sense resistor value near the top of the page has been adjusted to 10mohms, or capacity and current reporting by this software will use the default 20mohm value to compute the displayed results.

    Bill

  • Hi Bill,

    Thanks for the suggestions.

    I've got a log of the charge and discharge behavior that I can send you, either in .xls format or raw text.  It shows some strange behaviour.  A couple of the logged fields remain constant when I would expect them to be changing (Avg Power for example).  As well, the LMD is dropping proportional to the increase in current. 

    Here are the EEPROM Settings:

    Register Address / Register value
    0x76 / 0x10
    0x77 / 0x77
    0x78 / 0xA9
    0x79 / 0x28
    0x7A / 0x38
    0x7B / 0x84
    0x7C / 0x60
    0x7D / 0x66
    0x7E / 0x82
    0x7F / 0x46

    I am using the BQ27X00 logging software, version 2.5.0 and logging all fields.

    I likely need to move the EDV1 voltage from 3.4V, since there is probably > 6.25% capacity left in the battery when 3.4V is reached.

     

  • Hello Alex,

    Please send me your log file.  You can click Options (instead of Compose) and attach your file.

    I think I know what may be going on, but the log file will confirm it.  You are discharging the battery at about 5C-rate.  The rate compensation value is going to reduce the available capacity a lot at that high discharge rate and your programmed rate compensation.  You have the rate compensation programmed to 12.5% per C-rate greater than C/4 (DCOMP = 0x82).  So your initial CACD (or CACT) value will be reduced from the initlal full value of 1462mAh (ILMD = 0x10) to 578mAh with a 7443mA load.  NAC should not be reduced due to the compensation.  NAC and CACD will both drop together as the battery discharges and will maintain the same 1462-578 = 884mAh compensation reduction between these two registers as long as the load remains constant.  [0.125*(7443 - 1462/4) = 884]  If the load is reduced and the discharge continues at a reduced load, the capacity compensation reduction will be reduced, but CACD is not allowed to increase.  So NAC will continue to decrease, but CACD will no longer decrease until the difference in NAC and CACD is reduced to equal the capacity compensation reduction at a lower current.  For example, if the load is later reduced to 2A, the capacity compensation reduction will drop to 204mAh.  NAC will continue to decrease until the difference between NAC and CACD drops to 0.125*(2000 - 1462/4) = 204mAh and then CACD will start decrementing.  If CACD were allowed to increase when the load decreases, but discharging still continues, it would look to the user like the available capacity was increasing even though he was not charging the battery.  If your report is describing the action of CACD or CACT (They will be equal at 40C), rather than NAC, then this should explain what is going on.  The available energy from the battery is also computed from CACT, so if CACT is being held, so will the SAE value.

    Bill

  • Hi Bill,

    Attached is the discharge log file, with some extra columns and formatting added.

    Thanks,

    Alex

    ForTI-pack09-2010-05-13-discharge.xls
  • Hello Alex,

    Thanks for the file.  That clarified the issue.

    You are not using a bq27x00.  You are using a bq27x10.  The register set is somewhat different and the compensations are different.  The Column marked CACD is really LMD, which is why it never changes.  The column marked CACT is the CAC register that is compensated for both discharge rate and temperature and is equivalent to the CACT register on the bq27x00.  The column marked LMD is really FCAC, or the compensated FULL Capacity falue, which is why it decreases at the heavy loads.  The bq27x10 does not compute energy or power, but has other values in those registers.  This gauge uses a compensated EDV1 threshold and even though the CEDV column (marked MaxLdTTE in your file) is computed to be 1902mV, the trip threshold is not allowed to be below EDVF + 32mV, so it won't detect EDV1 until the voltage drops below 3032mV with the programming that is in place for this gauge.

    Actually, the bq27x10 is a newer and better part, but the EEPROM setup is a little different to get the results you want.  The applicaiton note for programming the EEPROM values is SLUA414.  The evaluation software can be downloaded from the bq27210 product folder under Tools and Software at the following link

    http://focus.ti.com/docs/prod/folders/print/bq27210.html

    Perhaps you ordered a bq27x00 EVM and were sent the wrong EVM, but regardless, I can guarantee that the silicon you are using is either a bq27010 or bq27210.

    Bill 

  • Hi Bill,

    Thanks for the suggestions. Using the right software eliminated my confusion and helped me to fix the problem.  It turns out that our battery capacity and EDV1 voltage change very little when used at high discharge rates vs 1C discharge.  I revised the discharge rate compensation EEPROM coefficients in RAM (a nice feature by the way), and saw the results I expected.

    Thanks,

    Alex