BQ25730: Problem measuring input and load current (ICHG and IVUS)

Part Number: BQ25730

Tool/software:

I have a problem when trying to get the ICHG value through the ADC, at less than 1408mA it works but when I increase the charging current it stops working and the values ​​I get are (0, 128mA, sometimes 258mA) charging at more than 1408mA for example 2944mA.
Please if you could help me, this is critical for my application.

  • Hello Flaco,

    Can you provide your schematic?

    Can you provide your register information?

    Best Regards,

    Christian




  • I'm just writing these records because the ones that are by default work for me.

    I've already tried with an RC filter but without results, it's worth mentioning that I've never been able to measure IVBUS through the ADC, it gives me a value of 100mA sometimes and other times some random number.

    I've added an image of the signal on the IVBUS pin.

  • Hello Flaco,

    Thank you for this information, Please allow me time to review your schematic. I will provide feedback after I gather more information.

    Best Regards,

    Christian

  • Ok, thank you very much.
    I look forward to your reply.
    Regards

  • Hello Flaco,

    Can you provide the all of the register data after you readback the information?

    Best Regards,

    Christian.

  • {
    "chg-0": {
    "enabled": true,
    "initialized": true,
    "busy": true,
    "battery": {
    "connected": true,
    "charging": {
    "state": "Fast Charging (CC mode)",
    "percent": 20,
    "voltage(mV)": 10560,
    "current(mA)": 128
    }
    },
    "charger": {
    "faults": []
    },
    "fields": {
    "EnCmpLatch": 0,
    "VSysUVPENZ": 0,
    "EnLEARN": 0,
    "IADPTGain": 20,
    "IBatGain": 16,
    "EnLDO": 1,
    "EnIInDPM": 1,
    "ChrgInhibit": 0,
    "EnLwPwr": 0,
    "WdTmrAdj": 0,
    "IInDPMAutoDisable": 0,
    "OTGOnChrgOk": 0,
    "EnOOA": 1,
    "PWMFreq": 400,
    "LowPTMRipple": 1,
    "ChargeCurrent": 3328,
    "ChargeVoltage": 13200,
    "VInDPM": 19520,
    "VSysMin": 9200,
    "IInHost": 5000,
    "FaultACOV": 0,
    "FaultBatOC": 0,
    "FaultACOC": 0,
    "FaultSysOVP": 0,
    "FaultVSysUVP": 0,
    "FaultForceConverterOff": 0,
    "FaultOTGOVP": 0,
    "FaultOTGUVP": 0,
    "StatAC": 1,
    "ICODone": 0,
    "InVAP": 0,
    "InVInDPM": 0,
    "InIInDPM": 0,
    "InFChrg": 1,
    "InPChrg": 0,
    "InOTG": 0,
    "StatVInDPM": 0,
    "StatComp": 0,
    "StatICRIT": 0,
    "StatINOM": 0,
    "StatIDCHG1": 0,
    "StatVSys": 0,
    "StatBatteryRemoval": 0,
    "StatAdapterRemoval": 0,
    "EnProchotExt": 1,
    "ProchotWidth": 10000,
    "ProchotClear": 1,
    "StatVAPFail": 0,
    "StatExitVAP": 0,
    "IInDPM": 5000,
    "ADCPSys": 48,
    "ADCVBus": 23232,
    "ADCIDChg": 0,
    "ADCIChg": 128,
    "ADCCmpIn": 3060,
    "ADCIIn": 0,
    "ADCVBat": 10560,
    "ADCVSys": 10560,
    "CmpRef": 2.3,
    "CmpPol": 0,
    "CmpDeg": 0.005,
    "ForceConvOff": 0,
    "EnPTM": 0,
    "EnShipDchg": 0,
    "AutoWakeupEn": 0,
    "EnIBat": 1,
    "EnProchotLwPwr": 0,
    "PSysConfig": "PBus+PBat",
    "RSnsRAC": 5,
    "RSnsRSR": 5,
    "PSysRatio": 1,
    "EnExtILim": 1,
    "EnIChgIDChg": "IChg",
    "Q2OCP": 150,
    "ACXOCP": "150/100",
    "EnACOC": 0,
    "ACOCVTh": 200,
    "EnBatOC": 1,
    "BatOCVTh": 200,
    "PkPwrTOvldDeg": 1,
    "EnPkPwrIInDPM": 0,
    "EnPkPwrVSys": 0,
    "StatPkPwrOvld": 0,
    "StatPkPwrRelax": 0,
    "PkPwrTMax": 20,
    "BatFETEnZ": 0,
    "EnVBusVAP": 0,
    "OTGVAPMode": 1,
    "ILAvg": 10,
    "CmpEn": 1,
    "BatFETOffHiZ": 0,
    "PSysOTGIDChg": 0,
    "EnHiZ": 0,
    "ResetReg": 0,
    "ResetVInDPM": 0,
    "EnOTG": 0,
    "EnICOMode": 0,
    "EnPortCtrl": 1,
    "EnVSysMinSoftSR": 0,
    "EnOTGBigCap": 0,
    "EnADCCmpIn": 1,
    "EnADCVBus": 1,
    "EnADCPSys": 1,
    "EnADCIIn": 1,
    "EnADCIDChg": 1,
    "EnADCIChg": 1,
    "EnADCVSys": 1,
    "EnADCVBat": 1,
    "ADCConv": "Continuous",
    "ADCStart": 0,
    "ADCFullScale": 3060
    }
    }
    }

  • This reading is loading at 3A, I show a photo of the measurement.

  • After several tests I found a solution for my problem, I solved it by calculating an RC filter with a cutoff frequency of 1kHz, (10Ohms - 10uF) in the ICHG sensing resistor, this also made the chip able to sense IADPT where previously there was an RC filter in the differential signals of 966kHz the cutoff frequency (4.99Ohms - 0.033uF) (this is suggested by the EVM of the BQ25730 which I think is a very high cutoff frequency since the chip switches at a maximum frequency of 400kHz).

    Thank you very much for the help.

    Best regards.

  • Hello Flaco,

    That is good to hear, I will close this thread since the problem has been resolved.

    Best Regards,

    Christian