Hallo.... ist schon jemand mit der PCB(v1) weitergekommen und kann etwas berichten? Speziell was den verbauten MCP2515 für die Huw.4850-Anbindung angeht? Ich hab`s bislang nicht hin bekommen.
Hallo.... ist schon jemand mit der PCB(v1) weitergekommen und kann etwas berichten? Speziell was den verbauten MCP2515 für die Huw.4850-Anbindung angeht? Ich hab bislang nicht hin bekommen.
Ich habe gerade mit anderen Projekten zu tun und komme da gerade nicht dazu. Muss da auch meine produktive Anlage für außer Betrieb nehmen, deshalb kann ich das nicht so einfach "mal eben" ausprobieren. Werde das wohl erst "zwischen den Jahren" ausprobieren können.
Board ist angekommen!
Sieht gut aus!
Jetzt bin ich in Zugzwang 😀 , wobei bei dem Wetter....
Was mir noch fehlt: Pylontech Speicher, ich hatte an 2x US2000C im Polytech Gehäuse 12HE gedacht, da kann ich auch den Huawei und diesen Regler , ggf. auch
noch einen Hoymiles unterbringen. Und ggf. erweitern.
Hab schon Pylontech US2000C für 600€ gesehen , der Preis ist derzeit im Sinkflug. Vielleicht sollte ich noch warten.
Auch ist der Schrank von Pylontech erheblich teurer als herkömmliche Serverschränke. Da zögere ich auch noch, wobei ich die Hoffnung habe, wenn ich den von Pylontech nehme, ich nichts falsch machen kann.
Auch grübele ich noch über die Verkabelung und Absicherung nach. Da werden im Thread ja auch einige Möglichkeiten genannt.
Wie ist euer Plan?
Gruß
Che
Hi Che,
kurzer Hinweis von mir zum Schrank und meinem Aufbau. Der Pylontech-Schrank ist echt teuer, deshalb habe ich das in einem Samson Rack eingebaut. Das hat zwar dann keine Tür o.ä.. ist aber auch deutlich billiger. Das Rack ist aus recht dickem Stahl gebaut, daher sehr stabil und hat mit den 45kg des US5000 kein Problem und man kann das ganze Ding auch mal auf den Rollen bewegen. Gibt es mit 12HE und 9 HE. Mit nur 1 Akku reichen auch die 9 HE, wenn man statt meiner Hutschienen-Lösung die Elektronik anders unterbringt, dann gehen auch in das 9HE Rack sicher 2 US5000 rein.
Der Stahl des Racks hat Vor- und Nachteile:
- ist (im Falle des Falles) feuerfest (besser als Montage auf Holz o.ä.)
- Montage etwas aufwändiger, da Bohren in Stahl (nicht einfach Spax in Holz schrauben)
- ist natürlich leitend, daher habe ich besonders auf die Erdung geachtet. Die DC Seite hängt mit einem 16qmm Kabel direkt an der Erdungsschiene. Die AC Seite hängt an einem eigenen FI/LS. Wenn man mag, dann kann man das ggf. an den betreffenden Stellen mit Hart-PVC beplanken (ist zumind. brandhemmend und vor allem isolierend)
- Die WLAN Antenne des ESP funktioniert in dem Metall-Käfig nicht gut, daher (und weil ich eh' schon schlechten Empfang habe), habe ich am ESP eine externe WLAN Antenne hängen (also ein ESP32 mit "U" nehmen, die haben gleich einen passenden IPX Anschluss)
Die ganze Elektronik habe ich auf einer Hutschiene in dem Rack montiert, die in einem Hutschienen Modul mit 3HE untergebracht ist:
- ESP32 mit OpenDTU on Battery, aktuell als selbst gelötete Platine mit dem MCP 2515, dem NRF24L01+ sowie dem CAN Transceiver für den Pylontech
- 2. ESP unter ESPHome, über den aktuell eine Pylontech Console läuft und an dem ein Hichi Lesekopf für den Stromzähler hängt. Da implementiere ich gerade noch eine eigene Ladelogik, um auch Absorbtion und Notladung über das Netz machen zu können.
- Shelly Pro 2 PM, über den der WR und das Huawei geschaltet werden und Leistungsaufnahme / -abgabe gemessen werden können (z.B. verbraucht das HUAWEI ja auch im Leerlauf etwas Strom ...)
- Ein 5V Netzteil für die Versorgung des ESP mit OPenDTU - den 2. ESP versorge ich über POE vom Switch her
- Verteilerklemmen für AC, um das eingehende 2,5 qmm Kabel auf WR, Huawei und das 5V Netzteil zu verteilen
Das Huawei liegt aktuell einfach auf einem Fachboden. Da muss ich noch etwas Schöneres bauen, aber funktionieren tut es auch so 😉
Als Akku einen Pylontech US5000 - Im 12HE Rack wäre gerade noch so Platz für einen 2. US5000 - aber den brauche ich aktuell nicht.
Den WR habe ich aktuell an die Rückseite des Racks geschraubt. Sieht leider etwas wild aus mit der Verkabelung auf der Rückseite, muss ich noch mal aufräumen. Vor allem die Erdung mal etwas schöner machen.
Der Akku ist über einen Rittal Lasttrennschalter mit NH Sicherungen abgesichert, in jeder Zuleitung zum WR habe ich einen MC4-Stecker mit Sicherung (10x38mm)
weitergekommen
…bin ich auch einige Schritte.
Das
Selbst-Kompilieren
hat geklappt. Um das SDM-Powermeter über andere als die Standard-GPIOs anzubinden, musste ich
in 'lib/SdmEnergyMeter/SDM_Config_User.h' die mit '<--' markierten Zeilen einfügen,
#if defined ( USE_HARDWARESERIAL ) #if defined ( ESP32 ) #ifndef SDM_RX_PIN // <-- #define SDM_RX_PIN 13 #endif // <-- #ifndef SDM_TX_PIN // <-- #define SDM_TX_PIN 32 #endif // <-- #endif
damit das neue Pinmapping in 'platformio_override.ini' akzeptiert wird:
[env:jo] board = esp32dev build_flags = ${env.build_flags} -DHOYMILES_PIN_MISO=19 -DHOYMILES_PIN_MOSI=23 -DHOYMILES_PIN_SCLK=18 -DHOYMILES_PIN_IRQ=16 -DHOYMILES_PIN_CE=4 -DHOYMILES_PIN_CS=5 -DVICTRON_PIN_TX=1 -DVICTRON_PIN_RX=22 -DPYLONTECH_PIN_RX=27 -DPYLONTECH_PIN_TX=14 -DHUAWEI_PIN_MISO=12 -DHUAWEI_PIN_MOSI=13 -DHUAWEI_PIN_SCLK=26 -DHUAWEI_PIN_IRQ=25 -DHUAWEI_PIN_CS=15 -DHUAWEI_PIN_POWER=21 -DDISPLAY_CLK=0 -DDISPLAY_DATA=2 -DDISPLAY_TYPE=3 -DSDM_TX_PIN=33 -DSDM_RX_PIN=32 monitor_port = /dev/ttyUSB0 upload_port = /dev/ttyUSB0
Das Powermeter, den Victron-Laderegler und den Hoymiles-Wechselrichter bekomme ich damit zum Laufen.
Für das Huawei-Netzteil habe ich gestern den Anschlussadapter bekommen und konnte erstmals anschließen.
Anscheinend kommt aber keine CAN-Kommunikation zustande — nach einigen Retries (openDTU-Konsole) ohne Antwort vom Netzteil gibt die Software auf.
Ohne mit der Platine verbundenes Netzteil kann ich mit einem Oszi keine Kommunikation an den Anschlussklemmen CAN-H/-L erkennen (beide ~2.5 V).
Mit angeschlossenem Netzteil sehe ich Pulspakete an beiden Enden der Leitung — ich vermute, dass das die einseitigen Kontaktaufnahmeversuche des Huawei sind(!?)
Vielleicht ist aber einfach etwas mit meiner obigen Pindefinition nicht in Ordnung(?)
Ich versuche noch, weiter zu messen und werde wahrscheinlich doch noch einen eigenen 'Handaufbau' machen müssen, um zu sehen, ob das Huawei damit tut, bzw. die Signale vergleichen zu können…
Die PIN Zuordnung für das Huawei sieht für mich OK aus.
Wie hast Du denn Slot Detect verdrahtet? Um Fehlerquellen auszuschließen die beiden Slot Detect PINs am Huawei mal direkt "hart" mit dem DC Minus des Huawei verbinden (das habe ich die ganze Zeit im Moment so).
Hast Du den CAN Bus Terminations-Widerstand über Jumper J1 aktiviert? Das müsste aktiv sein, da der MCP2515 ja das eine Ende des CAN-Busses bildet. Auch wenn der CAN in diesem Fall nur eine 1:1 Verbindung ist....
Und noch eine Frage: mit einem der letzten Releases kam eine Konfigurationsmöglichkeit für den Quarz des Huawei-Can Busses. Damit kann man zwischen einem 8MHz und einem 16Mhz Quarz umschalten. Das Board hat einen 8MHz Quarz - ist das bei Dir richtig eingestellt? Siehe dazu:
Release 2023.10.24 und darin Feature: AC charger: configurable CAN controller frequency
Der Default ist allerdings 8Mhz, sollte also passen, wenn Du das nichts geändert hast
@cacu15 Danke für die Hinweise.
Slot Detect
ist hart auf DC-.
Terminations-Widerstand über Jumper J1 aktiviert
8MHz und einem 16Mhz Quarz umschalten
Ja, Widerstand ist aktiviert und 8 MHz-Quartz ausgewählt.
PIN Zuordnung für das Huawei sieht für mich OK aus
Dazu habe ich noch gesehen, dass im Schaltbild die Clock-Pins für MCP2515 (Huawei) und NRF24L01+ (Hoymiles) beide mit 'SCK' benannt sind und im PCB das wohl auch das gleiche Netz ist (Multimeter Durchgang).
Am ESP gibt’s SCK an G26 und G18.
Im
neuen Pinmapping in 'platformio_override.ini'
habe ich G18 dem Hoymiles und G26 dem Huawei zugeordnet. Ist das ok (oder egal, weil gleiches Netz)?
Den Clock sehe ich an SCK nur dann, wenn das NRF24L01+ eingesteckt ist(!?)
An den Pins 1 (txcan), 2(rxcan), 14(si), 15(so) des MCP2515 tut sich nichts; an 1(txd), 4(rxd), 6(canl), 7(canh) des TJA1050 auch nicht(!?)
Dazu habe ich noch gesehen, dass im Schaltbild die Clock-Pins für MCP2515 (Huawei) und NRF24L01+ (Hoymiles) beide mit 'SCK' benannt sind und im PCB das wohl auch das gleiche Netz ist (Multimeter Durchgang).
Am ESP gibt’s SCK an G26 und G18.
Hmm, das darf m.E. nicht sein. Der CAN Bus für Huawei (MCP2515) und der NRF24L01+ brauchen getrennte SPI Busse, das darf nicht an einem SPI hängen, siehe dazu https://github.com/helgeerbe/OpenDTU-OnBattery/wiki/Device-Profiles#spi-bus
Der Huwei müsste auf GPIO26 und der NRF auf GPIO18 liegen und die dürfen NICHT verbunden sein. Das ist dann m.E. ein Fehler im PCB.
@lukasvfl99 - Was meinst Du?
An den Pins 1 (txcan), 2(rxcan), 14(si), 15(so) des MCP2515 tut sich nichts
Für Pin 14(si) des MCP2515 muss ich mich korrigieren: hier kommen wohl doch SPI-Kommandos an.
An 15(so) und den genannten Pins von U7 kommt weiterhin nichts.
Gibt es eine Stelle im PCB-Layout, an der man mit einer Bohrung oder durch Kratzen das SCK-Netz so auftrennen kann, dass die GPIOs 18 und 26 noch mit den richtigen Pins von MCP und NRF verbunden sind?
Oder eine Kombination von Auftrennen und Käbelchen-Anlöten?
Ich würde dann mal testen, ob die CAN-Kommunikation dann funktioniert.
An den Pins 1 (txcan), 2(rxcan), 14(si), 15(so) des MCP2515 tut sich nichts
Für Pin 14(si) des MCP2515 muss ich mich korrigieren: hier kommen wohl doch SPI-Kommandos an.
An 15(so) und den genannten Pins von U7 kommt weiterhin nichts.
Ich kenne mich nicht im Detail mit dem SPI Bus aus, aber nach meinem Verständnis kann das nicht funktionieren, wenn hier jetzt GPIO 18 und 26 gleichzeitig verbunden und als CLK konfiguriert sind. Da versuchen dann 2 GPIOs den Takt für den Bus vorzugeben. Da kann eigentlich nur Chaos herauskommen.
Man kann zwar mehrere Slaves an einem Bus hängen haben, die sich dann die meisten SPI PINs teilen, auch CLK. Man braucht nur einen separaten CS PIN (Client Select) je Device, über den das Ziel adressiert wird. Aber hier haben wir dann ja 2 CLKs auf demselben Bus. Siehe dazu z.B. https://randomnerdtutorials.com/esp32-spi-communication-arduino/
Mich wundert eher, dass der NRF24L01 dabei funktioniert. Hast Du mal probiert, ob der NRF noch funktioniert, wenn Du gleichzeitig auch den CAN zum Huawei konfiguriert hast?
Aus meiner Sicht müsste man die Verbindung des CLK PINs am MCP2515 zu GPIO 18 trennen, sodass nur noch die Verbindung zum GPIO 26 besteht (wenn das geht). Zwischen GPIO18 und 26 darf keine Verbundung bestehen. ZUr Not muss man das direkt am MCP2515 trennen und dann einen Draht von dort zum GPIO 26 anlöten, um das PCB zu "retten".
@cerise @CaCu15 sorry für die späte Antwort, irgendwie habe ich keine Benachrichtigung bekommen das hier jemand geantwortet hat.
Ihr habt recht, dass ist ein Bock meinerseits. SCLK darf natürlich nicht öfter belegt sein. Ich hab im nachfolgenden mal eingezeichnet welchen Track man auf der PCB ankratzen bzw. wegkratzen muss. Der Pfeil soll ein Kabel/Draht darstellen.
Die roten Tracks sind die oben auf der PCB und die blauen auf der Unterseite. Es wäre sonst auch möglich an den passenden Stellen ein Loch durch die PCB zu bohren.
Das Problem sollte es in einer nachfolgenden PCB nicht mehr geben, habe es direkt angepasst.
@lukasvfl99 und allen anderen Beteiligten schon mal vielen Dank für die Hinweise.
ich war vorhin mit Lukas in Kontakt und hab mal eins meiner beiden PCBs für einen Umbau nach oben genanntem Vorschlag geopfert (hatte gleich zwei bestellt).
Die beiden Leitungen wie im Bild hab ich durchtrennt, danach dann die zwei Kabel angelötet.
Aktueller Stand nun…
Victron kommuniziert, nRF hat Signal, Huawei zeigt 230V und versucht zu kommunizieren jedoch bekomme ich als Ausgangsspannung dort nur 2,9-3,7V angezeigt und der Lüfter dreht wahnsinnig hoch.
Falls noch jmd eine Idee hat, gerne her damit… hab am PCB ja nun eh schon rumgefriemelt und würde noch ein paar Sachen testen, bevor ihr alle den Dremel und Lötkolben unnötig auspackt.
Verstehe ich das richtig: du bekommst immerhin Daten über den CAN vom Huawei (also zB die 230V Eingangsspannung)? Das ist doch schon mal ein Erfolg.
Das Lüfterverhalten etc. kann eigentlich nur vom Slot Detect kommen, oder? Hast Du die beiden PINs fest auf den - Ausgang des Huawei verdrahtet oder geschaltet über Optokoppler des PCB oder über separates Relais? Ich würde das zum Testen erstmal fest verdrahten.
@cacu15 ja genau… Lebenszeichen vom Huawei kommen nun langsam, dank euren Ideen/Hinweisen.
Ich hab den Slot.D (beide Pins) fest auf den Minus gelegt. (Bild). Mit dem Adapter geht das ja auch gut. Ich wollte keine unnötige Schaltung/Relai/Opto… mehr dazwischen.
(Ich hatte das Huawei und den MCP2515 Umbau damals bevor es das PCB hier gab, vorab mit dem „KlausLi-BavarianSuperGuy-Mod und passendem ESP vorab auf Funktion getestet und die Verkabelung am Huawei-Anschlussadapter noch heute so beibehalten)