Jump to content

Umbau Phasenumschaltung für WARP 1


mattsches

Recommended Posts

Edit: Wer nur auf der Suche nach den aktuellen Binaries der wie unten beschriebenen modifizierten Firmware ist und nicht den ganzen Thread durchschauen möchte, bitte hier lang: https://github.com/mattsches1/esp32-firmware/releases

---

Hallo zusammen,

ich nutze mal den verregneten Abend, um das Umbauprojekt an meiner WARP 1 vorzustellen. Es gab ja hier im Forum schon mehrere Diskussionen zum Thema Phasenumschaltung, vielleicht ist das ja für den einen oder anderen interessant.

Mein Ziel war es, eine Phasenumschaltung direkt in die Wallbox zu integrieren, um ein optimiertes Überschussladen von unserer PV-Anlage zu erreichen. Über meine Haussteuerung wollte ich dabei nur die Ladeleistung vorgeben, und die Box sollte selbständig die passende Zahl zu schaltender Phasen bestimmen. Das heißt, ich wollte ohne weitere Hardware wie zusätzlicher Zähler, Umschalteinrichtung oder was auch immer auskommen.

Erreicht habe ich mein Ziel im Wesentlichen durch

  • Austausch des vierpoligen Schützes gegen drei zweipolige
  • Ergänzung je eines Industrial Quad Relay und Digital In Bricklets
  • Ergänzung eines Softwaremoduls zur Bereitstellung der zusätzlichen API-Endpunkte, Ansteuerung der Bricklets und des EVSEs

Eine CP-Trennung wäre sicher über das Industrial Quad Relay möglich, habe ich mir aber gespart, nachdem unser Auto sie offenbar nicht benötigt.

Auf den angehängten Bildern ist der Umbau zu sehen und ein Screenshot des neuen Moduls. Zum Zeitpunkt des Screenshots war der Ladevorgang beendet, es hätte aber noch mit gut 4200 Watt geladen werden können, also mit drei Phasen (daher "Angeforderte Phasen" auf "Drei").

Die Nutzung ist nun recht simpel: Meine Haussteuerung errechnet aus aktueller Ladeleistung + aktueller Einspeisung ins Netz (=aktuellem Überschuss) die neue Ladeleistungsvorgabe und schickt sie per HTTP API an die Box. Dabei habe ich eine Hysterese von 50 Watt vorgesehen, erst wenn sich der Sollwert also um mindestens diesen Betrag geändert hat, wird eine neue Vorgabe gemacht. Das ist aber alles Geschmackssache und erfolgt sozusagen bauseits. Anders ausgedrückt: Für die Ermittlung der gewünschten Ladeleistung ist die Infrastruktur verantwortlich, nicht die Box.

Übersteigt nun die Leistungsvorgabe die Grenze, ab der mit einer höheren Phasenanzahl geladen werden kann (mit Mindeststrom 6 A), erfolgt die Umschaltung. Und umgekehrt, wenn die Leistungsvorgabe darunter sinkt. Dabei muss die Leistungsvorgabe mindestens eine einstellbare Zeit über oder unter der Schaltgrenze liegen ("Verzögerungszeit", siehe Screenshot). Zudem wird die aktuelle Phasenanzahl unabhängig von der Leistungsvorgabe immer für eine gewisse Mindestdauer gehalten. Das mache ich, um ein zu hektisches Umschalten z. B. bei Wolken oder Lastwechseln im Haus zu vermeiden. Sonst geht zumindest unser Flitzer in Ladestörung. Ich habe das Modul dabei zur Zeit eher defensiv eingestellt, so dass relativ zügig zurück- aber eher spät hochgeschaltet wird (um Netzbezug möglichst zu vermeiden). Die Pause zwischen Stopp und erneutem Start des Ladevorgangs ist ebenfalls einstellbar.

Der Parameter "Betriebsart" bestimmt, wie viele und welche Phasen überhaupt genutzt werden sollen. Einstellbar sind:

  • Nur einphasig (also keine Umschaltung)
  • Nur zweiphasig
  • Nur dreiphasig
  • Ein-/zweiphasig
  • Ein-/dreiphasig
  • Ein-/zwei-/dreiphasig

Ideal wäre es natürlich, wenn das Auto auch mit zwei Phasen geladen werden kann. Geht bei unserem nicht, daher habe ich "Ein-/dreiphasig" in Betrieb.

Insgesamt funktioniert das bisher ganz prima. Im Diagramm auf dem Screenshot seht ihr in blau die Leistungsvorgabe. Grün ist die tatsächliche Ladeleistung, grau die Mindestleistung für die aktuell genutzte Phasenanzahl. Gut zu erkennen ist, wie ab ca. 8:20 Uhr die Ladeleistung trotz steigender Vorgabe konstant bleibt. Ich habe die Box wegen der Zuleitung auf 13 A gedrosselt, hier war das Maximum von knapp 3000 W erreicht. Ab ca. 10 Uhr war dann die Mindestleistung für drei Phasen lange genug überschritten, so dass die Umschaltung eingeleitet wurde. Gegen 11:30 Uhr lief die Spülmaschine, aber es reichte weiterhin für dreiphasiges Laden. Ebenfalls bei den dann aufkommenden Wolken. Um 12:45 Uhr war dann der gewünschte Ladestand erreicht.

Weiter war mir noch wichtig, den ganzen Mechanismus übersteuern zu können, "wenn's mal bressiert". Wird der Leuchttaster nun lange gedrückt, startet der Ladevorgang sofort mit der maximal eingestellten Phasenzahl und voller Leistung. Die Phasenumschaltung ist dann für diesen Ladevorgang deaktiviert, und die Leistungsvorgabe wird ignoriert.

Wer sich den Source Code reinziehen will, kann das gerne hier tun. Ich halte den Stand zur Zeit ziemlich aktuell, derzeit bin ich auf der Version 2.0.5. Weitere Infos und/oder eine compilierte Version der Firmware gibt es gerne bei Bedarf. Für jetzt ist der Roman erst mal lang genug.

Abschließend sei nur noch bemerkt, dass für einen solchen Umbau die entsprechende Sachkenntnis vorausgesetzt wird und das erforderliche Werkzeug vorhanden sein muss. Wer hier anpackt, tut das auf eigene Gefahr!

Cheers,

mattsches

P. S. Herzlichen Dank an dieser Stelle an Erik (rtrbt) für die stets schnelle, freundliche und kompetente Unterstützung! Cool, mit welcher Offenheit ihr hier solchen Aktionen gegenübersteht!

Umbau Phasenumschaltung 1.jpg

Umbau Phasenumschaltung 2.jpg

Screenshot Phasenumschaltung.png

bearbeitet von mattsches
Link zu Repo aktualisiert
Link zu diesem Kommentar
Share on other sites

  • 1 month later...

Hallo Mattsches, großes Kino, was Du dort aufgebaut hast! Hut ab. Und ich stimme Dir zu, dass es erstklassig ist, von TF derart unterstützt zu werden, daß am Ende eine komplett SW-seitig integrierte Version rauskommt. 

Nun aber die unausweichliche Frage an

@rtrbt... Habt Ihr vor die Lösung in Euren Standard zu übernehmen und in der SW-Pflege einzubinden? 

Mit ist zwar klar, dass Eure Lösung auf dem eigenen Stromzähler basiert, aber Mattsches' Lösung scheint ebenso einen größeren Kreis anzusprechen, die den Überschuss bereits ermitteln können. 

Und natürlich würde ich gerne Mattsches Lösung übernehmen/nachbauen, allerdings nur, wenn ich von zukünftigen Updates weiter partizipieren kann. 

Beste Grüße, Thomas 

Link zu diesem Kommentar
Share on other sites

Zumindest den Teil dass du per MQTT die Stromzählerwerte setzen kannst haben wir schon: https://www.warp-charger.com/api.html?v=2#meter_state_update (und die Funktionen danach)

Den Software-Support für den Umbau auf drei Schütze, die dann nicht direkt vom EVSE gesteuert werden, werden wir nicht übernehmen.

@mattsches weil ich gerade nochmal über den Code gescrollt bin: Du solltest hier: sicherheitshalber https://www.tinkerforge.com/en/doc/Software/Bricklets/IndustrialQuadRelayV2_Bricklet_uC.html#c.tf_industrial_quad_relay_v2_set_monoflop

statt set_value verwenden, zumindest für die Channels bei denen du das Schütz durchschaltest. Das hat den Vorteil, dass falls der ESP aus irgendeinem Grund abschmiert oder hängt, das Quad Relay abschaltet, wenn der Monoflop abgelaufen ist.

Link zu diesem Kommentar
Share on other sites

@rtrbt Guter Hinweis, danke für den Tipp! Habe ich gleich übernommen.

@ThomKa Ich wollte das Umschaltverhalten noch etwas optimieren, und neulich habe ich beobachtet, dass die Phasenumschaltung das EVSE-Bricklet nicht mehr richtig gestartet hat. Ich hatte aber noch keine Zeit, dem nachzugehen. Wichtig ist generell, dass mein Umbau auf der WARP1 basiert. Für WARP2 müsste man da nochmal  Hand anlegen. Das kann ich schon aus zeitlichen Gründen nicht leisten, aber auch, weil ich gar keine WARP2 habe.

Link zu diesem Kommentar
Share on other sites

@mattsches Ausgangssituation bei mir: TF WARP1, verdrahtet mit 6 qmm und abgesichert über 32A.
Also wenn ich es richtig verstanden habe, geht es doch um Folgendes...

Die Bricklets und Zubehör habe ich im TF Shop gefunden - Invest von ~ € 60,-

Als Installationsschütze hätte ich zwar gerne welche mit 32A (FINDER 22.72.0.024) oder 40A (FINDER 22.44.0.012) eingesetzt, aber leider braucht der 22.72.0.024 mindestens 24V Spulenspannung und Platz für einen weiteren DC/DC-Wandler haben wir ja leider nicht. Und den 22.44.0.012 gibt es nur mit 4 Kontakten, womit diese dann auch nicht mehr ins Gehäuse passen würden. 

Die FINDER 22.32.0.012.4340 sind bei VOELKNER lieferbar - Invest von 3* ~ € 20,-

Die Verkabelung habe ich wie folgt verstanden:

  • Über den ersten Schütz (im Bild links) 
    • schaltest Du mit dem ersten Schließer die erste Phase "L1" des Ladekabels
    • und mit dem zweiten Schließer den Nullleiter "N" des Ladekabels
      ... damit ist immer mindestens der erste Schütz und somit auch "N" zuschalten
      ... allerdings hast Du damit keine Statuskontrolle des ersten Schütz   -   ? RICHTIG ?
  • Über den zweiten und dritten Schütz
    • schaltest Du mit dem jeweils ersten Schließer die zweite und dritte Phase "L2" und "L3" des Ladekabels
    • und mit dem jeweils zweiten Schließer die +12V auf den Digital-In-Bricklet   -   ? RICHTIG ?
      ... deshalb sind auch nur 2 Kanäle am Digital-In-Bricklet belegt
  • Vom Quad-Relay-Bricklet (linkes Bricklet im Bild)
    • schaltest Du die Masse des Netzteils an die 3 Schütze (deshalb alle Adern in blau)
      ... über die Anschlüsse 1+2+3 - Anschluss 0 bleibt unbenutzt
    • führt das Flachbandkabel zum ESP32 (anzuschließen an einer freien Buchse)
  • Vom Digital-In-Bricklet (rechtes Bricklet im Bild)
    • kommen die roten Adern von den Schützen (s.o.) und die blauen Adern gehen an Masse des Netzteils
      ... über die Anschlüsse 2+3 - Anschluss 0+1 bleiben unbenutzt
    • führt das Flachbandkabel zum ESP32 (anzuschließen an einer freien Buchse)

Das sollte es doch eigentlich gewesen sein - ? KORREKT ? oder habe ich noch etwas übersehen?

Du bietest an, die kompilierte Firmware bereit zu stellen. Das wäre super 👍. Ich habe zwar im Visual Studio Code die Erweiterung für Platform.IO eingebunden und bereits TASMOTA Firmware für ESP32 kompiliert, traue mir das in diesem Fall aber nicht zu. Sollte sich irgendwo eine (für mich 🙈) verständliche Anleitung finden, dann würde ich es auch gerne kompilieren... 

Würde mich freuen von Dir zu hören und das Projekt umzusetzen. Vielen Dank schon mal vorab.

Link zu diesem Kommentar
Share on other sites

Das ist soweit ganz gut zusammengefasst. Mit folgenden Abweichungen:

  • Zur Montage habe ich nicht das TF-Montageset verwendet, weil die Stehbolzen zu lang wären und die Frontplatte sich nicht montieren ließe. Ich habe stattdessen M3-Gewinde in die Frontplatte gebohrt und die Bricklets mit entsprechenden Schrauben und 3mm-Distanzhülsen montiert (z. B. https://www.ebay.de/itm/323444967354, https://www.ebay.de/itm/143982745911).
  • Die Statuskontrolle des ersten Schützes erfolgt wie vor dem Umbau durch das EVSE-Bricklet. Am linken Schütz siehst du, wie einerseits das Ladekabel ankommt und andererseits eine 6 mm²-Leitung nach rechts zum Sicherungsblock geht. Von dort führt dann die rote Einzelader zum Eingang auf dem EVSE-Bricklet. Nachdem Phase 1 beim Laden grundsätzlich geschaltet wird, braucht es hier keine Sonderbehandlung.

Den Kanal 0 des Industrial Relay Bricklets habe ich für eine mögliche Trennung der CP-Leitung frei gelassen. Unser Auto braucht das nicht, es gibt jedoch Modelle, die bei längerer Unterbrechung des Ladevorgangs "einschlafen" und durch eine Trennung dieser Signalleitung aufgeweckt werden können, da sie ein Abziehen und Stecken des Steckers detektieren. Ob das bei deinem Auto der Fall ist, kann ich nicht sagen. Dazu müsstest du Tante Google mal bemühen.

Wenn du platform.io unter VS Code bereits am Laufen hast, ist das Bauen der Firmware übrigens kein Hexenwerk mehr. Schau mal hier im Forum, das wurde hier meine ich schon detaillierter beschrieben.

Das mit den Schützen ist übrigens ein guter Hinweis! Ich hatte die 22.72 als mögliche Option auf dem Radar, falls ich mal auf 32 kW aufrüsten sollte. Allerdings hatte ich die Spulentabelle nicht angeschaut und übersehen, dass es die nur mit mindestens 24 V gibt. Evtl. wäre hier die 230 V-Variante in Kombination mit einem Industrial Dual AC Relay Bricklet sinnvoll (https://www.tinkerforge.com/de/shop/bricklets/industrial/industrial-dual-ac-relay-bricklet.html). Das baut allerdings etwas höher und sollte auch wegen der 230 V Steuerspannung m. E. eher hinter der Abdeckplatte verschwinden.

Also dann - viel Spaß beim Umbau! Ich hatte ihn... :-)

Link zu diesem Kommentar
Share on other sites

Grüße zusammen,

bin auch schon dabei das Projekt von @mattsches zu kopieren. Für die Schütz habe ich die Finder 22.72.0.012.1310 gefunden. 32A passend zur Auslgeung der Warp1 und mit 12V gesteuert um keinen extra Wandler zu benötigen.

Erhlicher Weise habe ich nicht auf die Dimension geachtet und hoffe dass ich nicht noch eine Überraschung erlebe...

Mal sehen wann ich dazu komme den Nachbau umzusetzen.

Gruß

Link zu diesem Kommentar
Share on other sites

Ach schau an, dann gibt es die 22.72 doch mit 12 V Spulenspannung. Im Katalog hatte ich die nach @ThomKas Hinweis eigens gesucht, aber nicht gefunden. Sehr schön. Die Schütze sind eine TE breit (17,5 mm), genauso wie die 22.32. Passen also rein, auch wenn das alles natürlich ein ganz schönes Gefummel ist.

Viel Spaß beim Umbau!

Link zu diesem Kommentar
Share on other sites

Dachte ich mir schon 😉. Voelkner ist der Einzige, der den Artikel führt. Mit einem Bild des 230'ers. Habe gerade bei der Hotline angerufen und muss jetzt per Mail anfragen, da die Verkaufshotline dies nicht prüft und beantworten kann... Ich liebe es 🤮

Ich würde diesen nicht bestellen, da es sich mit Sicherheit um einen falsch angelegten Artikel handelt. 

Update folgt, wenn eine Antwort von Voelkner vorliegt. 

bearbeitet von ThomKa
Link zu diesem Kommentar
Share on other sites

Am 15.7.2022 um 10:01 schrieb rtrbt:

Zumindest den Teil dass du per MQTT die Stromzählerwerte setzen kannst haben wir schon: https://www.warp-charger.com/api.html?v=2#meter_state_update (und die Funktionen danach)

Den Software-Support für den Umbau auf drei Schütze, die dann nicht direkt vom EVSE gesteuert werden, werden wir nicht übernehmen.

@mattsches weil ich gerade nochmal über den Code gescrollt bin: Du solltest hier: sicherheitshalber https://www.tinkerforge.com/en/doc/Software/Bricklets/IndustrialQuadRelayV2_Bricklet_uC.html#c.tf_industrial_quad_relay_v2_set_monoflop

statt set_value verwenden, zumindest für die Channels bei denen du das Schütz durchschaltest. Das hat den Vorteil, dass falls der ESP aus irgendeinem Grund abschmiert oder hängt, das Quad Relay abschaltet, wenn der Monoflop abgelaufen ist.

An dem Umbau wäre ich evtl auch interessiert, aber nur bei offiziellem Support.

Deine Aussage dazu sagt aber nur was ihr NICHT übernehmen wollt :-)

Ich würde ungern an der Box basteln und dann nachher keine Firmware Aktualisierung mehr bekommen

Link zu diesem Kommentar
Share on other sites

Wollte ja niemandem zu nahe treten...

Also Rückfrage beim Hersteller: Erste Antwort - Nö gibt es nur in 24V. Zweite Antwort: Achja, da war so eine große Nachfrage, dass wir den in 12V aufgelegt haben. Zur Sicherheit nachgefragt, ob der auch verfügbar ist 🙃. Ja, der Hersteller hat Bestand 👍. Und ja das Datenblatt ist nicht gepflegt worden.

Dann werde ich mal schnell 3* 12V Schütze bestellen 😉.

Danke, dass Ihr so hartnäckig ward 😎

Link zu diesem Kommentar
Share on other sites

17 hours ago, Doncarlos said:

An dem Umbau wäre ich evtl auch interessiert, aber nur bei offiziellem Support.

Deine Aussage dazu sagt aber nur was ihr NICHT übernehmen wollt :-)

Ich würde ungern an der Box basteln und dann nachher keine Firmware Aktualisierung mehr bekommen

Offiziellen Support gibt es nicht. Du brauchst zwingend die Firmware-Modifikation, damit die drei Schütze geschaltet werden, den Code übernehmen wir aber nicht -> Du brauchst die Firmware mit den Änderungen von mattsches, die er (oder irgendjemand anderes, ist ja alles open source) zumindest gegen die jeweils aktuelle Version einmal kompilieren muss und gegebenenfalls anpassen, falls wir die Interna verändert haben.

Wir helfen natürlich, wenn es da Fragen gibt, aber sozusagen ohne Erfolgsgarantie.

Link zu diesem Kommentar
Share on other sites

vor 3 Stunden schrieb rtrbt:

und gegebenenfalls anpassen, falls wir die Interna verändert haben.

Wir helfen natürlich, wenn es da Fragen gibt, aber sozusagen ohne Erfolgsgarantie.

@rtrbt: Darauf komme ich gleich mal dankend zurück. Ich hänge gerade auf deinem letzten Commit, strauchle aber gewaltig über die Umstellung auf symlinks für die arduino-esp32 Packages (52db2a60). Muss ich meine Umgebung nun auch so umstellen, dass ich die Packages gemäß https://github.com/Tinkerforge/esp32-firmware/tree/master/software/lib_builder selbst baue? Oder kann ich mir die Packages irgendwo als solche holen und und dann in das "packages" Verzeichnis symlinken? Ich glaube, hier brauche ich nochmal Schützenhilfe.

Link zu diesem Kommentar
Share on other sites

Nein die Bibliotheken musst du nicht selbst bauen. Die Anleitung im lib_builder-Ordner ist eher kurz weil das eher eine Erinnerungsstütze für mich ist.

Eigentlich sollte pio -e prepare wie gehabt die Bibliotheken runterladen und nach esp32-firmware/software/packages packen (wo sie bei dir auch schon liegen sollten?). Der einzige Unterschied ist jetzt, dass davor platformio eine Kopie der jeweiligen Unterordner (also z.B. esp32-firmware/software/packages/arduino-esp32-warp2-2.0.2 gezogen hat und jetzt diese per Symlink reinzieht. Das spart etwas Platz und führt vorallem dazu, dass man Dinge ändern kann und die sofort in die Firmware kompiliert werden ohne Verrenkungen.

Link zu diesem Kommentar
Share on other sites

On 7/20/2022 at 2:08 PM, mattsches said:

Ahaaa, danke! Kann es sein, dass mein Build nach dem Hochziehen auf den aktuellen Stand gescheitert war, weil ich pio run -e prepare nicht ausgeführt hatte? Denn das mache ich ja normalerweise nicht.

"pio run -e prepare" fällt jetzt auch weg. Wir haben einen Weg gefunden zusammen mit der symlinks diesen Schritt automatisch auszuführen.

Link zu diesem Kommentar
Share on other sites

Am 18.7.2022 um 09:11 schrieb mattsches:

Das ist soweit ganz gut zusammengefasst. Mit folgenden Abweichungen:

  • Zur Montage habe ich nicht das TF-Montageset verwendet, weil die Stehbolzen zu lang wären und die Frontplatte sich nicht montieren ließe. Ich habe stattdessen M3-Gewinde in die Frontplatte gebohrt und die Bricklets mit entsprechenden Schrauben und 3mm-Distanzhülsen montiert (z. B. https://www.ebay.de/itm/323444967354, https://www.ebay.de/itm/143982745911).

Hi @mattsches, mit dem TF MountingKit geht es auch, wenn man die Bricklets auf dem Kopf montiert. Zugegebenermaßen sieht es dann etwas ungewöhnlich aus, aber funktional ist es dennoch :-)

image.thumb.png.8c01378f80e38b3f82309fa5f883ce54.png

Sobald die 3*32A Schütze angekommen sind erstelle ich das Umbau-Tutorial und schicke es Dir zum Gegenlesen zu. Wäre nett, wenn Du dafür ein wenig Zeit finden könntest.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...