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.

BQ25895M: Battery voltage read is 0 when not charging even though the battery is not depleted yet.

Part Number: BQ25895M
Other Parts Discussed in Thread: EV2400

Hi,

I have set the battery chip to host mode and ADC conversion type to continuous 1s.

I have checked that I got ACK from the bq25895M as well. 

I can read battery voltage using my C++ program when the battery is charging, but I receive 0 as soon as I stop charging the battery. 

I don't understand why and how to fix this problem. Do I need to set anything else?

Any helps would be appreciated. 

Thanks. 

  • What is the expected battery voltage?

    There is a limitation that BAT voltage needs to be about SYS_MIN setup.

  • Hi, 

    Thanks for your answer. 

    The BAT should be about 4.1V which is greater than SYS_MIN which is 3.5V. When I stop charging, BAT goes back to the default value which is 2.304 V.  

    I have made sure that the following conditions are satisfied: 

    1. BAT > OTG_BAT_EN

    2. VBUS < BAT + VSLEEP

    3. OTG_CONFIG bit = 1

    4. B_HOT and B_COLD bits are within range 

    5. Wait 30s. 

    Is there anything else that I need to do?

  • Could you please provide all the register values? Thanks!
  • Hi Ning,

    Sorry for the late reply. This is all the register values. 

    Thanks. 

  • The register values provided do not show BAT ADC reads 2.304V. Based on the register values, REG0E[6:0](i.e.BAT)=45(HEX), i.e. 3.684V, REG0F[6:0](i.e.SYS)=45(HEX), i.e. 3.684V and charge state REG0B[4:3]=00 (i.e. not charging). These readings look normal. I have translated the register values to HEX values. You may plug in the attached register txt file into the bq2589x GUI by "load Registers" and confirm the BAT ADC readout. Thanks!

    BQ25895M Battery voltage read is 0 GUI.txt
    * Created: Thu Jul 19 23:58:39 CDT 2018
    *
    * Format: Register Name  tab Character,\t  Hexadecimal register value.
    * BQZ Container: Charger_1_00-bq25895M.bqz
    *
    Input Current Limit, HIZ and ILIM pin	00
    OTG Temperature thresholds, and Input Voltage DPM Offset	05
    ADC controls, OTG Frequency, ICO, DCP, and Input Detection	70
    Battery Load, WDT Reset periods, OTG and Charge Enable, and MINSYS setting	3A
    Fast Charge Current Limit settings and MTK Pump enable	20
    Pre-charge and Termination Current Limit settings	13
    Charge Voltage Regulation Limit, Battery Low Voltage and Recharge threshold	82
    Termination Current Enable, STAT pin, WDT, Safety Timer, and JEITA Charge Current	8D
    IR Compensation and Thermal Regulation thresholds	03
    ICO, Extended Safety Timer, BATFET control, MTK Pump Voltage, and JEITA Charge Voltage	44
    OTG Regulation Voltage and Current Limit settings	93
    Charger VBUS, Charging Mode, PG, USB Input, and System Voltage Regulation status	02
    WDT, OTG/VBUS OVP, Thermal Shutdown, Safety Timer, and TS pin faults	00
    Input Voltage DPM settings	54
    Thermal Regulation Charge Status, and ADC Battery Voltage conversion	45
    ADC System Voltage conversion	45
    ADC TS pin voltage as percentage of REGN conversion	3F
    VBUS status, and ADC VBUS Voltage conversion	00
    ADC Charge Current conversion	00
    DPM status, and Input Current Limit setting	2E
    Registers reset, Input Current Optimizer status, Device ID, and Temperature Profile	3A

  • Hi Ning,

    Thanks for the answer.

    I have tested and confirmed that VBAT value when not charging is correct. It is not the case with charging.

    When the battery is charging, the VBAT does not reflect the true voltage of the battery. Particularly, when charging the VBAT can read 4.1V, and VBAT right away be 2.304V when unplugging from the charger. Moreover, the VBAT can go above the maximum voltage that it has which is 4.2V.

    I can read the VBAT correctly when charging if I use EV2300 and bq25895MEVM_664. I just can't read it correctly when debugging using bq25895M board.

    Is there any settings that I need to set for bq25895M to read the VBAT correctly when charging? Such as a setting to stop charging when reading the voltage.

    Thanks.
  • We have to duplicate the behavior your mentioned in order to understand and resolve it. Could you please try to duplicate the behavior on the bq25895M EVM with EV2300 or EV2400 and let us know the detailed test procedure to duplicate the behavior you described? Thanks!

  • We haven't heard back from you for a while. The thread is considered closed. Thanks!