Einmal richtig verkabelt blinkte jedoch das Display auf, die Lautsprecher ertönten und irgendwas ruckelte. Also kein direktes Geldgrab, der Automat könnte laufen. Die Handbücher von 1994 sind angenehm ausführlich, zeigen den Verkabelungsplan, darin leider nicht überall welche Signale anliegen, sodass eine Wartung ebenso leicht fallen sollte, wie die initiale Inbetriebnahme.
Das Backboard, welches den Korb hält und hin und her fährt hat noch eine zusätzliche Funktion: an der Rückseite sind Gummifüße, die in der hintersten Position gegen ein gefedertes Gestänge drücken, welches wiederum eine beweglich gelagerte Bodenplatte auf dem Feld hochdrückt. Diese verhindert bei beendetem Spiel die Rückgabe der Bälle, damit nicht ohne zu Bezahlen weiter gespielt werden kann. Bestimmt hätte auch ein nahegelegener Spielplatz Basketballkörbe, die kostenlos nutzbar wären, aber das wäre ja nicht der gleiche Ansporn.
Die Taster und das Brett mit der abpellenden Schrift wurden ersetzt, am Ende sind vier unterschiedliche Modi zu viel für das Vorhaben, sodass zwei Taster reichen mussten. Das Gitter hätte eigentlich mit 1/4″ UNC Schrauben befestigt werden sollen. Die Reservierung jener Schrauben im nahegelegenen Baumarkt wurde jedoch storniert (Bestand 1, wahrscheinlich eher mal wieder 0). Also kurzerhand an den nicht tragenden Elementen auf M6 geschnitten und wo nötig mit metrischen Gewindenieten ersetzt. An sich wäre der Automat soweit einsatzbereit. Abgesehen von den farblichen Anpassungen und die Grundreinigung, weil die Rückseite gefühlt direkt hinter der Fritteuse stand und sich dort ein Fett-Staub-Film über die 25 Jahre gebildet hat. Eine Schmierung hatten die Führungen und Gewindestange jedoch mal wieder nötig.
Einziger größerer Kritikpunkt: der damalige US-Distributor hat seine Telefonnummer mit in die Anzeige einprogrammiert. Einerseits wird dieser nach der ganzen Zeit eventuell gar nicht mehr existieren, anderseits bringt es in Deutschland keinem etwas und führt am Aufstellungsort auch eher zu Verwirrung.
Das Display bietet 120x17px Platz, was genau angezeigt wird, ist auf einem EPROM gespeichert. Falls es klappen sollte, den Speicher sinnvoll zu dekodieren, habe ich schon einmal EEPROMs bestellt, um neue Nachrichten auszuprobieren. Mittels ein paar Zeilen Python kurzerhand ein Programm geschrieben, welches die Binärdaten eventuell in Grafiken/Sprites umwandelt. Gefunden wurde je ein kleines und ein großes Alphabet, bezogen auf die Schriftgröße, ebenso ein paar Bilder des Basketballs, welcher sich zwischen auf dem monochromen Display dreht.
Wie die Buchstaben und Zahlen jedoch zusammengesetzt werden, dafür hätte man den kryptischen restlichen Teil des EPROMs sinnvoll dekodieren müssen. Den Aufwand war es mir dann doch nicht wert. Aber da die Schaltung recht trivial ist und auch ein Schaltplan mitgeliefert war, konnte ich dort noch nicht aufgeben.
Grundsätzlich hätte es wohl gereicht den Korb in einer Position zu belassen und einfach nur die zwei Lichtschranken am Korb auszulesen, Punkte hochzählen und nach 60 Sekunden Stopp einzublenden. Für die Ansteuerung des Motors sind neben 12V und Masse nur vier weitere Leitungen verzeichnet, so komplex kann das also nicht sein.
Also kurzerhand das Oszilloskop eingepackt, für das ich irgendwann einmal glücklicherweise die überteuerte Schutzabdeckung für Transportzwecke gekauft hatte. Eine Leitung war dabei immer aktiv, während das Backboard sich bewegte, folglich wohl das Aktivierungssignal für den Motor. Ein anderes war nur richtungsgebunden an, also vermutlich die Steuerung, ob das Bord nach hinten oder vorne fahren soll. An der Motorkupplung hinten sind abwechselnd helle und dunkle Streifen, welche mit einem Reflexionssensor als Encoder genutzt werden. Auch dieses Signal wurde an das Mainboard durchgereicht. Das schnell wechselnde Signal konnte recht eindeutig dem Encoder zugewiesen werden. Wie viele Schritte es im Mittel sind, die die Reflexlichtschranke bei einer vollständigen Bewegung nach vorne oder hinten macht, lässt sich dank der Zählfunktion einfach direkt im Oszilloskop ablesen. Im regulären Betrieb konnte ich auf dem Oszilloskop auch das vierte und letzte Signal, die Endstopps sehen, im manuellen Betrieb bereiteten mir die Taster jedoch Kopfzerbrechen.
Die Technik für die Endstopps ist jedoch so trivial, wie auch gleichzeitig gut. Das Motorboard gibt je nach Verfahrrichtung nur den Schaltzustand des korrespondierenden Endstopps aus. Bedeutet wenn das Board nach vorne fährt, wird auch nur das Signal vom vorderen Taster auf den Bus gelegt. Somit ist das Signal immer eindeutig: wenn das Board nach hinten anfährt und noch am ersten Endstopp steht, wird dennoch „aus“ signalisiert und erst bei Betätigung des hinteren Tasters wieder „an“.
Die Lichtschranken für den Korb sind auf den vorderen Teil des Rings gerichtet, an dem wiederum ein kleiner reflektierender Streifen klebt. Eine Lichtschranke oben, eine unten, sodass man mit einer Statemachine herausfinden kann, ob der Ball gerade durchfällt oder irgendetwas die Optik stört:
Die Statemachine funktioniert vorwärts und bedingt rückwärts, falls der Ball zurückprallt. Alle undefinierten Übergänge führen zu einem Status = 0.
Das Motorboard anzusprechen war auch nicht die Problematik, sofern man die Optokoppler richtigherum anschließt (Endstopp auf positiver Seite/Anode, Encoder hingegen auf negativer/Kathode). Aber eigentliches Ziel war es ja eigentlich, das Display zu ersetzen.
Durch meine Erfahrungen aus den Videowand-Projekten und Spielereien mit Arduino und ESP lag es nahe, LED Matrizen zu nutzen. Das alte Display weist eine Breite von 70cm und eine Höhe von 11,5cm auf. Das bisherige Plexiglas soll grundsätzlich mit dem Display weichen, sodass die alten Maße aber nicht die Eckpunkte darstellen müssen. Knapp unter der Breite des Automaten sind entweder 4 P3 Panels oder 3 P4 Panels einsetzbar, jeweils als 64×32 Matrix resultierend in einer Breite von 76,8cm. Der Automat selbst ist an der Stelle 84cm breit, der Kasten, in dem bisher das Display haust jedoch nur 74cm. Die Matrizen werden daher in eine etwas dickere Holzplatte eingesetzt, in die zuvor der passende Ausschnitt mit der Stichsäge geschnitten wurde. Rückseitig mit gelasertem MDF (Löcher für die M3 Schrauben an den Matrizen) am Holz selbst festgeschraubt und davor gesetzt.
Da die Zuleitung zum Display durch den halben Rahmen läuft und gut 2 Meter überbrücken muss, ist es vorteilhaft, die vergleichsweise schwachen Signale des ESP32 mit 3.3V Pegel auf die eigentlich geforderten 5V zu bringen. Durch die Videowand hatte ich mal einen Schwung 74HC245 besorgt, die sich ideal für diesen Zweck eignen. Zur Sicherheit habe ich alle Signale einmal durch die Buffer geschickt.
Die bisherige Stromversorgung lief mit 110V und dann auf 12V/5V/-5V. Die -5V wurden nur für das Soundmodul benötigt, da das noch durch einen DFplayer ersetzt wird, ist das Potential nicht notwendig. Der verwendete Stecker findet in meinen Bauteilen kein Gegenstück, für ein anderes Projekt lagern hier hingegen die Verbinder für ATX Netzteile, von denen man irgendwo immer eins auftreiben kann. Über den ESP lässt sich dieses sogar aus-/anschalten, während der ESP selbst über die Standby-Leitung versorgt werden kann.
Die Software bindet sich per MQTT mit in Home Assistant ein, sodass man eine grobe Übersicht über die Prozesse bekommt und auch manuell eingreifen kann (Motorsteuerung, ATX an/aus). Damit realisiert werden auch Push-Benachrichtigungen bei neuen Highscores versandt. Ebenso ist OTA aktiviert, sodass ein Update ohne USB-Kabel erfolgen kann.
Die Lochrasterplatine hatte jedoch noch nicht den DFPlayer an Board, damit auch nicht die Funktion, MP3s abzuspielen. Theoretisch hätte man den ESP selbst dafür nehmen können, aber die Prozessorzeit reserviere ich dann doch lieber für das Display. Für die Installation beim Kunden ist es – auch wenn das alles in dem Kasten verschwindet – hübscher und zuverlässiger, eine vernünftige Platine zu haben.
Die Display-Ansteuerung ist mit ESP32-HUB75-MatrixPanel-DMA realisiert. Anstatt den doppelten Buffer zu nutzen habe ich mich entschieden, wo notwendig es auf eine partielle Aktualisierung zu reduzieren. Damit der Watchdog des ESP nicht den Prozessor zwischendurch zurücksetzt, sind keine delay() verwendet, stattdessen werden in Frames eingeteilte Sequenzen mit millis() getimed abgespielt. Da die Motorsteuerung mit der neuen Platine auf den Portexpander ausgelagert wurde, musste ich allerdings doch wieder eine Lektion (erneut) lernen. I2C Kommandos und besonders Software-Serial (für die MP3s) im Interrupt (Endstopps, Encoder, Korb-Lichtschranken) sind nicht die beste Idee und führen schnell zum Absturz.
Ansonsten ist das Programm vergleichsweise einfach:
So lange noch kein Taster gedrückt wurde, spielen diverse Banner durch – bestehend aus dem animierten Kundenlogo, einer kurzen Anleitung und der Highscore. Zur Auswahl stehen ein roter Taster, der die Continuous-Funktion des Originals repliziert, und ein blauer Taster für die Regular-Funktion.
Zunächst wird das Backboard etwas nach vorne gefahren, um die Bälle freizugeben, und angezeigt welches Team beginnt (gegeneinander in je einem Spiel nacheinander). Während des Countdowns fährt das Backboard nach ganz vorne, in diesem Bereich zählen die Körbe zwei Punkte. Nach Anpfiff werden auch die Lichtschranken scharf geschaltet, wer also schon vorher zu Werfen beginnt und zum Start direkt einen Korb wirft ist hier im Vorteil.
Für die einfache Version fährt der Korb nach 30 Sekunden nach hinten, aber nur so weit, dass die Ballausgabe nicht wieder gesperrt wird. Im hinteren Drittel sind Körbe drei Punkte wert, was auch durch eine separate Anzeige neben dem Korb signalisiert wird. Im Continuous-Modus fährt das Backboard hingegen ständig nach hinten und wieder nach vorne und erschwert somit das Treffen. Darüber hinaus bietet das Original noch die Modi Random und Pushback. Ersterer fährt in regelmäßigen Zeitabständen an unterschiedliche Positionen, während Pushback bei jedem Treffer die Position nach hinten (bzw. ganz hinten angekommen auch wieder nach vorne) verändert. Aufgrund der nur noch zwei vorhandenen Taster stehen diese aber nicht zur Verfügung.
Nach Ablauf von 60 Sekunden fährt das Backboard wieder nach ganz hinten und das andere Team ist dran. Das ganze Prozedere läuft also ein weiteres Mal ab, nur dass nun die Punkte auf der anderen Displayseite hochzählen (sofern getroffen wird). Sind beide Teams durch, wird angezeigt, wer gewonnen hat.
Da ich neben den Rätseln für die Escaperäume vor Ort auch diverse Quiz-Spiele mit in die Hausauomatisierung Home-Assistant eingebunden habe, durfte der Automat natürlich nicht fehlen. So werden diverse Daten live übertragen, wie Position, Punkte der Teams und die Highscore. Auch die Steuerung des Motors und ATX-Netzteils ist möglich. Zudem auch eine Reset-Funktion, die die Teams auffordert den Raum zu wechseln, da der Basketballautomat nur eines von 15 Minispielen ist.
Wer also den Automaten mal ausprobieren möchte, kann sich das ganze bei Schlag dein Team angucken.
In diesem Artikel wird erläutert, wie eine Kleinst-Solaranlage innerhalb von einer Stunde in Betrieb geht. So etwas lässt sich schon mit ca. 400,- € realisieren und kann zur großen PV-Anlage ausgebaut werden. Aus eigener Erfahrung zeige ich, wie es funktioniert unter Verwendung von Mikrowechselrichtern der Firma Enphase.
Einfach ein Solarmodul in den Garten stellen, die zwei MC4-Stecker vom Solarmodul mit dem Mikrowechselrichter verbinden, Stromkabel anstecken, fertig. Das Ganze kann beliebig ausgebaut werden. Beispiel: 10 Module mit Mikrowechselrichter (360 Watt pro Wechselrichter = 3,6 kW). Bei dieser Größe ist natürlich die Schukosteckdose nicht mehr ausreichend, die 230-V-Leitung muss fest angeschlossen werden. Ein fachkundiger Handwerker kann hier helfen.
Der in einem Haushalt verbrauchte Ruhestrom führt zu einem konstanten Verbrauch von ca. 200 Watt. Heizungspumpe, FritzBox sowie weitere Geräte, welche im Standby-Modus konstant Strom ziehen, führen über das Jahr gerechnet zu einem Verbrauch von 1.750 kWh (0,2kW * 24 Stunden * 365 Tage). 1.750 kWh kosten bei 40 Cent Strompreis 700,- € im Jahr, nur für den Ruhestrom.
Wenn ein 400-Watt-Modul ca. 328 kWh pro Jahr bringt, kann es während der Sonnenstunden sehr wohl zu einer deutlichen Reduzierung des Stromverbrauchs beitragen. Es wird trotzdem einige Jahre brauchen (vermutlich 7 Jahre) bis die Investition sich rechnet. So eine Solaranlage wird erfahrungsgemäß 25 Jahre und länger problemlos laufen.
Ja, eine Solaranlage lohnt sich, selbst ein kleines Balkonkraftwerk lohnt sich bereits!
(Preise: Dezember 2022, bestellbar bei PV-Lieder www.pv-lieder.de?utm_source=rss&utm_medium=rss)
Da kommen Kosten von 425,- € mit dem in China hergestellten Modul oder 498,- € mit dem in Deutschland gefertigten Modul von Meyer Burger zusammen.
Alle Wechselrichter wandeln die Gleichspannung (DC) vom Solarmodul in eine 230-V-Wechselspannung (AC) um. Damit der Strom dann auch ins Hausnetz fließen kann, produzieren Wechselrichter einfach eine etwas höhere Spannung (z. B. 234 V anstelle der 230-V-Netzspannung). Durch diesen kleinen Kniff fließt der produzierte Solarstrom in den direkten Hausverbrauch, der nicht verwendete Strom wird automatisch ins Netz eingespeist.
Hinweis zu den DC-Spannungen:
Beim Mikrowechselrichter gibt es keine DC-Hochvolt-Spannung, das ist also deutlich sicherer. Beim Ausfall eines Solarmoduls oder Wechselrichters laufen die verbliebenen Geräte weiter.
Das Kommunikations-Gateway Enphase Envoy-S Standard wird einfach an die gleiche Phase wie die Mikrowechselrichter angeschlossen, zusätzlich erlaubt eine Verbindung ans Internet per WiFi oder Ethernet die Überwachung der Wechselrichter. Per Handy-App oder Webbrowser wird die aktuelle Solarproduktion angezeigt, darüber hinaus kann die historische Produktion (Tag/Monat/Jahr) übersichtlich angezeigt werden.
PS: Meine Empfehlung wäre das Enphase Envoy-S Standard zu überspringen und dafür ein Envoy-S Metered zu erwerben. Dies erlaubt genauere Messungen und zusätzlich wird eine Nulleinspeisung möglich. Auch der genaue Netzbezug kann mit Stromsensoren gemessen werden, die Enphase-Batterie (der Akku) benötigt ebenfalls das Enphase Envoy-S Metered.
Wenn es größer werden darf, eine Nulleinspeisung gewünscht ist oder eine Batterie (Akku) mit genutzt werden soll, muss das Enphase Envoy-S Metered mit Stromsensoren her. Ist eigentlich keine große Investition (ca. 400,- € mit Stromsensoren). Zum Anschluss der 3-Phasen hinter dem Hauptschalter in der Elektro-Hauptverteilung (Sicherungskasten) wird dann auf jedem Fall ein Elektriker benötigt. Wenn mehr als 10 Module verwendet werden, müssen die PV-Module auf drei Phasen aufgeteilt werden. Hierfür gibt es ein dreiphasiges Q-Kabel, welches beim Wechselrichter die Phase automatisch im Kabel wechselt:
Der erste Wechselrichter ist dann auf L1, der zweite auf L2, der dritte auf L3, der vierte dann wieder auf L1 usw.
Meyer Burger ist der einzige Hersteller in Europa, welcher Solarmodule komplett in Deutschland fertigt (Solarzellen sowie Module). Zusätzlich sind diese Module sehr effizient (120 Halbzellen) und bieten bei wenig Sonne und nicht optimaler Ausrichtung schon ausreichend Strom. Früher hat Meyer Burger (als Maschinenbauer) in China die dortigen Solar-Produktionsanlagen gebaut, jetzt bauen Sie nur noch eigene Werke für eine lokale Produktion von Solarmodulen. Das hat mich komplett überzeugt, und ich bin dafür bereit, den Preis für beste Qualität zu bezahlen.
In den USA ist Enphase Energy bereits Marktführer für PV-Anlagen, in Europa ist das Unternehmen noch nicht so bekannt. Das Konzept der Mikrowechselrichter hat mich komplett überzeugt. Der Geheimtipp ist, dass man bei Enphase sogar mit einem einzigen Solarmodul (Balkonkraftwerk) anfangen und mit beliebig vielen Modulen ausbauen kann. Mit der Enphase-Batterie kann diese Anlage schlüsselfertig als skalierbares AC-angeschlossenes Akkusystem verwendet werden. Nulleinspeisung ist auch kein Problem. Meiner Meinung nach bietet Enphase Energy ein sehr überzeugendes System, welches seinesgleichen sucht.
Für kleine Installationen (Balkonkraftwerk) wird kein IQ-Gateway (auch Envoy genannt) benötigt, da lohnt es sich nicht. Für richtige Solaranlagen ist es allerdings zu empfehlen. Das Gateway kommuniziert mit allen Enphase-Komponenten (IQ-Relay, IQ-Battery, IQ-Mikrowechselrichter) per Power Line Communication (PLC), so etwas wird auch bei der Ethernet-Netzwerkverlängerung über das Stromkabel verwendet. Das Gateway hat mehrere Funktionen:
Bei der IQ-Gateway (Envoy-S) Metered kommt noch folgendes hinzu:
Das kleine Envoy-Kerlchen kann eine ganze Menge. Das Coole ist aber: selbst, wenn das Enphase-Gateway mal nicht funktioniert, läuft die Solarproduktion einfach weiter, denn die Mikrowechselrichter haben ihre einmal erhaltenen Profile lokal gespeichert. Natürlich kann die Batterie dann nicht mehr gesteuert werden, wie auch ohne permanente Messdaten. Auch wenn das Internet mal weg ist, sammelt das Gateway eine gute Woche weiter Daten und verschickt diese, sobald das Internet (Ethernet oder WiFi) wieder verfügbar ist.
Die Enphase Mikrowechselrichter schalten die Stromproduktion automatisch ab, sollte die Netzspannung ausfallen oder instabil werden. Das funktioniert perfekt innerhalb eines Sekundenbruchteils. Ich habe das selbst mal mit einem Oszilloskop gemessen, es wird zuverlässig abgeschaltet. So etwas ist auch wichtig, sollte mal der Strom ausfallen oder der Sicherungsautomat schaltet ab, dann darf die PV-Anlage natürlich keinen Strom mehr einspeisen.
In Deutschland gibt es allerdings von den Netzbetreibern die Anforderung, dass physikalisch eine Netztrennung vorgenommen werden muss. Hierfür wird das Enphase Q-Relay benötigt: bei einer Anlage mit einer Phase (Q-Relay 1P), bei größeren Anlagen die dreiphasige Version (Q-Relay 3P). Die Batterie benötigt ein eigenes Q-Relay, das ist in Deutschland ebenfalls Vorschrift.
Im Englischen wird der Akku „Battery“ genannt bzw. „Rechargeable Battery“, bei Enphase heißt der Akku einfach IQ-Battery. Die Enphase-Batterie (AC-Batterie) wird einfach per 230-V-Wechselstrom angeschlossen. Die Batterie besteht aus drei Funktionseinheiten:
Beim Einspeisen vom Akku in das 230-V-Stromnetz verhält sich der IQ8-BAT Mikrowechselrichter wie ein Wechselrichter, welcher für die Solarmodule genutzt wird, er nimmt dem Gleichstrom (DC) aus dem Akku und wandelt diesen in 230-V-Wechselstrom um.
Beim Aufladen vom 230-V-Stromnetz (AC) in den Akku (DC) arbeitet der IQ8-BAT einfach umgekehrt und wandelt die 230 V in einen Gleichstrom zum Laden des Akkus um. In jeder Batterie befinden sich 4 IQ8-BAT Mikrowechselrichter, damit die Leistung größer ist. Außerdem bietet es eine Ausfallsicherheit: sollte ein IQ8-BAT mal nicht funktionieren, arbeiten die anderen drei ungehindert weiter.
Betrieb mit fremder Solaranlage. Die Enphase-Batterie mit Envoy kann auch für Fremdanlagen mit zentralem Wechelrichter genutzt werden.
Wenn eine 3T Batterie (3,5 kWh Akku) nicht ausreicht, können einfach bis zu 12 Batterien verwenden werden (42 kWh). Bei Enphase gibt es eine 3-fach Batterie (IQ-Batterie 10T), das wären dann 4 x 10T Batterien für die 42 kWh.
Die einzelnen Enphase-Akkus in der Enphase-Batterie werden übrigens nur mit 60 Volt Spannung betrieben, das ist um einiges sicherer als die Hochvolt-Batterien anderer Hersteller. Zusätzlich haben die LiFePO4-Akkus den Vorteil, dass diese nicht brennen können (Selbstentzündung) wie die Lithium-Ionen-Akkus, welche häufig verwendet werden.
Das sehr modulare Konzept der Enphase-Batterien überzeugt. Sie sind ausfallsicher, skalierbar und laufen flexibel nutzbar und sehr sicher mit allen PV-Systemen. Die Batterie ist eine wichtige zentrale Komponente – basteln lohnt sich hier nicht.
PS: Ich dachte zunächst, so einen LiFePO4-Akku kannst Du selbst bauen, dazu noch ein China-BMS, ein Gehäuse fertigen, dann noch einen Laderegler, der den Akku lädt und noch ein Wechselrichter, welcher den Akku-Gleichstrom in 230-V-Wechselstrom umwandeln kann. Wenn man dann noch in Bruchteilen von Sekunden die Ladeleistung zwischen wenigen Watt in Kilowatt regeln muss, zusätzlich umschalten auf Entladung bzw. Einspeisung (ebenfalls von wenigen Watt bis mehreren Kilowatt), prüfen, ob das Netz stabil ist, ansonsten sofortige Netztrennung usw., dann komme auch ich an meine Grenzen. Die Enphase Batterie-Lösung ist da einfach schlüsselfertig und empfehlenswert.
Bei wenigen Modulen einfach ein 1,5 mm2-Gummikabel von den Solarmodulen bis zur Steckdose, bei mehreren Modulen ein 5×2,5 mm2-Gummikabel bis zur Dose an der Hauswand ziehen. Innerhalb vom Haus habe ich dann ein 5×4 mm2-NYM-Kabel verwendet.
Zum Verbinden mehrerer Module gibt es von Enphase die Q-Cable (einphasig mit 2,5 mm2 oder dreiphasig mit 2.5 mm2). Mit 5 x Q-Cable kann ich also 5 Module einfach anstecken. Am Ende kann ein Abschlussstopfen aufgesetzt werden, damit alles Wasserdicht verschlossen ist. Am Anfang verwende ich eine Wasserdichte IP65-Dose, von dort aus geht es dann zum Stromanschluss mit dem Gummikabel.
Folgendes Material steht hier zur Verfügung (www.pv-lieder.de):?utm_source=rss&utm_medium=rss
Einphasig 2,5 mm2
Dreiphasig 2,5 mm2
Zusätzlich nutze ich folgendes Material von www.elektroversand-schmidt.de?utm_source=rss&utm_medium=rss:
Die dafür notwendigen Kabelverschraubungen gibt es im Baumarkt. Zur Verbindung der Kabel sind Wago-Klemmen sehr praktisch.
Hinweis: die Abzweigdose muss wirklich wasserdicht sein, sonst ist da irgendwann die Feuchtigkeit drin und der Ärger beginnt. Soll ja 30 Jahre halten …
Aktuell ist Enphase in Deutschland mit Akku nicht notstromfähig, in den USA allerdings schon. Die hierfür notwendige automatische 3-phasige Netztrennung (Enphase IQ System Controller) gibt es für Deutschland noch nicht. In den USA gibt es schon einen neuen Wechselrichter der IQ8-Serie, welcher ohne Batterie bei Sonnenschein das Haus mit Strom versorgen kann (natürlich nur kleine Lasten wie Kühlschrank und Klimaanlage). Das Ganze ist etwas wackelig, weil bei Schatten der Strom sofort wieder ausfällt. Für eine zuverlässige Stromversorgung muss daher auch eine Batterie her.
Die komplette Notstromfähigkeit bzw. der Inselbetrieb kommt also erst in Zukunft sobald es einen Enphase IQ Systemcontroller für Europa gibt.
Wichtiger Hinweis: Kein notstromfähiges PV-System schaltet einfach sofort um, eine Stromunterbrechung ist immer vorhanden (1-5 Minuten), wenn das Netz wieder stabil zurück ist, gibt es eine weitere längere Unterbrechung vom Inselbetrieb zurück zum Netzbetrieb.
PS: Für mich ist die Notstromfähigkeit nicht ausschlaggebend, wenn der Strom mal ausfällt, nehme ich einfach Kerzen und Taschenlampen. Bei einem längeren Stromausfall über mehrere Tage gibt es ganz andere Probleme, denn dann läuft ja gar nichts mehr (Handy, Internet, Supermärkte, Verkehrssysteme, Feuerwehr, Erste Hilfe, Krankenhäuser usw.). Unser Zuhause wäre da das kleinste Problem.
Eines kann ich versichern: ein PV System mit Notstromfähigkeit kostet sehr viel Geld und wenn ich dann zwei Herdplatten anstelle, bricht es trotzdem zusammen. Da ist ein Campingkocher die bessere Alternative.
Es gibt Gründe, warum Leute Solaranlagen ausschließlich für den eigenen Verbrauch nutzen wollen, ohne überschüssigen Strom an den Netzbetreiber zu verschenken bzw. bei Anmeldung zu verkaufen. Dieses funktioniert mit der „Envoy-S Metered“-Steuerzentrale und Stromsensoren am Netz. Per Envoy Netzprofile „Red 0%“ wird die Einspeisung auf 0% reduziert. In diesem Fall regelt der Envoy die Mikrowechselrichter regelmäßig herunter bzw. hoch, damit exakt soviel Strom produziert wird, wie für den Haushalt und ggf. Batterie benötigt wird, auf keinen Fall mehr, damit nichts eingespeist wird.
Die Nulleinspeisung kann bei Enphase mit einer kleinen Investition (Envoy-S Metered mit Stromsensoren, ca. 400,- €) zusammen mit IQ7-Wechselrichtern zuverlässig und günstig realisiert werden.
Bei der Nulleinspeisung muss am Stromanschluss (hinter dem Hauptschalter) ein Stromsensor installiert sein; drei Stromsensoren für den 3-phasigen Strom bei uns in Deutschland. Zusätzlich ist ein Stromsensor notwendig, welcher die PV-Leistung misst (bei 3-phasiger PV sind es drei weitere Stromsensoren). Bei Enphase macht das System all dies automatisch: Wechselrichter steuern (Stromsensoren messen den Eigenverbrauch und die PV-Produktion) sowie die Batterie laden und den Batteriestrom bei Bedarf ins Haus einspeisen.
Die Angabe kWp (kilowatt-peak), also die Maximalleistung von Solarmodulen, ist der Idealfall (z. B. bei einem 400-Watt-Modul, also 0,4 kWp, mal die Anzahl der Module). Diese Leistung ist in der Realität unerreichbar. Voraussetzung dafür ist natürlich perfekter Sonnenschein, welcher – wenn überhaupt – nur stundenweise im Jahr vorhanden ist. Dann kommt noch die optimale Ausrichtung der Module hinzu, welche ebenfalls nicht immer oder nur stundenweise gegeben ist. Weiterhin hat der Wechselrichter auch Verluste, je nach Arbeitspunkt 4-15%. Bei einem 400-Watt-Modul würde ich bei bestem Sonnenschein einfach mal nur von 250 Watt ausgehen, bei wenig Sonne vielleicht nur 30 Watt.
Die Angabe „ich habe eine 10kWp Anlage“ sagt wenig aus. Auch die genaue Ausrichtung, ggf. eine Nachführung, die Anzahl der Sonnenstunden pro Jahr und die Strahlungsintensität je nach Region in Deutschland sind wichtige Kennzahlen, um die Durchschnittsleistung zu berechnen.
Es gibt auch Situationen, in denen ein 400-Watt-Modul kurzfristig 15% mehr bringen kann, dann regelt der Wechselrichter einfach auf die maximal Leistung des Wechselrichters ab.
Für das 400-Watt-Modul gehen wir einfach mal von diesen Werten aus: 200 Watt * 4,5 Sonnenstunden * 365 Tage = 328 kWh bei guten Bedingungen.
Ich verwende 380-Watt-Solarmodule von Meyer Burger mit einem 360-Watt-Mikrowechselrichter von Enphase (IQ7A), einfach mal flach auf die Terrasse gelegt und bei guter Sonne im Vergleich zum aufgeständerten Modul nur 20% weniger Leistung erhalten. Bei Sonnenschein im Schatten bringen die Module dann immerhin noch ca. 40 Watt.
Bei der Ausrichtung habe ich folgende Erfahrung gemacht:
Ich habe bei mir die Ausrichtung zuerst mit Ost/West angefangen, hier bekomme ich aber über das Jahr zu wenig, daher habe ich jetzt folgende Ausrichtung:
Ab Mittag, wenn die Sonne hoch steht, liefern alle Module (Ost/Süd/West) reichlich Strom, dann ist der Speicher zu Mittag voll, optimal, um auch noch das E-Auto über mehrere Stunden zu laden.
Kleiner Haushalt, ohne Wärmepumpe, ohne E-Auto:
Schaut Euch Eure Stromrechnung an, um zu sehen, wieviel Ihr wirklich verbraucht. Zunächst hören sich die 328 kWh Jahresleistung von nur einem Modul erst einmal viel an. Allerdings gilt es zu bedenken, dass diese Leistung nicht zum identischen Zeitpunkt wie der Verbrauch zur Verfügung steht.
Eine Daumenregel für die PV-Anlage (Stromverbrauch, Solaranlage kWp, Speicher) am Beispiel des 4.000-kWh-Haushalts:
Die einfach Regel ist also: Stromverbrauch 4.000 kWh == PV 4 kWp == Speicher 4 kWh.
Bei einer 4-kWp-Anlage beträgt die PV-Stromproduktion ca. 4.000 kWh im Jahr.
Wie gesagt, das sind alles nur ungefähre Werte, welche von vielen Details abhängen.
Die grundsätzliche Antwort lautet „Ja“, aber es wird schon eine große Solaranlage von 10-15 kWp benötigt. Ein PKW lädt mit ca. 11 kW, so eine Solaranlage bringt aber nur ca. 6-8 kW an sonnigen Tagen. Man muss daher die PKW-Ladung drosseln z. B. mit einem kleineren 230-V-Ladeadapter, oder beim Tesla die Ladeleistung im PKW auf nur 4 kW einstellen. Somit kann an sonnigen Tagen das E-Auto überwiegend mit Solarstrom geladen werden, der Rest kommt aus dem Netz.
Eine zusätzliche Steuerung wäre wünschenswert. Die Wallbox sollte nur dann aktiviert werden, wenn ausreichend Solarstrom vorhanden ist. An so einer Lösung für die Enphase-Umgebung entwickle ich aktuell und werde darüber berichten, wenn es soweit ist.
(siehe auch Wallbox für E-Autos – Hintergründe und Bauanleitung)
Bei herkömmlichen Wechselrichtern gibt es einen oder zwei Strings (String = Reihenschaltung von vielen Solarmodulen). Das hat eigentlich den Vorteil, dass es schön einfach ist, die Solarmodule nacheinander zu verkabeln. Das bedeutet aber auch, dass wenn ein Modul nicht einwandfrei läuft (Unterbrechung, Übergangswiderstand oder Verschattung), gleich der ganze String ausfällt. Die Reihenschaltung bringt den gefährlichen Nachteil mit sich, dass dort bis zu 1.000 V anliegen, welche sich aufgrund der Reihenschaltung in jedem Solarmodul befinden.
Für die Mikrowechselrichter gibt es insbesondere folgende Vorteile:
Die Mikrowechselrichter sind zwar ca. 20% teurer in der Anschaffung, aber bei 25 Jahren Betriebszeit (mit Garantie) gegenüber 10 Jahren beim String-Wechselrichter fährt man auf lange Sicht deutlich günstiger.
Es gibt alte Zähler (Ferraris, wie hier links im Bild zu sehen), welche bei einer Stromeinspeisung rückwärts laufen. Im Falle eines alten Zählers bitte den Netzbetreiber schriftlich informieren, dass eine Balkonkraftwerkanlage geplant ist, und der Zähler schnellstmöglich aktualisiert werden soll. Das ist kostenfrei. Ein alter Zähler an einer Solaranlage wäre Betrug gegenüber der Allgemeinheit, die den Strom regulär bezahlen. Betrug auf Kosten anderer geht überhaupt nicht!
Oft heißt es „Wenn ich auf der Stromphase L1 Strom einspeise, aber den Strom von einigen Geräten von Phase L2 verbrauche, verbrauche ich den falschen Strom“. Das ist überhaupt kein Problem, da alle Zähler in Deutschland saldierend rechnen.
Beispiel:
L1 = 400 Watt Verbrauch, L2 = 30 Watt Verbrauch, L3 = 250 Watt Solareinspeisung:
Gesamtstrom Zähler: 180 Watt (400 + 30 – 250)
Der saldierende Zähler ist für uns Solaranlagen-Betreiber eine super Angelegenheit, da der Netzbetreiber solche kleineren Phasen-Schieflagen für uns kostenlos ausgleicht. Somit spielt es bei einer kleinen Solaranlage keine Rolle, auf welcher Phase der Verbrauch und die Einspeisung ist. Die erlaubte Phasen-Schieflastgrenze liegt in Deutschland bei max. 4,6 kW. Bei größeren Solaranlagen ist eine Dreiphasige-Einspeisung allerdings Pflicht. Hierfür bietet Enphase das Q-Cable mit drei Phasen an. Auch der Akku 10T von Enphase kann über drei Phase angeschlossen werden.
Als ich damit anfing, Solarmodule von Meyer Burger mit Enphase-Mikrowechselrichtern zu testen, habe ich diese einfach auf die Erde bzw. auf die Terrasse gelegt und noch ein kleines 5 cm Kantholz an einer Seite untergelegt, damit das Regenwasser abläuft. So funktionierte das über Monate hinweg im Testbetrieb echt gut. Was ich damit sagen möchte, man kann Module auch einfach auf die Erde legen oder an die Wand stellen, um erste Erfahrungen damit zu sammeln. Für den permanenten Betrieb ist natürlich eine feste Installation sinnvoll.
Grundsätzlich nutzt man für die Konstruktion Edelstahl-Schrauben (A2) und Alu-Profile, damit alles auch in 20 Jahren noch rostfrei ist.
Für die Halterungen gibt es unendliche viele Möglichkeiten oder Konstruktionen.
Hier einige Materialvorschläge dazu:
Alle erwähnten Teile gibt es bei PV-Lieder:
www.pv-lieder.de/shop/montagematerial/?utm_source=rss&utm_medium=rss
Das hört sich nach viel an, ist aber nicht so kompliziert. Einfach zwei Reihen Alu-Profile pro Modulreihe. Die Profile werden von unten auf den Dachhaken geschraubt. Oben auf das Profil wird der Wechselrichter in der Mitte vom Solarmodul geschraubt. Am Anfang und Ende der Modulreihe habe ich das Alu-Profil ca. 12 cm überstehen lassen, somit hat man einerseits etwas Spiel und andererseits auch eine Möglichkeit, sich mal festzuhalten. Meine Frau hat die Alu-Profile an den Enden (25 cm) mit Spiritus gereinigt und mit einer Spraydose mattschwarz lackiert. Somit passt es optisch zu den „Meyer Burger Black“-Modulen und den schwarzen Endkappen.
Danach bietet es sich an, alle Wechselrichter anzuschrauben und die Q-Cable anzustecken. Die Alu-Platte des Wechselrichters muss nach oben gerichtet sein, damit der Wechselrichter etwas vor der Wärme des Moduls geschützt ist. Vorher habe ich alle Wechselrichter mit einem Edding von #1 bis #xxx auf der Alufläche beschriftet sowie die Seriennummern aller Wechselrichter notiert. Somit habe ich eine Übersicht der Position aller Wechselrichter (#1 ist am Anfang usw.). Das Enphase-Portal zeigt dann die Solarproduktion pro Wechselrichter-/Solarmodul-Nr. an.
Im nächsten Schritt können die Solarmodule auf das Alu-Profil gestellt und anschlossen werden. Dann die Endhalter fixieren, die Mittelhalter vorbereiten und weiter geht es mit dem nächsten Solarmodul. Wenn es an die zweite Reihe von Modulen geht, habe ich einfach einen Anschluss vom Q-Cable freigelassen (dafür gibt es eine passende Kappe) und mit der nächsten Modulreihe weitergemacht. Die Kabel können mit UV-beständigen Kabelbindern am Alu-Profil befestigt werden.
Nach ca. 15 Modulen pro Q-Cable fängt man mit einem neuen Q-Cable an, damit die Strombelastung für das Q-Cable (2,5 mm²) nicht zu groß wird. Am Ende gehen die Q-Cable in eine Wasserdichte IP65-Dose. Von der Verteilerdose bin ich mit einem 5×4 mm²-Kabel zu einer kleinen Solar-Unterverteilung gegangen, in welcher sich ein LS- sowie ein FI-Schalter befinden.
Wichtig bei der Vorbereitung ist, dass alle benötigten Teile vorhanden sind, bei den Dachhaken kann ein Dachdecker helfen, diese anzubringen. Beim elektrischen Anschluss kann jeder Elektriker helfen. Die allermeisten Arbeiten kann man aber selber machen.
Ich hoffe, diese kleine Anleitung gibt einen Überblick, wie das alles zusammen hängt. Ich bin überzeugt, dass jeder mit handwerklichem Geschick seine Solaranlage selber planen und installieren kann. Ob einfach ein/zwei Module als Balkonkraftwerk oder eine größere Solaranlage – all dies ist machbar und dieser Artikel hilft bestimmt. In der aktuellen Situation sind die Handwerker, insbesondere die Solarteure, nicht in der Lage, Aufträge anzunehmen. Deshalb ist Selbermachen angesagt, obendrein spart dies auch noch Geld.
Wenn dann der Eigenstrom produziert wird, und per Handy-App oder Strommessgerät die Solarproduktion zu sehen ist, kommt Freude auf! Die nächsten Schritte sind dann die Umstellung des Hausverbrauchs (Waschmaschine usw.) auf die Sonnenstunden.
Viel Freude mit der eigenen Solaranlage!
]]>
Dieser Artikel gibt einen Überblick über die verschiedenen MCUs: ESP32, ESP32-S2, ESP32-S3, ESP32-C3 mit ihren Unterschieden, der Leistung und der Peripherie. Es gibt noch zwar noch weitere Unterfamilien der ESP32-Serie, auf diese soll hier aber nicht eingegangen werden. Die MCUs ESP32, ESP32-S und ESP32-C3 habe ich intensiv getestet.
Endlich ist es soweit, die Modelle S2, S3 und C3 beinhalten USB-Unterstützung. Das bedeutet, ich kann per USB (D+ und D-Leitung) die MCU direkt programmieren. Auch die serielle Konsole (Arduino „Serial Monitor“) funktioniert per nativem USB, somit ist ein USB-zu-Serial-Interface, welches bisher immer verbaut war, nicht mehr notwendig.
Einfacher geht es nicht: nur das ESP32-Modul (S2/S2/C3) mit Spannung versorgen, einen Boot-Taster anschließen, USB D+/D-/GND verbinden und fertig. Die MCU kann mit der Arduino IDE (ab V2.0.0) programmiert werden. Sobald die Programmierung abgeschlossen ist, einfach neu starten (vom Strom trennen, oder einen Reset auslösen) und ab dann läuft das neue Programm (Arduino Sketch). So etwas könnt Ihr auch!
Im Boot-Modus (gedrückte Boot-Taste) prüft die ESP32-MCU (S2/S3/C3) parallel im Boot-ROM, ob eine Programmierung per nativem USB oder per UART durchgeführt wird. Beides funktioniert.
Ich finde die USB-Unterstützung sensationell. Von Anfang an war ich an der USB-Unterstützung dran und konnte beim Arduino-SDK noch Feedback geben, sodass USB ab der Arduino-SDK-Version 2.0.0 richtig funktioniert.
Den Arduino „Serial Monitor“ kennen wir bereits. Dort werden Meldungen per Serial.print()
ausgeben bzw. per Serial.read()
gelesen. Das funktioniert inzwischen auch mit nativem USB, per „Virtuell COM“-Port mit dem „USB Communications Device Class“-Protokoll (USB CDC). In der Vergangenheit funktionierte dies schon mit dem Arduino Zero, und wir nutzen das auch bei unseren LoRa-Boards (Turtle und LongRa) zur Programmierung und für den „Serial Monitor“. Toll, dass dies auch mit den ESP32 (S2/S2/C3) MCUs funktioniert.
Der ehemalige US-Präsident Donald Trump hat mit seinen Sanktionen bewirkt, dass mehrere Hersteller auf den RISC-V-Prozessor gehen. Der RISC-V-Prozessor ist open source, wurde komplett neu definiert und hat somit keine Altlasten. Er wird von immer mehr Herstellern verwendet, auch bei Espressif ist davon auszugehen, dass RISC-V zukünftig in allen MCUs verwenden wird, aktuell bereits in der ESP32-C3-Serie. Ich habe den ESP32-C3 intensiv getestet und kann sagen, dass dieser bei identischer Taktrate nur ca. 10% langsamer als die XTensa-MCU im ESP32-S2 ist. Dieser geringe Unterschied wird sicherlich mit zukünftigen Versionen aufgeholt werden.
In allen ESP32-MCUs (ESP32, S2, S3, C3) bleibt die Peripherie trotz der Unterschiede im Prozessor identisch. Das bedeutet, nur der Prozessor wurde ausgetauscht oder aktualisiert, alles andere ist geblieben (WiFi, SPI, I2C, ADC, RMT, Timer usw.). Somit können auch umfangreiche ESP32-Programme mit einer S2- oder C3-MCU verwendet werden; die Peripherie ist schlichtweg kompatibel. Allerdings sind je nach MCU einige Peripherie-Bausteine kleiner ausgelegt (z. B. zwei zusätzliche Timer beim C3 anstelle der 4 zusätzlichen Timer beim ESP32, S2, S3). Das hat marketingtechnische Gründe und ist gängige Praxis bei allen Herstellern, kostet der C3 schließlich deutlich weniger als ein S2.
Ich habe einen kleinem CPU-Benchmark entwickelt, welcher in einer Kette eine Addition, eine Multiplikation, eine Subtraktion sowie eine Division durchführt, also vier mathematische Operationen. Hier wird gemessen, wie viele Millionen (Mega) dieser Operationsketten pro Sekunde durchlaufen werden. Das Ganze dann mit unterschiedlichen Datentypen:
(x2) Beim Dual Core ESP32 liefert die zweite CPU die identische Geschwindigkeit wie die erste, daher ist die Geschwindigkeit zweimal vorhanden.
Es ist wichtig zu wissen, dass die S2- und C3-MCUs keine „Floating-Point Unit“ haben, weshalb dort die Float-Performance ca. 8 mal langsamer ist. Double (64-bit Float) sowie 64-bit Integer beherrscht keine der MCUs, daher sind dort alle langsam. Fehlende CPU-Operationen wie für Float, Double und Int64 werden automatisch per Software in der C/C++ Runtime Bibliothek gerechnet, was auch einwandfrei funktioniert, aber halt langsamer ist. Zu beachten ist auch, dass der C3 nur mit 160 MHz läuft, der ESP32 sowie S2/S3 laufen mit 240 MHz.
Die ESP32-Serie braucht sich nicht zu verstecken und ist schneller als preislich vergleichbare ARM MCUs.
Der ESP32-S3 sowie der ESP32-C3 verfügen über eine neue Bluetooth-Hardware sowie -Software. Das konnte ich leider noch nicht testen und behandle es hier daher auch nicht.
Hier eine kleine Auflistung der Unterschiede der verschiedenen MCUs aus der ESP32-Serie. Zur einfacheren Gestaltung erfolgt die Aufzählung der Abweichungen gegenüber dem genannten Referenzprozessor in Listenform:
(Dual-Core XTensa, WiFi, 512 kB SRAM, etc.)
Bei so viel Positivem gibt es Probleme, welche wir als Software und Hardware Entwickler kennen müssen.
a) Flash-Speicher
Der Flash-Speicher ist immer seriell über einen zusätzlichen Flash-Chip angebunden, auch wenn dieser bereits in der MCU integriert ist. Das bedeutet, dass der Programmcode blockweise vom Flash-Speicher ins RAM geladen werden muss und der Code erst danach ausgeführt wird. Auch ein ständiges Nachladen (Swapping) tritt bei großen Programmen auf. Dadurch geht einiges an verfügbarem SRAM verloren, da er für die Ausführung des Codes benötigt wird.
b) Interrupt-Routinen
Da Interrupt-Routinen nicht davon ausgehen können, dass ihre Zieladresse auch aktuell verfügbar ist (siehe a) Flash-Speicher), müssen alle Interrupt-Routinen per Compiler-Attribut IRAM_ATTR
deklariert werden. Zusätzlich müssen alle Subroutinen, welche im Interrupt aufgerufen werden, z. B. SPI, GPIO-Subfunktionen oder 64-bit Runtime-Arithmetik, ebenfalls mit IRAM_ATTR
deklariert werden, damit diese auch im SRAM verfügbar sind. Das ist sehr fehlerträchtig, da solche Probleme nur per Zufall auftreten.
Hölle, Hölle, Hölle …
c) Deep Sleep
Der ESP32 Deep Sleep benötigt zwar wenig Strom (<7 µA), allerdings wird die interne CPU und das SRAM dafür komplett abgeschaltet, nur der RTC-Speicher (8-16 kB) bleibt erhalten. Bei einem GPIO- oder Timer-Wake-up (nur ein Pin als Wake-up definierbar) aus dem Deep Sleep, bootet die MCU (ESP32, S2, S3, C3) komplett durch. Das dauert ca. 300 ms und man muss mühsam seinen Programmstatus aus dem RTC-Speicher rekonstruieren. Ein echter Deep Sleep ist das also nicht.
Bei MCUs von anderen Herstellern, zum Bespiel die STM32L4-Serie, bleiben Speicher sowie CPU-Status komplett erhalten und eine Interrupt-Routine wird im Deep Sleep innerhalb von ca. 5 µs aufgerufen und alle GPIOs sind auch im Deep Sleep aktiv. So funktioniert ein richtiger Deep Sleep! Daher verwenden wir bei RadioShuttle.de auch STM32L4 MCUs für die Turtle- und LoRa-Boards.
Trotz dieser Probleme und Beschränkungen überwiegen die Geschwindigkeitsvorteile der ESP32-Serie mit integriertem WiFi, sehr viel SRAM und großem Flash. Mit der neuen nativen USB-Unterstützung und dem kleinen C3 mit RISC-V ist wirklich ein großer Schritt getan. Ich bin begeistert!
Ich hoffe, dieser Überblick bringt ein wenig Licht in die ESP32-Serie. Weitere Fragen und Diskussionen gerne persönlich beim Arduino-Hannover-Treffen.
Viel Erfolg bei Euren ESP32 Projekten!
Unabhängig von der Anschaffung eines E-Autos gibt es verschiedene Aufgaben, die umgesetzt werden müssen. Dies will ich am Beispiel eines Eigenheimbesitzers verdeutlichen.
Ich gehe von einen Durchschnittsverbrauch von 20 kWh pro 100 km aus (20 kWh im Winter mit dem Tesla Model 3, beim VW ID.3 sind es eher 30% mehr).
Ein Blick in die Tabelle zeigt, dass in vielen Fällen eine einfache Schuko-Steckdose ausreichen könnte. Da diese aber nicht für einen großen Dauerstrom geeignet ist, habe ich hier mit einer Ladeleistung von nur 1,3 kW gerechnet (ist im Auto einstellbar), anstelle von maximal 3 kW, was nur mit einer zusätzlichen Leitung sowie einer speziellen Schuko-Steckdose sicher und dauerhaft funktioniert.
Alle neu zugelassenen E-Autos in Europa folgen dem CCS-Standard (Combined Charging System), welcher für DC-Schnellladen (an Autobahnen bis 250 kW) sowie AC-Laden bis 43 kW geeignet ist. Die meisten Autos können bis maximal 11 kW geladen werden. Wer heute eine Wallbox plant, sollte aber bereits die technischen Voraussetzungen (Stichwort: Kabelquerschnitt) für höhere Ladeleistungen schaffen, z. B. 22 kW oder 2x 11 kW für zwei Ladepunkte.
Die Tabelle zeigt, dass ein Ladepunkt mit 11 kW Leistung ein Auto in 8 Stunden für über 400 km Fahrstrecke aufladen kann.
Ein guter Tipp ist, ein E-Auto regelmäßig nur bis auf 20% des Batterieladestatus zu fahren und nur bis max. 80% zu laden. Ein weiterer Tipp ist, möglichst wenig am DC-Schnelllader zu laden und bevorzugt zuhause am AC-Ladepunkt. Diese beiden Maßnahmen schonen den Akku, da dieser keinen Stress hat. Damit hält die angegebenen Kapazität vermutlich über 20 Jahre.
Natürlich kann ein E-Auto auch mal auf 0% runter gefahren werden, dann aber bitte sofort wieder laden, damit der Akku nicht über einen längeren Zeitraum bei 0% verbleibt. Vollladen auf 100% ist auch kein Problem, sofern das Fahrzeug danach auch bewegt wird, um zu verhindern, dass der Akku nicht bei 100% über Tage/Wochen stehen bleibt.
Sowohl die Leitungen als auch die Absicherung am Hausanschlusskasten muss im Vorfeld dahin gehend überprüft werden, ob eine Ladestation für E-Autos überhaupt ohne neuen Hauptanschluss möglich ist bzw. wieviel Reserve vorhanden ist.
Ein Elektriker wird die Leistung am Hausanschlusskasten vor Ort in wenigen Minuten prüfen können. Dazu muss natürlich noch berechnet werden, welche größeren Verbraucher sonst noch am Hausanschluss hängen um zu sehen, wieviel Reserve für den E-Auto-Ladepunkt vorhanden ist. Auch ein kostenloser Anruf beim Netzbetreiber kann Aufschluss darüber geben, welche Anschlussgröße damals ins Haus gelegt wurde.
Es muss ein Kabel vom Strom-Hauptverteiler zum Ladepunkt (Garage, Carport bzw. Hofeinfahrt) gelegt werden. Bei uns war es ein Erdkabel vom Keller über den Hof zur Garage. Innerhalb des Gebäudes reicht auch eine NYM-Mantelleitung. Im Regelfall wird kein Starkstromkabel vom Zählerschrank zum Ladepunkt vorhanden sein. Solch ein Kabel kannst Du aber selbst verlegen bzw. die Verlegung vorbereiten, indem Du Bohrungen vornimmst und einen 70 cm tiefen Graben ausschachtest. Bei einem 10 mm² Erdkabel (ø 2 cm) muss das Bohrloch mit einem 32 mm Bohrer gebohrt werden, sonst passt das Kabel nicht durch die Außenwand. Auch ist eine Abdichtung der Bohrlöcher von außen sicherzustellen, damit die Wand auch langfristig keine Feuchtigkeit zieht.
Empfehlung für die Kabelstärke:
Bitte fangt hier nicht an zu überlegen, ob ein 1,5 oder 2,5 mm² Kabel ausreicht – das tut es definitiv nicht! Zum Laden wird ein Dauerstrom benötigt, und ein zu dünnes Kabel erwärmt sich deutlich, was zu einem Leitungsverlust führt.
Meine Tipps:
E-Autos bekommen umfangreiche Software-Updates per WLAN, da ist ein Ethernet-Erdkabel mit WLAN-Access-Point sinnvoll. Es gibt auch Wallboxes mit Ladekarte, die benötigen auch Ethernet. Oder einfach mal YouTube oder Netflix per WLAN im Auto genießen, da alle E-Autos über eine Standheizung verfügen, ist das sogar ein Rückzugsort.
Diese Aufgabe muss ein Elektriker erledigen. Hier kann es allerdings gleich mehrere Probleme geben.
Eine fertige Wallbox kann einfach durch den Elektriker installiert werden. In der Wallbox ist es dann noch möglich, die maximale Ladeleistung zu begrenzen. Die Installation der Wallbox am bereits verlegten Kabel dauert keine 15 Minuten. Wallbox anbohren, Kabel anschließen, Ladeleistung per DIP-Schalter einstellen, fertig.
Wichtig: Prüfen, ob die Wallbox einen DC-Fehlerschutz hat, ansonsten muss im Hauptverteiler ein Typ-B FI rein (siehe §3)!
Meine Tipps:
Damit ein E-Auto auch ökologisch fährt, empfehle ich – sofern nicht ohnehin schon geschehen – den Wechsel zu einem Stromanbieter mit Ökostrom. Somit produziert das E-Auto beim Fahren (inkl. Klimaanlage oder Heizung) keinen zusätzlichen CO2-Ausstoß. Natürlich hat die Produktion von E-Autos schon einen CO2-Rucksack, aber auch die Produktion von Windparks hat bereits einen CO2-Rucksack. Ich finde es konsequent, auf Ökostrom umzusteigen. Bei uns war der Ökostrom-Anbieter sogar 20% billiger als die Stadtwerke, über die wir vorher unseren Strom bezogen haben.
Wir sind auf den „Hourly“-Tarif von aWATTar umgestiegen, aber auch der „Yearly“-Tarif von aWATTar liegt bei unter 0,26 € pro kWh für Ökostrom. Mehr unter www.awattar.de?utm_source=rss&utm_medium=rss.
Meine Tipps:
Wie eingangs schon erwähnt, lohnt sich der Selbstbau einer Wallbox kaum, da die Einzelteile recht teuer sind. Es gibt Wallboxes (z. B. „Heidelberg Wallbox Home Eco“) schon ab 400,- €, die Tesla Wallbox ab 500,- €. Allein der Typ-2-Stecker mit Kabel kostet schon über 200,- €.
Die Funktion einer Wallbox ist es, sicherzustellen, dass nichts passieren kann. Selbst wenn ich den Typ-2-Stecker in einen Eimer Wasser lege, passiert überhaupt nichts (würde ich aber trotzdem nicht empfehlen). Die Wallbox schaltet erst frei, wenn der Typ-2-Stecker sicher im Auto steckt und dem zu ladenden Fahrzeug per CP-Signal (+12 V/-12 V PWM-Signal) mitteilt: „Ich kann Ladestrom zur Verfügung stellen“. Das Auto sagt dann dem CP-Signal per Lastwiderstand: „Bitte Ladestrom aktivieren“. Jetzt schaltet die Wallbox per Schütz den Strom frei (solange das Auto per CP-Lastwiderstand signalisiert: „Bitte Ladestrom aktivieren“). Wenn die Ladung beendet ist, nimmt das Auto den Lastwiderstand vom CP-Signal, und die Wallbox schaltet sich aus. Somit kann später der Typ-2-Stecker stromlos vom E-Auto entfernt werden. Eine Wallbox ist nicht sonderlich intelligent.
Hinweis: Der Typ-2-Stecker ist nach dem Einstecken im Auto blockiert, damit während der Ladung nicht jemand den Stecker unter Last abziehen kann. Es muss erst per Bedienung im Auto „Ladestecker freigeben“ gewählt werden. Auch beim Laden mit eigenem Typ-2-Kabel an einer fremden AC-Ladesäule ist die Verriegelung des Steckers nicht schlecht, damit das teure Ladekabel keinem Diebstahl zum Opfer fällt.
Hinweis: Ich empfehle Euch, ein fertiges Kabel mit Typ-2-Stecker („Mennekes-Stecker“) zu kaufen. Das Verlöten der dicken Kabel ist sehr schwierig. Überdies fehlte mir zum Einpressen das Spezialwerkzeug.
Ein Ladecontroller in der Wallbox liefert das CP-Signal und schaltet den Strom per Schütz frei. Ursprünglich wollte ich den Ladecontroller mit einem Arduino ESP32-Board auch selbst bauen, um dann PayPal zur Ladung sowie andere Funktionen zur Verfügung stellen zu können. In der ersten Ausbaustufe habe ich einen fertigen EVSE-Ladecontroller genommen.
Am Eingang wäre an der Wallbox ein Typ-B FI danach ginge es dann auf das Schütz (4 Schließer L1, L2, L3 + N). Wenn in der Hauptverteilung der Typ-B FI bereits vorhanden ist, kann es direkt zum Schütz gehen. Der Ausgang vom Schütz (L1, L2, Ll3 + N) geht dann auf das Typ-2-Kabel, zusätzlich geht PE auf das Typ-2-Kabel. Das Schütz wird vom Ladekontroller gesteuert.
In meiner Wallbox habe ich einen Drehstromzähler am Eingang eingebaut, damit wir am Jahresende einfach sehen können, wieviel der Stromrechnung gehört zum Auto. Wenn mal ein fremder Tankt, kann er uns so auch mitteilen, wieviel kWh er entnommen hat. Außerdem kann ich überprüfen, was geht Brutto an Strom ins Auto.
Der Stromzähler hat einen S0-Ausgang, welchen ich später an ein Arduino ESP32-Board anschließen möchte, um den Stromverbrauch weiterverarbeiten zu können.
Jetzt sollte klar sein: das Auto bekommt Wechselstrom (1 Phase) oder Drehstrom per Typ-2-Stecker von der Wallbox. Da die Autobatterie natürlich mit Gleichstrom geladen werden muss, wandelt das Auto den Strom in Gleichstrom um und steuert die Ladeleistung bis die Batterie voll ist. Das Auto fordert also Strom an und bekommt per Schütz alles freigeschaltet. Allerdings muss es selbst darauf achten, nur die erlaubte Leistung zu entnehmen.
Ich selbst habe leider keine PV-Anlage, die Wallbox lässt sich aber recht einfach so umbauen, dass der eigene Solarstrom „getankt“ werden kann. Hierfür würde ich mit Hilfe eines zweiten Relais L2 und L3 zu trennen, angenommen die PV-Anlage sitzt auf L1. Dem Ladecontroller müsste man dann mitteilen (funktioniert über Widerstände), wieviel Ladestrom maximal erlaubt ist. Dieser teilt dann per PWM-Signal über das CP-Signal mit, wieviel das E-Auto laden darf (z. B. 10% für 6 A/1,3 kW). Wenn nicht genügend Solarstrom vorhanden ist, kann das CP-Signal einfach so lange getrennt werden, bis wieder Solarstrom verfügbar ist. Notwendig ist es dabei, von der Solaranlage mitgeteilt zu bekommen, wieviel Strom produziert wird. Natürlich sollte man nicht man bei jeder Wolke das Laden unterbrechen; einfach den Ladevorgang unterbrechen, wenn 3 Minuten nichts mehr kommt bzw. erst dann laden, wenn der Solarstrom 3 Minuten stabil gekommen ist.
Ich habe mich dazu entschlossen, meine Wallbox per CEE32-Stecker an die Stromversorgung anzuschließen. Somit bin ich flexibel und kann die ganze Wallbox auch mal ins Auto packen und mitnehmen. Außerdem ist eine CEE32-Steckdose auch für andere Zwecke zu gebrauchen.
Die Blockschaltbilder sollten ausreichen, um erfahrenden Makern zu helfen, die Lösung nachzubauen. Auf jeden Fall sollte vor Inbetriebnahme nochmal einen Elektriker draufschauen, handelt es sich immerhin um 22 kW Starkstrom mit 400 Volt, also absolut lebensgefährlich!
PS: Die zusätzliche Steckdose sowie das vorbereitete 5-V-Netzteil für mein „ECO Power“-Board (Arduino ESP32-kompatibel) ist im Blockschaltbild nicht vorhanden.
Bei Tesla kann im Auto eingestellt werden, wann die geplante Abfahrtzeit ist. Hier habe ich inzwischen 5:00 Uhr morgens eingetragen, da der Strom („Hourly“-Tarif von aWATTar) in der Nacht bis morgens um 5:00 Uhr im Durchschnitt deutlich günstiger ist als tagsüber oder abends. Der Tesla startet die Ladung dann automatisch, sodass das Fahrzeug um 5:00 Uhr morgens geladen ist (bei uns auf 80%).
Tipp: Wenn bei Eurem E-Auto keine Ladezeit eingestellt werden kann, gibt es die Möglichkeit, per Zeitschaltuhr mit Relais die CP-Signalleitung nur zur gewünschten Zeit durchzuschalten. Kann auch bei einer beliebigen Wallbox leicht nachgerüstet werden (ähnlich wie beim Schlüsselschalter unter „Wallbox installieren“).
Die Erdarbeiten waren umfangreich: Die Pflasterung musste aufgenommen werden uvm. Diese Arbeiten hat ein Garten- und Landschaftsbaubetrieb übernommen. Die Verlegung der Kabel, Leitungsdurchführung, Kabelkanäle, Abzweigdose in der Garage, CEE32-Buchse usw. habe ich komplett selbst gemacht. Der Anschluss in der Hauptverteilung war aus Platzgründen nicht einfach; hat ein Elektriker nach meinen Vorgaben gemacht.
Am schnellsten ging der Zusammenbau der eigenen Wallbox, das habe ich in 6 Stunden geschafft. Allerdings musste ich mir vorher sehr viel neues Wissen aneignen.
Ich bin mit der Lösung sehr zufrieden. Als nächster Schritt käme in eigener Arduino ESP32-Ladecontroller, was jedoch aktuell noch nicht erforderlich ist.
PS: Über das Laden per DC (mit noch mehr Leistung) habe ich mir auch schon Gedanken gemacht, aktuell ist der Bedarf jedoch noch nicht da. Der Stromanschluss bringt die dafür nötigen Voraussetzungen (Leistung) auch nicht mit. Die Technik einer DC-Ladestation wäre wohl eine größere Herausforderung.
Super wäre es, wenn man den DC-Strom aus der Batterie wieder ins Netz speisen könnte, damit bei Stromengpässen 20-30% meiner Ladung wieder ins Netz fließen und bei Überkapazität im Netz das E-Auto wieder auf 80% voll geladen werden kann. Das wäre richtig netzdienlich. Aktuell kommt man bei Tesla nicht an den DC-Strom ran. Es würde mich aber nicht wundern, wenn Tesla seine Ladesteuerung verbessert, um so etwas ermöglichen, veröffentlicht das Unternehmen doch regelmäßig Hard- und Software-Updates mit vielen Verbesserungen.
Anregungen und Diskussionen zur Wallbox gerne unten im Kommentar oder persönlich bei unserem regelmäßigen Arduino-Treffpunkt in Hannover. Hiermit bedanke ich mich bei unseren Teilnehmern, welche mit Rat und Tat geholfen haben.
https://www.goingelectric.de/wiki/Typ2-Signalisierung-und-Steckercodierung/?utm_source=rss&utm_medium=rss
https://de.wikipedia.org/wiki/IEC_62196_Typ_2?utm_source=rss&utm_medium=rss
https://www.ebay.de/itm/Fi-TYP-B-Fi-Schutzschalter-RCD-E-Auto-Wallbox-63A-Allstromsensitiv-Typ-A-EV/233680358436?utm_source=rss&utm_medium=rss
https://www.aliexpress.com/item/33020060308.html?utm_source=rss&utm_medium=rss
https://datasheet.eaton.com/datasheet.php?model=248852&locale=de_DE&utm_source=rss&utm_medium=rss
https://wallbox.heidelberg.com?utm_source=rss&utm_medium=rss
https://www.evse-wifi.de/produkt/evse-din-ladecontroller/?utm_source=rss&utm_medium=rss
Im Internet gab es keine passende Lösung. In einem Blog wurde eine Nachbaulösung skizziert, die wegen zu hohen Aufwandes verworfen wurde.
Daraufhin wurde ein Schaltbild mit 10 handelsüblichen ICs (16 und 14 polig) erstellt und eine passende Leiterplatte entwickelt, um die geplante Funktion prüfen zu können. Nach dem gelungenen „Proof of Concept“ wurde die Leiterplatte makergerecht umgestaltet. (Definition: Ein Maker kann bedrahtete Teile im 2,54 mm Raster verarbeiten).
Details zur Schaltung, zur Funktion und zum Aufbau des IC-Nachbaus sind in einem Datenblatt dokumentiert. (Datenblatt FP2800-JB-1.1)
Wenn Interesse oder Bedarf am Nachbau besteht, könnten Bausätze erstellt und bereitgestellt werden.
Grundsätzlich lässt sich sagen, dass die MCUs auf den Boards für Maker und Industrieanwendungen, wie Arduino, Mbed oder Pi, eine recht anständige Performance bringen, vergleichbar mit PC-Rechnern Anfang der 90er Jahre. Allerdings ist der Stromverbrauch bei diesen MCUs deutlich geringer und sie sind schon für wenige Euro erhältlich.
Dieser Artikel schaut aber auch hinter die Kulissen, da die CPU-Geschwindigkeit nur ein Aspekt ist. Denn oft gibt es auch tückische Probleme bei der Interrupt-Verarbeitung oder den begrenzten Möglichkeiten beim Stromsparen sowie große Unterschiede in der Speichergeschwindigkeit (Flash).
Wir besprechen hier ausschließlich 32-bit MCUs, da die 8-bit Atmel AVRs zu schwach sind und über zu wenig Speicher verfügen, um hier sinnvoll verglichen werden zu können.
Es wurden gängige MCUs getestet, wobei oft mehrere MCUs einer MCU-Familie existieren, die sich durch Speichergröße oder Anschlusspins unterscheiden. Ansonsten sind diese relativ zur Taktfrequenz identisch schnell.
Da ich schon mehrere Boards mit ESP32-, D21- sowie verschiedenen STM32L4-MCUs mit LoRa-Funktechnik selbst entwickelt und produziert habe, ist da einiges an Know-How vorhanden. Selbstverständlich habe ich unsere eigenen LoRa-Boards (LongRa, Turtle, ECO Power und Eagle) ebenfalls mit identischen Ergebnissen getestet. Mehr dazu unter www.radioshuttle.de?utm_source=rss&utm_medium=rss.
Zum Testen werden hier einfach verschiedene C/C++ Operationen verwendet um zu sehen, wie schnell diese durchlaufen werden. Als Beispiel wird die Addition als nur eine Instruktion gerechnet. In Wirklichkeit sind dies mehrere Einzelschritte, da erst einmal ein Wert geladen wird und danach ein zweiter. Diese beiden Werte werden addiert und das Ergebnis gespeichert.
Im Test spreche ich von Mega-Instruktionen pro Sekunde, wobei die Instruktionen in mehreren Schritten hintereinander durchgeführt werden:
Das sind in der Summe 4 Schritte, die in einem Speicherarray mit 1.000 Elementen (z. B. 1.000 Integers für den Int-Test) durchgeführt werden. Dies wird in einer Schleife 2.000 mal durchlaufen, also: 4 Schritte mal 1.000 Elemente mal 2.000 Durchläufe entspricht 8 Millionen Instruktionen, welche ich der Einfachheit halber „Mega“ nenne. In der folgenden Tabelle sind sämtliche Ergebnisse mit Megas/s und der Gesamtlaufzeit aufgeführt:
Das sind schon ganz beachtliche Ergebnisse; die Float- und Double-Geschwindigkeit beim Arduino Zero (Atmel D21 MCU) ist extrem langsam, da dieser keine FPU (Floating Point Unit) besitzt, welche Floats direkt rechnen kann und daher die Fließkommazahl in einzelnen Schritten per C-Runtime ermitteln muss. Das gleiche gilt für die Doubles und 64-bit-Integers, welche nur der Pi 3 nativ rechnen kann.
Die Anzahl der Speicherelemente wurde mit Absicht auf 1.000 begrenzt (also 1.000 mal 4 Bytes für einen Integer macht 4.000 Bytes), damit sie auch leicht in den Hauptspeicher hinein passen.
Der Raspberry Pi 3 wurde nur als Vergleich mit aufgenommen, wird aber hier nicht weiter behandelt und im Diagramm nicht dargestellt, da dieser eigentlich als Mini-Linux-Server zu einer anderen Kategorie Rechner gehört.
Der vollständige Code des Beispielprogramms „CPUBench“ für Arduino und Mbed OS ist in unserer RadioShuttle-Software enthalten. Ursprünglich hatte ich dieses Testprogramm beruflich entwickelt, um die Geschwindigkeit verschiedener Server meiner Software zu vergleichen.
Für die RadioShuttle-Boards habe ich den Benchmark-Test noch einmal komplett mit C++ Templates modernisiert, sodass verschiedene Datentypen wie Integer, Floats, 64-bit Integer usw. automatisch gemessen werden können. Da ein Durchlauf recht lange dauern kann, habe ich regelmäßig einen „.“ ausgegeben, der vorhandene Aktivität anzeigt.
Benchmark-Funktion:
template <class T>
int MegaOperations(T, float *millions, int *m_secs, CPUProgressFunc m_progresscb, int cpuId)
Aufgerufen wird sie über (in diesem Beispiel für Integer):
MegaOperations((int)1, &f, &m_secs, &BenchProgress, 0);
Zum vollständigen Programmcode „CPUBench“
Sowohl der ESP32 als auch der Raspberry Pi 3 haben mehrere CPU-Einheiten, die identische Geschwindigkeiten liefern (was ich auch getestet habe). Der ESP32 ist also doppelt so schnell, wenn die CPU-Einheiten parallel aufgerufen werden. Zum besseren Vergleich wurden die Ergebnisse mit nur einer CPU dargestellt.
Der SRAM-Speicher ist eigentlich bei allen MCUs ähnlich aufgebaut und läuft in der Regel mit der CPU-Frequenz. Allerdings gibt es beim ESP32 wichtige Unterschiede bzw. Begrenzungen.
Der ESP32 hat eine Busfrequenz von 80 MHz, mit welcher der Speicherzugriff vermutlich läuft. Zwar läuft die CPU mit 240 MHz, Speicherzugriffe werden jedoch mit der Busfrequenz synchronisiert. Ob der ESP32 Xtensa-LX6 Prozessor noch weitere Bytes an Cache-Speicher hat, konnte ich bisher nicht ermitteln. Die Xtensa-LX6-Spezifikation hat sehr viele Optionen, was der ESP32 an CPU-Features alles mitbringt, ist aber lieder nicht dokumentiert.
Der ESP32 verfügt zusätzlich noch über einen 2 x 8 kB RTC-Memory – einen Slow sowie einen Fast RTC-Memory-Speicherbereich. Dort lassen sich Daten speichern, welche im „deepsleep“ erhalten bleiben.
Die ESP32 PSRAM-Option, welche beim ESP32-WROVER Modul verbaut ist, bringt weitere 4 MB RAM-Speicher. Beim PSRAM gilt zu beachten, dass dieser per SPI seriell angebunden und daher um Faktoren langsamer ist als der in der MCU integrierte RAM-Speicher. Ein weiteres Problem ist, dass Interrupt-Routinen nicht auf diesen Speicher zugreifen dürfen, da in einem Interrupt keine SPI-Transaktionen ausgeführt werden dürfen. Hinzu kommt noch, dass der PSRAM-Speicher in das interne RAM vom ESP32 geladen wird (Virtual Memory Paging), was das Ganze wieder komplizierter und langsamer macht. Für eine normale Anwendung, z. B. in der Arduino-Funktion loop()
, merkt man davon überhaupt nichts, sie läuft eben nur erheblich langsamer. Bei Interrupt-Funktion wie Timer und GPIO-Interrupts ist das natürlich die Pest.
Der Flash-Speicher der MCUs ist schon genial, da dieser viel schneller als reguläre Festplatten ist und die Kapazität oft auch die der damaligen Diskettenlaufwerke übersteigt. Aber auch hier gibt es Tücken. Intern ist so ein Flash-Speicher in Blöcke aufgeteilt (ähnlich wie Sektoren bei Festplatten/Disketten). Um ein Byte im Flash-Speicher zu ändern, muss der ganze Sektor gelesen, dann gelöscht und neu beschrieben werden. Dazu kommt, dass der Flash-Speicher pro Sektor eine maximale Anzahl von Löschzyklen hat; in der Regel liegt der Wert zwischen 1.000 und 100.000 Löschzyklen pro Sektor.
Es ist also kein Problem, Programme in das Flash zu schreiben, denn so häufig wird die MCU nicht neu programmiert. Werden allerdings Variablen in den Flash-Speicher geschrieben, kann so eine MCU einen Sektor innerhalb von Minuten so oft beschreiben, dass dieser defekt ist. Das führt dann zu Problemen …
Um dieses Problem zu umgehen, habe ich eine NVProperty-Library für diese MCUs entwickelt, die Werte im Flash („Properties“) optimiert rotierend speichert und somit bis zu 256 unterschiedliche Properties über viele Jahre hinweg alle 10 Sekunden neu schreiben kann. Verweise zur NVProperty-Library befinden sich am Ende des Artikels.
Der ESP32 Flash-Speicher ist nicht in der MCU integriert sondern per SPI seriell angebunden. Identisch zum PSRAM gibt es hier die Begrenzungen in Interrupt-Routinen (Timer, GPIO, usw.). Diese Funktionen müssen über das Compiler-Attribut „IRAM_ATTR“ deklariert werden, damit sie im RAM abgelegt werden können. Allerdings muss auch jede Funktion, die in einer Interrupt-Routine aufgerufen wird, ebenfalls im RAM liegen. Somit liegt eine einfache strcpy()
-Funktion im Flash und beim Aufruf gibt es einen Crash, es sei denn, genau diese Flash-Page wurde per Zufall vorher ins RAM kopiert. Das ist richtig grausam, da hier unwissentlich viele Fehler im Interrupt-Code schlummern.
Ich selber hatte mal einen 64-bit-Timerwert in einer Timer-Interruptfunktion bearbeiten müssen, und da die MCU nur 32-bit-Werte teilen kann, wurde intern ein Compiler-Helper aufgerufen, der die 64-bit-Division vornimmt. Dieser lag natürlich im Flash-Speicher und da war der zufällige Crash. Ich habe damals Tage gebraucht, um dieses Problem zu erkennen.
Der OTP-Speicher (One Time Programmable) ist dann interessant, wenn man einmalige Informationen wie Kalibrierungswerte, Seriennummer, Hardware-Revision, MAC-Adressen, Public Keys usw. speichern möchte. Der OTP-Speicher kann pro Wert nur einmal geschrieben werden, überlebt dafür aber eine neue Programmierung („Flash Erase“) und bietet somit eine hervorragende Möglichkeit, um Werte permanent zu speichern.
Meine NVProperty-Library unterstützt auch den OTP-Speicher. So wird ein Wert erst im Flash-Speicher gesucht und falls er dort nicht vorhanden ist, wird im OTP nachgeschaut. Die Library kann den OTP auch mehrfach beschreiben, wobei die hinteren Daten die gültigen Daten sind.
Beim „deepslepp“ für den Batteriebetrieb gibt es richtig große Unterschiede. Den Prozessor anzuhalten und abzuwarten bis der nächste Timer kommt oder eine GPIO-Pegeländerung stattfindet, ist mit Problemen behaftet. Eigentlich funktioniert das nur richtig gut beim STM32L4, weshalb dieser in unserem LoRa Turtle-Board zum Einsatz kommt und auch über 10 Jahre im Batteriebetrieb läuft. Die Unterschiede dabei sind, ob überhaupt ein Timer weiterläuft, wie lange die CPU braucht um aufzuwachen und ob die MCU an der letzten Stelle einfach weitermacht oder komplett neu starten muss. Hier eine Tabelle zu den Unterschieden:
Man sieht in der Tabelle, dass der ESP32 fast eine halbe Sekunde braucht, um nach einem „deepsleep“ zu reagieren. Zusätzlich ist das ganze RAM gelöscht (nur das RTC-Memory bleibt erhalten), da helfen die 7µA beim ESP32 auch nicht viel, wenn alles weg ist und ein Interrupt siebzigtausend mal länger dauert als beim STM. Beim D21 ist das besser, da hier nichts verloren geht. Allerdings braucht dieser leider 150 mal mehr Strom im „deepsleep“ als der STM, und die Erkennung der GPIO Rise/Fall funktioniert nicht bzw. nur auf „Change“.
Hier spielt die STM32L4-Serie in einer eigenen Liga.
Interrupts, Timer und GPIOs funktionieren eigentlich bei allen beschriebenen MCUs recht gut. Nur beim „deepsleep“ gibt es wesentliche Unterschiede, die bereits im obigen Abschnitt Strom sparen per „deepsleep“ erläutert worden sind . Solange kein Batteriebetrieb benötigt wird, spielt das keine Rolle und alles funktioniert bei allen gleich gut.
Die ESP32 Interrupt-Routinen machen Probleme, wenn Funktionen nicht mit dem Attribut „IRAM_ATTR“ versehen sind. Das wurde bereits oben in den Abschnitten zum Flash- bzw. RAM-Speicher schon genauer beschrieben.
Überzeugend sind die 64-bit-Timer im ESP32, die aufgrund der Größe einfach nicht überlaufen können. Da sieht man, dass im ESP32 einfach vieles komplett neu gemacht wurde.
Bei den MCUs ist natürlich bei den Interrupts zu beachten, dass diese unterschiedliche Prioritäten haben können. Auch hier ist der STM32L4 den anderen MCUs überlegen, da er mehr Prioritäten verarbeiten kann. Bei den ARM-Prozessoren funktionieren die Interrupts alle identisch, es gibt halt nur eine unterschiedliche Anzahl von Prioritäten abhängig von der Version des ARM-Cortex.
In Interrupt-Routinen sollte man kleine Floats verwenden, da die Fließkommaregister (Floating Point Registers) nicht gesichert werden.
Alle besprochenen MCUs haben einen eigenen Quarz und arbeiten somit im regulären Betrieb für die meisten Anwendungsfälle hinreichend genau. D21 und STML4 haben eine RTC, die auch im „deepsleep“ oder nach einem Reset sekundengenau weiter läuft. Der ESP32 verliert sein Uhrzeit im „deepsleep“ bzw. die Uhrzeit ist dann so ungenau, dass diese für eine Zeitmessung nicht mehr zu gebrauchen ist.
Der ESP32 hat allerdings bei aktivem WiFi den Vorteil, dass er sich per NTP die aktuelle Uhrzeit holen kann. Das muss aber erst erst programmiert werden (WiFi aktivieren, NTP-Update).
Der ESP32 ist auf der einen Seite sehr leistungsfähig – um Faktoren der schnellste im Test und der einzige mit WiFi – kann aber hinsichtlich der Interrupt-Funktionen und beim Flash-Speicherzugriff auch zum Biest werden. Zusätzlich überzeugt beim ESP32 der 512 kB Hauptspeicher. Auch moderne 64-bit-Timer gibt es nur beim ESP32. Lediglich „deepsleep“ funktioniert nicht besonders gut.
Der D21 ist eine einfache Standard-MCU mit ARM-Prozessor. Er ist langsam, kann nicht besonders viel, läuft aber zuverlässig, und der eingebaute USB-Port gefällt. Die ADC-Messungen beim D21 funktionieren um Längen besser als beim ESP32.
Der STM32L4 ist eine moderne Cortex-M4-MCU mit Floating-Point-Unterstützung: USB funktioniert einwandfrei, Programmierung über USB-OTG wird unterstützt, ADC und alle GPIO-Modes funktionieren ebenfalls einwandfrei, er verfügt über einen Low-Power-Timer und der „deepsleep“ Modus ist unschlagbar. Mit 80 MHz ist diese MCU natürlich langsamer als der ESP32, und obwohl sie mit 64 kB RAM schon einen ordentlichen Speicher hat, bietet der ESP32 ein Vielfaches.
Ich hoffe, der Artikel bringt einiges Licht in das Dunkel der verschiedenen MCUs. Ich bin von den 32-bit-MCUs begeistert, da es hier vielfache Möglichkeiten für Projekte und Industrieanwendungen gibt. Eigentlich schon sensationell, was da alles so möglich ist!
Wenn es nach Covid-19 mit den Arduino-Hannover-Treffen wieder weiter geht, könnt Ihr gerne vorbei kommen und wir diskutieren über die MCUs und Eure Projekte.
Bis demnächst!
Mit nichts gestartet haben wir in Privat- und Vereinsbesitz inzwischen diverses hochwertiges Werkzeug, 3D-Drucker, Lasercutter, Mikroskope, Messgeräte, etc. die man natürlich nicht in irgendeine Kneipe schleppen kann. Unsere Besucher kommen nicht mehr nur aus der Region, sondern auch über Landesgrenzen hinweg. Auf der MakerFaire Hannover stellen wir inzwischen den größten Messestand insgesamt, da unsere Projektvielfalt so groß geworden ist.
Nun geht es aber um die Räume, für unsere regelmäßigen Treffen. Für die zukünftige Unterkunft gibt es ein paar Wünsche unsererseits:
Und alles dennoch bei einem für die Gruppengröße ausreichenden Platz. Wir wissen selbst, wie schwer es ist, das alles unter einen Hut zu bekommen. Aber wir sind ja auch nicht untätig. Leider wurde uns das Ultimatum nun gesetzt, nachdem wir allerlei Renovierungen und Ausbauten aus Vereins- und Privatmitteln durchgeführt haben. Das ist schade, hält uns aber nicht davon ab, eine weitere Umbauaktion in Angriff zu nehmen, sodass wir neue Räumlichkeiten mit unserem geballten Know-How von Maschinenbau, Holz, Elektrik und Raumausstattung auch aktiv in die Verbesserung einbringen würden.
Also wir bieten:
Wir hoffen, dass wir bald in neuen Räumlichkeiten wieder mit gutem Gewissen und Sicherheit unser Wissen verbreiten können und freuen uns über jede Unterstützung.
P.S.: Finanzielle und Materielle Zuwendungen können direkt an das LeineLab gerichtet werden. Mit der nächsten Mitgliederversammlung noch 2019 sollte auch das LeineLab den Status der Gemeinnützigkeit erlangen.
]]>Die unterbrechungsfreie Stromversorgung (USV) der FRITZ!Box habe ich gemäß Projekt einiger Arduino-Hannover-Teilnehmer nachgebaut. Einfach ein Netzteil (13,5 V/3 A) anstelle des FRITZ!Box-Netzteils nutzen und parallel einen 12-V-Bleiakku, der in seiner Zuleitung mit einer Feinsicherung abgesichert ist, anschließen. Das System bietet für mich verschiedene Vorteile:
Das Netzteil betreibt die FRITZ!Box und lädt nebenbei noch den Akku auf, was recht effektiv ist. Über den Bleiakku (12 V/12 Ah) kann die FRITZ!Box 7490 ca. 12-24 Stunden betrieben werden.
Eine energietechnisch ineffiziente Lösung per Standard 230-V-USV entfällt. Diese würde die Netzspannung zunächst auf 24 Volt wandeln, um die UPS-Akkus zu laden, parallel würde ein Inverter die 24-V-Akkuspannung auf 230-V-Netzspannung transformieren, welche dann per FRITZ!Box-Netzteil wiederum auf 12 V heruntergesetzt wird. Diese Herangehensweise ist, wie sich vermutlich jeder gut vorstellen kann, mit beträchtlichen energetischen Verlusten behaftet.
Meine USV | HP T750 G2 UPS | |
---|---|---|
Akku | 1x 12 V/12 Ah | 2x 12 V/12 Ah |
Laufzeit FRITZ!Box | min. 13 Stunden | ca. 5 Stunden |
Stromverbrauch (Akku voll) | 10,9 Watt | 25 Watt |
Stromkosten/Jahr (29 ct/kWh) | 27,69 € | 63,51 € |
Die Tabelle zeigt, dass meine FRITZ!Box-Lösung sehr effizient ist. Umgerechnet auf eine identische Akkuleistung ist die Laufzeit meiner USV im Vergleich zur HP-USV mehr als fünfmal so lang!
Ziel war es, das gesamte USV-System möglichst mobil zu halten, um es leicht abbauen und für etwaige Wartungsarbeiten auf einen Werktisch legen zu können. Hierfür habe ich einfach Filzgleiter unter den Akku geklebt. Das Netzteil habe ich mit einem Kabelbinder oben auf dem Akku befestigt. Zusätzlich wurden zwei Kanten des Netzteils per Heißklebepistole fixiert, sodass es nicht wackelt. Die Kabel zwischen Netzteil, Hohlstecker und Akku wurden zusammengelötet (alle Minus- sowie alle Plusleitungen zusammen) und dann mittels Schrumpfschlauch geschützt. Der Sicherungshalter und die Flachsteckhülsen wurden ebenfalls per Schrumpfschlauch geschützt, sodass keine stromführenden 12-V-Leitungen aus Versehen Kurzschlüsse verursachen können. Das fertige Modul habe ich dann auf einen Regalplatz an die Wand neben die FRITZ!Box gestellt, wobei ein kleiner Metallwinkel verhindert, dass der Akku vom Regel rutscht. (Die 230-V-Kabelführung ist mittlerweile mit Kabelschellen fixiert!)
Die Ladung den Bleiakkus geschieht ohne zusätzlichen Regler, da die 13,5 V vom Netzteil den Bleiakku laden und, wenn dieser voll ist, die Spannung als Erhaltungsladung des Akkus dient. Einen Schutz bei Tiefentladung habe ich bisher nicht realisiert, das lässt sich zukünftig sicherlich noch verbessern. Für meine Anwendung kann ich gut damit leben.
Die Bauteile für Lösung kommen zusammen auf ca. 25,- € (Akku und Kleinteile). Ein Netzteil 13,5 V/3 A kommt mit ca. 15,- € noch dazu – davon habe ich aber noch ausreichend liegen. Meine vorhandenen Netzteile liefern mit angeschlossener FRITZ!Box noch 13,6 V, was zum Aufladen sowie als Erhaltungsspannung für den Akku optimal ist.
Wichtiger Hinweis: Die Spannung des Netzteils sollte zwischen 13,6 V und 13,8 V liegen.
Bezeichnung | Artikel-Nr. | Kommentar | ||||
---|---|---|---|---|---|---|
Blei-Akkumulator | 94-271198 | 12 V/12 Ah | ||||
Hohlstecker | 94-450499 | Außen 5,5 mm, innen 2,5 mm, lange Version | ||||
Sicherungshalter | 94-260778 | Für Feinsicherung 5×20 mm | ||||
Feinsicherung (3 A, Träge) | 94-260211 | 5×20 mm | ||||
Sortiment Flachsteckhülsen | 94-800171 | Es werden nur 2 Flachstecker (6,3 mm) benötigt | ||||
Silikonlitze 1,5 mm2 (rot) | 94-562007 | Nur 30 cm Kabel notwendig, den Rest verwende ich anderweitig | ||||
Silikonlitze 1,5 mm2 (blau) | 94-562009 | Nur 30 cm Kabel notwendig, den Rest verwende ich anderweitig | ||||
Schrumpfschlauch 1 cm | 440138 | Ø 1 cm, wird ca. 50% kleiner | ||||
Netzteil (13,5 V/3 A) – (davon haben ich noch ausreichend auf Lager, daher keine Bestellung) |
Teilnehmer, die zu unseren Arduino-Hannover-Treffen kommen und die FRITZ!Box-USV nachbauen, können von mir solch ein Netzteil kostenlos erhalten.
Q: Wird ein Tiefentladeschutz benötigt?
A: Ein Tiefentladeschutz wäre schön, macht das Ganze aber aufwendiger und teurer. Bei der FRITZ!Box gehe ich davon aus, dass diese permanent durchläuft und ein Stromausfall nicht länger als 14 Stunden andauert; somit wird der Akku nicht tiefentladen. Sollte dies trotzdem einmal passieren, kann die Kapazität abnehmen bzw. der Akku über einen längeren Zeitraum Schaden nehmen. Ein neuer Akku kostet 20,- € und dieser muss sowieso ca. alle 5 Jahre ausgetauscht werden. Bei Kapazitätsverlust oder defektem Akku tausche ich diesen einfach aus.
Q: Ist ein regelmäßiger Funktionstest sinnvoll?
A: Ich persönlich werde die Lösung ca. alle 6 Monate testen, indem ich bei voll geladenem Akku den Netzstecker abziehe, sodass die FRITZ!Box per Akku läuft. Bei uns fallen eine nicht funktionierende Internetverbindung und Telefon sofort auf. Damit stelle ich fest, wie lange der Akku gelaufen ist und stecke den Netzstecker ein. Das mache ich am besten tagsüber, wenn ich zuhause bin, damit ich die Akkulaufzeit notieren und den Netzstecker zeitnah wieder einstecken kann.
Q: Was ist bei einen längeren Stromausfall zu tun?
A: Sollte der Stromausfall so lange dauern, dass der Akku schon leer ist oder abzusehen ist, dass der Strom länger ausbleibt, entnehme ich einfach die Sicherung um einer Tiefentladung vorzubeugen. Wenn der Strom wiederkommt, läuft die FRITZ!Box sofort weiter. Ich stecke dann die Sicherung wieder ein, damit der Akku geladen wird. Wie gesagt, im Notfall nehme ich einen Akkuaustausch (20,- €) in Kauf.
Q: Kann die FRITZ!Box die 13,6 V auf Dauer vertragen oder nur mit angeschlossenem Akku?
A: Die FRITZ!Box kann mit höheren Spannungen als 12 V betrieben werden, 15% mehr (13,8 V) sind überhaupt kein Problem. Die Lösung kann auch ohne Akku betrieben werden, falls dieser mal nicht verfügbar ist oder nicht funktioniert.
Mein Tagwerk war heute die ordentliche Verdrahtung des Chinesischen Bierreaktors. Es werden dann doch immer mehr Kabel als gedacht. Bis auf die Lüsterklemme, die im richtigen Leben auf einer Hutschiene stecken müsste, ist alles nun ordentlich in einem Aludruckgussgehäuse verpackt. Es werden zwei Heizungen (1800 Watt + 700 Watt) und eine Pumpe per 3x Solid-State-Relais (SSR = elektronische Relais ohne mechanische Schaltkontakte) vom ESP32 geschaltet. Der 5 Volt Schaltstrom für die SSRs kann zur Sicherheit zusätzlich per Schalter hart unterbrochen werden.
Die von Klarstein bereits verbauten Thermosicherungen – 1x reversible (125°C) und 1x irreversible (140°C) überwachen die Temperatur der Heizelemente und schalten bei Überhitzung softwareunabhängig ab. Bei Klarstein befand sich allerdings der „Computer“ mit in der Absicherungsschleife, was bei den ersten Klarsteins zu Problemen führte.
Ein DS18b20 überwacht die Temperatur des SSR Kühlkörpers. Ein PT100 ragt von unten in den Biersud und steuert den Brauvorgang hauptsächlich. Ein zweiter DS18b20 misst die Sudtemperatur am Pumpenausgang – was auch immer ich mit dem Wert später anstelle.
Alle hardwarenahen Prozesse meiner Brausteuerung habe ich auf dem ESP32 über die Arduino IDE programmiert. Der ESP misst die Temperaturen und schaltet die SSRs vorgabegemäß. Der ESP ist per serieller 2-Draht Leitung mit einem NEXTION Touch Display verbunden. Diese Displays haben einen eigenen Prozessor, den man in einer graphischen PC-Oberfläche sehr komfortabel programmieren kann. Die Bedienoberfläche wird dabei per Drag and Drop aus Standardelementen wie Knöpfen und Eingabemasken erzeugt. Wer schon einmal „zu Fuß“ solche Bedien-Oberflächen in C geschrieben hat, kann die Zeitersparnis schnell einschätzen. Es sieht dann alles sehr professionell aus und man ist auch schneller gewillt, ein paar extra Menüpunkte zu spendieren….
Wer mehr zum Thema Bier Brauen und Arduino wissen möchte, besucht einfach meine Homepage:
http://rainer.radow.org/brauen.php#top?utm_source=rss&utm_medium=rss
]]>