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.

BQ25887: Having trouble using the IC with Arduino

Part Number: BQ25887

Hello 

We have created a control board that uses the BQ25887 along with a MEGA2560 for charging a 7.4V 2-Cell LIPO battery but despite testing the circuit with the EVAL board, and using the exact circuit diagram and component models as on the EVAL board, we cannot get our charging circuit to work. Please advise what may be going wrong?

  • Abishek,

    Could you provide the register dump and a copy of your schematic?

    Best Regards,

    Ricardo

  • BQ25887 Reg Dump - 15 seconds after startup.txt
    11:19:32.081 -> Limits...
    11:19:32.081 -> 
    11:19:32.081 -> Cell Voltage Limit: 4.20
    11:19:32.081 -> Charge Current Limit: 2.20
    11:19:32.081 -> hizMode: 1
    11:19:32.081 -> iLimPin: 0
    11:19:32.081 -> Input Voltage Limit: 4.30
    11:19:32.081 -> vInDpmRst: 1
    11:19:32.081 -> batDischg: 0
    11:19:32.081 -> pfmOoa: 0
    11:19:32.081 -> Input Current Limit: 0.50
    11:19:32.081 -> forceIco: 0
    11:19:32.081 -> forceIndet: 0
    11:19:32.081 -> enIco: 1
    11:19:32.081 -> Precharge Current Limit: 0.15
    11:19:32.081 -> Termination Current Limit: 0.15
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> Charge Control Settings...
    11:19:32.081 -> 
    11:19:32.081 -> Enable Termination: 1
    11:19:32.081 -> Status Disable: 0
    11:19:32.081 -> Watchdog: 40
    11:19:32.081 -> Enable Timer: 1
    11:19:32.081 -> Charge Timer: 12
    11:19:32.081 -> Timer 2X Enable: 1
    11:19:32.081 -> Auto Input Detect Enable: 1
    11:19:32.081 -> Thermal Regulation Threshold: 120
    11:19:32.081 -> Enable Charging: 0
    11:19:32.081 -> Cell Low Volt Threshold: 3.00
    11:19:32.081 -> Volt Cell Recharge Threshold Offset: 0.05
    11:19:32.081 -> PFM Disable: 0
    11:19:32.081 -> Watchdog Reset: 0
    11:19:32.081 -> Top-Off Timer: 0
    11:19:32.081 -> JEITA Volt Set: 0.00
    11:19:32.081 -> JEITA Current Set HOT: 40
    11:19:32.081 -> JEITA Current Set COLD: 0
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> Charge Status...
    11:19:32.081 -> 
    11:19:32.081 -> ICO (Optimized) Current Limit: 0.50
    11:19:32.081 -> Current In DPM Status: 0
    11:19:32.081 -> Voltage In DPM Status: 0
    11:19:32.081 -> Thermal Regulation Status: 0
    11:19:32.081 -> Watchdog Status: 0
    11:19:32.081 -> Charge Status: 0
    11:19:32.081 -> Power Good Status: 0
    11:19:32.081 -> VBUS Status: 1
    11:19:32.081 -> ICO Status: 0
    11:19:32.081 -> NTC Status: 3
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> Fault Status...
    11:19:32.081 -> 
    11:19:32.081 -> VBUS OVP Fault Status: 0
    11:19:32.081 -> TSHUT Fault Status: 0
    11:19:32.081 -> Timer Status: 0
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> Charge & Fault FLags...
    11:19:32.081 -> 
    11:19:32.081 -> Current In DPM Flag: 0
    11:19:32.081 -> Voltage In DPM Flag: 0
    11:19:32.081 -> Thermal Regulation Flag: 0
    11:19:32.081 -> Watchdog Flag: 1
    11:19:32.081 -> Charge Flag: 0
    11:19:32.081 -> Power Good Flag: 1
    11:19:32.081 -> VBUS Flag: 1
    11:19:32.081 -> TS Flag: 1
    11:19:32.081 -> ICO Flag: 1
    11:19:32.081 -> VBUS OVP Fault Flag: 0
    11:19:32.081 -> TSHUT Fault Flag: 0
    11:19:32.081 -> Timer Fault Flag: 0
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> Interrupt Masks...
    11:19:32.081 -> 
    11:19:32.081 -> ADC Done Mask: 0
    11:19:32.081 -> IINDPM Mask: 1
    11:19:32.081 -> VINDOM Mask: 1
    11:19:32.081 -> T_REG Mask: 1
    11:19:32.081 -> Watchdog Mask: 0
    11:19:32.081 -> Charge Mask: 0
    11:19:32.081 -> Power Good Mask: 0
    11:19:32.081 -> VBUS Mask: 0
    11:19:32.081 -> TS Mask: 0
    11:19:32.081 -> ICO Mask: 0
    11:19:32.081 -> VBUS OVP Mask: 0
    11:19:32.081 -> TSHUT Mask: 0
    11:19:32.081 -> Timer Mask: 0
    11:19:32.081 -> SNS Short Mask: 0
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> ADC Control Settings...
    11:19:32.081 -> 
    11:19:32.081 -> ADC Enable: 1
    11:19:32.081 -> ADC One Shot: 0
    11:19:32.081 -> ADC Sample Speed: 3
    11:19:32.081 -> Disable ADC IBUS: 0
    11:19:32.081 -> Disable ADC ICHG: 0
    11:19:32.081 -> Disable ADC VBUS: 0
    11:19:32.081 -> Disable ADC VBAT: 0
    11:19:32.081 -> Disable ADC TS: 0
    11:19:32.081 -> Disable ADC VCELL: 0
    11:19:32.081 -> Disable ADC TDIE: 0
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> ADC Values...
    11:19:32.081 -> 
    11:19:32.081 -> ADC IBUS: 0.00
    11:19:32.081 -> ADC ICHG: 0.00
    11:19:32.081 -> ADC VBUS: 5.19
    11:19:32.081 -> ADC VBAT: 7.60
    11:19:32.081 -> ADC Volt Top Cell: 3.79
    11:19:32.081 -> ADC TS: 69.92
    11:19:32.081 -> ADC TDIE: 21.00
    11:19:32.081 -> ADC Volt Bottom Cell: 3.77
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> Part Info
    11:19:32.081 -> 
    11:19:32.081 -> Part Number: 5
    11:19:32.081 -> Device Revision: 1
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> Cell Balance Control Settings...
    11:19:32.081 -> 
    11:19:32.081 -> VDIFF END Offset: 0.04
    11:19:32.081 -> TCB Qual Interval: 120.00
    11:19:32.081 -> TCB Active: 4.00
    11:19:32.081 -> T Settle: 1.00
    11:19:32.081 -> V Qual Threshold: 0.00
    11:19:32.081 -> VDIFF Start: 0.08
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> Cell Balance Status...
    11:19:32.081 -> 
    11:19:32.081 -> CB_CHG_DIS: 1
    11:19:32.081 -> CB_AUTO_EN: 1
    11:19:32.081 -> CB_STAT: 0
    11:19:32.081 -> HS_CV_STAT: 0
    11:19:32.081 -> LS_CV_STAT: 0
    11:19:32.081 -> HS_OV_STAT: 0
    11:19:32.081 -> LS_OV_STAT: 0
    11:19:32.081 -> CB_OC_STAT: 0
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> Cell Balance Flags...
    11:19:32.081 -> 
    11:19:32.081 -> QCBH_EN: 0
    11:19:32.081 -> QCBL_EN: 0
    11:19:32.081 -> CB_FLAG: 0
    11:19:32.081 -> HS_CV_FLAG: 0
    11:19:32.081 -> LS_CV_FLAG: 0
    11:19:32.081 -> HS_OV_FLAG: 0
    11:19:32.081 -> LS_OV_FLAG: 0
    11:19:32.081 -> CB_OC_FLAG: 0
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> 
    11:19:32.081 -> Cell Balance Interrupt Masks...
    11:19:32.081 -> 
    11:19:32.081 -> CB_MASK: 0
    11:19:32.081 -> HS_CV_MASK: 0
    11:19:32.081 -> LS_CV_MASK: 0
    11:19:32.081 -> HS_OV_MASK: 0
    11:19:32.081 -> LS_OV_MASK: 0
    11:19:32.081 -> CB_OC_MASK: 0
    
    BQ25887 Reg Dump - 5 Minutes after startup.txt
    11:24:16.383 -> Limits...
    11:24:16.383 -> 
    11:24:16.383 -> Cell Voltage Limit: 4.20
    11:24:16.383 -> Charge Current Limit: 2.20
    11:24:16.383 -> hizMode: 1
    11:24:16.383 -> iLimPin: 0
    11:24:16.383 -> Input Voltage Limit: 4.30
    11:24:16.383 -> vInDpmRst: 1
    11:24:16.383 -> batDischg: 0
    11:24:16.383 -> pfmOoa: 0
    11:24:16.383 -> Input Current Limit: 0.50
    11:24:16.383 -> forceIco: 0
    11:24:16.383 -> forceIndet: 0
    11:24:16.383 -> enIco: 1
    11:24:16.383 -> Precharge Current Limit: 0.15
    11:24:16.383 -> Termination Current Limit: 0.15
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> Charge Control Settings...
    11:24:16.383 -> 
    11:24:16.383 -> Enable Termination: 1
    11:24:16.383 -> Status Disable: 0
    11:24:16.383 -> Watchdog: 40
    11:24:16.383 -> Enable Timer: 1
    11:24:16.383 -> Charge Timer: 12
    11:24:16.383 -> Timer 2X Enable: 1
    11:24:16.383 -> Auto Input Detect Enable: 1
    11:24:16.383 -> Thermal Regulation Threshold: 120
    11:24:16.383 -> Enable Charging: 0
    11:24:16.383 -> Cell Low Volt Threshold: 3.00
    11:24:16.383 -> Volt Cell Recharge Threshold Offset: 0.05
    11:24:16.383 -> PFM Disable: 0
    11:24:16.383 -> Watchdog Reset: 0
    11:24:16.383 -> Top-Off Timer: 0
    11:24:16.383 -> JEITA Volt Set: 0.00
    11:24:16.383 -> JEITA Current Set HOT: 40
    11:24:16.383 -> JEITA Current Set COLD: 0
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> Charge Status...
    11:24:16.383 -> 
    11:24:16.383 -> ICO (Optimized) Current Limit: 0.50
    11:24:16.383 -> Current In DPM Status: 0
    11:24:16.383 -> Voltage In DPM Status: 0
    11:24:16.383 -> Thermal Regulation Status: 0
    11:24:16.383 -> Watchdog Status: 0
    11:24:16.383 -> Charge Status: 0
    11:24:16.383 -> Power Good Status: 0
    11:24:16.383 -> VBUS Status: 1
    11:24:16.383 -> ICO Status: 0
    11:24:16.383 -> NTC Status: 3
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> Fault Status...
    11:24:16.383 -> 
    11:24:16.383 -> VBUS OVP Fault Status: 0
    11:24:16.383 -> TSHUT Fault Status: 0
    11:24:16.383 -> Timer Status: 0
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> Charge & Fault FLags...
    11:24:16.383 -> 
    11:24:16.383 -> Current In DPM Flag: 0
    11:24:16.383 -> Voltage In DPM Flag: 0
    11:24:16.383 -> Thermal Regulation Flag: 0
    11:24:16.383 -> Watchdog Flag: 0
    11:24:16.383 -> Charge Flag: 0
    11:24:16.383 -> Power Good Flag: 0
    11:24:16.383 -> VBUS Flag: 0
    11:24:16.383 -> TS Flag: 0
    11:24:16.383 -> ICO Flag: 0
    11:24:16.383 -> VBUS OVP Fault Flag: 0
    11:24:16.383 -> TSHUT Fault Flag: 0
    11:24:16.383 -> Timer Fault Flag: 0
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> Interrupt Masks...
    11:24:16.383 -> 
    11:24:16.383 -> ADC Done Mask: 0
    11:24:16.383 -> IINDPM Mask: 1
    11:24:16.383 -> VINDOM Mask: 1
    11:24:16.383 -> T_REG Mask: 1
    11:24:16.383 -> Watchdog Mask: 0
    11:24:16.383 -> Charge Mask: 0
    11:24:16.383 -> Power Good Mask: 0
    11:24:16.383 -> VBUS Mask: 0
    11:24:16.383 -> TS Mask: 0
    11:24:16.383 -> ICO Mask: 0
    11:24:16.383 -> VBUS OVP Mask: 0
    11:24:16.383 -> TSHUT Mask: 0
    11:24:16.383 -> Timer Mask: 0
    11:24:16.383 -> SNS Short Mask: 0
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> ADC Control Settings...
    11:24:16.383 -> 
    11:24:16.383 -> ADC Enable: 1
    11:24:16.383 -> ADC One Shot: 0
    11:24:16.383 -> ADC Sample Speed: 3
    11:24:16.383 -> Disable ADC IBUS: 0
    11:24:16.383 -> Disable ADC ICHG: 0
    11:24:16.383 -> Disable ADC VBUS: 0
    11:24:16.383 -> Disable ADC VBAT: 0
    11:24:16.383 -> Disable ADC TS: 0
    11:24:16.383 -> Disable ADC VCELL: 0
    11:24:16.383 -> Disable ADC TDIE: 0
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> ADC Values...
    11:24:16.383 -> 
    11:24:16.383 -> ADC IBUS: 0.00
    11:24:16.383 -> ADC ICHG: 0.00
    11:24:16.383 -> ADC VBUS: 5.14
    11:24:16.383 -> ADC VBAT: 7.56
    11:24:16.383 -> ADC Volt Top Cell: 3.78
    11:24:16.383 -> ADC TS: 69.82
    11:24:16.383 -> ADC TDIE: 27.50
    11:24:16.383 -> ADC Volt Bottom Cell: 3.77
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> Part Info
    11:24:16.383 -> 
    11:24:16.383 -> Part Number: 5
    11:24:16.383 -> Device Revision: 1
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> Cell Balance Control Settings...
    11:24:16.383 -> 
    11:24:16.383 -> VDIFF END Offset: 0.04
    11:24:16.383 -> TCB Qual Interval: 120.00
    11:24:16.383 -> TCB Active: 4.00
    11:24:16.383 -> T Settle: 1.00
    11:24:16.383 -> V Qual Threshold: 0.00
    11:24:16.383 -> VDIFF Start: 0.08
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> Cell Balance Status...
    11:24:16.383 -> 
    11:24:16.383 -> CB_CHG_DIS: 1
    11:24:16.383 -> CB_AUTO_EN: 1
    11:24:16.383 -> CB_STAT: 0
    11:24:16.383 -> HS_CV_STAT: 0
    11:24:16.383 -> LS_CV_STAT: 0
    11:24:16.383 -> HS_OV_STAT: 0
    11:24:16.383 -> LS_OV_STAT: 0
    11:24:16.383 -> CB_OC_STAT: 0
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> Cell Balance Flags...
    11:24:16.383 -> 
    11:24:16.383 -> QCBH_EN: 0
    11:24:16.383 -> QCBL_EN: 0
    11:24:16.383 -> CB_FLAG: 0
    11:24:16.383 -> HS_CV_FLAG: 0
    11:24:16.383 -> LS_CV_FLAG: 0
    11:24:16.383 -> HS_OV_FLAG: 0
    11:24:16.383 -> LS_OV_FLAG: 0
    11:24:16.383 -> CB_OC_FLAG: 0
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> 
    11:24:16.383 -> Cell Balance Interrupt Masks...
    11:24:16.383 -> 
    11:24:16.383 -> CB_MASK: 0
    11:24:16.383 -> HS_CV_MASK: 0
    11:24:16.383 -> LS_CV_MASK: 0
    11:24:16.383 -> HS_OV_MASK: 0
    11:24:16.383 -> LS_OV_MASK: 0
    11:24:16.383 -> CB_OC_MASK: 0
    

  • Abishek,

    In both log files i am seeing PG_STAT as 0. This means the adapter provided at VBUS is failing the Poor Source Qualification described in the datasheet.

    I am also seeing the EN_CHG is set to 0.

    Could you provide an oscilloscope capture of VBUS upon startup and enable chargeing by setting EN_CHG to 1?

    Best Regards,

    Ricardo