Automatische Abschaltung von Powerbanks als Arduino-Stromversorgung bei geringer Grundlast verhindern

Powerbanks eignen sich als preisgünstige Stromspender für mobile Arduino-Projekte. Ist die Grundlast allerdings gering und fließen nur wenige Milliampere Strom, dann verhindert eine interne Abschaltautomatik die Nutzung als Dauerstromquelle. Mit drei elektronischen Bauteilen und einem kleinen Code-Schnipsel verhindert man das vorzeitige abschalten.

Im Vergleich zu herkömmlichen Akkus sind Powerbanks sehr kompakt und preiswert. Außerdem liefern Powerbanks eine recht konstante Ausgangsspannung von 5 Volt. Eine gute Powerbank wie beispielsweise die Anker PowerCore II mit einer (theoretischen) Nennkapazität von 20.000 mAh bekommt man schon für etwa 35 Euro. Optimal also, um damit auf Arduino-Boards basierende Projekte mobil zu befeuern.

Abschaltautomatik

In der Praxis hakt es jedoch ab und zu, denn Powerbanks schalten in der Regel nach ein paar Sekunden, manchmal auch erst nach Minuten oder Stunden ab, wenn ein Arduino damit betrieben wird. Erkennbar ist das am Erlöschen der Akkustandanzeige, die bei den meisten Powerbanks aus mehreren LEDs besteht. Der Grund für das Abschalten ist ganz einfach: Eigentlich ist eine Powerbank nicht als Dauerstromversorgung gedacht, sondern soll den Akku von Geräten aufladen, die am (Mikro-)USB-Anschluss angeschlossen sind. Im Inneren ist deshalb eine Elektronik verbaut, die überprüft, ob der Akku eines angeschlossenen Gerätes bereits voll geladen ist oder nicht. Das erkennt die Elektronik über den Stromfluss. Fließt ein höherer Strom, ist der Akku noch nicht vollständig geladen und der USB-Ausgang bleibt aktiv. Sinkt der Strom aber unter einen bestimmten Grenzwert von einigen Milliampere, dann schaltet die Elektronik den USB-Ausgang ab. Sie nimmt an, dass der Geräteakku aufgrund des geringeren Stromflusses aufgeladen ist. Im Prinzip dient das dazu, den Akku des angeschlossenen Gerätes nicht zu überladen. Er könnte sonst überhitzen und in Brand geraten, denn nicht alle Geräteakkus verfügen über eine Ladebegrenzung. Die Grenze für den Stromfluss ist bei Powerbanks allerdings nicht einheitlich. Einige schalten erst bei 40 mA ab, andere schon bei 100 mA oder mehr.

Viele Arduino-Projekte arbeiten recht stromsparend. Die kleinen Arduino Boards wie nano, mini oder mini Pro benötigen im Normalbetrieb zwischen 22,1 bis 24,7 mA. Im Sleep-Modus sind sie sogar noch deutlich sparsamer. Selbst wenn ein paar Sensoren angeschlossen sind, übersteigt der fließende Strom den Grenzwert der Abschaltautomatik der Powerbank nicht immer, sodass sie abschaltet.

Powerbanks ohne Abschaltautomatik

Powerbanks ohne eine solche Abschaltautomatik sind in Europa kaum noch zu bekommen, denn die Abschaltung ist hier gesetzlich verpflichtend. Einige preiswerte China-Powerbanks verzichten darauf, besitzen dann aber häufig einen Schalter, um sie manuell ausschalten zu können. Möchte man die Powerbank nicht nur zum Betrieb eines Arduinos, sondern auch zum Aufladen von Akkus verwenden, dann sollte man aus Sicherheitsgründen auf eine Powerbank mit Abschaltautomatik zurückgreifen.

Grenzwert der Powerbank-Abschaltautomatik bestimmen

Um zu verhindern, dass die Powerbank abschaltet, muss die Grundlast so erhöht werden, dass der Grenzwert der Abschaltautomatik überschritten wird. Gleichzeitig soll aber der Stromverbrauch nicht ins Unendliche steigen, um die Powerbank nicht zu schnell leerzulutschen.

Um das zu erreichen, bestimmt man zunächst, ab welchem Stromfluss die Powerbank überhaupt abschaltet. Dazu schließt man ein Strommessgerät zwischen den USB-Ausgang der Powerbank und einem Poti an und ermittelt, wann die Automatik der Powerbank aktiv wird.

Gesamtstromaufnahme impulsartig erhöhen

In einem zweiten Schritt misst man die Gesamtstromaufnahme des Arduino-Projektes. Liegt sie unter dem Grenzwert der Abschaltautomatik, muss man die Stromaufnahme künstlich erhöhen. Das muss allerdings nicht durch einen kontinuierlichen Stromfluss passieren. Das würde zu viel Strom verbrauchen. Es genügen Stromimpulse in Intervallen von ein paar Sekunden. Der Stromimpuls sollte so hoch sein, dass er zusammen mit der Stromaufnahme des Arduino-Projektes den Grenzwert der Abschaltautomatik übersteigt.

Schaltung zur Erzeugung einer Grundlast

Um eine solche Grundlast zu erzeugen, benutzt man einen elektrischen Widerstand Rv, der den Strom verbrät. Ihn schließt man über eine Kollektor-Emitter-Strecke eines NPN-Transistors an die 5 Volt Stromversorgung der Powerbank an. Als Transistor T1 reicht ein einfacher BC547C aus, der knapp 20 Cent kostet. Über einen 1 kΩ Widerstand Rs steuert man die Basis des Transistors über einen digitalen Ausgang des Arduinos an. So lässt sich in einem definierten Intervall die Grundlast für einige Millisekunden erhöhen und die Powerbank schaltet nicht ab.

Automatische Abschaltung von Powerbanks als Arduino-Stromversorgung bei geringer Grundlast verhindern Schaltplan Grundlast für Arduino

Der Widerstand Rv errechnet sich aus dem benötigten Strom und der anliegenden Spannung:

Rv = U / I

Im Beispiel soll ein Strom von 40 mA erzeugt werden:

Rv = 5 Volt / 0,04 A = 125 Ω

Der Widerstand muss 125 Ohm groß sein. Aber Vorsicht: Die üblicherweise verwendeten Metallschichtwiederstände vertragen nur eine Leistung von 0,25 Watt. Im Beispiel beträgt die Leistung 0,2 Watt

P = U x I

P = 5 Volt x 0,04 A = 0,2 Watt

Übersteigt die tatsächliche Leistung den Leistungswert des Widerstandes, dann muss man einen leistungsfähigeren Widerstand benutzen oder zwei Widerstände parallel schalten.

Bei der Parallelschaltung errechnet sich der Widerstandswert dann aus:

Rv = (R1 x R2) / (R1 + R2)

Code-Schnipsel für den Arduino Sketch

Im folgenden Code wird die Grundlast in Abständen von vier Sekunden für eine Sekunde erzeugt. In dem Beispiel erfolgt die Ansteuerung des Transistors über den Pin 10 eines Arduinos.

Fazit

Mit einer Erhöhung der Grundlast eines Arduino-Projektes verhindert man, dass eine Powerbank abschaltet. Die dafür notwendigen elektrischen Bauteile sind überschaubar, die Kosten gering. Außerdem benötigen die Bauteile nur wenig Platz. Über einen Sketch bestimmt man das Intervall und die Dauer der Grundlast, sodass die Schaltung insgesamt stromsparend arbeitet.