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.

Doubts related to Impedance Tracking working?

Other Parts Discussed in Thread: GPCCHEM, BQ34Z100-G1

Hi,

I was going through some of your documents on impedance tracking. I wanted to understand how it works so that I can shift to Impedance track from CEDV gauge that I have.

This is my understanding:

Qmax is the full capacity that is first learned by calculating Passed Charge/(SOC1 - SOC2). During current discharge, coulomb counting is used to update the SOC. At some specific points of DOD, resistance update takes place and you store it in a lookup table. After that,

Full charge capacity is updated, Full Charge Capacity = Qstart + Passed Charge + Remaining Capacity. The Remaining Capacity is estimated by a simulation which decreases the DOD till the termination voltage is reached.

I have following doubts now:

1. Is Qmax same as Full Charge Capacity? Do we keep updating Qmax = Passed Charge/(DOD1 - DOD2) during 2 relaxed states during the normal running application? OR Full charge capacity takes care of the new capacity of the battery as the battery ages? Basically, I am confused between Qmax and FCC (full charge capacity). Are FCC and Qmax same at the start and how do they update during the normal run?

2. Does internal impedance play a role only for measuring the remaining capacity RM? How does it take into account the SOH? I am unable to understand it intuitively. I understand that internal impedance will increase with aging but how are we using this fact?

3. How many resistance measurements do you have in the look-up table? Do you interpolate the rest of them?

4. What is the difference between:

DataRAM.Full Charge Capacity( ) and DataRAM.Full Available Capacity( ) and DataRAM.Nominal Avail. Capacity( )

5. Does not the OCV voltage also change with aging of batteries?  

  • Hi,
    Can someone please solve the above queries? I will be grateful.
  • Welcome to the wonderful world of Impedance Track. It is a somewhat more complicated algorithm to grasp than CEDV but it can handle more corner cases. The plethora of configuration options can look confusing at first, but that also allows IT gauges to be more flexible to work in a wider range of use cases. I'll try to answer your questions here:
    1. Qmax is not the same as FCC. Qmax is the maximum theoretical chemical capacity you could get if you charge it to the absolute brim (taper at C/100) and then discharge with negligible load all the way until <3V unloaded. FCC is the actual usable capacity based on where your system terminates charge (typically C/20 tapering) and discharging under your system load down to where your system considers the battery empty (Terminate Voltage). So FCC will always be less than Qmax. Qmax is learned opportunistically when it gets two relaxed OCV measurements separated by at least 37% delta in DOD. Alternatively, some IT gauges can replace the OCV point with charging to full or discharging close to empty which is useful when relaxations are not occurring frequently. Qmax doesn't need to be learned very often since it changes very slowly over time. FCC is updated much more frequently as conditions change (load, temperature, learned Qmax or Ra) and periodically during a discharge.
    2. Internal impedance is learned during discharges. It is used for simulations of RemCap and FCC since the internal impedance affects the usable capacity. SOH (state of health) is basically calculated by a special FCC simulation which assumes a fixed temperature of 25C and a fixed load set by SOH Load I in the gauge configuration. SOH = FCC(25C,SOH Load I) / Design Capacity SOH represents the relative usable capacity of the cell with its current aged state compared to the original design capacity.
    3. The Ra table in data memory is where we store the resistance table at 25C vs DOD. There are 15 points and yes, we interpolate in between them.
    4. FCC and RemCap are what you really want to use. They are compensated for the load (which you can configure using Load Select and Load Mode). FAC and NAC are calculated/simulated assuming light load and will often be greater than FCC and RM.
    5. OCV may change slightly with aging, but it's negligible and would overcomplicate the algorithm for minimal benefit.
  • Hi dMax,

    Thanks for answering. Most of my queries are solved. There still remains a question which I am not able to understand.

    1. Lets take an example of DOD = 50% of a new cell. So the OCV reading will be taken according to 50% DOD. But 50% DOD is relative to the Full charge capacity which updates as the cell gets old.
    So as the cell gets old, we will still use the same OCV voltage for the 50% DOD. But that corresponds to a shifted DOD with respect to the FCC of the new cell. So, does the OCV - DOD graph also keep changing as the cell keeps aging?

    2. How do you obtain the OCV DOD graph in the first place when the cell is new?
  • Hi,

    I am still in search of the answers to my above queries. It would be great if someone from TI can respond. Waiting for the response. 

    Thanks.

  • Hi Rushi,

    I apologize for missing your follow up questions.  I have been on vacation.  

    IT gauges use a concept called Qmax (maximum theoretical chemical capacity) which is learned and updated as the cells age. Instead of learning FCC directly, as CEDV gauges do, the It gauge will learn Qmax and then periodically calculate/simulate Remaining Capacity and Full Charge Capacity based on the learned Qmax, Ra (resistance) values, temperature, and load rate. For example, if a pack started with a Qmax of 1000mAh when new, an OCV measurement corresponding to 50% DOD would know there is 500mAh max remaining, but it would simulate a discharge from that DOD point under the actual temperature and selected load rate until reaching the configured empty voltage and it would always report a RemCap < 500mAh.  If the pack aged and a Qmax of 800mAh were learned, then an OCV reading corresponding to 50% DOD would tell the gauge that there is only 400mAh to work with and RemCap would typically be simulated at <400mAh.  

    The OCV vs DOD curves are part of the chemical ID profile used by an IT gauge.  You can use the GPCCHEM tool on ti.com to find the profile best matching  your cell from the many thousands in our database and if there is nothing close then occasionally we can characterize your cell and update the database.  The actual OCV curves are not public or viewable by the IT gauge user.  

  • Thanks dMax,

    It makes sense now but not completely.

    Considering the example that you have taken, 

    if at 50% DOD (new cell) - my OCV is 3.4V (for example). Then I will do a simulation and get the RemCap. It makes sense.

    At 50% DOD (old/aged cell) - if I use the same OCV - DOD curve, then again the OCV reading will be 3.4V. And if I run the simulation, the RemCap decreases relative to the new cell as internal impedance would have increased as the cell ages.

    But in this case, the Qmax decreased to 800mAh. So, OCV reading is the same for both old and new cells as we measure OCV at 50%DOD but they are at different capacities OR in other words, 50% is relative to the Qmax. What I do not understand is the role of Qmax in determining the DOD and if the OCV DOD curve changes if the cell gets old. 

  • Hi Rushi,

    No, the OCV DOD curve does not change with age.  Qmax is not used to determine DOD.  DOD is used to determine Qmax, however.

    These videos might help clear up your confusion about Qmax and how it is calculated and used:

    David Maxwell, battery management systems engineer at TI, developed the following technical design tutorial on battery fuel gauging for single-cell Li-Ion batteries. In Part 1 of his Fuel Gauging 101 course…
    By in Archives > Fully Charged

  • Hi dMax,

    I had gone through the video earlier and again went through it. I have tried to explain my doubt more clearly this time.

    1. DOD = (PassedCharge/Qmax)*100; this will give us the DOD%. But DOD% is dependent on Qmax

    2. Qmax will get updated on taking two OCV readings in the relaxed state during the runtime. So, for an old cell, let us say Qmax reduced to 800mAh from a 1000mAh new cell. 

    3. Now, my battery is fully charged, so it will read DOD = 0 (or SOC = 100). But the full charge in the old battery is only 800mAh. If I refer to the OCV curve, I will read 4.2V (full charge voltage). Basically, it does not matter how old is the cell, at 100% SOC it will always read 4.2V. Am I right?

    4. Is that the case with any SOC. i.e. irrespective of the aging, OCV voltage corresponding to 50% SOC is the same for both new and old cell - even when 50% means different capacities.

    5. If that is the case, then form my understanding, the internal impedance is the only factor which is taking into account the aging phenomena, rest everything remaining same. So, if I run a simulation at 50% SOC, for a new cell (1000 mAh full capacity), it will show <500mAh RemCap. If I do the same simulation (same load and temperature) at 50% SOC for an old cell (800mAh full capacity), even though OCV reading is same, it will show <400mAh RemCap. So, the only thing that is changing is the internal impedance R and OCV remains the same. Have I understood it correctly?

    Internal Impedance sounds simple and very interesting. Hope I can understand it well.

  • Hi Rushi,
    Your understanding is essentially correct, but I must differentiate that DOD is not simply the inverse of SOC in the actual IT implementation. In the video we over-simplified by claiming that it was, but actually DOD is the absolute depth of discharge while SOC reported by the gauge is actually relative state of charge. 100% SOC is NOT actually 0% DOD. 0% DOD is only achievable if you charge to precisely the full battery voltage and stop charging at a taper current of C/100. Actually in a real system it will not charge up so full. Also, 0% SOC is not the same as 100% DOD because 100% DOD represents the depth of discharge achieved if you completely, absolutely discharge at negligible current to <3V/cell. This high state of discharge is not achievable during normal usage of a system since they want it to report 0% SOC at a voltage typically higher than 3V/cell and also while under load. Even if you discharge to 3V under load, once the load is removed the voltage will relax up higher than 3V, meaning it is not really at 100% DOD. So SOC is "relative" in the sense that it depends on the user and the system. DOD is absolute in the sense that the battery chemists use it to represent where between absolutely chock full of energy and absolutely no energy left it is. In the firmware, DOD is actually tracked as a value between 0 and 16384, not a percentage.
    Here is another example of how the algorithm might work:
    The gauge initializes by taking an OCV measurement and converting that to a DOD. That's it's anchor point and we call it DOD0.
    Now current flow starts, which the gauge tracks by coulomb counting. It's always tracking PresentDOD = DOD0 + PassedCharge/Qmax*2^14. Yes, if Qmax is incorrect then PresentDOD will be wrong, but thankfully Qmax changes very slowly over time and the gauge will learn it periodically and opportunistically, as you previously mentioned.
    Now, how does the gauge get SOC at any given time. Periodically it will run a simulation of the loaded discharge voltage curve from PresentDOD down to wherever the user has configured it to be empty (EDV in CEDV gauges, but Terminate Voltage in IT gauges). This is where the Ra table of the internal impedance profile is used since it needs to calculate the loaded voltage at each DOD, which is the OCV - I*Ra. It calculates how many mAh are extracted from PresentDOD until empty. This will vary with load, I, and resistance (which also varies with temperature, age, and DOD). This is how RemainingCapacity is calculated. It also needs to figure out FullChargeCapacity (FCC), which is something like another simulation, and then SOC = RemainingCapacity/FCC.
    These simulations are only done periodically as necessary (for example, whenever load or temperature or other factors change), and in between simulations the RemCap and SOC are just updated based on coulomb counting.
    That's one way to explain it which I hope helps. For another way you can refer to this app note:
    www.ti.com/.../slua450.pdf
    It's a complicated topic but hopefully that gives you more insight.
  • Hi dMax,

    I think I have got answers to my questions. Thanks for your time.

    1. Also, as I understand IT, it is a simple model of battery with only resistance. There is no 1-RC or 2-RC model. And you update the internal impedance regularly which accounts for aging as well. Is that right understanding?

    2. IT gauges have been reported to have accuracies up to 1% error for a new cell and 2% for old ones. Do these numbers hold true for the pack level also? I am thinking of using bq34z100-G1 for my application.   

  • Hi Rushi,
    You are correct. The primary IT algorithm uses only the real resistance for simulating discharges, although transient behavior is modeled for other features and in some other algorithms we have.
    Those max errors are certainly achievable, even at the pack level, with proper configuration.
  • This has been a fabulous read! Some of us are paying attention... thank you both for your time and patience working through these fundamentals.