The first laptop battery charger board I built used a Max1873 but it needed an ATtiny microcontroller to monitor the charging parameters. That's great if you want to write your own code for total control but it adds complexity to the project. The second battery charger board I built uses an MP26123 or MP26124 from Monolithic Power Systems. These chips will pre-charge a dead battery, stop charging when full, monitor battery temperature, and limit the total charge time without any assistance from a microcontroller. The MP26123/4 chips also include the main switching FET inside the package which reduces the layout complexity. The assembled MP26123/4 board is shown below.

I used the typical application and evaluation board schematics from the MP26123 and MP26124 data sheets to design this board. The part values that need to be changed for the different battery configurations are shown in the following schematic. The Eagle schematic file "MPS_Charge_Controller.sch" is available for download in case you want to modify the design.

The MP26123/4 chips do not reduce the charge current in order to limit the input current but there is a 5 amp slow blow fuse on the board as a fail safe. Instead of the typical Schottky blocking diode on the input, I use a PFET to reduce heat. There is also a PFET instead of a diode to "Or-Tie" the battery to the load without the usual 0.4 volt diode drop. This is important because the voltage from a nearly empty 3S battery pack is barely enough for the display backlight to keep working. The MP26123/4 board feeds the LM2596 buck regulator loads with either the battery voltage or the 19 volt input. There are no voltage dropouts when the 19 VDC input is unplugged or plugged in. The enable pin of the MP26123/4 is brought to the card edge and can be driven high by the Pi to shut down charging if necessary.   

A simple SR latch is always powered in order to enable the buck regulator loads when the laptop's push button power switch is engaged. This latch is powered from a 3.3 volt linear regulator sourced from the battery or 19 volt wall supply. The current draw from the battery when the buck regulator loads are disabled is 315 µamps. Adding in the internal self-discharge of the battery pack at 2% per month plus the protection circuit at 3% per month will cause a fully charged 58 watt hour 11.1 volt battery to be drained in 324 days. If you are not going to use the laptop for some time, pull out the battery pack to cut the discharge in half.

The MP26123/4 will perform a precharge if the battery pack voltage is below 3 volts per cell. The precharge time is limited to 30 minutes at 10% of the full charge current. If the battery voltage rises above 3 volts per cell within 30 minutes, the charge current increases to the full charge level which has been set at 1 amp by resistor R12. The MP26123/4 is rated for up to 2 amps of charge current but I didn't want to push it too hard. When the battery voltage reaches the maximum level (4.2V x number of series cells), the charger transitions from constant current mode to constant voltage. The charge current will drop until it reaches 10% of the full level, causing the charger to shut down to avoid trickle charging. The plot below shows the test results for an MP26123 charging a 3S1P battery pack.

Initially the batteries were nearly empty at 11 volts. The MP26123 was in constant current mode at 1.1 amps for the first 60 minutes. The charger transitioned to constant voltage mode, holding at 12.63 volts while the current slowly dropped. At 104 minutes, the current dropped to 105ma and the MP26123 terminated charging. I confirmed the precharge mode when I tried to charge a 3S2P pack that measured 6 volts. The charge current stayed at 100ma but the voltage stopped rising at 7 volts, causing the MP26123 to terminate charging after 30 minutes. I opened up the battery pack and found two cells were stuck at...

Read more »