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.

BQ35100: Problems reading SOH in EOS mode

Part Number: BQ35100
Other Parts Discussed in Thread: BQSTUDIO

Dear All,

I’m using BQ35100 with a Li-SOCl2 non rechargeable cell with the intention of using EOS mode but I’m having trouble of reading successfully the SOH.

Using bqStudio, I’ve successfully configured the BQ35100 for EOS mode (GMSEL1:0  = 0x2), calibrated the voltage, the current, the temperature and the CC offset. I’ve also programmed the chemistry ID for my type of cell which I think is the correct one.

After the setup process, I’ve removed the BQ35100 from bqStudio to an external mcu to perform more tests, namely discharges and readings.

Starting with a fresh battery and sending the NEW_BATTERY command, every time I perform a reading (as referred in 8.2.2.2.1.2, SLUSCM6D), the SOH drops 5% each time. With this, the SOH goes from 100% to 0% to quick not corresponding to the real condition of the battery.

The 5% percent drop value is related to “State of Health Max Delta” that was configured earlier using bqStudio but I do not understand why the BQ35100 is considering that every time I perform a reading the SOH decreases “State of Health Max Delta”%.

Thank you

Sam Roberts

  • hi Sam

    Can you set your terminate voltage to 900 to see if that helps fix your issue.

    thanks
    Onyx
  • Thank you for your answer, it seems that the problem is solved. Now I'm doing a long term test with a fresh battery in order to find out if the SOH will be inline with the obtained results.

    Sometimes I also have another problem while reading the Measured Z and Scaled R using my MCU. Sometimes  Measured Z and Scaled R are equal to 255 and I've to perform multiple readings (two or three) in order to obtain acceptable values. Note that when even Z and R are equal to 255, I’m able to read correctly the value of the SOH.

    Thank you!

  • Sam,

    Measured Z and Scaled R are 2 byte integers. Are you reading the correct length? 

    Also can you check if the SOH_MERIT, SOH_ERR, or EOS_BAD_OCV are set. These bit will go high if there was an issues in the calculation. The most common error is the battery is not relaxed when a learning pulse if performed. When you do GE high a voltage is assumed to be OCV and well rested. If at any point the gauge measures a higher voltage during that on period, the algorithm will not understand how to handle it since no voltage should be above OCV. 

    When testing on the bench this occurrence is frequent, because you are not giving sufficient rest time between attempts.

    Thanks,

    Eric Vos

  • Hello Eric,

    Yes, I'm reading the correct length and the output values seems now correct. It seems that problem was related to the rest time.

    Thank you Eric.

     

  • Hello Onyx,

    In my referred “long term test”, It is suppose that for every discharge the SOH theoretically drops about 0,15%.

    As you suggested I’ve programmed the cell terminate voltage to 900mV but SOH percentage dropped 5% in each reading, stabilizing in 85%.

    At this point of the experiment, the cell I’m testing should be around 57%.

    Attached to this message there is plot showing the Measured Z, Scaled R and SOH corresponding to 278 discharge cycles. I hope that this might help to figure out the problem.

    Thank you.

  • Sam,

    something looks slightly wrong to me with the ScaledR value. It should roughly follow measuredZ with some adjustment factor. MeasuredZ is used to estimate SOH until the "Learning Pulse" occurs, then it starts to use ScaledR. The fact scaledR is locked to 511mOhms is why SOH is not decreasing. 

    Which ChemID are you using? 

    Thanks,

    Eric Vos

  • Eric,

    I'm using ChemID = 0x619 (EVE ER14505-SPC1520).

    Thank you,
    Sam

  • Dear all,

    After some more lab testing I still not have consistent results. I think that I’m doing the right steps but something is missing.

    To validate the gauge I’m doing 20mA discharges during 10 minutes and I let the cell rest for 20 minutes and only after that I perform the reading as stated in my first post.

    On my previous experiment I’ve noticed that the “Measured Z” only stabilized after 20 discharges. Because of this I’ve configured “New Batt R Scale Delay = 25”.

    After configuring, I’ve placed a new cell and sent the command “NEW_BATTERY”. With this new configuration the SOH started to drop 1% for the first ~25 readings and than stabilized (note that my SOH Max Delta is now 1%), roughly at the same time that “Measured Z” was also stable. “Scaled R” followed “Measured Z” on the first readings but after that dropped to 511 for three readings and after that was always 255..

    I appreciate the help.

    Thank you,
    Sam
  • Sam,

    Every time you issue the "New Battery" command it will reset the pulse counter back to 0 meaning scaledR will not retain the learned scale value and you will revert to using MeasuredZ again. 

    I suggest for your test after you have gone through your 25 pulses write the Data Memory parameter [Gas Gauging][Design][State of health] back to 100 without issuing the new batt command. 

    Thanks,

    Eric Vos

  • Hello Eric,

    I am not issuing a New Battery command after the learning pulses. I've only done that when I installed a new battery.

    Nevertheless, I'm running a new test where I put the SOH value back to 100% right after my first 25 pulses (note that the New Batt R Scale Delay = 25).

    But one thing I still not understanding is the behavior of the Scaled R. On the first 25 readings Scaled R follows Measured Z, after that, Scaled R dropped to 511, this happened consistently on three tests. Since that in the previous post you said that Scaled R should roughly follow Measured Z what could explain the sudden drop Scaled R? (and stays that way forever).

    Am I configuring New Batt R Scale Delay correctly? I’ve chosen 25 because it is after 25 discharges that Measured Z stabilizes.

    Thank you.

    Regards,

    Sam

  • Sam,

    A scale factor is created on the learning pulse which corresponds to your measuredZ scaled down or up to equal our "new battery" impedance from the chemID process. The chemID uses a single cell but in the end system cells are used in series/parallel, there is added trace resistance, or just cell to cell variation that needs to be accounted for. This is why this scale factor is created when the cell is "New". On an aged cell there is no way to know how to scale it because we don't know where it is in the state of health.  

    In your example the Ra table is lower than your measuredZ so the scale is adjusting you ScaledR lower to associate it to the Ra table.

    In terms of SOH. Until the scale factor is learned raw measuredZ is used to compare against the impedance table to determine SOH %. For this beginning section scaledR reports the same as MeasuredZ. 

    Hopefully this helps explain scaledR

    Thanks,

    Eric Vos 

  • Eric,

    I'm starting to doubt if my selected chem ID is right.

    I am using one cell (EVE ER14505):
    www.tme.eu/.../EVE-ER14505_S.pdf

    I've selected chem ID 0x619 where the corresponding bqstudio description is : ER14505-SPC1520 (5200mAh).

    I assumed that "ER14505-SPC1520 (5200mAh)" is similar to my battery. I've just adjusted the "Gas Gauging -> Cell Design Capacity mAh" value to 2000mAh.  And after some research I've now realized that that chem ID is not the correct one. The most similar chem ID that I've found was the 0x614 from Tadiran.

    Sorry for my mistake, but now, what is the most suitable chemID for my cell ? 


    Regards,
    Sam

  • Good morning Eric,

    This weekend I’ve made another set of discharges that are equivalent to consumption of 19% of the battery. This time I’ve used the chem ID 0x614 which I think to be most similar to the cell I’m using (EVE 14550 datasheet).

    As recommended, I’ve installed the new cell, sent the “NEW_BATTERY” command and performed 25 discharge cycles (New Batt R Scale Delay = 25). Right after that, I’ve forced the SOH to 100% without issuing “NEW_BATTERY”. As the plot bellow shows, the Measured Z and Scaled R seems now to have consistent values but the SOH is dropping 1% after each reading (SOH max delta = 1%). I still have the “Cell terminate voltage”= 900mV (the problem is not caused by this).

    The fact that I do not have a usable SOH can be related to chemID that might not me suitable for my battery?

    Regards,
    Sam

  • Hello team,

    could you please have a look at this post?
    For this application it is really important to have available the SOH percentage. EOS indication is not enough, SOH is needed to perform a suitable energy management and conclusive results are not available yet.
    Could you please advice?

    Thanks a lot in advance.

    Best regards,
    Massimiliano De Cristofaro
    TI Staff Field Application Engineer - WEU
  • Hello team,

    any news about that? We are waiting your feedback.
    Thanks a lot in advance.

    Best regards,
    Massimiliano.
  • Sam,

    From your images attached it appears scaledR and measuredZ are always the same value. This doesnt make sense to me since on the learning pulse the scale factor should adjust ScaledR away from measuredZ to better correlate the cell to the ChemID.  When you forced SOH to 100% the only thing you should have changed is [State of Health] at address 0x4209 back to 100%. 

    I also do not think ID 619 is a good match. Your cell calculated an impedance around 6.6K while ID619 is sub-1K. 

    In addition, we will be unable to match the "expected" line you have shown. The only way we can estimate SOH is based on the Impedance table. Based on the data you have shown the impedance is very flat, giving the gauge very little to differentiate between. Please continue the test to empty logging the measuredZ so that we can see they type of slope you encounter with your cell and setup

    Thanks,

    Eric Vos 

  • Eric,

    Regarding the SOH, when I wrote “forced”, I’ve proceeded as you recommended, writing 100% at the address 0x4209. The New Battery command was only used at the beginning, when I inserted a fresh battery.

    Regarding the impedance, I will make a log of the entire battery life and I will post here. But taking into account that in my previous plot the impedance is very flat, why the SOH is dropping in every reading until reaches 0? I do not expect high accuracy when the impedance is flat but at least something coherent.

    Thank you.

    Best regards
    Sam
  • Sam,

    Your impedance is registering as 6000, while our impedance table is sub 1K. Since your scaleR is not being brought down to within the table you are effectively registering a "Dead" cell. If you were to change [SOH max Delta] = 100 then SOH would drop to 0% on the first reading. 

    Please issue the new battery command again and run for the 25 pulses. we should see ScaledR adjust way downward. After you see this happen then revert SOH back to 100% (not using command). ScaledR should still be low. Then continue the test

    Let me know any questions

    Thanks,

    Eric Vos

  • Eric,

    I think that I've might not explained my self clearly on the post of "May 27, 2019 10:15 AM". I was initially using the chem ID 0x619 but now I'm using the chem ID 0x614 which has the following Ra Tables:

    Ra 0 6762
    Ra 1 6787
    Ra 2 6336
    Ra 3 6140
    Ra 4 6468
    Ra 5 6813
    Ra 6 7001
    Ra 7 6959
    Ra 8 6756
    Ra 9 7285
    Ra 10 7019
    Ra 11 7455
    Ra 12 7623
    Ra 13 8398
    Ra 14 8873

    Taking into account that my Measured Z falls within those values, I think that the SOH should give a stable value.

    Possibly I'm just making some kind of mistake that is corrupting my results. Can you provide me a golden image which has all the default values ?

    Thank you.

    Sam
  • Hi Eric,

    do you have news about that?

    Thanks a lot in advance.

    Best regards,
    Massimiliano.
  • Massimiliano,

    Something that is not concidered is the temperature aspect. The TI gauge will take the measuredZ and compare it to the Temperature compensated Ra Table. What is your temperature reading? 

    Thanks,

    Eric Vos

  • Hello,

    The temperature I'm reading is around 26 degrees +/- 2.

    I'm using the internal temperature of the bq35100.

    Thank you in advance,

    Sam