Meine autarke Solar-Ladestation für E-Autos


Vorwort

Ich hatte nie vor, mir einen Neuwagen zu kaufen. Doch als 2021 für meinen alten rostigen Diesel die Hauptuntersuchung anstand und klar war, dass er diese nicht ohne erheblichen Reparaturaufwand bestehen würde, reifte in mir langsam die Erkenntnis, dass nicht jedes Fahrzeug erhaltenswert ist ;-) Der Gedanke, beim Umstieg auf ein E-Auto mit der Photovoltaikanlage quasi meinen eigenen Sprit erzeugen zu können war außerdem sehr verlockend. Gebrauchtwagen waren damals allgemain überteuert und gebrauchte Elektroautos aufgrund der Förderung und des knappen Angebots teilweise teurer als ein entsprechendes Neufahrzeug. Da ich kein Vermögen in ein Auto investieren wollte, das zwangsläufig in einigen Jahren technisch veraltet sein würde, entschied ich mich - auch aufgrund der versprochenen Lieferzeit - für einen noch halbwegs erschwinglichen Kleinwagen, nämlich einen Opel Corsa. Dieser hatte serienmäßig einen einphasigen 7,2 kW Onboard-Charger, was ziemlich gut zu den Leistungsdaten meiner PV-Inselanlage passte.


Warnung

Bevor ich nun auf einige technische Details eingehe, muss ich darauf hinweisen, dass die hier beschriebene Anlage mit teilweise lebensgefährlichen Spannungen arbeitet. Also bitte nicht nachmachen, wer nicht ganz genau weiß, was er tut! Stromstärken jenseits von 100 A, wie sie beim Laden und Entladen des Batteriespeichers auftreten, erfordern außerdem besondere Sorgfalt bei der Verkabelung, damit es insbesondere an Verbindungsstellen zu keinen Übergangswiderständen mit hohem Schmorbrandpotential kommt.


Wallbox im Eigenbau

Wer sich einmal genauer mit der Funktionsweise einer AC-Wallbox befasst, wird feststellen, dass diese im Grunde sehr simpel ist und keine teuren Komponenten benötigt. In erster Linie muss eine Wallbox, oder allgemeiner ein Electric Vehicle Supply Equipment (EVSE), ein einfaches Steuersignal (Control Pilot) erzeugen und die Ladebereitschaft des Fahrzeugs anhand eines Widerstandswerts erkennen. Bei gegebener Ladebereitschaft wird einfach die normale Netzspannung von 230 Volt mit einem Relais durchgeschaltet. Genaueres ist z.B. bei Wikipedia nachzulesen. Einem Elektronikbastler wie mir widerstrebt es, für ein so einfaches Gerät um die 1000 Euro auszugeben, was eine Wallbox im Jahr 2022 etwa kostete. Außerdem hatte ich recht genaue Vorstellungen davon, wie der Ladestrom in Abhängigkeit von Solarleistung und anderen Parametern geregelt werden sollte. Ich wollte ungern auf eine teure proprietäre Lösung setzen, die dann womöglich meinen Anforderungen gar nicht gerecht wird.


Sonne tanken an der Insel-Solaranlage

Eigentlich könnte die Sache sehr einfach sein: Man schalte einige Solarmodule in Reihe, so dass sich eine Leerlaufspannung von etwa 500 V ergibt. Dann könnte man diese direkt mit dem Akku des E-Autos verbinden und es würde sich ein Ladestrom entsprechend der Sonneneinstrahlung einstellen. Schwankende Lichtverhältnisse wären kein Problem. Leider ist aber die zum Starten eines DC-Ladevorgangs nötige Kommunikation mit dem E-Auto kompliziert und nicht frei verfügbar dokumentiert. Darum entschied ich mich für den Umweg über einen Wechselrichter, um das Auto mit Wechselstrom zu laden. Hieraus ergibt sich allerdings die Notwendigkeit eines Puffer-Akkus, da der dem Auto signalisierte erlaubte Ladestrom nicht beliebig klein werden darf (min. 6 A) und der On-Board-Charger (OBC) des Fahrzeugs den Ladestrom vermutlich auch nicht beliebig schnell variiert. Der Puffer-Akku erlaubt außerdem in gewissen Grenzen ein zeitversetztes Laden des E-Autos, Denn ein prinzipielles Problem des Ladens mit Solarstrom ist natürlich, dass es nur tagsüber möglich ist. Zur autarken Solar-Ladestation gehören, wie in Bild 1 illustriert, folgende Komponenten:

  • Solargenerator
  • Pufferakku
  • Laderegler zum Laden des Pufferakkus aus dem Solargenerator
  • Wechselrichter
  • Wallbox


Pufferakku und Wechselrichter

Bei meiner Anlage kommt ein Hybrid-Wechselrichter mit integriertem Laderegler zum Einsatz, welcher sich zusammen mit fünf parallel geschalteten LiFePO4-Akkus im Keller unseres Einfamilienhauses befindet. Der Wechselrichter ist ein relativ preiswertes Fabrikat, das sich "Alpha Outback Energy SPCIII-7200-48" nennt, aber auch unter anderen Namen vertrieben wird. Hinsichtlich Effizienz ist das Gerät sicher nicht die erste Wahl, aber dafür lassen sich allerlei Messwerte sehr einfach über eine serielle Schnittstelle abfragen. Der Wechselrichter erhält genaue Informationen über den Ladezustand der Akkus über eine RS-485-Verbindung. Diese nutzt er, um ggf. bei voll geladenen Akkus deren Ladung zu beenden. Da jeder der fünf Akkublöcke sein eigenes Battery Management System (BMS) besitzt, existieren zunächst auch fünf Werte zum Ladezustand (State of Charge, SOC). Bild 2 zeigt, wie diese im Verlauf von etwa drei Tagen verlaufen und stellenweise etwas auseinanderdriften. Insgesamt besteht aber eine gute Übereinstimmung und der Gesamtladezustand wird hier einfach durch Mittelwertbildung bestimmt.


Von der Set-Top-Box zur Wallbox

Für den Bau der Wallbox benötigte ich natürlich ein Gehäuse, das sich für die Montage an der Garagenwand eignet. Hierfür opferte ich einen ausgedienten Pay-TV-Decoder mit stabilen Metallgeäuse, in dessen Deckel ich Aussparungen für die Bedienelemente und eine Anzeige fräste. Das Herzstück meiner Wallbox bildet eine Microcontroller-Platine, die mit einem ATMEGA8 sowie einer Matrix aus 10 x 12 LEDs bestückt ist. Sie stammt aus einem Ping-Pong-Spiel-Bausatz, der um 2010 z.B. bei Conrad Electronic erhältlich war. Diese Platine lässt sich sehr gut für eigene Projekte verwenden, wie bei ELO beschrieben. Die Ansteuerung der LED-Matrix belegt bereits den Großteil der vorhandenen I/O-Ports des ATMEGA8. Durch eine kleine Modifikation der Platine konnte ich einen davon einsparen, so dass schließlich noch genügend Ports für Bedienelemente, Lautsprecher, Strommessung sowie Kommunikation mit Fahrzeug und Wechselrichter verfügbar waren. Für eine genaue Zeitbasis sorgt ein 12 MHz-Quarz, von dessen Frequenz sich sowohl das PWM-Signal für die Verbindung zum Fahrzeug als auch der Takt für die serielle Schnittstelle (2400 Baud) mit Hilfe der programmierbaren Timer des ATMEGA8 exakt ableiten lassen.
Die Elektronik wird durch einige auf einer Lochrasterplatine aufgebaute Peripherie-Schaltkreise ergänzt, die folgende Funktionen realisieren:

  • Spannungsversorgung für die Microcontroller-Platine
  • Relaistreiberstufe
  • Erzeugung der negativen Spannung (-12 V) für das Control-Pilot-Signal (CP)
  • Treiber für das Control-Pilot-Signal (+/-12 V)
  • Messung des CP-Pegels am vom Fahrzeug beeinflussten Spannungsteiler
  • Messung des Pegels eines Stromwandlers zur Kontrolle des Ladestroms
  • Pegelwandler für die Kommunikation mit dem Wechselrichter über RS-232
  • Überspannungsschutz für die Datenleitungen
Die Schaltung zur Erzeugung des CP-Signals und zur Auswertung des Pegels habe ich von EV-olution übernommen. Vielen Dank an dieser Stelle!


Bedienung

Die Bedienung meiner Wallbox erfolgt über ledigleich einen Taster und einen Drehregler. Nach dem Einschalten startet bei genügend hohem SOC des Pufferakkus nach kurzer Verzögerung direkt der Ladevorgang. Optional können aber durch die Einstellung weniger Parameter verschiedene Nutzungsszenarien abgedeckt werden:
ParameterZweck
Zu ladende Energie Dieser Parameter ermöglicht die Beendigung des Ladevorgangs bevor der Akku des E-Autos komplett voll ist. Bei meinem Corsa ist das wichtig, weil das Auto selbst keine entsprechende Funktion bietet. Die Umrechnung von "Prozentpunkten des SOC beim Corsa" in den einzustellenden kWh-Wert erledigt man übrigens ziemlich genau durch Halbierung.
Mindestreserve Dieser Wert legt fest, wie viele kWh mindestens im Pufferakku verbleiben sollen. Der Standardwert entspricht 60% der Kapazität meines Pufferakkus, jedoch kann es z.B. sinnvoll sein, das E-Auto in der Früh vor einer Fahrt zu Lasten des Pufferakkus zu laden, damit dieser tagsüber wieder aufgeladen wird.
Maximale Ladeleistung Normalerweise stellt die Wallbox dem E-Auto die komplette gerade vorhandene Leistung des Solargenerators zur Verfügung. Der Ladestrom wird hierfür minütlich angepasst (6 A bis 30 A), wodurch der Ladezustand des Pufferakkus konstant gehalten wird. Den Ladestrom zu begrenzen kann z.B. sinnvoll sein, wenn am selben Wechselrichter neben der Wallbox weitere Verbraucher betrieben werden sollen.
Minimale Ladeleistung Soll das E-Auto bei geringer oder keiner PV-Leistung aus dem Pufferakku geladen werden, kann hiermit die Ladegeschwindigkeit festgelegt werden.
Neben diesen einstellbaren Parametern informiert die LED-Anzeige der Wallbox über diverse Messwerte, etwa die momentan an das E-Auto abgegebene Leistung, die aktuelle PV-Leistung und den Ladezustand des Pufferakkus. Der Benutzer wählt mit der "Select"-Taste eine von mehreren Tafeln, auf denen meist zwei Werte gleichzeitig angezeigt werden. Durch Verstellen des Drehreglers wechselt die Box in den Eingabemodus. Die dabei vom Lautsprecher erzeugten Piep- und Klickgeräusche vermitteln beinahe ein haptisches Feedback :-)


Software

Das Steuerprogramm der Wallbox ist in C geschrieben und wird mit dem avr-gcc für den ATMEGA8-Microcontroller compiliert. Der Chip verfügt lediglich über 8 KB Programmspeicher und 1 KB RAM, so dass mit den Ressourcen sparsam umgegangen werden muss. Auf die Verwendung von Gleitkommaberechnungen habe ich ganz verzichtet. Zur Programmierung des Flash-Speichers des Microcontrollers verwende ich das Tool avrdude und einen sehr einfachen Adapter für den Parallelport des (Linux-)PCs.
Wie bei Embedded-Anwendungen üblich, besteht das Hauptprogramm aus einer Endlosschleife, in der laufend Benutzereingaben und Messwerte verarbeitet werden. Im Hintergrund kümmern sich Interrupt-Routinen um Tonerzeugung, Multiplexing für die LED-Matrix und genaues Timing für Energieerfassung, Blinkeffekte etc. Das Multiplexing für die LED-Matrix unterstützt pro "Pixel" die Helligkeitsstufen "aus", "ein" und "gedimmt ein", was zum Beispiel zur Signalisierung des Eingabe-Fokus bei der gleichzeitigen Anzeige zweier Werte ausgenutzt wird.
Die abgegebene Ladungsmenge wird mit Hilfe des Stromwandlers in Intervallen von 8 Sekunden erfasst und dem in Amperesekunden zählenden Gesamtwert hinzugerechnet. Ebenso alle 8 Sekunden wiederholt sich die Abfrage von Messdaten des Wechselrichters. Dazu wird ein Kommando als Zeichenkette über die serielle Schnittstelle an den Wechselrichter gesendet:

    'Q', 'P', 'I', 'G', 'S', 0xB7, 0xA9, '\r'

Der Wechselrichter antwortet mit einer Reihe von Werten als ASCII-Text, z.B.

   (000.0 00.0 229.7 50.0 1562 1549 021 361 49.40 000 091 0036 00.0 000.0 00.00 00012 00010110 00 00 00000 010Dd

Man kann die Bedeutung einiger Zahlen schnell erraten, findet aber auch leicht entsprechende Dokumentation im Internet. Da der Empfang der Datenpakete bei 2400 Baud etwa eine halbe Sekunde in Anspruch nimmt, wird die Übertragung ggf. abgebrochen, falls ein wichtigeres Ereignis eintritt, insbes. wenn ein Tastendruck festgestellt wurde.


Falls Sie genauere Informationen zu diesem Projekt erfahren möchten oder ein ähnliches Projekt umgesetzt haben, würde ich mich über eine Nachricht freuen (E-mail: ).


Zum Hauptmenü