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.

BQ27750: Question regarding AverageTimeToEmpty() function in BQ27750 fuelgauge chip

Part Number: BQ27750

Hello,

in our device we're using a LiPo akkupack with BQ27750 fuelgauge chip.

We want to use the AverageTimeToEmpty() function to display the remaining runtime of our device.

From BQ27750 reference document I can find the following description of the AverageTimeToEmpty() function:

---8<---

Uses average current value with a time constant of 15 s for this method. A value of 65535 means the
battery is not being discharged.

---8<---

Furthermore I can find the following description of AverageCurrent in the same document:

---8<---

This read-only function returns a signed integer value that is the average current flow through the sense
resistor. The value is updated every 1 s. Units are mA.

---8<---

From my understanding the the AverageTimeToEmpty() function refreshes the remaining runtime every 15 seconds based on the AverageCurrent which is updated every 1s.

Now here comes the tweaky point:

Our device won't discharge the akkupack with a constant current but it will discharge it with a constant power.

That means if the akkupack is nearly full charged the discharge current will be lower due to higher cell voltage and if the akkupack is nearly empty the discharge current will be higher due to lower cell voltage (discharge power is constant all the time).

Because of changig discharge current the AverageTimeToEmpty() function delivers some inaccuracies at the beginning of device usage.

Now I found out in the reference document that BQ27750 also delivers power values with "AveragePower":


---8<---
This read-only function returns a signed integer value of average power during battery charging and
discharging. It is negative during discharge and positive during charge. A value of 0 indicates that the
battery is not being discharged. The value is reported in units of mW.

---8<---

So the crucial question is:

Is it possible to use the AverageTimeToEmpty() function based on AveragePower values ??

Thanks and best regards,

Marcel Fischer

  • No.  As you can see in the BQ27750 TRM,  AverageTimeToEmpty() returns the predicted remaining battery capacity based on AverageCurrent(), which is already fixed in the firmware.

    What you can try is to read the remaining battery capacity and AveragePower from the gauge, then calculate the time to empty by yourself. 

    Andy 

  • Hi Andy,

    many thanks for your reply.

    Self-calculation of remaining time via AveragePower and RemainingCapacity is a choice we already discussed but we wanted to check first the possibility of changing the AverageTimeToEmpty behaviour.

    Thanks and best regards,

    Marcel