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.

BQ24707A: IFAULT not tripping

Part Number: BQ24707A

hi,

in the bq24707a, I have set input current register 0x3f to numerous current levels, including 128mA, I have set 0x12 to 0x218 which should enable Acoc function. no matter what I do, either set my charge current more than 2x above my input current, or draw additional current from acn to gnd using a resistor, the ifault does not trip.

I also do not understand "the ic cannot maintain the input current level if the charge current has been already reduced to 0" does this mean I have to have my charge current be 0, and draw current through the acp acn shunt externally to trigger the ifault? either way, I could not trigger a fault.

  • Hi, 

    Could you provide the register values? Please check if ACOC is disabled. 

  • Hi Alex,

     As Tiger suggested, can you please confirm your ChargeOption() register setting? If 0x12h = 0x0218, then bits [2:1] would be 00, disabling ACOC.

    /IFAULT is pulled low when ACOC or a MOSFET short circuit is detected. This corresponds to the 3 comparators shown below. These comparators monitor the voltage drops across the HSFET, LSFET, and Rac sense resistor, and they trip when the voltage exceeds a certain threshold.

    Best regards,

    Angelo

  • here are my registers in format:

    register: High byte, low byte

    0x12: 0x19, 0x04

    0x14: 0x08, 0x00

    0x15: 0x32, 0x00

    0x3f: 0x01, 0x00

    because of these register values,  acoc should be enabled. I draw 1amp of current, way above 2x the limit of acoc, and the ifault doesn't trip. I've also noticed that the outside pin is exactly correct when charge current is chosen (200mV @ 1A), but the iout pin is wildly inaccurate when input current is chosen (75mV @ 1A charging). this doesnt make sense because the input current is the charging current plus what it takes to run the ic. I've verified we are using a 10m resistor between acn and acp.

  • here are my registers in format:

    register: High byte, low byte

    0x12: 0x19, 0x04

    0x14: 0x08, 0x00

    0x15: 0x32, 0x00

    0x3f: 0x01, 0x00

    because of these register values,  acoc should be enabled. I draw 1amp of current, way above 2x the limit of acoc, and the ifault doesn't trip. I've also noticed that the outside pin is exactly correct when charge current is chosen (200mV @ 1A), but the iout pin is wildly inaccurate when input current is chosen (75mV @ 1A charging). this doesnt make sense because the input current is the charging current plus what it takes to run the ic. I've verified we are using a 10m resistor between acn and acp.

  • Hi Alex,

    Thanks for the information, and sorry for the delayed response.

    Based on your provided register settings, your charge current = 2.048 A, charge voltage = 12.8 V, and input current limit = 256 mA. Let me know if there are any misunderstandings so far.

    I have several questions to debug this further:

    1) What is the adapter voltage?

    2) What do you have connected to your board? My understanding is that you have the adapter, host MCU, and battery connected, but no system load. Is this correct?

    The reason I ask this is because the adapter voltage, charge voltage, charge current, and the presence of a system load all affect the amount of input current needed. This could explain why your IOUT pin is accurate for charge current, but not for input current.

    3) Can you please share your schematic?

    4) Can you please capture a waveform that shows the input current, /IFAULT, charge current, and SRN? Please also use a multimeter to measure the ACP and ACN voltages.

    5) Aside from /IFAULT, is the charger working as expected?

    6) You mentioned in your other thread that the /IFAULT pin is pulled up to 3.3 V through a 100 kΩ resistor. Can you try using a 10 kΩ pull-up resistor instead?

    Best regards,

    Angelo

  • 1) 18V

    2) You are correct, but i have had the following for system load: I have had no load, a 70 ohm load, and a 3s lithium ion battery load. I have also had a separate load attached from ACN to GND to simulate an input current fault

    3)

    4) I do not have access to the charger today, but can provide later

    5) yes

    6) I can try that, but i do not understand the advice. If the hypothesis is ifault is having trouble pulling down, a stronger pullup will only make that problem worse.

    Thanks,

    alex

  • Hi Alex,

    Thanks for the information.

    4) Okay, please provide these test results when you get a chance.

    6) I suggested a 10 kΩ pull-up resistor for the sake of consistency with the datasheet schematic, but you're correct that this is unlikely to be the issue since your /IFAULT pin isn't pulling down. 4) is still our main path for debugging.

    Best regards,

    Angelo

  • I'm not sure if you received my email, but i will repost the results here:

    ACP-ACN as read by DMM (When I was pulling 3A from ACN to GND, to trigger an Ifault). 31.3mV (corresponds to 3.13A for our 10mOhm resistor.

    Attached is /IFAULT, and IOut for input current. IOut for output current was @ 0V (I had no load or battery attached to VCHG, but I have also performed this test with a load with similar results.

  • Could you try to set the input current limit to 512mA or higher?

  • Hi Alex,

    Thanks for the test results. I didn't receive any emails. If you'd prefer to continue the discussion privately, let me know, and I'll send you a friend request with my email address.

    Previously, you mentioned that IOUT is correct for charge current, but it is inaccurate for input current. However, your latest test results show that IOUT is correct for input current. You measured 31.3 mV across the Rac sense resistor, so we should expect 31.3 mV * 20 = 626 mV on the IOUT pin, which is close to what you're seeing on the scope (580 mV). Has anything changed from before, when IOUT was inaccurate for the input current? Either way, if the IOUT accuracy issue is resolved, then we can focus on why /IFAULT never goes low.

    When the charger enters ACOC, charge is disabled for 1.3 seconds and will soft start after that if the ACOC condition goes away, as described in Section 8.3.4 of the datasheet. Do you observe that charge is disabled for 1.3 seconds? If not, then the root cause may be that the ACOC comparator is never getting tripped, so the charger never pulls /IFAULT low.

    Best regards,

    Angelo

  • I've set the high byte of input current to 0b00000101, which sets input current to 1.3A. I'm now running 3 A from ACN to GND, which should be picked up by the input sense resistor, the output goes to 0 as it should "above 108% of input current" but Ifault doesn't trigger @ 1.66x input current limit. 

    Please note, I have picked up a bq24707A evaluation board, and the same ifault trip still does not occur. Can you confirm whether my test setup is valid?

    Thanks,

    Alex

  • Charge is disabled (Output goes to 0 as soon as the "current fault load" is applied), but doesn't pull Ifault low.

    I assume the charge disabling has to do with this section of the datasheet: "If input current rises above 108% of the input current limit set point, the charger shuts down immediately to let the input current fall fast" and not the ACOC condition.

    Can you please confirm that my test setup is valid? 

    -Small load ~500ohms on output of charger, large load ~3A from ACN to GND (to mimic ACOC)

    -No load on output of charger, large load ~3A from ACN to GND (to mimic ACOC)

  • Hi Alex,

    I apologize; there is another condition that must be met in order to trip ACOC and pull /IFAULT low. This isn't clearly explained in the datasheet, but it is included in the EC table:

    Vacoc_min is the minimum voltage drop across the Rac sense resistor in order to trip ACOC. With a 10 mΩ sense resistor, the input current must be above 4.5 A or so in order to trip ACOC. In your previous tests, you used a 3 A load and measured 31.3 mV across the sense resistor, which is too low to trip ACOC.

    To summarize, the following 3 conditions must be met in order to trip ACOC:

    • ACOC is enabled
    • Input current through Rac > input current limit setting * ChargeOption() bits [2:1]
    • ACP-ACN > minimum clamp voltage (45 mV typical value)

    Best regards,

    Angelo