I have already talked about the main features of a switching battery charger here, but now it’s time to talk about my project of a switching LiPo battery charger based on BQ24250, an IC designed by Texas Instruments

This is the breakout board that I made:

and this is the schematic:

First, I want to talk about the main features of BQ24250:
it is a LiPo switching battery charger that can handle up to 2A of fast charging current.

It can be used standalone with a fast charge current set by  Latex formula resistor (R7 in the schematic) or it can be controlled via I2C.

With this serial communication you can set current from 500mA to 2A with 50mA steps (500mA, 550 mA, 600mA, ….1850mA,1900mA,1950mA, 2A) and you can also set or get a lot of other informations that the IC measure, like different types of fault conditions and so on.

BQ24250  feature protections like:

  • Input UVLO:  starts as soon as the input voltage drop below the operational value
  • Input Overvoltage Protection(OVP): starts as soon as the input voltage reach the maximum voltage value allowed
  • Battery OVP: starts as soon as the battery voltage reach it maximum allowed voltage value
  • Input Current Limit: starts as soon as the input current exceeds its maximum allowed current value
  • Charge Current Limit: starts as soon as the charge current exceeds its maximum allowed current value, it is set via resistor on ILIM pin or via I2C
  • Thermal Regulation: BQ24250 regulate charging current depending of the temperature of the IC.
    if the temperature is too high for that charging current it lowers the charging current to continue to charge the battery at a lower but safety current
  • Thermal Shutdown: if temperature of the IC’s die is too high it turn off the charging process and restart it as soon as the conditions allow the restart

Now I want to show you the pinout of the BQ24250 IC:

  • IN: input power supply, connect this pin to a DC supply that can handle the charging current that you need
  • VDPM: dynamic power management threeshold
  • LDO: a pin connected to the output of an internal LDO set at 4.9V and that can handle a maximum of 50 mA
  • SCL: clock pin of I2C
  • SDA: data pin of I2C
  • INT: an open-drain output that signals charging status and fault interrupts
  • CE: control enable PIN of BQ24250
    • a logic “HIGH” disable charging and put IC to standby mode
    • a logic “LOW” enable charging
  • EN1: with EN2 controls the input current limit
  • EN2: with EN1 controls the input current limit
  • PMID: Connection between blocking FET and high-side FET
  • SW: Inductor Connection. Connect to the switching side of the external inductor
  • BOOT: High Side MOSFET Gate Driver Supply
  • SYS: System Voltage Sense and switched-mode power supply (SMPS) output filter connection.
  • BAT: Battery connection, you must connect here the + terminal of the lithium battery that you want to charge
  • TS: Pin that monitors the temperature restitor NTC of the battery pack
  • ISET: connect a resistor from ISET to GND to program the charging current
  • ILIM: connect a resistor from ILIM to GND to program the input current limit for IN pin
  • PGND: GND terminal
  • AGND: GND terminal

Now take a look to the pinout of the BQ24250 breakout board:

  • J1 connector:
    • VIN: connect directly to IN pin of the BQ24250, you must connect here the + terminal of the voltage source used for charging
    • GND: connect it to the GND of the entire circuit.
  • J2 connector:
    • BAT+:  you must connect here the + terminal of the lithium battery that you want to charge
    • BAT-:  you must connect here the – terminal of the lithium battery that you want to charge
  • J3 connector:
    • LOAD: connect here the system that you want to supply with the battery
    • GND: connect it to the GND of the entire circuit.
  • J4, 7 pins Header connector:
    • INT: connected directly to the INT pin of the IC, a resistor pull up it to VIO:
      • a logic “LOW” means that the battery is in charging
      • a logic “HIGH” means “charging complete” or that the charger is disabled
      • You can see here a 256μs pulse when a fault occurs
    •  STAT: connected directly to the STAT pin of the IC, a resistor pull up it to VIO:
      • a logic “LOW” means that the battery is in charging
      • a logic “HIGH” means “charging complete” or that the charger is disabled
      • You can see here a 256μs pulse when a fault occurs
    • SCL:  connected directly to the SCL pin of the IC, a resistor pull up it to VIO
    • SDA: connected directly to the SDA pin of the IC, a resistor pull up it to VIO
    • CE:  connected directly to the CE pin of the IC:
      • a logic “LOW” enable charging
      • a logic “HIGH” disable charging and place the IC into shutdown mode
    • GND: connect it to the GND of the entire circuit.
    • VIO: you should connect to this pin the external voltage that you want to use for pull up signals from INT, STAT, SCL and SDA pins, if you are reading these pins for example from a 3V3 microcontroller connect a 3V3 supply to VIO for example

With all the pins of the breakout board you can have access at almost all features of the BQ24250.

The easiest way to manage it is the standalone mode:

with the following formula you can set R7 to obtain your desired fast charging current

 

Latex formula

 

In my breakout board Latex formula (that is R7) is set to 249Ω  so Latex formula (the Fast Current ) is set to 1A

 

The standalone mode allow you to use very few cable to connect it to your circuit but this reduce it features.

You need to use the I2C interface if you want to use all features of BQ24250
With it you can have full access to all informations included into these 7 registers :

  • Register #1: read the state of charge and any fault conditions that occur
  • Register #2: set the input current limit, enable or disable STAT function and the CE pin 
  • Register #3: set the battery regulation voltage 
  • Register #4: set the fast charging current from 500 mA to 2000 mA at steps of 50mA 
  • Register #5: set low charge current, read CE status and the VDPM voltage level 
  • Register #6: set safety timer and temperature protection modes of the battery 
  • Register #7: set the OVP (over voltage proteciton) of the input voltage 

These are the main features of the BQ24250 breakout board and you can find more detailed informations into the BQ24250 datasheet, in the next articles I’ll show you how to use it in a standalone mode and via the I2C interface.

keep following!