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, dass sie baugleich sind und dasselbe Spannungspotential besitzen, sonst könnten die
Akkus überhitzt und/oder beschädigt werden.
Immer auf die Polarität der Anschlüsse achten, denn der TP4056-IC ist nicht gegen Verpolung geschützt!
Status | LED (rot) | LED (grün/blau) |
---|---|---|
Akku wird geladen | leuchtet | aus |
Ladevorgang beendet | aus | leuchtet |
Eingangsspannung zu niedrig; Temperatur des Akkus zu niedrig/hoch; kein Akku angeschlossen |
aus | aus |
kein Akku angeschlossen | blinkt | leuchtet |
Ä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 |
2,2kΩ | ~500mA |
2kΩ | 580mA |
1,66kΩ | 690mA |
1,5kΩ | 780mA |
1,33kΩ | 900mA |
1,2kΩ | 1000mA |
Um einen LiPo mit dem TP4056 laden zu können müssen lediglich die Anschlüsse des Akkus mit BAT+ und BAT- auf dem Modul 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.
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.
#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);
}
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.
zurück