nPM1300-EK+nRF52 DK+NRF5 SDK, charge/discharge current issue

Greetings.


Our team has encountered some difficulties in integrating nPM1300 into a new project. In the project we plan to use nPM1300 in conjunction with NRF52810. To develop the program part we purchased two developer boards: nPM1300-EK and nRF52 DK. NRF5 SDK was chosen as SDK because of the limited amount of resources in the NRF52810.
The npmx driver and the fuel_gauge example adapted for NRF5 SDK were taken as a basis. The main task now is to get a working full gauge.

At the moment the driver is successfully integrated, all necessary interrupts work, but there are some inaccuracies in obtaining charge/discharge current values.
Briefly on the essence of the problem:
A lithium battery is connected to the nPM1300. The NTC pin on the board is shorted to ground via a 10kOhm resistor. Nothing is connected to the load output, no charging is also connected. In this case we see the true values in the console of our program:

<info> app: V: 3.84; I: 0.000; T: 25.21

However, if we connect to the BUCK2 output an electronic load set in CC mode to 100mA, then in this case the current consumption value in the console does not correspond to the real one. The values of voltage and temperature correspond to the real data:
<info> app: V: 3.81; I: 0.124; T: 25.21

With 200mA on load, the picture is as follows:
<info> app: V: 3.77; I: 0.266; T: 25.21

Further, if we disconnect the load and connect the charger (the charging current is set to 300mA via npmx_charger_charging_current_set()), then on the charger ammeter I can see the real consumption of 305mA, but in the console the values are different:
<info> app: V: 3.96; I: -0.026; T: 25.21

With 500mA of charging set, the picture is as follows:
<info> app: V: 4.05; I: -0.026; T: 25.21

So we can see that the voltage set by the nPM1300 is correct, but the current has not changed and still shows 26mA with the real 512mA on the charger.
Looking ahead, I would like to say that the current value when the charger is connected (regardless of the set charging current) will always be displayed in the console as 26-27mA, even in case of simultaneous operation of the charger and the load on the nPM1300 output. Here is an output of simultaneous operation of a 200mA load on the BUCK2 and a charger set to 500mA:
<info> app: V: 4.06; I: -0.027; T: 25.21

The charger ammeter will show 643mA in this case.
Interesting thing is that when we connect nPM1300-EK to a computer using nPM PowerUp 1.3.0, this problem is not observed. Also, this problem does not appear when we build the npm1300_fuel_gauge example under NRF Connect. The current values in both cases correspond to the real ones.
Just in case, I would like to clarify that no changes were made to the driver from our side. Also, we have tried most of the APIs (adc and charger), which, in our opinion, could somehow affect the result of the charge/discharge current values.
Perhaps there is something we have overlooked.
Any help would be appreciated.
Thanks in advance.

Related