SolarBox PowerBank

Einführung

Die Solarbox-Powerbank ist ein kleines Solar-Laderegler und -Speicher-Management-System (BMS) für LiFePo4-Akkus und dient zur Versorgung mobiler Devices wie Laptop, Tablet oder iPhone, etwa nach Art einer USB-Powerbank, daher auch der Name.



Kenndaten

* Systemspannung: 6 oder 12 Volt Systemspannung

* Solarpanels: 10Wp, 9V/1.1A oder 18V/550mA

* Speicherkapazität: 10 bis 15 Ah

* Akkus: LiFePO4

* uControler/Steuerung: AtmelAVR/Arduino



Grundlagen

Um die Funktion des Ladereglers zuverstehen, ist es vielleicht hilfreich, sich nochmal ein paar Basics zu Solarzellen zu vergegenwärtigen.

I / U Kennlinie von Solarzellen





Einfluss der Beleuchtungsstärke.

Der Output eines Solarpanels ist annähernd proportional zur Beleuchtungsstärke, aber V bleibt nahezu konstant so lange diese mehr als 200W/m² beträgt, was an Wintertagen oder bei Bewölkung auch mal nicht der Fall sein kann. Anders gesagt: Solange halbwegs Licht auf das Panel fällt bleibt die Spannung relativ konstant und wenn man in einen Bereich reinkommt, wo das nicht mehr gegeben ist, dann kann man die Stromerzeugung an dem tag sowiso vergessen ;)

Was sich stattdessen aber stark ändert, das ist natürlich der Strom, der sich proportional zur Beleuchtungsstärke verhält..



Einen großen Einfluss auf die Spannung hat hingegen die Temperatur des Solarpanels, mit steigender Temperatur sinkt die Spannung etwas ab. Darum kann es sein, das an heissen Sonnentagen der Ertrag schlechter ist als an etwas weniger sonnigen aber dafür eher kühleren Tagen. Der Temperatureinfluss ist auch der Grund dafür, warum die Panelspannung stets um rund 50% höher als die nominale Batteriespannung ist, also etwa 18V-Panel an 12V-Akku.



Der Laderegler

Das nachfolgende Blockschaltbild zeigt den grundlegenden strukturellen Aufbau des Ladereglers. Die wichtigsten Komponenten sind:

* Anschlüsse für Solarpanel, Battery-bank und den Verbraucher (Load)

* Über- und Unter-Spannungsschutz sowie Über- und Rückstromschutz

* Strom und Spannungssensoren für Solar- und Batterie-Strom

* einen pwm gesteuerten DC/DC-Konverter (switching, stepdown/buck)

* Arduino, mit ADC-Input für die Sensoren und PWM-Output für den Konverter







Soweit sind die grundlegenden Solarladeregler-Funktionen abgedeckt, speziell im Falle von LiFePo4 kommt noch hinzu, das die Zellen einzeln überwacht und ausbalanciert werden müssen. Das erfordert zum einen entsprechende Sensoranschlüsse, die hier durche ine gestrichene gelbe Linie angedeutet werden, sowie eine Balancer-Logik, welche nicht mit eingezeichnet ist, aber auch durch den Arduino gesteuert wird.

Desweiteren muss der DC-Konverter so angesteuert werden, das auch ein ConstantCurrent-Ladeverfahren möglich ist.



Typen von Ladereglern



Genaugenommen gibt es 3 Arten von Solarladreglern

1. ON/OFF-Laderegler

2. PWM-Laderegler

3. MPPT-Laderegler

Die PWM- und ON/OFF-Laderegler unterscheiden sich von MPPT-Laderglern (MPPT = Maximum Power Point Tracking) in verschiedenen Punkten, unter anderem sind sie einfacher aufgebaut und damit kostengünstiger und kommen tendenziell eher bei kleineren Solarsystemen zum Einsatz. Insbesondere muss bei ihnen die PV-Spannung möglichst nahe an der Batteriespannung liegen (bzw. leicht darüber liegen) um Umwandlungsverluste gering zu halten. So würde z.B. ein Solarmodul mit 36 Zellen und 18V Spannung zu einer 12V-Batterie passen. Insbesondere bei größeren Solaranlagen lohnt es sich hingegen, durch eine höhere Spannung wie 24V, 48V oder mehr, insbesondere die Leitungsverluste in der Verkabelung möglichst gering zu halten um die Effiziens deutlich zu steigern. Ausserdem kommen dabei auch oft große Panels mit jeweils 72 Zellen zum Einsatz, die somit ohnehin 36V Spannung aufweisen. Wenn dem nun eine Batteriebank mit z.B. nur 12 V gegenübersteht, dann ist die DC-DC-Wandlung (über einen großen Spannungsbereich) mittels eines Schaltreglers die effizienteste Methode und hier kommen dann die aufwändigeren und somit teureren MPPT-Regler zum Einsatz. Sie bieten auch die Möglichkeit, das Solarpanel an seinem optimalen Arbeitspunkt (dem Maximal Power Point) innerhalb der I/U-Kurve zu fahren.

Da sich dieser kontinuierlich ändert, etwa aufgrund zunehmender Erwärmung des Panels (Solarpanels arbeiten bei niedrigen Temperaturen optimal, oberhalb von 25 °C kann die Leistung mit jedem zusätzlichen °C um etwa 0.45% sinken !!!) oder aufgrund unterschiedlich starker Beleuchtung, ist es notwendig, die Regelung aktiv und ständig dem MPP nachzuführen ( = Tracking), was i.d.R. auch den Einsatz eines Microcontrollers notwendig macht und somit mit ein Grund ist, warum MPPT-Regler teurer sind. (Die nominalen Angaben zur Leistungsfähigkeit eines Panels beziehen sich übrigens *immer* auf eine optimale Situation mit 25 °C Ungebungstemperatur und Sonneneinstrahlung im optimalen senkrechten Winkel mit 1000W/m² Beleuchtungsstärke. Diese Situation tritt in der Praxis höchstens mal um die Mittagszeit für einen kurzen Moment auf.)

Während der MPPT-Regler sich an die PV-Leistung effizienssteigernd anpasst dient die PWM-Regelung zur Anpassung an besondere Erfordernisse der Batterie, z.B. könnte nach dem Ladevorgang in einen Erhaltungsladungs-Modus übergeangen werden. (siehe Wikipedia, Pulsladeverfahren) Dies wäre z.B. für Bleibatterien wichtig, aber weniger für LiFePo4-Zellen. Bei denen ist es im Gegenteil sogar eher schädlich, wenn die Zellen längere Zeit im vollgeladenen Zustand verbleiben, weil währenddessen die Zell-Chemie besonders beansprucht wird und dies zu einer schnellen Alterung führt, daher sollte man sie (bei Nichtnutzung) übrigens auch nur in halbvollem Zustand für längere Zeit lagern.

Detailliertere Ausführungen zum Vergleich zwischen PWM und MPPT-Reglern gibts unter [1] [2] [3]


Diese Erwärmung ist übrigens auch der Grund dafür, warum selbst bei einem PWM-System respektive einem System wo PV-Spannung und Batterie-Spannung "gut zueinander passen", die PV-Spannung mit 18V doch immerhin 150% der nominalen 12V-Spannung beträgt. Natürlich muss sie auch schon allein deshalb etwas höher liegen, damit der Ladevorgang (Elektronenfluss von einem höheren zu einem niedrigeren Spannungsniveau) überhaupt funktioniert, aber dafür würde schon eine kleinere Spannungsdifferenz reichen.



Funktionsweise



Bei dem hier vorgestellten System, also dem Solarbox Powerbank Regler, handelt es sich um ein einfaches ON/OFF System.

Speziell für die LiFePo4-Zellen ist diese Art von Regler ausreichend, denn zum einen ist in dieser Referenzanwendung die Dimensionierung von Solarpanel (mit 9V / 1.1A) und Akkukapazität (mit 7.2V Ladeendspannung und 10Ah) optimal aufeinander abgestimmt und zum anderen liegt es an der speziell für LiFePo4-Zellen erforderlichen Lade-Charakteristik.

Diese werden nämlich (genau wie auch andere LiIon-Akkus, wie z.B. LiMnO2) mittels einer CC-CV-Kurve geladen, d.h., zunächst wird mit konstantem Strom (CC = Constant Current) geladen, wobei die Batteriespannung steigt und sich allmählich der LadeEndSpannung von 3.6V annähert.

Dann ist die Zelle aber noch nicht komplett voll, sondern nur zu etwa 90%. Die restlichen 10% erreicht man, indem nun mit konstanter Spannung (CV = Constant Voltage) lädt (eben die besagten 3.6V). Dabei sinkt der Strom, den die Batterie zieht, kontinuierlich ab, entweder bis auf 0, oder, wie in der Praxis üblich, etwa bis auf 5% oder 10% ("Cut Off Current") der anfänglichen Stromstärke und die Zelle ist zu 100% voll.



Weitere Infos zu Ladekennlinien: hier und hier!



Konstant-Strom Begrenzung


Was hat das nun mit der "einfacheren" ON/OFF Schaltung zu tun ?

Nun, zunächst mal ist ein Solarpanel eine Form von Energiequelle die per se konstanten Strom (CC) liefert. Wieviel genau hängt von der Flächengröße der einzelnen Solarzellen ab und variiert natürlich (ein 10W-Panel mit 9V liefert 1.1A, ein 100W-Panel mit 18V liefert 5.5A I_sc (= "I_shortcircuit" auch "Kurzschlussstrom" genannt). Deshalb ist dabei die genaue Abstimmung zwischen Panel und Batteriekapazität entscheidend.

Eine LiFePo4-Zelle von 10Ah Kapazität kann laut Herstellerempfehlung üblicherweise mit bis zu 1C geladen werden, d.h. in diesem Falle mit bis zu 10A. Aber dabei würde es sich um eine Schnell-Ladung handeln, die in manchen Anwendungsfällen auch gewollt bzw. wichtig sein kann, aber andererseits auch die Lebensdauer der Zelle auf ein Minimum von etwa 1000 bis 1500 Volladezyklen beschränkt.

Eine deutliche Verlängerung der Lebenszyklen erreicht man hingegen durch eine schonendere Beladung mit etwa 0.1C bis 0.3C, also etwa mit 1A bis 3A.

Würde man die Batterie an ein Panel anschliessen mit einer deutlich höheren Amperzahl als 1C, also etwa mit 20A, dann würde die sich die Batterie zwar zunächst "freuen" und Strom ziehen ohne Ende, aber gleichzeitig würde sie sich aufgrund des inneren Widerstandes auch mehr und mehr erwärmen und recht schnell den Hitzetod sterben. D.h., man muss den Konstant-Strom, mit dem sie "beliefert" wird, begrenzen, was hier wie gesagt durch die Dimensionierung der Panelgröße geschieht, d.h., mit 1A vom Panel sind wir hier bei just 0.1C und damit in einem Bereich, wo die Batterie soviel ziehen kann, wie sie will bzw. wie das Panel maximal liefert, aber damit ist sichergestellt, das sie sich nicht nennenswert erwärmen kann.

Entladetiefe (DoD) bei LiFePo4-Zellen


Und, wo wir gerade schon mal beim Thema Lebensverlängerung sind: Wenn man nicht die volle Kapazität der Zelle ausnutzt, sondern diese nur bis etwa 90% voll lädt und nur bis auf etwa 10% entlädt, also somit insgesamt nur 80% der gesamten Kapazität nutzt (man spricht auch von 80% DoD = Depth of Discharge), erreicht man damit mindestens eine Verdoppelung (oder mehr) der Lebensdauer. (Das ist schon ziemlich gut, im Vergleich dazu wären bei einer Bleibatterie etwa 50% DoD notwendig).





HVC und LVC



Auf der Spannungs-Seite passiert folgendes: Sobald das Panel angeschlossen wird, erfolgt ein Spannungseinbruch (Voltage Drop), d.h., gegenüber der vormaligen am Panel messbaren sogenannten OpenCircuit-Spannung V_oc (also am offenen Panel ohne angeschlossenen Verbraucher gemessen), reduziert sich die Spannung auf das Niveau der Batterie plus zusätzlich etwa 0.5V., also zum Beispiel auf etwa 3V bei einer relativ leeren Batterie. Indem sich die Batterie nun auflädt reguliert sich die Spannung quasi automatisch nach und wird allmählich höher, wie bereits eben als CC-Ladung beschrieben.

Bei 3.6V ist dann die Lade-Endspannung erreicht, d.h., natürlich würde sich die Batterie gerne noch weiter aufladen, aber damit würde sie sich dann ab spätestens 4.2V irreversibel selbst zerstören. Demzufolge muss spätestens ab 3.6V der Ladevorgang sozusagen künstlich bzw. durch die ON/OFF-Schaltung unterbrochen werden.

Man nennt das auch HVC (= High Voltage CutOff) oder auch "Überspannungsschutz".

Theoretisch könnte nun noch eine weitere CV-Ladung bei 3.6V konstant anschliessen, aber sofern man an einer langen Lebensdauer interessiert und mit 90% DoD einverstanden ist, kann derLadevorgang hier beendet werden.

Das heisst, man braucht hier weiter keine DC-DC-Konvertierung, sondern lediglich den OFF-Schalter.

Ähnlich, aber genau andersrum verhält es sich bei der Entladung (Discharge). Ausser der Überspannung beim laden wäre nämlich eine Unterspannung beim entladen, die andere Alternativ-Methode, um eine LiFePo4-Zelle sicher zu killen. ;)

Demzufolge muss man beim entladen sobald eine Minimum-Spannung von 2.8V oder 3.0V (je nach gewünschter DoD) erreicht ist, den angeschlossenen Verbraucher abklemmen.

Das wäre der zweite benötigte OFF-Schalter und der Vorgang heisst analog LVC (= Low Voltage CutOff) oder auch "Tiefentladeschutz".

Zusammenfassend kann man also sagen, das bei optimaler Abstimmung von Panelgröße und Akkukapazität lediglich zwei On/Off-Schalter benötigt werden, soweit es die Lade- und Entlade-Regelung betrifft.



Balancing



Das würde auch funktionieren, solange man entweder nur eine Zelle lädt, oder aber mehrere Zellen, die parallel verschaltet wären (und damit immer genau der exakt gleichen Ladung und Entladung ausgesetzt wären und damit stets einen identischen Ladungszustand hätten).

Bei den meisten Akku-Packs werden die Zellen aber seriell verschaltet um auf eine höhere Voltzahl zu kommen. In diesem Fall ergibt sich bei LiFePo4 der Umstand, dass die Ladungszustände der einzelnen Zellen mit der Zeit in zunehmend stärkerem Maße voneinander abweichen ("Drift"), was kurzfristig eine schlechtere Ausnutzung der eigentlich verfügbaren Gesamt-Kapazität des Akkus bedeutet und mittelfristig auch die Zellen zerstören würde.

Aus diesem Grund müssen LiFePo4 Akkupacks von Zeit zu Zeit "balanciert" werden, d.h., sofern es Abweichungen bzw. Drift zwischen den Ladungszuständen der einzelnen Zellen gibt, müssen diese künstlich ausgeglichen werden.

Einzelzell-Überwachung



Deshalb ist es wichtig, das eine komplette Laderegelung für diesen Zelltyp auch ein Balancer-Modul beinhaltet sowie ein "multicell-monitor"-Modul, sprich eine Einzelzell-Überwachung, welche die Spannung jeder einzelnen Zelle (und nicht etwa nur die Gesamtspannung des Akku-Packs) misst und registriert.

Eine Steuerung, die diese Anforderungen erfüllt, wird auch als BMS (= Battery Management System) bezeichnet und die eingangs beschriebene Lade- und Endladeregelung mittels HVC und LVC wären demnach als Charger- und Discharger-Modul ein regulärer Bestandteil davon.

Wichtig zu erwähnen wäre noch, das die Einzelzell-Überwachung auch maßgeblich für den HVC- und LVC-Mechanismus ist. D.h., dieser orientiert sich ebenfalls *nicht* an der Gesamtspannung des Akkupacks, sondern an den jeweiligen Einzelzell-Spannungen.

Sobald auch nur eine einzige Zelle oberhalb von 3.6V ist erfolgt HVC und sobald eine unter 3.0V ist erfolgt LVC. Das ist, auf einen Nenner gebracht, genau das, was ein LiFePo4-BMS mindestens leisten können muss.

Sofern kein besonderer Wert auf eine maximale Lebensdauer der Zellen gelegt wird, sondern stattdessen auf einen 100% DoD-Ausnutzung, kann auch noch zusätzlich eine Ladung der letzten 10% mittels CV-Ladung erfolgen, d.h., hier würde man durch einen Spannungsregler dafür sorgen, dass dabei die Ladeendspannung von 3.6V nicht überschritten wird. Das könnte bei großen Spannungsdifferenzen (wie eingangs erwähnt) z.B. durch einen Schaltregler (DC-DC Switch-Converter) erfolgen, oder aber auch einfach nur durch einen Linear-Regler.

Im vorliegenden Falle ist der Unterschied zwischen PV-Spannung mit 9V und Akkupack-Spannung mit bis zu 7.2V (bei zwei Zellen) einerseits noch gerade eben groß genug, um den Linearregler anzutreiben, aber andererseits auch klein genug, um hier keine allzugroßen Wandlungsverluste zu erleiden.

Da dieses Projekt auch eine gewisse Betonung auf den "educational" Aspekt legt, wird ein solcher Linearregler in die Schaltung intgeriert, so dass man damit imstande ist, auf Wunsche eine komplette CCCV-Ladecharakteristik zu fahren um 100% DoD zu erreichen.

Sollte man aber Wert auf lange Lebensdauer legen und somit nur den CC-Teil fahren wollen, dann kann man dies auf einfache Weise software-seitig regeln, indem man einfach sobald die 7.2V (bei zwei Zellen) erreicht sind, die HVC-Abschaltung auslöst. Oder man kann auch den Linearregler einfach inü er Schaltung weglassen.



Modularer Aufbau



Unter Berücksichtigung der genannten Aspekte ergibt sich, dass die Schaltung für den Solarbox Powerbank Laderegler aus folgenden Modulen besteht:

- Charger-Modul

- Discharger-Modul

- Monitor-Modul

- Balancer-Modul

- uC-Modul (Arduino)

Sofern höhere Voltzahlen als Betriebsspannung angestrebt werden, käme noch ein

- DC-DC-Wandler-Modul

hinzu, welches für den Microprocessor die benötigte Spannung von 5V oder 3.3V bereitstellt. Im Falle der angestrebten 7.2V und des Arduino ist dies aber nicht unbedingt nötig, da der Arduino über seinen externen Versorgungseingang mit bis zu 20V versorgt werden kann, wobei letzteres natürlich bei einer Akku-Anwendung schon eine arge Vergeudung wäre, aber mit den hier angestrebten 7.2V ist man damit wirklich im untersten Bereich ... zumal die Spannung ja auch nicht ständig 7.2V beträgt, sondern je nach Ladungszustand zwischen 6V und 7.2V pendelt.

Schaltplan



(... still experimental !)



Board-Layout (für Lochrasterplatine)