Sun GTIL2-1000 RS485 Interface

Ich nochmal mit einem Nachtrag bezgl. GND

Wird RS485 über größere Entfernungen genutzt sollten STP Leitungen genutzt werden.

STP = Shielded Twisted Pair = Geschirmte verdrillte Paare

Der Schirm der Leitung sollte bei Signalleitungen einseitig durchgängig auf GND verbunden sein.

Zweiseitiges Auflegen kann zu Potentialausgleichsströmen über den Schirm führen was wiederum zu Störungen

des RS485 Signals führen kann.

Glücklicherweise ist das von RS485 genutzte Spannungsdifferenzsignal sehr störunanfällig.

Ohne Repeater sind bei vernünftigen Leitungen (STP 120 Ohm Wellenwiederstand) ohne weiters

Leitungslängen von 1200 m möglich.

Modbus-RTU-Telegramme bei 9600 Baud können aber bei kurzen Leitungen auch über nasse Lappen übertragen werden… {green}:grinning:

So, genug rumgeklugscheißert.

Schönen Abend

Otto

Hallo Ul5255, Hallo Otto,

vielen dank für die gute Frage und die gute Antwort.

Beide haben Recht! Otto, da RS485 differentiell ist und daher eigentlich keinen GND braucht.

UL5255, weil meine Platine zu 100% galvanisch getrennt ist und damit eigentlich in der Luft hängt.

Ich gebe zu, dass das es schöner wäre, wenn ich einen GND meiner Platine nach außen gelegt hätte und man die Platine auf den GND seiner Steuerung ziehen könnte. Ich habe mich dagegen entschieden, da der Stecker des Limiters den ich für den RS485 verwende nur 2-polig ist und ich noch nie eine Störung beobachtet habe.

Wem es total wichtig ist den RS485 Teil meiner Platine auf das selbe Potential wie seine Steuerung zu ziehen, der kann sich den GND des UART Ports nach außen legen. Ich halte es aber nicht notwendig und empfehle es auch nicht.

Viele Grüße,

Trucki

Hallo zusammen ,

mit großem Interesse hab ich hier alle Post's von Truckis Projekt gelesen .

Ich habe mit ihm auch schon Kontakt aufgenommen da ich (bevor ich kaufe) , erst mal wissen möchte ob das was ich vorhabe, mit seinem Interface und dem Wemos funktioniert.

Vorab mal Daten zu meiner PV :

18 PV-Module mit insgesamt 5,72 kWp mit 2 Wechselrichtern .

Als Datenlogger verwende ich Solarview .

Erweitern möchte ich die PV-Anlage um ein paar PV-Module + 24V/5kW Speicher und SUN 1000 WR.

Nun zu meinem Problem .

Ich möchte gern von Solarview die Power-Daten vom Zähler des Netzbetreibers übernehmen um mir einen zusätzlichen Shelly oder ähnliches zu sparen.

Solarview wertet die Daten vom Zähler per IR-Lesekopf aus .

Per MQTT könnte ich die Daten übertragen . Hier gibt es es aber nun ein Problem

Leider wird bei Strombezug ein negativer Wert ausgegeben.

Bei Stromeinspeisung ein positiver Wert.

Truckis Regelung erwartet das aber genau anders herum , also müsste der Solarview

Power-Wert invertiert werden .

Das 2 Problem ist das MQTT-Topic . Ich kann zwar das MQTTTopic frei eingeben , aber Solarview hängt an diesem noch als Bsp. /D0/DPAC dran .

Truckis Interface wird aber mit T2SG/ShellypowerOVR im Broker subscribed.

Wenn ich dann in Solarview als MQTTTopic= " T2SG/ShellypowerOVR" konfiguriere,

bekomme ich den Wert über das Topic T2SG/ShellypowerOVR/D0/DPAC .

lösen könnte man das evtl. mit Wildcards also T2SG/ShellypowerOVR/+/+

aber wie, in Truckis-Interface fehlt dazu eine induviduelle Eingabe des Topic .

Kann mir jemand helfen wie ich das am besten transfomieren kann damit ich ich nicht zusätzlich einen Shelly oder anderen Zähler anschaffen muss, also Wert invertieren und das MQTTTopic anpassen.

Smarthome-Programme wie IOBroker, Home Assistant etc. habe ich nicht installiert und auch keine Ahnung davon .

Ich hab nur Solarview auf einem RPI u. Domoticz + Mosquitto-Broker auf einem anderen RPI installiert . Mit Domoticz werden nur ein paar Tasmota-Schaltsteckdosen gesteuert .

Danke schon mal

Werner

@Trucki

könntest du vielleicht in deiner Software den Power-Wert der per MQTT kommt invertieren ?

Stelle mir ein Ankreuzfeld vor, wenn das gesetzt ist, wird der bezogenen Power-Wert mit -1 multipliziert.

Gruß Werner

@solax Hallo Werner,

bevor ich eine neue Version veröffentliche, wird diese von mir und einigen Beta-Testern einige Tage geprüft. Deine Anpassung ist leider sehr individuell. Da steht der Aufwand leider nicht dafür. Du kannst Dir aber den Source-Code der Version V1.03 runterladen und die Änderungen selbst vornehmen.

Ohne es getestet zu haben würde ich das so machen:

Zeile 141: #define MQTT_SHELLYPOWEROVR "T2SG/ShellypowerOVR"
hier vor dem letzten Anführungszeichen deine Wildcards einfügen

Viel Erfolg und viele Grüße,

zwischen Zeile 424 und 425 einfügen:
423:        zepc_enable = true;
424:        shelly_power = (float) payload_int;
einfügen:   shelly_power =shelly_power * (-1);
425:     }

Trucki

EDIT: Nochmal angepasst, da Werner mqtt overwirte und nicht http request verwendet.

1 „Gefällt mir“

T2SG V1.05 bin hochgeladen:

Viele Grüße,

Trucki

1 „Gefällt mir“

Ciao amico, hai un suggerimento per finire anche il codice COMPLETO?

Dati di estrazione per display lcd

Grazie

Video di Youtube 5 video total

https://youtube.com/playlist?list=PLZ3vi91zc4H4XtnGrvB-D_FBrmiy8P_Ua

Cent0 per codice github

E forum arduino per l'avanzamento del lavoro del progetto di codice

Grazie amico mio Cent0

@trucki

? Danke

@trucki ... Danke für`s Update. Läuft bei mir auf Anhieb. Eine feine Sache. ??

Super! Das freut mich sehr. Vielen Dank für das schnelle Feedback. Ich hoffe die Settingsfunktion im WebServer macht Spaß.

@trucki Ich wollte gestern meinen Wemos resetten so wie du es beschrieben hast als D0 gegen D5 und dann den Resetbutton bestätigt aber es funtzt net... was mache ich da falsch. VG Thomas

das muss alles gleichzeitig passieren: D0 mit D5 verbinden und verbunden halten! Und dann dazu auch Reset drücken.

@pali Hatte ich eigentlich auch so gemacht.... Reicht es den Resetbutton nur kurz zu drücken oder muss er für den Zeitraum x gedrückt werden?

es reicht nur kurz. Wichtig ist, dass D0+D5 nach dem Reset weiterhin kurz überbrückt bleiben. Also zuerst Resetbutton loslassen und erst dann D0+D5.

Wenn alles richtig, dann siehst du wieder den WLAN accesspoint : "Trucki2Shelly Gateway"

1 „Gefällt mir“

@pali Aha ich denke daran wird es gelegen haben dann hat die Reihenfolge nicht ganz gepasst. Vielen vielen Dank für die Info.

1 „Gefällt mir“

Vielen Dank für die Unterstützung!

1 „Gefällt mir“

[quote data-userid="8948" data-postid="83760"]
es reicht nur kurz. Wichtig ist, dass D0+D5 nach dem Reset weiterhin kurz überbrückt bleiben. Also zuerst Resetbutton loslassen und erst dann D0+D5.

Wenn alles richtig, dann siehst du wieder den WLAN accesspoint : "Trucki2Shelly Gateway"

[/quote] So es hat jetzt geklappt! Vielen Dank für die Unterstützung. VG Thomas

1 „Gefällt mir“

Hallo Gemeinde,

@ Trucky

Platinen sind gelandet. Vielen Dank

@ alle die den SDM630 via Modbus auslesen

Welches Register nehmt ihr als Istwert Leistung für die Gegenkompensation?

30053 Total system power

30085 Total system power demand

30397 Net kWh

Und wie setzt ihr die Regelung um?
Sollwert Umrichter in Trucky‘s Modbus-Register über Rampe auf- und abtakten um den Wechselrichter „sanft“ zu fahren

oder Differenzwertbildung und Regeltyp „gnadenlos“ um möglichst zeitnah auf den Nulleinspeisungspunkt zu kommen.

Hat jemand Erfahrung wie der WR mit schnellen Lastwechseln klar kommt?

Werde den kleinen Sun 1kW nutzen.

Danke, Grüße und schönen 4.

Otto

Nachtrag

da

30397 Net kWh

nicht Leistung sondern Arbeit ist fällt das vermutlich aus…..

{green}:cool:
Grüße

Otto

Hallo Otto,

freut mich.

Ich nehme an Du willst nicht den in der RS485 Platine integrierten SDM630 Modus (GitHub - trucki-eu/RS485-Interface-for-Sun-GTIL2-1000: RS485-Interface-for-Sun-GTIL2-1000) nutzen, sondern selbst den SDM630 auslesen und einen gefilterten Wert an meine Platine schicken.

Ich verwende immer die total_power .

Wenn der Hausverbrauch bei 25-75W liegt, dann behalte ich den Einspeisewert des Inverters bei.

Liegt der Hausverbrauch kleiner als 25W, dann wird sofort ein neuer Wert berechnet.

Liegt der Hausverbrauch größer als 75W dann wird gemittelt über die letzten 60 Werte (Intervall 500ms) ein neuer Wert berechnet.

Gruß,

Trucki