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.

BQ40Z50: Is there a way to re-scale the Relative State of Charge (RSOC) reading down so that it reports 0% at a remaining capacity of my choosing?

Part Number: BQ40Z50
Other Parts Discussed in Thread: GAUGEPARCAL

Tool/software:

Hello,

I have a 2S2P pack using the INR21700-50S (5000mAh), with the appropriate chemistry programmed from (https://dr-download.ti.com/secure/design-tools-simulation/design-tool/MD-lwtS0tg6h2/1061/ChemUpdate1061.zip) The pack is working well and all the values reported back seem good. However, a requirement has come up for the battery to report 0% over SMBUS when the cell has enough remaining capacity that corresponds to about 6.4V pack voltage. I am aware that this will mean a lot of the pack capacity won't be used.

I first assumed that it would be as simple as setting the FD or TD thresholds to 3200mV. However, looking at the Technical Reference Manual, I think changing FD (Fully discharged?) and TD (Terminate discharge?) would just turn off the discharge FET but not change the reported remaining capacity at this level.

Having looked around some more it looks like I may need to use https://www.ti.com/tool/GAUGEPARCAL and start with an "empty" (pack at 6.4v) pack, then do a full charge and discharge cycle while capturing the full csv from the battery management studio and then feeding it in to https://www.ti.com/powercalculator/docs/gpc/gpcUpload.tsp. Before I start all of that, is that the correct way to go about this, or is there a simple parameter I can change.

In summary:

1) Is it possible to rescale the 0% RSOC reading to an arbitrary point of my choosing
2) If yes, is there a way of doing it without using the GAUGEPARCAL?
3) If no, is my method of getting the data as I wrote above the correct way to go about this?


Thanks,

Tom

  • You can accomplish this be changing the Term Voltage (and Term Min Cell V) parameters in data class Gas Gauging, IT Cfg.

    The gauge will calculate capacity so that RSOC reaches 0% when battery (and cell) voltage reaches these thresholds.

  • Hello, Thank you very much for the response. I was confused by my initial test, but changing the FD flag seems to have done what I want. I'll check it again but if that fails, I'll try changing the Term Voltage and term Min Cell V which I hadn't spotted previously. Although just going by the names, I'm not sure what the difference is between Term Voltage the and Fully Discharged registers. I'll have another flick through the reference manual

  • The FD bit is just a flag and the GD Set/Clear Voltage Thresholds control when this flag gets set. It has zero to do with how the gauge calculates RSOC (or Remaining Capacity and Full Charge Capacity).

    Term Voltage and Term Min Cell V are the battery voltage and cell voltage thresholds that the gauge uses to calculate RSOC.

  • Sadly setting the Term Voltage didn't quite do what I was hoping for. While the voltage threshold that I set did end up being 0%, it drops 11% in the last 25 seconds. I have uploaded the log with more parameters if it helps


    Batt_log.log

  • This means that the gauge over-estimated capacity. This is either due to:

    * Incorrect Qmax

    * Incorrect resistance table

    * Incorrect load prediction

    * Incompatible ChemID

    and various more obscure less likely reasons.

    Please make sure that Qmax and Ra are correct (run a true Learning Cycle). Also check that Load Select and Load Mode are correct.

  • Thanks. I've run through what I can from that:

    * Incorrect Qmax.
    I set this to 5000mAh to match the rating of the cell (INR21700-50S). It's not clear to me whether I need to lower this to account for my higher voltage where I read 0%. I've read it both way in the TI documentation

    * Incorrect resistance table
    I believe this is filled in from the programmed ChemID? The ID I used is 5187 which is a INR21700-50S (5000mAh)

    * Incorrect load prediction
    I'm not sure how to check this

    * Incompatible ChemID
    The ID I used is 5187 which is a INR21700-50S (5000mAh) which I'm hoping matches the cell I'm using!

    I haven't yet run a true learning cycle but I have at-least not found the instructions to do so https://www.ti.com/lit/an/slua848/slua848.pdf 
    I'm a bit confused though becuase I thought these should be set by the ChemID?

  • Oh and here is a full register read snapshot if it helps. I don't think there is anything obviously wrong in there but do please let me know if something isn't right!

     1BAT_A_gg.gg.csv

  • If you do not know Qmax, then you need to let the gauge measure Qmax with a dedicated learning cycle.

    This will let the gauge measure both Qmax and cell resistance.

    The ChemID sets the OCV tables and the cell resistance profile. If this is not a custom ChemID then you need to let the gauge measure both Qmax and Ra (cell resistance) with a learning cycle.

    If it is a custom ChemID then you don't have to run a learning cycle but will have to get Qmax from TI and multiply this with the number of parallel cells. Likewise you will have to divide the Ra values by the number of parallel cells.