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.

bq27421- conditions for Qmax update?

Other Parts Discussed in Thread: BQ24072

I am cycling a Li-Poly cell with a bq27421 -G1A EVM, and am yet to see QMAX_Up or RES_UP flags set after several charge/discharge and relax cycles.

Looking through user guide, I see:

"After the initial Qmax update, updates to Qmax most likely occur upon:
• Entering discharge mode
• Exiting discharge mode
• Being in relaxation mode for a while after a certain amount of charge has been removed or added to
the battery."

Is there a more detailed description somewhere of what exact conditions are required for these flags to be set?

  • If you haven't yet, take a look at SLUA597. It outlines how to successfully do a battery learning cycle on these gauges, and has helped me with getting a proper learning cycle on my batteries. http://www.ti.com/lit/an/slua597/slua597.pdf

    The instructions there mention running the IT_ENABLE command but it doesn't apply to the bq274xx series of gauges.

    Additionally, do you have a copy of the GaugeStudio .gg file that you're loading onto the bq27421?

  • Thanks for the pointer!I

    I am testing with the bare minimum configuration- just loading Design capacity (2000mAh), Terminate Voltage (3100), Design Energy (7400) and Taper Rate (400) as per quickguide and letting the gauge figure everything else. The idea is to see if that is good enough in production, with the system loading them on init.

  • The process of the learning cycle only needs to be done once during development, so that the gas gauge can get the true information about the cell's characteristics.

    With the bq27421, all you need to do is have your system microcontroller load the learned data back onto the gauge on startup (unlike TI's other gauges, the bq27421 only has RAM to hold its data).

    The beauty of the Impedance Track-based gauges is that once that initial data is known, there is no need to do a learning cycle in the host system; the gauge takes care of it all from there.

  • After a bit of fiddling I have the gauge learning. It now has Qmax_Up and Rupdate bits set. Qmax Cell 0 gets updated and I see resistance table gradually being updated.

    What I am not seeing is Update Status ever change from 0. It is not clear from documentation for 27421 if it should do that or not. Attached is the gg files after two discharge cycles. 

  • I've never noticed Update Status in the bq27421 nor the bq27425 change state, even if both Qmax and Ra have updated.

    Both of these gauges (along with the bq27410) use a slimmed-down Impedance Track algorithm, called Impedance Track Lite, or IT-LITE. I think that these differences mean that the mechanisms of these three gauges will differ from the other gauges that TI has.

  • You appear to be correct. Ti has just told me that in 27421 the Update register is actually behaving differently from the regular IT gauges. It will get cleared to 0 (if manually set to anything else) after a successful learning cycle

  • Hi,

    I am using BQ27421 for my project and right now in phase of battery learning cycle. I have below couple of point

    1. Should I start learning from discharge battery as per Slua597.pdf ?

    2. QEN bit should be set before charging start but I am not able to find this bit in control or Flag register.

    3. Is there any bits need to set or clear before charging start ?

    Your guys inputs really help me to finish my learning cycle. If you have any specific step then please let me know.

    Thanks.

    Best Regards,

    Hitesh Gambhava

  • The learning cycle for the bq27421 (and bq27425) is similar to what's outlined in SLUA597, but has some differences. The bq27421 doesn't have an IT_ENABLE command, and also doesn't have a QEN bit in the Control Status register (that's why you couldn't find them).

    As for the charging part of the learning cycle , first allow the VOK bit to clear (if you're starting your learning cycle with a fully-discharged battery and a freshly-reset bq27421, allow the RUP_DIS bit to clear).

  • Hello,

    This particular thread has been very useful for me in setting up my gauge.  I had also posted previously with an issue related to this particular gauge resetting unexpectedly:

    http://e2e.ti.com/support/power_management/battery_management/f/180/p/338636/1182856.aspx#1182856

    I'm not really seeing this issue so much any more.  However, I'm having an issue with the learning cycle.  Even though the charge cycle completes, I never see the FC bit being set.  I am using the BQ24072 for charge management, and the charging cycle completes once the charging current hits 100mA.  I'm a little bit confused by the TRM.  According to Table 6.2, the default FC Set % is -1 (which is what I see when I read it).  According to section 6.4.1.2.3, the default value for this register is 100%.  In any event, when FC Set % is equal to -1, the FC bit should be set when the Primary Charge Termination conditions are met.  According to the TRM, the requirements for Primary Charge Termination are as follows:

    • During two consecutive periods of Current Taper Windows:

      IRateAvg1 < Taper Rate and IRateAvg2 < Taper Rate

    Taper rate is set to 196 in my code and I confirmed that after the BQ24072 finishes up, charge current is indeed 0, so this condition is met.

    • During the same periods: Accumulated change in capacity < Min Taper Capacity per Current Taper

      Window

    Accumulated change in capacity should be 0, so this should be true.

    • Voltage( ) > Taper Voltage

    Confirmed this to be true.

    Given these pieces of information, all three conditions should be true, and therefore the gauge should be setting FC.  Can anyone think of a memory setting that may be incorrect that would cause the gauge to never detect the FC condition?

    Thanks,

    Jake

  • Hi Jake, not sure you are still looking for it, but I may have found the reason for FC not being set.

    SLUA597 mentions yet another condition: the taper current needs to be below taper rate but also ABOVE the quit rate. That helped in my case