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.

BQ34Z100-G1: BQ34Z100-G1: Temperature Modeling and Discharge Simulation At Rest

Part Number: BQ34Z100-G1
Other Parts Discussed in Thread: BQSTUDIO

Tool/software:

Per Section 2.5, The Temperature Model informs the simulation of temperatures during the voltage simulation. In turn, these temperature projections from the model also predict the battery impedance at a given point during the discharge simulation, as modeled by R(T) = Ra * e^(Rb * T). 

It has been observed on our gauge that at rest, the remcap is adjusted downwards at the same time the DTRC bit becomes asserted in the FlagsB register while the battery is at rest. This leads to a small SOC drop, which adds up over the course of a few days. Because of the DTRC bit being set when this occurs, it seems as if the voltage/discharge simulation is what causes RemCap to be adjusted down, and a decrease in SOC. I have the following questions:

1. At what C rate is the discharge simulation run at? 

2. Is the temperature model T(t) learned only during the learning cycle or is updated every time a discharge occurs?

3. Is there a way to prevent these adjustments from being made in register settings, or some cycling approach to prevent this voltage simulation from adjusting downwards the RemCap?

  • Hi,

    1) This is determined by load mode and load select. 

    2) it is updated based on present parameters.

    3) Remaining capacity will be affected by temperature so it is to be expected the RemCap will change as the temperature changes.

    Regards,

    Evan

  • Thanks Evan

    1. You're referring to Table 3.2.1 in the gauge TRM, correct? These modes select how the discharge simulation is run?

    2. Is it expected from the gauge then that as the gauge's temperature reading slowly decreases after a charge to full when the cells are at their hottest, at rest SOC will be adjusted downwards? I.E. at the end of charge the gauge reads ~25 degrees C, and the temperature over the course of 3 days drops to 24 degrees C leading to a 1-2% drop in SOC (this is with negligible parasitic drain) 

    3. Is there an expected threshold of change for temp that always leads to a RemCap adjustment? Or is this dependent on the ChemID? Furthermore, does this adjustment always occur because of the discharge simulation starting from a different temperature, or because of the DOD = f(OCV,T) function that does open-circuit corrections at rest? (Or could it be one or the other?)

  • Hi,

    1) Yes sir, this is correct.

    2) The first part of your question is a bit confusing, but I understand clearly the second half (after ie) and I think this is to be expected.

    3) RemCap will adjust anytime FCC adjust. 

    The gauge updates unfiltered FCC at any one of the following events:

    • After a full reset
    • Start of charging
    • End of charging
    • Start of discharge
    • DOD grid point cross during discharge
    • Change in Temperature (+/- 5 degC)
    • SOH update
    • When OCV measurement is taken
    • When Qmax updates

    Hope this clears things up :)

    Regards,

    Evan

  • Thanks Evan. Besides the discharge simulation, does the load mode / load select configuration effect anything else in the IT algorithm?

  • Hey Evan, a few more questions about Load Mode Selection:

    1. My understanding is, if RemCap is updated every time FCC is, then the simulation should be run during relaxation every time an OCV is taken (based on the IT algorithm, I think this is around every 100s). If this is run during relaxation, then the Current / Average Current could be 0. Load Selects 2/3 use Average Current and a low-pass filtered version of Average Current. If Average Current is zero, how will the simulation ever simulate moving any capacity out of the battery if it's essentially a no-load situation (no current being drawn by simulated load)?

    2. Load selection 1 uses the all time average power dissipated by the load through each discharge, saved in an internal register. Is this since the last gauge programming, or gauge reset? Furthermore, if the gauge resets, does this register value persist?

    3. Load Select 0 uses the "Present Average Discharge Power, the average discharge power from the beginning of this discharge cycle until present time". If the simulation is run at reset with no current flowing through the shunt, what current is used to simulate the load's average discharge power? Just the previous discharge's average power dissipation? 

  • Hi,

    0) it will affect how the IT simulations are run but that is all.

    1) The simulation will be run on the expected load not the present load. 

    2/3) I think you have load select 0 and 1 confused. So, load select 1 will use the beginning of the current discharge cycle, this is the present average discharge power. Load select 0 will use the previous discharge cycle, this is Average discharge current from previous cycle. The device will not lose learned information if a reset cmd or loss of power occurs. If you use the present average discharge current and there is no current flow nor has there ever been any discharge then, the gauge will simulate zero current for the initial simulation, which should still be accurate because there has been no discharge yet, so the cells capacity should not have changed.

    This document has relevant information on Load Mode and Load select, that you, may find helpful - Impedance Track Gauge Configuration For Dynamic Loads (EPOS)

    Regards,

    Evan

  • Thanks Evan, that app note is certainly helpful and we will be attempting some of the approaches recommended there.

    One thing still is unclear to me about simulations being run at rest. If Load Mode 3 were to be used for instance, ("Based on low-pass filtered version of AverageCurrent() and Voltage()), would that mean the simulation at rest is run with a load that draws no current at all from the battery? Because at rest, average current is 0A, or at the very worst case below the Quit Current thresholds for chg/dsg

  • Hi Elliot,

    With Load mode 3, if there was no previous discharge the simulation will be ran at 0A. 

    Typically, the default load modes are the best modes to gauge your application, if you have doubts you can share your load and I will recommend a load mode.

    It should also be noted that the first ocv reading when a new battery is inserted is invalid.

    Regards,

    Evan

  • Thanks Evan

    The load is a motor controller for a ~4 horsepower motor. This motor powers a vehicle which of course will be driven at varying C rates over the course of a single discharge cycle. We have observed error during runs of the vehicle wherein the C rate of the discharge changes from C/2 to 2C in regards to remaining capacity calculation. Based on the dynamic load app note which uses an EPOS that has a printer which will demand far more current than the "ambient" draw of the keyboard and display, it's my understanding any dynamic load application should use load mode 3, the low-pass filtered version of the present average discharge.

  • Hi,

    Is it possible for you to log the discharge with your device?

    Load mode 6, and setting the current/power to the highest peak current/power discharge may provide better accuracy.

    Regards,

    Evan

  • Sure, we've logged many discharges of the dynamic flavor where an error starts to pop up, I can attach a CSV of the BQStudio data if that would be helpful. Logs taken were taken with Load Mode 1

    We definitely would like to use Load Mode 6, but our loads are typically 48-50V and the 1C rate of the battery is 100AH. Ideally, we would configure the user rate near 2C, but we also use .01A scaling for the gauge. As you can imagine, (50* (200 / .01)) is far too large to fit in the 16-bit user rate register. Would you recommend in this case to go to the newer R2 firmware so the registers are wider? We are still running G1.


  • Hi Elliot,

    Yes, a CSV file of the BQstudio data would be great!

    I do recommend using the R2 FW but I believe the registers are the same size, so this will not fix the issue. Please share the log and I can see if there is a way to make this configuration work.

    Also, a .srec file would be great! So, I can see exactly how your gauge is configured.

    Thanks,

    Evan

  • Thanks Evan, over the weekend we ran some tests with some other configurations changed which reduced a lot of the error so now I just wanted to clarify one more thing:

    The Design Capacity: Is this simply the nominal cell voltage * the nominal charge capacity of the entire pack? Or is the nominal pack voltage * the nominal charge capacity of the entire pack?

  • Hi Elliot,

    Design Capacity = (nominal Capacity (mah) * # of cells in parallel) / current scale factor

    Regards,

    Evan

  • Thanks Evan, for the Energy, is it just Design Capacity * nominal cell voltage or Design Capacity * nominal cell votlage * number of series cells?

  • Hi Elliot,

    Design Energy does not need to be multiplied by the number of cells in series. 

    DE = (DCapacity * Nominal Voltage) / Energy Scale

    Regards,

    Evan