EVSE mit Phasenumschaltung

Zeig deine EVSE-WiFi Wallbox
Antworten
Deti
Beiträge: 3
Registriert: Do 3. Jun 2021, 21:44

EVSE mit Phasenumschaltung

Beitrag von Deti »

Für das PV-Überschussladen empfiehlt es sich flexibel zwischen einphasiger und dreiphasiger Ladung umschalten zu können. Leider fehlt in der aktuellen Version (2.2.2) von EVSE-Wifi diese Möglichkeit. Ich habe deshalb alle fehlenden Funktionen in Soft- und Hardware nachgerüstet. Das Ergebnis sieht nun so aus:
IMG_20210527_131859.jpg
IMG_20210527_131859.jpg (1.56 MiB) 7271 mal betrachtet
Auf den ersten Blick fällt ein zweiter Schütz auf, der L2 und L3 nach Bedarf zuschalten kann. Damit das ordentlich (ohne Gefahr für das EV) geschehen kann, muss die Software vor der Umschaltung einen eventuell laufenden Ladevorgang stoppen und danach ggf. wieder starten.

Hierfür gibt es im Web-Frontend im Dialog zur Stromstärkeneinstellung nun die Buttons '1P' und '3P':
currentmodel.jpg
currentmodel.jpg (44.06 KiB) 7271 mal betrachtet
Natürlich lässt sich diese Umschaltung auch über die API über den neuen Call 'setNumPhases' per http oder über das Websocket-Kommando 'setnumphases' vornehmen. Da im Falle eines nur einphasigen Stromzählers auch der MeterFactor umgestellt werden muss, gibt es nun auch dazu korrespondierend den API-Call 'setMeterFactor'. Auch im ModBus-Master finden sich in den Registern 40004 und 40005 die entsprechenden Einstellungen zum Lesen und Schreiben.

Im 'Settings'-Dialog kann der Zustand der Phasenumschaltung nach dem Booten unter 'Three phase operation' festgelegt werden. Initial ist die Phasenumschaltung gänzlich deaktiviert. Um die Funktion freizuschalten, empfiehlt es sich ein Backup der Einstellungen herunterzuladen und mit dem Texteditor den Wert 'numPhases' auf 1 oder 3 zu setzen. Danach wird das Backup wieder eingespielt.

Per Web-API würde die Phasenumschaltung so vorgenommen werden, wenn man den PV-Überschuss als Leistung übergibt:

Code: Alles auswählen

function wbset (power) 
{
  var amps;
  if(power < 1380) {
    wget(evseuri+"setStatus?active=false");
  } else {
    if(power < 4140) {
      wget(evseuri+"setNumPhases?numPhases=1");
      await sleep(1000);
      wget(evseuri+"setMeterFactor?meterFactor=1");
      await sleep(1000);
      amps = power/230;
    } else {
      wget(evseuri+"setNumPhases?numPhases=3");
      await sleep(1000);
      wget(evseuri+"setMeterFactor?meterFactor=3");
      await sleep(1000);
      amps = power/230/3;
    }
    wget(evseuri+"setCurrent?current="+parseInt(amps));
    await sleep(1000);
    wget(evseuri+"setStatus?active=true");
  }
}
Ich habe einen minimalistischen Stromlaufplan gezeichnet, der sich auf die Phasenumschaltung konzentriert und auf OLED, NFC, LED sowie Taster verzichtet:
simple-evse-esp32.png
simple-evse-esp32.png (143.67 KiB) 7271 mal betrachtet
Meine Entwicklungen sind spontan über die Pfingstfeiertage entstanden und ich hatte nur ein normales ESP32 Devkit-Board herumliegen, das ich zusammen mit einem Simple EVSE WB-Modul in ein 2TE-Hutschienengehäuse geklebt habe. Für den nicht so versierten Bastler empfehle ich natürlich das offizielle EVSE-Wifi-Modul, das alle Schnittstellen einfach zugänglich zur Verfügung stellt.

Der Quellcode meines Forks ist unter https://github.com/baycom/SimpleEVSE-WiFi zu finden. Alle neuen Funktionen sind sicherheitshalber nur im Environment 'esp32doit-devkit-v1' verfügbar. Vielleicht fühlt sich Mathias motiviert den Pull-Request in seinen Code zu integrieren.

aiole
Beiträge: 1153
Registriert: Di 12. Mai 2020, 10:54

Re: EVSE mit Phasenumschaltung

Beitrag von aiole »

Ein interessanter Ansatz. Immer wieder schön zu sehen, wie kreativ hier einige zur Sache gehen.
Danke für den Input!

eine Anmerkung
Ich hätte Angst, dass ein unbeabsichtes High am IO32/IN1 während einer 1p-Ladung zu einer ungewollten Umschaltung auf 3p führen kann (oder auch anders herum). Das mögen manche EV nicht und kann im worst case zum Defekt des OBC führen.

btw
Über 1p3p denken wir schon länger nach, da dieses feature vermehrt nachgefragt wird. Der Pin-Aufteilung des ESP32 (nur v2.x) wurde dazu bereits Mitte 2020 entsprechend vorbereitet. Wenn es kommt, wird es wie bereits geplant realisiert.
Zunächst soll allerdings erst "LAN" fertiggestellt werden.

ps
an die Nachbauer der gezeigten Lösung:
Hier wird eine "EVSE WB" mit UART-Anschluss verwendet - nicht die übliche "EVSE DIN mit RS485", welche z.B. in der smartWB zum Einsatz kommt !

Deti
Beiträge: 3
Registriert: Do 3. Jun 2021, 21:44

Re: EVSE mit Phasenumschaltung

Beitrag von Deti »

Ich teile diese Bedenken, wenngleich sich mein ID.3 für eine Änderung der verwendeten Phasen während des Ladevorgangs nicht interessiert. Es ist aber nicht auszuschließen, dass andere Hersteller hier weniger Schutzvorrichtungen eingebaut haben (z.B. Zoe).
Um sicher zu gehen, dass die 1p3P-Umschaltung nicht ungewollt passiert, könnte man ein D-Flip-Flop integrieren, das seine Clock-Leitung aus der Ansteuerung des ersten Schützes gewinnt. So würde eine Zustandsänderung nur dann propagiert, wenn der Hauptschütz vorher aus war.
Ohne D-Flip-Flop rate ich dazu den 3-Phasenbetrieb im Settings-Dialog ausgeschaltet zu lassen, so dass nach einem Neustart des ESP32 nicht ungewollt L2 und L3 zugeschaltet werden.
Im Test ist mir noch aufgefallen, dass es immer wieder zu Watchdog-Resets kommt. Ich glaube Ursache sind sporadische Lesefehler auf dem Modbus zum ESVE-Modul. Hier könnte Abhilfe mit gezielten esp_task_wdt_reset()-Aufrufen in den Schleifen beim Fehlschlagen der Modbus-Kommandos geschaffen werden.
Für mich war das eine nette Bastelei über Pfingsten und ich wünsche euch viel Erfolg mit euren Modulen und Wallboxen!

Deti
Beiträge: 3
Registriert: Do 3. Jun 2021, 21:44

Re: EVSE mit Phasenumschaltung

Beitrag von Deti »

Ich habe das EVSE-DIN/WB-Modul noch testweise wegrationalisiert. Das 1kHz-Signal erzeuge ich direkt aus dem ESP32 (im Schaltplan PILOTOUT) und der Eingang (PILOTIN) geht direkt an einen Analogeingang. Die PP-Erkennung habe ich aktuell nicht gebaut, aber das wäre ja auch nur ein weiterer Spannungsteiler. Ich denke es wäre durchaus lohnenswert die Funktionalität des EVSE-DIN/WB-Moduls direkt auf das ESP32-Board zu packen. Ein bissl doof ist die -12V-Versorgung. Da braucht's halt dann auch eine +12V Versorgung statt der bisher üblichen 5V für den ESP32. Bei der Gelegenheit könnte man doch die Differenzströme direkt per Analogeingang am ESP32 messen. So könnte man sich den RCD ebenfalls sparen. Das Ganze ist ja nicht gerade Rocketscience.
cp-generation.png
cp-generation.png (169.56 KiB) 7212 mal betrachtet

aiole
Beiträge: 1153
Registriert: Di 12. Mai 2020, 10:54

Re: EVSE mit Phasenumschaltung

Beitrag von aiole »

Prinzipiell geht alles in einem uC, aber die EVSE ist ein sicherheitsrelevantes Bauteil (steuert das Schütz). DIY kann man alles machen, aber nicht wenn es in den Handel kommt und man dafür gewährleistet.

Ladecontroller wurden schon viele entwickelt. Da gibt es einige Details zu beachten.
Ich würde ihn z.B. nie in den Com-Controller hineinlegen. Eine EVSE sollte standalone mit keinen übertrieben komplexen uC laufen. Eher mit so wenig wie möglich.

Der Com-Controller macht dann das ganze Aufwendige drum herum. Es ist eine bewährte Aufgabenteilung, die gute Resultate liefert. Beides holt das jeweilige Optimum heraus und ermöglicht dennoch unabhängige Weiterentwicklung.

12V-NT mit Konverter auf -12V sowie 5V und 3.3V sind auf jeden Fall Pflicht.

Antworten