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.

BQ24715: Battery does no charge when adapter is connected

Part Number: BQ24715
Other Parts Discussed in Thread: BQ77915,

Hi,

Hope you are doing good.

We have 3s 2p configuration of li-ion batteries(ncr18560B).

as of now, we have a 3.3V (MIC5205-3.3YM5)regulator connected at the load point. When the battery pack is connected without the presence of an adapter,  the regulator out measures 3.3 V (BATDRV measures -3.86V)

when an adapter is connected, we observed that the ACFET AND RBFET (Q2A) don't turn on and the battery doesn't charge.

We connected a DC source at the adapter terminals and measured the following voltages:

(all the voltages are measured with respect to ground)

battery voltage = 11.05V ( between Bat+ and Bat-)

adapter voltage= 15.5V 

ACDRV= 2.83V

ACDET= 2.4V

CMSRC= 2.30V

ACOK= 3.25V 

IOUT=0V

BATDRV= 0.82V

LODRV= 0V

HIDRV= 11.06V

VCC=18.25V

REGN= 6.05V

PHASE=11.05V

BTST= 10.78V.

The register settings are as follows:

charge options= 0x8144h

charge voltage=0x3130h

Min system voltage= 0x2400h

charge current = 0x1000h

input current= 0x0c80

I am attaching the schematic below.

Can you please help me out in knowing what might be the reasons for the battery not charging?

bhb.pdf

Thank-you

Warm Regards

Harini Krishna

  • Hi,

    Hope you are doing good.

    we checked the schematic and PCB. 

    We found out that the ACDRV signal was given to the source of the MOSFET instead of the gate.

     we made changes on the connection and connected the ACDRV signal to the gate through R10 resistor.

    Once the enable charger is true we are writing the MaxChargeVoltage(), ChargeOptions() and ChargeCurrent() settings.

    The Write data is as following:

    charge options= 0x8144 

    charge current = 0x0D40

    max charge voltage = 0x3140

    Minimum system voltage = 0x2400

    Input current = 0x1E00

    After making changes, We connected the battery and adapter. 

    • When that charge current setting is given a value, it is automatically reset to zero.

    • There was one more condition where the charge current setting resets to zero when the adapter is connected.
      • The  settings under "BQ24 charger configuration starter" log messages are related to the values after writing and reading back the registers 
      • The settings  under " Enable Charge: True" log message is the read data from the IC after charge is enabled  and  the MaxChargeVoltage(), ChargeOptions() and ChargeCurrent() settings are written agian
    • The charge current does not set to zero when the adapter is present and the battery pack is removed.

    What might be the conditions that are leading to set the charge current to zero and not charging the battery even when a valid adapter is present?

    the measured voltages on the following pins are:

    ACDRV: 22.8v

    ACDET: 2.2v

    vCC: 17.6v

    REGN : 6v

    bATDRV= 0v

    LODRV= 0v

    hIDRV= 12.4V.

    Also we have BQ77915 BMS in our system. The battery is strictly connected only through BMS to the rest of the circuit. 

    Please help us with this.

    Thank-you

    Warm Regards

    Harini Krishna

  • Hi Harini,

    Can you please double check the adapter voltage, ACDET, and ACOK? The adapter detection threshold is ACDET > 2.4 V, but you measured only 2.2 V.

    Best regards,

    Angelo

  • Hi Angelo,

    thank you for the reply.

    We have weird charge conditions, 

    • ACOK measuring 3.24V  when the input voltage is set to 21V, the battery charges with 1.81A and once we decrease the input voltage to 18.3 volts, the battery charges with 2.19A and after some time the battery stops charging the battery.
    • At input current of 18.03V, even when the charge current value is written, the battery doesn't charge. the battery starts charging if the input voltage is increased to 21V. AS suggested, we rechecked the ACDET voltage at adapter voltage  of 17.9 V and  and 19V and ACDET pin read the following voltages
      1.  at 17.9 V adapter voltage, ACDEt is 2.27V
      2. at 19.00V adapter voltage, ACDET is 2.4V

    • Every time we measure  ACDET pin voltage with a multi meter terminals across the ACDET pin test point and the ground when a valid adapter is present and ACOK measures 3.2 V,the charge current falls to zero
    • Before identifying the PCB connection fault( the ACDRV signal connected to source of the mosfet instead of gate), we measured the ACDET pin voltage 2.4V (mentioned in the first post). Once the connection were corrected by connecting the ACDRV signal to gate of the ACFET and RBFET gate via R10 resistor the ACDET reads 2.2 V at 17.9 V and 2.4 V at 19.00V adapter voltage.

    What might be the reasons for such behavior of the IC?

    Thank-you 

    Warm Regards 

    Harini Krishna

  • Hi Harini,

    Some of your observations are definitely unusual. Can you please send me your latest BQ24715 schematic (with the ACDRV fixed)?

    Also, do you have a BQ24715 EVM that you can test? This would help us confirm whether the issue is related to the test setup or whether the issue is related to the schematic/PCB layout.

    Best regards,

    Angelo

  • Hi Angelo,

    hope you are doing good.

    I am attaching the new schematic below

     We do not have EVM to test it. 

    We have a BMS (bq77915) through witch the modules of the board are connected to the battery. The BMS is behaving a bit wired which is turning off the charging mosfet at the BMS side (disconnecting the battery).

    Thank-you 

    Warm Regards

    Harini Krishna

  • Hi Angelo,

    Hope you are doing good

    we have a weird condition with the charge voltage . when we give the command, the measured charge voltage( measured across load point and gnd) is as following

    1. Charge voltage : 12544mV (0x3100) the measured voltage  voltage is 13.1 V. We have a BMS (bq7791500 with OV charge protection of 12600mV) on the load point ( given in the image below)which is turned off because of 13.1 V charge voltage

    2. We checked the if the condition persists for 12288mV ( 0x3000),  12480mV ( 0x30c0), 12512 mV(0x30e0) and the charge voltage did not change to 13100mV and maintains at 12170 mV, 12440mV and 12470mV respectively. Why the voltage is not maintained at the programmed charge voltage?
    3. The charge voltage goes to 13.1V only if the charge voltage is given  12528 mV ( 0x30f0) or above.

    What might be the reason for the voltage increase above the programmed charge voltage?

    Thank-you

    Warm Regards

    Harini Krishna

  • Hi Angelo,

    Hope you are doing good.

    Can you please help us in knowing why the charging is showing such behavior as mentioned in the previous post?

    Thank-you

    Warm Regards

    Harini Krishna

  • Hi Harini,

    I’ve reviewed your schematic, but nothing jumps out at me since it is very similar to the typical application circuit in the datasheet.

    Thanks for the details regarding your latest observation with the ChargeVoltage() register setting and the measured LOAD_POINT voltage. I will run some tests on a BQ24715 EVM tomorrow and let you know my results.

    In order to help me duplicate the behavior you’re seeing, can you please answer the questions below so I can reproduce your test conditions?

    1) What is the adapter voltage during this test?

    2) Is the battery connected? If so, what is its voltage?

    3) You mentioned that the issue only occurs when the ChargeVoltage() setting is 12528 mV or higher. Can you please share the rest of your register settings as well?

    4) After measuring LOAD_POINT = 13.1 V, can you please read back all the registers to see whether any of your register settings were changed?

    Best regards,

    Angelo

  • Hi Angelo,

    Thank-you for the reply

    1. The adapter voltage during the test was 19V
    2. The battery was connected. We were trying to charge the battery. the battery voltage measured 11.91V
    3. The register settings are as follows

    4. The register settings remained the same

    We want to measure adapter current/ battery discharge current using Iout. How to calculate the current using Iout value?

    Thank-you

    Warm Regards

    Harini Krishna

  • Hi Harini,

    I tested a BQ24715 EVM with a 19 V adapter, an 11.9 V battery, and your register settings.

    With charging enabled, VSYS = VBAT + the small voltage drop across the sense resistor and the BATFET.

    With charging disabled, here are my measurements for VSYS (this corresponds to LOAD_POINT in your schematic).

    ChargeVoltage() setting = 12.288 V -> measured VSYS = 12.302 V

    ChargeVoltage() setting = 12.480 V -> measured VSYS = 12.489 V

    ChargeVoltage() setting = 12.512 V -> measured VSYS = 12.520 V

    ChargeVoltage() setting = 12.528 V -> measured VSYS = 12.536 V

    I am not seeing the same jump up to 13.1 V that you do. I also tried several other ChargeVoltage() register settings, but the measured VSYS voltage always tracks my register setting quite closely.

    To help narrow down the problem, can you please remove the battery and anything connected to LOAD_POINT (such as the BQ77915 circuitry)? All you need for this test is the adapter, so you can disconnect everything else and see whether the behavior changes.

    If possible, I would recommend ordering a BQ24715 EVM. The EVM will speed up the debugging process by confirming whether the issue is related to your test setup or whether there is a hardware issue with your board.

    Regarding how to calculate the adapter current and battery discharge current using the IOUT pin voltage, please see my response to your other E2E thread:

    https://e2e.ti.com/support/power-management/f/196/t/921913

    Best regards,

    Angelo

  • Hi Angelo,

    Hope you are doing good.

    Thank-you for the reply.

    As suggested, we checked the voltage settings by disconnecting the battery pack.

    We read the following readings

    charge voltage settings Measured voltage V (L2 to gnd)
    0x3000 ( 12.288V) 12.86
    0x30c0 ( 12.480 V) 13.03
    0x2ff0 (12.272 V) 12.84
    0x2fe0 ( 12.256V) 12.815 
    0x2fd0 (12.240 V) 12.79
    0x2fc0 (12.224 V) 12.77 
    0x2fb0 (  12.208 V) 12.78
    0x2f30 (12.080 V) 12.64 

    We will update you as soon as we read the values with charger alone ( with no circuitry connected at the Load point) .

    Thank-you

    Warm Regards

    Harini Krishna



  • Hi Angelo,

    Hope you are doing good.

    We tested the battery charger with charger alone and found that the same condition existed.

    We noticed that when chargeVoltage () and ChargeCurrent() command was sent, the charge voltage seen at load point is 13.1V. 

    When only ChargeVoltage()  command was sent, the voltage at the load point was following the chargeVoltage() command setting with a 40mV difference ( but  was nor charging the battery because chargeCurrent command was not sent)

    I am attaching the PCB layout below

    Thank-you

    Warm Regards

    Harini Krishna

  • Hi Harini,

    So just to confirm, you're seeing significantly different results depending on whether or not you have circuits connected to VSYS, correct? In your most recent post, you mentioned that there is a 40 mV difference between VSYS and your ChargeVoltage() setting when the VSYS load circuits are disconnected. Before you disconnected them, your table shows that the difference was roughly 560 mV.

    My understanding is that you have 2 remaining questions/concerns:

    1) When charging is disabled, why is there a voltage difference between VSYS and the ChargeVoltage() setting?

    2) When charging is enabled, why is VSYS = 13.1 V?

    Regarding 1), I think you have resolved this issue by disconnecting the VSYS load circuits. A 40 mV difference is within spec for VSYS with charging disabled, as shown below. For example, a 40 mV difference at 12 V is only a 0.33% error, which is well within spec.

     

    Regarding 2), while the BQ24715 is fast charging the battery, VSYS = VBAT + the small voltage drop across the sense resistor and the BATFET. The battery will continue to fast charge until VBAT approaches the ChargeVoltage() setting. At this point, the charge current will begin to taper down.

    Best regards,

    Angelo

  • Hi Angelo,

    Hope you are doing good

    Thank-you for the reply.

    • We observed a behavior where whenever we tried to give charge current value, the battery always charged at (approximate) half of the given value.
    set charge current Measured charge current
    8128mA 4.18mA
    6144mA 3.68mA
    3008mA 1.78mA

    Why is the charger charging at the half of the given charge current command?

    will the IC allow only half(approx) of the chargeCurrent() register value to charge ?

    • Other than writing 0x15h before 0x14h is there any other command sequence that need to be followed for proper operation of bq24715?

    Thank-you

    Warm Regards

    Harini Krishna

  • Hi Harini,

    In your table, I'm assuming the measured charge current is actually in units of A instead of mA, correct?

    The BQ24715 regulates the charge current by sensing the voltage drop across the sense resistor. If the sense resistor is not the default value of 10 mΩ, then the actual charge current will be different from the ChargeCurrent() register setting.

    Based on your schematic, your sense resistor (R19) is 10 mΩ. Do all of your boards have the same mismatch issue between the ChargeCurrent() setting and the actual charge current, or is it only happening on one board? If the mismatch is only happening on one board, then I recommend swapping out the sense resistor for a new one to see if that makes a difference.

    Best regards,

    Angelo

  • Hi Angelo,

    Hope you are doing good.

    Thank-you for the reply.

    I have few questions regarding the device

    1. In the data sheet  ( please refer the figure given below)
      1. We see that for discharge current measurement using Iout the  0x12h register bit[15]= 1 will turnoff all the discharge current monitoring of the device. Is it that the 0x12h bit [15] =0 to monitor discharge current? 
      2. Based on our understanding if 0x12h bit [3] =1, then the user has full choice of selection of monitoring either adapter current or discharge current based on 0x12h bit [4] = 0 ( adapter current) or 1( discharge current) monitor respectively. But if 0x12h bit[3]=0, then based on the  0x12h bit [1] = 0 ( IDPM_ EN disable) or 1 ( IDPM_ EN enable) the user has to choose either adapter current monitor( bit[1]=0, bit[3]=0, bit [4]=0) or  discharge current monitor ( bit[1]=1, bit[3]=0, bit [4]=1). So, if the user needs to monitor adapter current  with 0x12 h register settings (bit[1]=0, bit[3]=0, bit [4]=0), Iout will read adapter current in this process if the user sets 0x12h bit[1]=1 and still wishes to read adapter current he cannot read the adapter current because the IDPM_EN ( bit[1]=1) is enabled. Did we understand it the correct way?
      3. What is the difference if Iout is monitored with based on 0x12h bit [3] = 0 or bit [3] = 1? 
    2. We are using  NCR18650B li-ion batteries with 3S2P configuration. and in the previous post you mentioned regarding the charge current setting change if there is a different resistor value( we still have this issue where the measured charge current is half( approx) of the set charge current.
      1. We measured discharge current monitor using Iout and found that the Iout measured 1.0032 ( only battery present condition). The calculated discharge current was 6.27 A where as we measured 5.48 A at the load. In previous conditions we measured the Iout value and found that the measured discharge current (6.218A)  and calculated current discharge ( based on Iout (1.043) measurement = 6.518 A) had a maximum of 300mA difference. Does this indicate a bad sense resistor ?
      2. Is the chargingcurrent() setting mentioned in the EVM ( section 3.2 , 4th point) only for 3s configuration? 
        1. if we need to charge a 3s2p configuration battery we need to set the chargeCurrent() setting 2*(chargeCurrent() for 3s) = 2*3.008A= 6.016A? is this the correct way to set the chargeCurrent() settings for a 3S2P battery configuration? Is there any way to configure the battery configuration of 3S2P in the IC? 
        2. We tried charging the battery ( measured voltage 8.6V) with a setting of chargeCurrent()= 6144mA and saw that the Vsys( load point and ground) was reading 13.89 V. As soon as the ChargeCurrent() was changed to 3008 mA, the  battery started charging with 1600mA. 
    1. Is there any command sequence that need to be followed for proper operation of bq24715  ( other than writing 0x15h register before writing 0x14h register)?
    2. There is a small confusion regarding the precharge current setting using chargeCurrrent () register. From the 0x12H Chargeoptions() register bit[2]=1, Precharge current is set by ChargeCurrent() and clamped below 384mA, does this mean that the user has to set chargeCurrent() for precharge conditions (as shown in the figure below)? Or will be set by the charger automatically?  

    Thank-you

    Warm Regards

    Harini Krishna

                          

  • Hi Angelo,

    Hope you are doing good.

    Can you please  help us with the previous post?

    Thank-you

    Warm Regards

    Harini Krishna

  • Hi Harini,

    1a) Yes, ChargeOption() bit[15] should be 0 if you want to monitor the discharge current.

    1b) and 1c) It sounds like your understanding is correct. I'll try to summarize the IOUT selection behavior below:

    If bit[3] = 0, then IOUT is determined by whether IDPM is disabled or enabled:

    • When IDPM is disabled, IOUT monitors the adapter current
    • When IDPM is enabled, IOUT monitors the discharge current

    If bit[3] = 1, then IOUT is determined by bit[4]:

    • When bit[4] = 0, IOUT monitors the adapter current
    • When bit[4] = 1, IOUT monitors the discharge current

    2a) The IOUT current sense amplifier multiplies the voltage drop across the sense resistor. Therefore, if IOUT is very inaccurate, then this could be due to an inaccurate sense resistor. I think the sense resistor should be the first thing to check.

    2b) The CELL pin indicates to the BQ24715 whether your battery is 2s or 3s. Based on the CELL pin, the BQ24715 will set the default ChargeVoltage() and MinSystemVoltage() accordingly. After the device powers up, the host can freely change the ChargeVoltage() and MinSystemVoltage() as desired.

    The CELL pin only looks for the number of series cells, not the number of parallel cells. You do not need to tell the BQ24715 that your 3s battery is 3s2p. All you need to do is set the ChargeCurrent() register to your desired value. For example, if you want to charge your 3s2p battery with a charge current of 3 A, simply set the ChargeCurrent() register to 3 A. You should not double the ChargeCurrent() setting.

    3) Aside from setting the ChargeVoltage() before setting the ChargeCurrent(), there is no specific command sequence that must be followed. When I test the BQ24715 EVM, I typically disable the watchdog timer first so that it does not expire and suspend charging. I then set the ChargeVoltage(), MinSystemVoltage(), and and InputCurrent() to my desired values. Finally, I set the ChargeCurrent() register so the BQ24715 can start charging the battery.

    If you like, you can follow my command sequence, but there is flexibility here. Just remember to set the ChargeVoltage() before the ChargeCurrent() since the ChargeVoltage() register already has a default value at startup.

    4) Yes, you must set the ChargeCurrent() register in order to pre-charge the battery. If ChargeCurrent() = 0, then charging is disabled, so the battery will not pre-charge.

    Best regards,

    Angelo

  • Hi Angelo,

    Thank-you for the reply.

    we observed that  when we have load alone with charger ( no battery pack present), the adapter is supplying the load at 4.1A and suddenly drops down to 0.8A. and the voltage measured at the load point is 13.4V.. our adapter input voltage is 19.5 V.

    We have the following register settings

     \

    what might trigger such behavior?

    Thank-you

    Warm Regards

    Harini Kirshna

  • Hi Harini,

    Are 4.1A and 0.8A the adapter current or the load current?

    Also, what kind of load are you using? Is this behavior consistent and repeatable?

    I'm wondering whether your load has some kind of transient that is causing this behavior. Can you try using a stable DC electronic load set to constant current mode to see whether this behavior still occurs?

    It would also be helpful if you could capture some waveforms showing VBUS, IBUS, ISYS, and PHASE at the moment when the current drops from 4.1 A to 0.8 A.

    Best regards,

    Angelo

  • Hi Angelo, 

    We changed 10 milli ohm sense resistors to  7.5 milli ohm 

    1. will there be any change in Chargecurrent() setting ?( for eg: if we want to have 3100mA charge current, we will directly write charegCurrent()= 0c1c for a 10mohm resisitor. Since, we have changed the sense resistor to 7.5mohm, to have a charge current of 3100 mA c an we directly write            charegCurrent()= 0c1c )?
    2. We set the Iout measurement to adapter current(load not connected, battery only present)
    1. when charger is absent, the iout reads 0V
    2. when charger is connected and the charge current is zero, the iout reads 6.2mV. should'nt the Iout measure 0 when the battery is not charging?Is this expected behavior?
    • What is the maximum error we can expect from the actual measured value for discharge/ adapter current and the calculated adapter/discharge current from iout?

    Thank-you

    Warm regards

    Harini Krishna

  • Hi Harini,

    1) Yes, you will need to change the ChargeCurrent() setting if you use a sense resistor value other than the default 10 mΩ. The BQ24715 senses the voltage drop across the sense resistor and calculates the current assuming that the sense resistor is 10 mΩ. With a 7.5 mΩ sense resistor, the same current will produce a smaller voltage drop than a 10 mΩ sense resistor.

    If you want the charge current to be 3.1 A, then the voltage drop across the 7.5 mΩ sense resistor would be V = IR = 3.1*0.0075 = 0.02325. On a 10 mΩ sense resistor, the current would be I = V/R = 0.02325/0.01 = 2.325. Therefore, you should set the ChargeCurrent() register to 2.325 A if you want an actual charge current of 3.1 A using a 7.5 mΩ sense resistor.

    Please note that a smaller sense resistor will have lower charge current regulation accuracy since there is a smaller voltage drop across the sense resistor. A 7.5 mΩ sense resistor is fine for most applications, but this is something that you should be aware of.

    2a) I tested this on an EVM with a 20 V adapter, no battery, and no system load connected. I also see a slight offset. Even though there is no charging, the IOUT pin still detects the small quiescent current that is being used by the BQ24715. This quiescent current results in a small voltage drop across ACP-ACN, which is then multiplied by 40 by the IOUT current sense amplifier. The quiescent currents are given in the EC table at the top of page 8 in the datasheet.

    2b) The IOUT current sense accuracy is given in the EC table:

    Best regards,

    Angelo

  • Hi Angelo,

    thank you fir the reply

    hope you are doing good.

    we have a 6.2A load and we have connected the DC supply with a maximum current rating  of 5A. everytime we connect the load with adapter present,

    yes, 4.1A and 0;8A are load current.  we are using a resistive load(heater) of 1.6ohm, 6.2A load. 

    1. We did try to measure the phase pin using a multi-meter. when the charger is connected, the phase pin reads 12.4V with respect to gnd. when the load is connected, when we try to measure the phase voltage by probing the multimeter, the adapter current drops to zero. ( the battery and load both present condition) . Again when the load is disconnected, the battery started charging the battery and the phase read 12.4V
    2. we connected adapter and stared charging the batter(load disconnected), when the load is turned on, the adapter was 4.35A to the load. After some time the load current falls to 1A and the Phase pin measures 10.30V
    3.   what does VBUS, IBUS, ISYS refer to? 

    Can you please help us with this?

    Thank-you

    Warm Regards

    Harini Krishna

  • Hi Angelo,

    We are using NCR18650b li-ion battery with 3s2p configuration. i am attaching the datasheet below

    NCR18650B.pdf

    We plotted the charge and discharge characteristics and found out that the discharge capacity and the capacity are has a lot of difference. the battery is discharging 5774mAh( the battery is not completely discharged) and charging only upto 3548mAh capacity. Please find the attached graphs for  the charge and discharge characteristics.

    We are discharging the battery at 1C and charging the battery at 0.5C

    Why is the  charge capacity very less than the discharge capacity?

    Can you please help us with this?

    Thank-you 

    Warm Regards

    Harini krishna

  • Hi Angelo,

    Battery pack specification: 3S2P Li-Ion (12,6Vmax)

    In regards to the charge current settings, As suggested by you we have changed the Charge current register settings to our need 

    Rsense is 7.5 Ohm.

    We have set 0x14 to 0x0910 (2320mA) the measured charge current is 2.02A

    And when the 0x14  set to 0x0BD0 (3024mA) and this happened.

    Why is this behaviour with the Charger IC? What could be a problem? Please help us solve the issue this is eating up all the time.

  • Hi Harini,

    1) VBUS is the adapter voltage. IBUS is the current coming from the adapter. ISYS is the current flowing to the load. Please capture some waveforms showing VBUS, IBUS, ISYS, and PHASE at the moment when the load current (ISYS) drops. An oscilloscope waveform is helpful since it will show whether there is any load transient. A multimeter will not show this.

    2) Based on the battery datasheet that you provided, the typical capacity is 3350 mAh. As you mentioned, your measured discharge capacity of 5774 mAh is very far off. How are you measuring the charge and discharge capacity? Are you using a battery gauge?

    HARINI KRISHNA said:

    Battery pack specification: 3S2P Li-Ion (12,6Vmax)

    In regards to the charge current settings, As suggested by you we have changed the Charge current register settings to our need 

    Rsense is 7.5 Ohm.

    We have set 0x14 to 0x0910 (2320mA) the measured charge current is 2.02A

    3) You mean the sense resistor is 7.5 mΩ, not 7.5 Ω, correct?

    Also, your picture of the power supply shows that VBUS = 19 V and IBUS = 2.02 A. IBUS is the adapter current, not the charge current. It seems like there is a misunderstanding here. Please measure the charge current (the current flowing into the battery) to see whether the value is expected. IBUS = 2.02 A seems about right by my calculations, so please measure the charge current and verify this.

    Best regards,

    Angelo