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.

BQ25720: wrong value in register ADCVSYSVBAT in case of no battery

Part Number: BQ25720

Hello,

I measure 12.5V at output of BQ25720 (Vsys) but register 0x26 ADCVSYSVBAT reports value 0x4500, corresponding to 7296mV Vsys and 0mV Vbat (there is no battery connected)

With a battery connected I get eg 0xD9D6 corresponding to 16768mV for Vsys and 16576 mV for Vbat, which is close to what I measure.

What am I doing wrong in case of no battery? Is there a special setting in some other register I need to set? Couldn't find any hint in the datasheet.

 

Thanks for any help

kind regards

Martin Mensch

  • Hi Martin,

    To start the ADC measurement, first enable each individual channel through the ADC options, then enable ADC_START bit. 

    Regards

    Tiger

  • Hi Tiger Zhou,

    I am sorry but your answer does not help me solve the problem.
    We develop here a system with exchangeable batteries. The host firmware has a set of routines reading out BQ25720 registers and from the ADC results calculate the measurement values. These routines are always the same no matter if a battery is inserted or not.

    Now, while the calculated voltage for Vsys from register 0x26 ADC_VSYS_VBAT is correct when a battery is inserted, ie it is the value I measure with a voltage meter at Vsys pin, it is not when no battery is connected. The calculated value then is about 5200mV too low ie the ADC value is wrong, given that the calculation rule is the same for both cases.

    Regarding your post:

    Do you mean, I should enable channels in another command than enabling start bit? If so, is that true for every single conversion? I set the desired channels and start bit in one command. As mentioned above this is all right with battery and it is all right for all the other channels.

    Thanks for any help

    kind regards

    Martin

  • Hi Martin, 

    You can start ADC continuously every 1s. No need to start ADC_START repetitively. I would still suggest enabling channels first before ADC_START, in two SMBus commands.

    Regards,

    Tiger

  • Hi Tiger,

    thanks for this hints.

    I would like to come back to the original issue which is register 0x26 ADCVSYSVBAT reporting a wrong value in case of no battery connected. Did you check this in your lab?

    For me this is not very urgent any more, as I found that there is an offset of 5200mV, so I simply add it when there is no battery voltage. But I think it is worth mentioning in the docs.

    Kind Regards

    Martin

  • Thanks for your feedback. We will take a look in the lab. 

  • Hi Tiger,

    today I can provide some more information on this issue that my help TI reproduce the effect we see.

    This is our circuit around pin CELL_BATPRESZ:

    We have a voltage devider from REGN via CELL_BATPRESZ to Gnd setting 4 cells. A MOSFET is in parallel with the lower resistor between CELL_BATPRESZ  and Gnd. It will draw CELL_BATPRESZ to Gnd when no smart battery is connected ie T-pin of this smart battery is open (pullup on the gate of the n-channel MOSFET) With T-pin connected to Gnd via 300 Ohms = battery inserted the MOSFET will not conduct and CELL_BATPRESZ has the voltage given by the resistor devider, 4,4V in our case.

    Now the effect is present when T-pin is open ie the MOSFET is conducting ie CELL_BATPRESZ is drawn to Gnd. This is also true when no other battery pins are connected.

    We could reproduce this with several devices.

    Hope this helps

    kind regards

    Martin

  • Hi Martin,

    1. When the battery is not connected, the VSYS measures 12.6V, register 0x26 reports 0x9800 (12.6V). 

    2. When CELL_BATPRESZ is pulled low, the VSYS measures 3.7V, register 0x26 reports 0x00. 

    We suggest you pulling down CELL_BATPREZ, then restart the charger to indicate a battery removal. 

    Regards,

    Tiger