• Not Answered

BQ27520-G4: Learning cycle failing with update status remaining 0 after first full charge

Part Number: BQ27520-G4


I am having difficulty getting the update status to change from 0 to 1 during a learning cycle. I have previously done a successful learning cycle but we have changed cell brand/model to Panasonic NCR18650B (1S4P). The new pack has a design capacity of 12000mAh (previously 8800mAh). Except for the change in battery, all other hardware is unchanged.

The steps I have followed are:-

  1. Reprogram firmware (3.29) to clear any hidden flags (as the gauge has previously been programmed and sealed in production).
  2. Load the new chemistry 2030 (one of several recommended during a chemistry analysis with <2% max error).
  3. Write configuration settings (modified from the previous values for the new chemistry and design capacity) - file attached. AX18 Pre-Learn.gg.csv.txt
  4. Run the learning cycle with 2000mA discharge (CC load) and 2050mA charge (BQ24192).

The following log shows the state changes during discharge (to 2900mV) and subsequent full charge (to 4200mA and 256mA taper). A detailed log of the actual voltage/current logs is attached. learn log 1.txt

2017-05-18 12:29:48  Discharge  controlStatus=0294, flags=013C, qmax=1000, updateStatus=0, raUpdates=1
2017-05-18 12:29:51  Discharge  controlStatus=0284, flags=013D, qmax=1000, updateStatus=0, raUpdates=1  (dsg=1)
2017-05-18 16:27:46  Discharge  controlStatus=0284, flags=013F, qmax=1000, updateStatus=0, raUpdates=1  (sysdown=1)
2017-05-18 17:54:21  Relax      controlStatus=0284, flags=013F, qmax=1000, updateStatus=0, raUpdates=1
2017-05-18 17:55:26  Relax      controlStatus=0294, flags=013E, qmax=1000, updateStatus=0, raUpdates=1  (dsg=0)
2017-05-18 17:56:26  Relax      controlStatus=0A84, flags=013E, qmax=1000, updateStatus=0, raUpdates=1  (cca=1)
2017-05-18 17:56:41  Relax      controlStatus=0294, flags=013E, qmax=1000, updateStatus=0, raUpdates=1    (cca=0)
2017-05-18 18:55:31  Relax      controlStatus=0A84, flags=013E, qmax=1000, updateStatus=0, raUpdates=1  (cca=1)
2017-05-18 18:55:46  Relax      controlStatus=0284, flags=013E, qmax=1000, updateStatus=0, raUpdates=1  (cca=0)
2017-05-18 19:54:21  Relax      controlStatus=0294, flags=013E, qmax=1000, updateStatus=0, raUpdates=1  (IT ENABLED)
2017-05-18 19:54:26  Relax      controlStatus=0293, flags=013E, qmax=1000, updateStatus=0, raUpdates=1  (qen=1, vok=1, rup_dis=0)
2017-05-18 20:00:51  Charge     controlStatus=0291, flags=013E, qmax=1000, updateStatus=0, raUpdates=1  (vok=0)
2017-05-18 20:00:58  Charge     controlStatus=0283, flags=013C, qmax=1000, updateStatus=0, raUpdates=1  (vok=1, sysdown=0)
2017-05-18 20:22:00  Charge     controlStatus=0283, flags=0138, qmax=1000, updateStatus=0, raUpdates=1  (soc1=0)
2017-05-18 20:27:29  Charge     controlStatus=0283, flags=0038, qmax=1000, updateStatus=0, raUpdates=1  (chg=0)
2017-05-19 03:48:20  Charge     controlStatus=0283, flags=0238, qmax=1000, updateStatus=0, raUpdates=1  (fc=1)
2017-05-19 04:08:37  Relax      controlStatus=0283, flags=0238, qmax=1000, updateStatus=0, raUpdates=1
2017-05-19 04:09:39  Relax      controlStatus=0A83, flags=0238, qmax=1000, updateStatus=0, raUpdates=1  (cca=1)
2017-05-19 04:09:59  Relax      controlStatus=0293, flags=0238, qmax=1000, updateStatus=0, raUpdates=1  (cca=0)
2017-05-19 04:46:59  Relax      controlStatus=0291, flags=0238, qmax=1000, updateStatus=0, raUpdates=1  (vok=0)
2017-05-19 05:08:54  Relax      controlStatus=0291, flags=0138, qmax=1000, updateStatus=0, raUpdates=1  (chg=1, fc=0)

A few observations...

  1. The charger (bq24192) actually stopped at a taper current of 323mA (256+27%) which is higher than the maximum in the datasheet but all our units behave that way although I don't know why. The taper current was still low enough for the gauge to register end of charge and set fc.

  2. Integrating the current passed during charge yields a figure of almost 98% of design capacity 11725mAh. I've read in a post that there is a 90% threshold that must be met during the learning cycle (which it is).

  3. The SOC reported by the gauge rises from 0 to 100% during charge in about 20min, presumably because the qmax is incorrect (default).

Following through the 'Achieving The Successful Learning Cycle' application report, I am at a loss to explain what is going wrong. Any help would be greatly appreciated.

Cheers, Ross

4 Replies

  • Hi,
    Have you sent a IT enable command to the gauge before starting the learning cycle?
    If you have a default unused 27520 in hand, you can export a gg file from the devive and compare with the gauge that you have programmed the 3.29 version firmware. If there is some differences between them, that may cause the problem.
  • In reply to Terry_Chen:

    Hi Terry,

    Yes I issued the IT enable command at the timestamp 2017-05-18 19:54:21 above (marked IT ENABLED). The qen=1, vok=1 and rup_dis=0 flag changes wouldn't have occurred otherwise.

    Unfortunatly I don't have any brand new bq27520-G4s to try, as I'm retrofitting a new/better battery into existing units and we have no immediate plans to run a new production run. However, I did reprogram the 3.29 firmware from the downloaded .senc file using bqEVSW. My understanding is that there are some hidden flags which aren't directly reachable by bqStudio that a complete firmware refresh does clear.

  • In reply to Ross Johnson:

    Your understanding is correct. Programming the firmware wipes the device clean as though it is brand new.

    If your learning is failing, i wouldn't suggest you struggle figuring out why. Simply use our online tool gpcRa0


    This will help you calculate qmax and Ra tables and provide you with a gg file to program on the gauge.

    If you are bent on doing the learing cycle, then make sure to charge the battery to the max cell voltage and discharge down to the min voltage stated in the manufacturer data sheet.

    Ensure you have the right rest times as well.

  • In reply to Onyx Ahiakwo:

    Hi Onyx,

    Thanks for the response. I'll look into the GPCRA0 tool.

    Since my original post, I have been able to run a successful learning cycle, but with a different chem id.

    I am using genuine Panasonic NCR18650B cells. The chemistry analysis resulted in 9 possibilities within a 3% error; 2018 (1.6%), 202 (1.64%), 2030 (2%), ... I opted for 2030 as this is the first choice which actually matched my cell by manufacturer and name/model. I made 4 learning cycle attempts (trying various tweak in the config), all of which failed, as described earlier. I changed the chemistry to 2018 (best match) and the learning cycle was successful.

    The previous cell type we were using had a best chem match of over 5%, but I never had trouble running a learning cycle. Is it possible that there is a problem with the chem id 2030 data?

    There was one additional change that I made as well as changing chem id. I changed the 'Configuration/Data/Data Flash Version' from 3 to 0. Previously I had left setting this parameter until preparing the golden image. I assume it has no impact on the learning cycle?

    Regarding your questions... The learning cycle I run consists of; RESET, discharge to 2900mV, wait 2 hours, IT ENABLED, wait for first OCV reading (vok=1->0), charge to 4200mV with 323mA (80mA/cell) taper, observe fc=0->1, wait for second OCV reading (vok=1->0). At this point Qmax remains unchanged and update status is still 0 (even after 12 hours from end of charge).

    The charge rate used is around 2050mA (0.16C). Is this too low? I can possibly get 3A (0.23C) if that would help but the charger (bq24192) jumps significantly in temperature above 2A.

    One final question... After preparing the golden image, I wrote it to the guage and issued RESET, IT ENABLED and SEALED commands. I subsequently realised I needed it unsealed (as my firmware accesses some parameters that are restricted). So I issued RESET, UNSEAL and IT ENABLED commands before running a test cycle. Would any of these commands (especially RESET) impact any of the data loaded from the golden image?

    Regards, Ross