MPF42791 Minimum viable data to calculate SOC?

a. What are the steps necessary and/or minimum amount of data to be filled in the Fuel Gauge MPF42791 to get a SOC reading from SOC_PACK at 0x05AC ?

Datasheet mentions:

"[…] MCU to periodically update the fuel gauge’s
required inputs. This includes the cell voltages
(via the VRDG_CELLxx registers), current (via
the IRDG_CELLxx registers), and temperature
(via the TRDG_TSx registers). "

I have now configured FG to have 6S1P battery (default cell model).
My MCU application is writing voltage values to vrdg_cell1-6, irdg_cell 1-6 registries.
Including entire pack voltage VRDG_PACK and current IRDG_PACK.
Writing room temperature to TRDG_TS1-TRDG_TS4.

Of course sending EXEC_CMD 0x7FFE and confirming low state of FG_EXE_FLAG 0x0F00.

SOC returns 0.

b. If or how could I obtain/generate battery cell model for my 6S1P LiPo battery under use and configure the FG with it ?

1 Like

Hi Ahto,
I am looking into this for you and will reach out via email.

Best,
Nouman

Hello,

I am also facing the same issue! I am currently working on a setup using the MPS2787 AFE evaluation board connected to a 16S1P LFP battery pack, and I am using the MPF42791 fuel gauge alongside.

I have been able to read and successfully feed cell voltages, pack voltage, pack current, and temperatures from external sensors and the AFE’s die to the MPF IC over I2C. However, I am facing an issue where the SOC register still reads 0%, even after charging the battery from 11% to 47% (as measured externally).

I have verified that:

VRDG_CELLxx, IRDG_PACK, TRDG_TSx registers are being updated regularly.

EXE_CMD is being triggered after each update cycle.

FG_EXE_FLAG becomes 1 and then returns to 0 after execution.

But even after multiple execution cycles, SOC_PACK (0x05AC) still returns 0x0000.