Habe ich auch im ersten Beitrag ergänzt
Was für ein Kabel verwendet ihr von Pylontech Batterie zu CAN Transceiver?
Das ist doch Ethernet auf der einen Seite oder. Zerschneidet man da alte LAN Kabel und ist das pinout welche Leitungen dann CAN High und CAN Low sind?
Zu dem Thema noch eine Frage, ich habe schon häufig gelesen, dass viele Pylontech Akkus ein Firmware Update brauchen, das einen groben Fehler behebt im Zusammenhang mit Zell Balancing oder so. Hat damit jemand Erfahrung? Was für ein Kabel wird benötig von PC zu Batterie (USB zu Ethernet für CAN)? Gibt es das zu kaufen oder muss man wieder mit Lötkolben rumdoktern?
@energy-geek
Ich habe in der Tat ein altes LAN Kabel verwendet und den Stecker an einem Ende abgeschnitten. Die PIN-Belegung steht im Pylontech User Manual, siehe z.B. in https://greenakku.de/download/us3000productmanual%20v2-1.pdf, Kapitel 2.3, dort ist die Belegung des RJ45 Steckers beschrieben. CANH und CANL liegen auf den beiden PINs 4 und 5 (die beiden mittleren PINs des Steckers). GND liegt auf PIN 6, braucht man aber nicht.
Ich habe bis jetzt kein Firmware Update auf meinem Akku (US 5000) gemacht und gemäß der Ausgabe an der PylonTech Console ist der Akku noch recht gut balanciert. Aktuell liegt im geladenen Zustand die Differenz zwischen der Zelle mit der höchstens und der geringsten Spannung bei ca. 10mV (3,462 und 3,472 V). Das ist m.W. ganz OK.
Nachtrag: Viele nützliche Infos zu Pylontech Akkus finden sich unter: https://www.photovoltaikforum.com/thread/130061-pylontech-us2000b-daten-protokolle-programme/?pageNo=1
Vielen Dank erstmal für die schnelle Antwort, dann werde ich mich auch mal daran machen ein LAN Kabel zu recht zu basteln.
Noch eine Sache, ich bin gerade bei dem Versuch das Huawei Netzteil und opendtu on battery zum sprechen zu bekommen und habe auch zu erst das falsche MCP2515 Modul bestellt (ohne 3,3V und 5V Anschluss), habs trotzdem mal probiert ohne Modifikation, weil ich hier gelesen hab dass es bei manchen auch so funktioniert. Also bei mir tuts nicht. Es kommt ein Error auf der Konsole, Failed to send CAN message oder sowas. Hab bessere Modul von JoyIt schon bestellt hoffe das klappt dann, weil ich will eigentlich nur äußerst ungern daran rum schneiden und irgendeine Zusatzleitung anlöten oder was man da machen soll.
Mich würde da noch interessieren, welche Kabel/Adapter Lösungen die Leute verwenden, die das Netzteil lieber per Raspberry Pi (oder ähnliches) steuern.
Was habt ihr da im Einsatz, gibt's da eine unkomplizierte, robuste Lösung mit der ihr zufrieden seit oder ist das genau so eine Bastelei wie der Weg über openDTU?
@MalteS also quasi so?
@energy-geek
Das JoyIT Modul habe ich nicht ans Laufern gebracht. Vermutlich, daher habe ich dann doch dias vorgeschlagene MCP2515 Modul verwendet und die Modifikation gemacht, ist nicht so schwierig. Vermutlich muss man für das JoyIT Modul noch etwas im Code anpassen, da es z.B. einen anderen Takt verwendet.
Der Lasttrennschalter enthält die Sicherungen.
Sicherungen kommen immer in die Plus Leitung. Minus wird nie abgesichert. Von daher braucht's auch nur 2 Sicherungen in den Zuleitungen zum Hoymiles
Hast du schonmal die fertig compilierten Binaries aus dem on Battery Originalprojekt geflasht?
Dann hast du nämlich eine einfache Opendtu und nicht die on Battery Version.
Offensichtlich zeigen die Pfade des Autobuilders auf das original Repo statt auf das on Battery.
Es wäre schön, wenn man das mal fixen würde.
Da du offensichtlich Zugriff, oder Kaontakt hast, könnetst du ja da der Richtige sein. ![]()
Nein ich habe das nicht getan.
Laut der Release Page hier Release 2023.07.24 · hoylabs/OpenDTU-OnBattery · GitHub enthält das aber auch commits aus dem onbattery Projekt
Es gab die Woche ein paar Änderungen die ich mir nicht angesehen habe die aber evtl da irgendwelche Probleme gelöst haben
Ich kann nur sagen, dass ich und einige andere aus dem Ahoy Discord sich gewundert haben, dass sie Statt on Battery, das normale Opendtu drauf hatten, wenn sie die precompiled Bins geflasht haben.
Daraufhin hab ichs gelassen und alles mit der normalen Version und einem HA Script gemacht.
Frage zur Modifikation des CAN Moduls für Huawei PSU.
Zu erst mal äußerst Unbefriedigend dass solche dreckigen Eingriffe nötig sind um das Projekt zum laufen zu bekommen, das steigert die Hürden, für alle Interessierten, die nicht allerlei Werkzeug parat haben und die nötige Erfahrung sich sowas überhaupt zu zutrauen irgendwelche Leiterbahnen auf Platinen auf zu trennen ungemein, aber gut (sicher keine gute Lösung auf lange Sicht, weil man das Teil dabei schrotten kann und weil es einfach wieder eine Fehlerquelle mehr ist am Ende).
Die Leiterbahn freilegen und ein 5V Kabel anlöten scheint machbar aber wie trennt ihr die Leiterbahn konkret, also mit was für einem Tool?
Presst man da den Lötkolben drauf bis sich das Material irgendwann ablöst oder kratzt man da mit was Spitzen drauf rum so lange bis ein kleiner Abschnitt komplett frei von Leitfähigem Material ist?
Braucht man vielleicht so eine Lötzinnabsaugpumpe oder wie bekommt man das hin, dass die Leiterbahn nicht mehr durchgängig ist?
@energy-geek es geht auch ohne basteln: einfach das Vin des ESP32 nutzen und das can bus Modul darüber mit 5v versorgen. Geht natürlich nur, wenn man den ESP32 über USB mit Spannung versorgt, aber das ist, denke ich, im Regelfall gegeben.
@indie
Das Problem ist ja nicht, die 5V bereitzustellen, die kann man natürlich wie von Dir beschrieben bereitstellen. Das Problem ist:
Die GPIO PINs des ESP vertragen nur 3,3V. Wenn man das ganze CAN-Bus Modul mit 5V versorgt, dann liegen auch an den GPIO Pins des ESP, die das CAN Bus Modul mit dem ESP verbinden, diese 5V an. Das mag für eine Zeit funktionieren, beschädigt aber womöglich auf Dauer die IOs des ESP.
Darum trennt man auf die beschriebene Weise die Spannungsversorgung des Transceivers(TJA1050) von der des Controllers (MCP2515) und kann die dann getrennt mit Spannung versorgen: den Transceiver mit 5V und den Controller mit 3,3V.
Siehe auch: https://forums.raspberrypi.com/viewtopic.php?t=141052
I will answer: why to modify board?Because MCP2515 must be powered from 3,3V, because MCP2515 is directly connected to Pi GPIO and GPIO only accept 3,3V , higher voltage will break pin (so powering MCP2515 and TJA1050 from 5V will break Pi IOs). The TJA1050/MCP2551/etc. CAN bus transceiver must be powered from 5V, because CAN bus operates on 0V and 5V levels, lower high level is considered as noise/distortion (this is defined by CAN Bus specification).
@energy-geek:
Ich habe mit einem kleine Schraubenzieher zuerst den Schutzlack abgekratzt, um die Leiterbahn freizulegen und dann an einer Stelle diese Leiterbahn auch noch durchtrennt/abgeschabt. Mit einer Entlötpumpe kommst Du da nicht weit, denn die Leiterbahn ist ja nicht aus Lötzinn, sondern eine Kupferschicht auf der Platine.
Wenn einem die HW-Manipulation nicht so liegt, dann bekommt man das JoyIT Modul sicher auch zum Laufen, aber dafür muss man dann vermutlich die Programmierung
anpassen, z.B. in Huawei_can.cpp die Taktrate des CAN Controllers anpassen (das JoyIT verwendet glaube ich 16Mhz statt 8Mhz).Habe ich aber nicht weiter verfolgt und kann daher dazu nichts sagen.
Ok danke für die Antworten, habe jetzt die Modifikation gemacht und konnte zum ersten mal Leistungsdaten von Netzteil in open DTU sehen, was sehr schön ist, denn jetzt weiß ich endlich dass Huawei Netzteil CAN und das Modul überhaupt funktionieren prinzipiell.
Habe auch schon mein Power Meter am Stromzähler per HTTP JSON eingebunden in open DTU. Ich habe aktuell noch keine Last am Huawei Netzteil angeschlossen und hab nun folgendes Verhalten beobachtet. Wenn Ich den ESP mit Strom versorge schalten der Slot Detect und geht nicht wieder aus obwohl ich positive Last am Zähler habe, also kein PV Überschuss (im Moment bewölkt). Der AC Charger mit automatischer Leistungsregelung hab ich in den Einstellungen aktiviert.
Müsste jetzt nicht eigentlich das Netzteil erst mal wieder ausgehen, da es ja nicht laden sollte wenn kein Überschuss da ist?
Ich wusste gar nicht, dass es schon eine Version als Release gibt, in der eine Automatische Laderegelung über das Huawei integriert ist? Malte hat hier früher (https://www.akkudoktor.net/forum/postid/131901/) mal geschrieben, dass er an so etwas arbeitet, aber m.W. ist das noch nicht irgendwo released. In sofern vermute ich, dass das Slot Detect bei Dir aktiviert wird, weil der GPIO PIN einfach beim Boot auf High gezogen wird. Danach wird der Zustand m.W. durch OpenDTU gar nicht mehr gesteuert, das musst Du selbst über eine externe Logik erledigen. In der Konfiguration für das Ladegerät kannst Du aktuell einfach nur das CAN-Interface aktivieren oder deaktivieren, mehr macht der Switch dort nicht.
Mit dem Dynamic Power Limiter hast Du erstmal die Funktion, den Inverter abhängig vom Netzbezug/Überschuß regeln zu lassen. Aber das sorgt NICHT dafür, dass bei PV-Überschuss automatisch der Inverter deaktiviert und stattdessen das Netzteil aktiviert wird. Ganz zu schweigen von einer Laderegelung.
Dafür habe ich bei mir einen Node-Red Flow gebaut, der folgendes tut:
- Abhängig von der Rückmeldung des Stromzählers wird zwischen "Laden" und "Einspeisen" umschaltet. Um ein ständiges Hin- und Her zu vermeiden, erfolgt Umschaltung nur, wenn für eine bestimmte Zeit Überschuss bzw. Bezug vorhanden. Laden wird nur gestartet, wenn der SoC unterhalb eines bestimmten Schwellwertes ist.
- Inverter eingeschaltet (MQTT)
- Dynamic Power Limiter aktiviert - der übernimmt dann die ganze Regelung der Einspeiseleistung (MQTT)
- Inverter ausgeschaltet (MQTT)
- Netzteil eingeschaltet (ich nutze das Slot Detect nicht, sondern schalte das Netzteil AC seitig) (MQTT an mein Shelly)
- Netzteil Spannung auf die Absorbtionsspannung gesetzt (per MQTT)
- Dann ständig die Leistung des Netzteils an den aktuellen PV Überschuss angepasst (per MQTT)
- Nach Erreichen der Absorbtionsspannung noch eine Absorbtionsphase, um den Zellen Gelegenheit zum Balancing zu geben, dabei Strom auf 1A begrenzt. (MQTT)
- Stop des Ladevorgangs, wenn die Absorbtionsspannung erreicht wird, d.h. Netzteil ausschalten (MQTT an mein Shelly)
Naja also im neusten Release kann man den AC Charger auf jeden Fall nicht nur aktivieren, sondern es gibt auch eine "Automatische Leistungsregelung". Wenn man die einschaltet, kann man zusätzlich minimal und maximal Spannungs - und Leistungsgrenzen des Netzteils angeben. Vielleicht hast du recht und das ist noch nicht das tatsächliche, erhoffte Feature für automatisches Überschussladen aber es klingt halt stark nach sowas und open DTU hat bei mir auf jeden Fall irgendwelche Output Power Befehle per CAN ans Netzteil gesendet ohne mein eingreifen. Nur konnte ich eben nicht nachvollziehen was da versucht wurde zu regeln, Überschuss Laden, so wie ich es mir vorstelle, war es auf jeden Fall noch nicht.
Hoffentlich kann Malte was dazu sagen und erklären, was diese automatische Leistungsregelung eigentlich genau tut und was nicht.
Vielleicht ist es ja doch was ich dachte und es verhält sich nur komisch, weil bei mir noch keine Batterie am Netzteil hängt, sodass tatsächlich Strom fließt, wie es die Steuerung vermutlich erwartet, wenn sie die Ausgangsspannung ändert.
Doch das ist die Änderung von der ich hier gesprochen habe. Mein Ziel ist ja immer das die Sachen nicht in meinen Branches landen sondern in das eigentliche Projekt zurückfließen.
In der Version kann man
-
Das Netzteil / Slot detect komplett manuell steuern
-
Das Netzteil manuell steuern und Slot detect automatisch schalten lassen (Achtung das ist der neue Default). Wenn man Ströme > 1A hat schaltet das an. Wenn der Strom längere Zeit unter 1A fällt wird abgeschaltet.
-
Alles automatisch regeln lassen. Dazu wird die Info vom Power Meter benutzt
Bisschen getestet ist das ganze aber im Moment bekomme ich noch genug über die DC Ladelösung so das ich das nicht oft nutze. Wenn also was auffällt -> her damit.
Ein Limit dieser ganzen Sache ist das der Power Limiter und das Netzteil nicht gleichzeitig laufen sollten. Das ist auch so umgesetzt aber wenn sich Verbrauch und Erzeugung abwechselt dauert es halt einen Moment bis das eine Gerät ab- / und das andere Gerät angeschaltet ist.
Die andere Sache ist das ich neulich einem Bug nachgegangen bin und festgestellt habe das recht viele CAN Bus Nachrichten wegen den kleinen Puffer des MCP2515 und die vielen Aufgaben des ESPs verloren gehen. Das zu fixen wäre mal noch eine Aufgabe. Leider ist es erheblicher Aufwand.
Doch das ist die Änderung von der ich hier gesprochen habe. Mein Ziel ist ja immer das die Sachen nicht in meinen Branches landen sondern in das eigentliche Projekt zurückfließen.
In der Version kann man
-
Das Netzteil / Slot detect komplett manuell steuern
-
Das Netzteil manuell steuern und Slot detect automatisch schalten lassen (Achtung das ist der neue Default). Wenn man Ströme > 1A hat schaltet das an. Wenn der Strom längere Zeit unter 1A fällt wird abgeschaltet.
-
Alles automatisch regeln lassen. Dazu wird die Info vom Power Meter benutzt
Bisschen getestet ist das ganze aber im Moment bekomme ich noch genug über die DC Ladelösung so das ich das nicht oft nutze. Wenn also was auffällt -> her damit.
Ein Limit dieser ganzen Sache ist das der Power Limiter und das Netzteil nicht gleichzeitig laufen sollten. Das ist auch so umgesetzt aber wenn sich Verbrauch und Erzeugung abwechselt dauert es halt einen Moment bis das eine Gerät ab- / und das andere Gerät angeschaltet ist.
Die andere Sache ist das ich neulich einem Bug nachgegangen bin und festgestellt habe das recht viele CAN Bus Nachrichten wegen den kleinen Puffer des MCP2515 und die vielen Aufgaben des ESPs verloren gehen. Das zu fixen wäre mal noch eine Aufgabe. Leider ist es erheblicher Aufwand.
Mhhh...das hatte ich tatsächlich so nicht auf dem Schirm, danke für die Aufklärung! Läuft bei mir jetzt schon seit 3 Wochen relativ problemlos so... ist die Frage, wie lange "eine Zeit" sein kann. Aber ist natürlich ein guter Tipp/Hinweis und wäre dann natürlich der erste Ort, an den ich für eine etwaige Fehlersuche gehen würde... ist das quasi garantiert, dass die IOs so kaputt gehen oder ist das "womöglich" ein Hinweis auf "könnte auch dauerhaft gut gehen"?
@maltes
Supi, dann muss ich wohl doch mal Updaten und das Ausprobieren. Vielen Dank auf jeden Fall nochmal für Deine ständige Arbeit an der SW. Diese Ergänzung ist wirklich eine sehr schöne Erweiterung.
Wenn man gerade so sieht, wie die ganzen Speicherlösungen für Balkonkraftwerke "aus dem Boden schiessen" (Zendure, Ecoflow, Anker Solix, ...) und was diese Lösungen teilweise kosten (z.B. 750 EUR für knapp 1kWh Akku ?), dann freut man sich um so mehr über diese Lösung, wo man:
- sehr viel mehr Akku-Kapazität für einen geringeren Preis bekommt (bei einem US 5000 bekommt man 1 kWh für ca. 333 EUR statt wie im Beispiel oben für 750 EUR). Bei Preisen von 750 EUR/kWh rentiert sich das nie
- mit etwas eigenem Wissen prima an die eigenen Gegebenheiten anpassen kann
- ohne proprietäre Apps und Hersteller-Clouds auskommt. Stattdessen gute Einbindung in vorhandene Home Automation dank offener API und Standard Technologien wie REST und MQTT

