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.

BQ34Z100EVM: Loss of "Full Charge Capacity" information

Part Number: BQ34Z100EVM
Other Parts Discussed in Thread: GPCCHEM, BQSTUDIO, BQ34Z100

Dear all,

Last week I started a couple of discharge/charge cycles in order to check data consistency on my BQ34Z100EVM and battery Yuasa NP2.3-12FR (12 V, 2.3Ah).

The steps I used (every step is logged, I have a 32Mb file with all data that I may attach if necessary):

- Full discharge from 12.7V to 11.9V, discharge current 60mA, time spent 24hrs
- Sleep for 4hrs
- Full charge from 11.9V to 13V (spike at 13.8V), time spent 20hrs
- Sleep for 5hrs
- Full discharge from 13V to 11.2V, discharge current 120mA, time spent 19hrs
- Sleep for 2hrs
- Full charge from 11.2V to 13V (spike at 13.8V), time spent 20hrs.

Then I let the module and the battery in sleep mode for 4 days.

On Friday morning, when the sleep started, the battery was 100% charged and the "Full Charge Capacity" was at 2215 mAh (very similar to nominal 2300mAh value). This morning, after 4 days in sleep mode and nobody touching anything, the charge level was 0%! Voltage level was 12.8 instead of 13V (acceptable) but "Full Charge Capacity" was at 0 mAh!

I'm using chemistry ID 809 (suggested by GPCCHEM tool) on bqStudio 1.3.102 and no error was marked.

What may cause this behaviour?

Is it normal that after a long weekend in idle the information get lost?

Many thanks,

Best regards.

Massimo

  • Hello Massimo,

    Can you share the log and the .gg file of your test? We will need it to debug further.

    Some common things that may be the issue:

    1. The IT_ENBLE may not be set
    2. Learning cycle was not completed
    3. Safety event set to force FCC to 0

    Sincerely,

    Wyatt Keller

  • Dear Wyatt,

    Here the file.

    Unfortunately I don't know how to export the gg file, I read on a TI guide that I should:

    To createthe GG file for the tool, please follow these steps:

    1. Program chosen chem ID

    2. Export <name>.gg file or <name>.gg.csv file

    3. Renamethe file regardless of format to gg.csv

    but actually I can't find the "Export" option.

    About the common things:
    1. IT_ENABLE was not set
    2. How can I understand when the cycle finish? Anyway if I'm reading a value coherent to expected I may think the cycle completed properly. Why should I lose that value after 4 days in sleep mode?
    3. How can I check that?

    Many thanks,

    Best regards.

    Massimo

    3857.Log.log

  • Hello Massimo,

    If you go to the data memory tab in bqStudio, there is a export button on the top tool bar.

    Impedance Track needs to be enabled to give a accurate reading. If it's not active the gauging algorithm is not running.

    You will need to find your chem ID using GPCCHEM tool, then perform a learning cycle. Then when IT_EN is set, the gauge will be running the algorithm.

    Sincerely,

    Wyatt Keller

  • Dear Wyatt,

    Thanks for your reply.

    Here the file you asked for. I just enabled the IT flag in order to start immediately another cycle.

    Is it possible that, somehow, that flag resets by itself? If you say "Impedance Track needs to be enabled to give a accurate reading. If it's not active the gauging algorithm is not running" and I was able to read the proper charge level, I assume it was enabled during my cycles and then it turned off.

    Many thanks,

    Best regards.

    Massimo4807.export.gg.csv

  • Hello Massimo,

    The IT_EN bit will remain set after the command is sent until you send the command again.

    It also looks like the gauge has not performed a learning cycle yet, in appendix D of the TRM you can find the steps to perform the cycle.

    Not all functions run when IT is off, that's why it did update but only sometimes.

    Sincerely,

    Wyatt Keller

  • Dear Wyatt,

    I will try to perform the cycle again. Just some question because I have document SLUA903-July 2018 and not all flags have exactly the same name in bqStudio 1.3.102.

    0. General

    Does VOLSEL should be set or reset?

    1. Discharge Battery to Empty

    Command GAUGE_EN is IT_ENABLE and should set QEN flag? What should I do if QEN is already enabled?

    RESET command should set RUP_DIS flag (called RDIS in the manual)?

    About "Term Voltage": I can only find a parameter in "Data Memory > Gas Gauging > Cell Terminate Voltage". This is set to 3000mVolt by default; I have a 6 cells battery, 2000mV each (for 12V total). Which value should I set?

    2. Relax for at least 5 hours

    Bits VOK and RDIS (RUP_DIS?) should reset automatically?

    Which is the flag corresponding to GaugingStatus REST ?

    3. Charge battery to Full

    Should I manually set IT flag manually using IT_ENABLE command?

    What parameters should I check if FC won't be set at the end of the cycle?

    4. Discharge Battery to Empty

    What does C/5 rate means? If I have a 2300mAh battery should I discharge it with a 460mA current?

    I know there are MANY questions but honestly I have difficulties in make this work and I already spent  to much time, I really need to find a solution.

    Many thanks,

    Best regards.

    Massimo

  • Hello Massimo,

    SLUA903 can be a good guide for more information, but I would follow appednix D of the TRM because it is specific for this gauge. SLUA903 is aimed for multiple different gauges.

    Sincerely,

    Wyatt Keller

  • Dear Wyatt,

    I'm trying to repeat again the learning cycle. I'm reading the document you mentioned but I'm not sure it will work.

    Two days ago, when I started the cycle, the condition was:

    | RUP_DIS = 0 | VOK = 0 | Update Status = 04 | QEN = 1 | FC = 0 |

    Probably because other attempts I made in past weeks. Commands RESET and RESET_DATA didn't reset anything I don't know how to properly set those flags to zero.

    After a full discharge cycle I let rest the battery but VOK didn't set, neither after 5 hrs nor after the entire night. Could the wrong initial conditions lead to this situation?

    Anyway I charged the battery again, as soon as I started the charge VOK became 1. While charging the condition was

    | RUP_DIS = 0 | VOK = 1 | Update Status = 04 | QEN = 1 | FC = 0 |

    That should be correct, unfortuynately I reached the highest voltage possible for my battery (13950mV) and after many hours (5+) I can still see a small amount of current (19mA) flowing. Flags are:

    | RUP_DIS = 0 | VOK = 0 | Update Status = 04 | QEN = 1 | FC = 0 |

    And this is not correct at all...how can I make this thing work? I'm very frustrated...

    I logged everything, see attachments.


    Many thanks,

    Best regards.

    Log-20210216.log

    export 20210218.gg.csv


  • Hello Massimo,

    I'm not sure if this is the same battery, but your .gg file is set design capacity for 1000mAh and so it will fail if you discharge at the rate in the log you shared.

    For the taper current of charge, this is controlled by the charger, not by the gauge. You're not taking an OCV because the whole log you're charging at a slow rate, your quit current is set at the default of 40mA so you're charging when the gauge thinks it should be relaxed.

    Also your series cell count in the .gg file is set to 6, so your pack voltage max is 2278mV which is very low and most likely not within 100mV to set the FC flag.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt,

    The battery is the same, apparently there were the same issue of another topic and the parameters for design capacity and quit current didn't write.
    I had to use the standard golden image and then restore my parameters.

    The parameters I set are 2300mAh for design capacity and 10mA for quit current. Is quit current ok?

    I don't understand the last point. My battery is really a 6-cells, where did you get the value of 2278mV? How can I configure it properly?

    By datasheet the battery is fully load at 13.65±1%, 2278mV*6 = 13668mV which is in range. What's wrong?

    Furthermore: how can I reset QEN if I want to start a cycle as mentioned in technical manual?

    Many thanks,

    Best regards

    Massimo

  • Hello Massimo,

    Sorry I didn't realize your battery chemistry was lead acid.

    You will need to use a different algorithm for charge termination with this chemistry.

    You can refer to this thread for a document with more information: e2e.ti.com/.../927162

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    I tried many times but MaxError is always 100% so I don't think cycles completes properly.

    Furthermore I have another issue, I don't know if it is related.

    During a low current discharge (about 12-13mA) I see a sudden drop in Remaining Capacity value (see log for details).

    How can I fix these problems?

    Many thanks,

    Best regards

    Massimo

    LogChem809.zip

  • Hello Massimo,

    Was the document linked above able to help with your setup?

    If the gauge takes an OCV while under load it could cause the RemCap to jump at low discharge rates.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt, actually I don't understand.

    I just let the battery connected to a load with a current of 13mA flowing through it.

    I monitored the battery status and for the first hours everything went well, after 24hrs the battery status was exactly at the expected level. Suddenly the remaining charge drop by 400mA without any reason. Then it returned to decrease linearly as expected.

    Why should that happen? Are you telling me that is normal?

    I don't think so and I, as user of my application, won't be happy to see a loss of 20% in just 10 seconds.

    Regarding the document I don't know what I'm doing wrong, apparently I'm following the steps but the flags won't act as expected so the max error is always 100%; the MaxCapacity has a consistent value (2200mAh against 2300mAh declared by the manufacturer) but I don't know how much trust it.

    Many thanks,

    Best regards

  • Hello Massimo,

    I looked through the log provided, all tests done before the learning cycle is complete are not ideal because the gauge still needs to learn the Ra and Qmax for the cell. It also looks like the algorithm is not turned on (learnedStatus() register, the gauge will not report the SOC accurately with the algorithm turned off even after a learning cycle.

    Can you share the most recent log files from the learning cycle test?

    Sincerely,

    Wyatt Keller

  • Hello Wyatt,

    This is the last I have.

    Probably it is not complete, due to Covid issues I can't always let the PC in the office for logging.

    Many thanks, 

    Best regards.

    Massimo

    Log-20210310.log

  • Hello Massimo,

    I took a look at the logs, I don't think you are cycling the batteries fully. It also looks like there's two charge cycles before discharge which will interfere with the learning cycle.

    There must be a 90% DOD change from the two relaxation points, right now it looks like 75% or less (DOD0)

    Sincerely,

    Wyatt Keller

  • Hello Wyatt,

    Could you kindly explain better the part regarding the %?

    What should I do exactly?

    Many thanks,

    Best regards

    Massimo Milluzzo

  • Hello Massimo,

    Here's the steps:

    0. Configure dataflash, pack chemistry, perform calibration and export GG File (for later comparison)
    1. Enable IT
    2. Send Reset command (0x0041)
    3. Charge the pack to charge termination.
    4. Rest until the OCVTAKEN flag sets
    5. C/7 Discharge to the termination voltage
    6. Rest until the OCVTAKEN flag sets. At this point, QMax should update and the Update Status should increment to 0x05
    7. Charge the pack to charge termination
    8. Rest until OCVTAKEN flag sets
    9. C/7 Discharge to the termination voltage
    10. Rest until the OCVTAKEN flag sets. At this point, the Ra table should update and Update Status should increment to 0x06

    Regarding the 90% of DOD:

    To complete a full learning cycle, the battery must complete a full charge-relax-discharge-relax cycle. The battery should be charged to the max voltage specified by the cell manufacturer and discharged to the min voltage specified as well to ensure the 90% passed charge condition is met. After a successful learning cycle, the Term Voltage and the voltage the cells are charged to can be adjusted to suit the application specifications.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt,

    Last document you linked me says (for Lead-Acid batteries):

    Setting up the learning cycle for PbA
    Setup to perform the learning cycle:
    1. Obtain the chem ID using the GPCCHEM tool as per the steps here: http://www.ti.com/tool/GPCCHEM
    2. Update the gauge with the chem ID obtained in Step 1.
    3. Update the gauging settings per Sections 2. Look at the datasheet of the battery to know the limits to
    which the battery can be charged and discharged.
    4. Update the settings for protections and permanent failure appropriately.
    Performing the learning cycle for PbA
    Now to perform the learning cycle:
    1. Set charging current to at least C/5 rate but never more than C/2 rate
    2. Charge the cell to full. For charge termination the current taper method is used:
    • During two consecutive periods of Current Taper Window, the AverageCurrent() is less than
    Taper Current AND
    • During the same periods, the accumulated change in capacity > 0.25 mAh /Taper Current
    Window AND
    • Voltage() is > Charging Voltage – Charging Taper Voltage. When this occurs, the [CHG] bit of
    Flags() is cleared. Also, if the [RMFCC] bit of Pack Configuration is set, and RemainingCapacity()
    is set equal to FullChargeCapacity().
    3. Relax until the first DOD is taken.
    4. Set discharge current to at least C/5 rate but never more than C/2 rate.
    5. Discharge the PbA cell until it is at least 10mV below terminate voltage.
    6. Relax again until the DOD is taken, this is indicated by the VOK flag being cleared.
    7. At this point Qmax for the cell will be updated.
    8. Repeat the cycle again to get a subsequent Qmax and Ra table update.
    This will complete characterization of the battery. The learning cycle for the bq34z100 on the PbA cell will
    be complete.

    Is that wrong?

    If so, I will try with the cycle in your last message.

    Many thanks,

    Best regards.

    Massimo Milluzzo

  • Hello Massimo,

    Both of the procedures should work to get a successful learning cycle. The main thing is to make sure you get a 90% change in the DOD otherwise it will not be successful.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt,

    Finally I completed a correct cycle (I assume).

    Update status is 0x06 and Max Error is 1%.

    How can I "freeze" the situation? QEN is still high, is it a problem?

    Many thanks, best regards.

    Massimo

  • Hello Massimo,

    Once you complete the cycle you can export the .gg file or .srec file to save all the learned data (Qmax and Ra table)

    Sincerely,

    Wyatt Keller

  • Hello Wyatt,

    What about QEN flag still set? Can I ignore it during normal use or should I reset it in some way?

    Many thanks,

    Best regards.

    Massim

  • Hello Massimo,

    You should not reset the QEN flag, it should remain high while the gauge is running the impedance track algorithm.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt. 

    I assumed that I should turn off the impedence track algorithm during the normal work (once the process has been completed succesfully).

    Many thanks

    Best regards.

    Massimo