zurück

TP4056 - LiPo-Lademodul

16.12.2019

Das hier besprochene TP4056-Modul ist eine kleine Platine mit Mikro-USB-Eingang (5V) zum Laden von Lithium-Polymer-Akkus (nur 1S, d.h. Einzelzellen) mit Schutzfunktion vor Tiefentladung und Überladung/Kurzschluss. Mit diesem Modul können nur 1S-LiPo-Akkus geladen werden, d.h. Einzelzellen. Will man zwei Akkus parallel laden, ist darauf zu achten, das sie baugleich sind und dasselbe Spannungpotential besitzen, sonst könnten die Akkus überhitzt und/oder beschädigt werden.
Wichtig: Immer auf die Polarität der Anschlüsse achten, denn der TP4056-IC ist nicht gegen Verpolung geschützt!

TP4056-Modul mit Schutzfunktion vor Tiefentladung und Kurzschluss

Indikator-LEDs

Status LED (rot) LED (grün/blau)
Akku wird geladen leuchtet aus
Ladevorgang beendet aus leuchtet
Eingangsspannung zu niedrig;
Temperatur des Akku zu niedrig/hoch;
kein Akku angeschlossen
aus aus
kein Akku angeschlossen blinkt leuchtet

Rprog-Varianten

Ändert man den Widerstand R3 (auch Rprog auf dem Modul, so ändert sich der konstante Ladestrom zum Akku:

Rprog Ibat
10kΩ 130mA
5kΩ 250mA
4kΩ 300mA
3kΩ 400mA
2kΩ 580mA
1,66kΩ 690mA
1,5kΩ 780mA
1,33kΩ 900mA
1,2kΩ 1000mA
Interner Schaltplan des TP4056-Moduls
Abb.: Interner Schaltplan des TP4056-Moduls

Verwendete Bauteile

Laden eines LiPo mit dem TP4056

Um einen LiPo mit dem TP4056 laden zu können müssen lediglich die Anschlüsse des Akkus mit BAT+ und BAT- auf dem Module verbunden werden und entweder schließt man per Mikro-USB oder -wie hier im Bild- eine externe Stromquelle an. Ist der Akku nicht voll, so sollte der Ladevorgang über das Leuchten der roten LED angezeigt werden.

Einfaches Laden eines LiPo mit dem TP4056-Modul

Akku-Monitor mit dem Arduino

Man kann die Spannung des Akkus mit dem Arduino auslesen und überwachen. In dem folgenden Beispiel wird alle 5 Sekunden die Spannung des LiPo gemessen und auf einem einfachen LCD angezeigt.

Aufbau der Schaltung

Aufbau des Akku-Monitors mit dem Arduino

Sketch

#include <LiquidCrystal.h>

#define PIN_RS 12
#define PIN_EN 11
#define PIN_D4 2
#define PIN_D5 3
#define PIN_D6 4
#define PIN_D7 5
#define PIN_MONITOR A0

LiquidCrystal lcd(PIN_RS, PIN_EN, PIN_D4, PIN_D5, PIN_D6, PIN_D7);
float ARef = 1.1;

void setup()
{
    analogReference(INTERNAL);
    lcd.begin(16, 2);
}

void loop()
{
    float x = analogRead(PIN_MONITOR)/1023;
    float voltage = x*ARef*4;
    int percent = round(voltage / 4.4 * 100);

    lcd.clear();
    lcd.print(String(voltage) + "V");
    lcd.setCursor(2, 1);
    lcd.print(String(percent) + "% loaded");

    delay(5000);
}

LiPo über eine Solarzelle laden

Einen LiPo mit einer Solarzelle zu laden ist recht einfach. Zu beachten ist hier die Diode, die verhindern soll, dass sich der LiPo bei Dunkelheit wieder über die Solarzelle entlädt. Außerdem muss darauf geachtet werden, dass die Solarzelle nicht mehr als 6V hat.

LiPo über eine Solarzelle mit dem TP4056 laden