Sun GTIL2-1000 RS485 Interface

21.07.2023 EDIT: Vielen Dank an Offys Werkstatt für das neue Video zum Volkskraftwerk:

https://www.youtube.com/watch?v=nmddPMODBHY

21.07.2023 EDIT: Das Trucki2Shelly Gateway V1.12 ist ab jetzt auf Github verfügbar: https://github.com/trucki-eu/Trucki2Shelly-Gateway/releases/tag/T2SG_V1.12

09.05.2023 EDIT: Das Trucki2Shelly Gateway V1.10 ist ab jetzt auf Github verfügbar: WorkaRound für RS485 Bug ( bis SN357) siehe 29.04.23, PowerLimit gilt nun auch für MQTT ACSETPOINTOVR und BugFix für SUN1 not found bei manueller Vorgabe.

29.04.2023 EDIT: Das Trucki2Shelly Gateway V1.09 ist ab jetzt auf Github verfügbar. Viele neue Features: z.B. Mehrere SUNs, VCutoff, Http & MQTT MaxPower write, usw...

28.04.2023 EDIT: Ich empfehle Nutzern der RS485 Platine (SN1-357, Lieferung vor ca. 03/2023) mit Firmware 1.08 oder älter (NICHT T2SG 1.08!) ein Update auf die neuste Firmware. Mehr details siehe hier: Sun GTIL2-1000 RS485 Interface - #767 von trucki - Panels, Wechselrichter, Laderegler - Akkudoktor Forum .

Für das Update wird ein USB->TTL Wanlder benötigt: GitHub - trucki-eu/RS485-Interface-for-Sun-GTIL2-1000: RS485-Interface-for-Sun-GTIL2-1000

01.04.2023 EDIT: Das Trucki2Shelly Gateway V1.08 ist ab jetzt auf Github verfügbar. Neues WebInterface und stabileres MQTT!

21.01.2023 EDIT: Das Trucki2Shelly Gateway V1.07 ist ab jetzt auf Github verfügbar. Vielen Dank an Claus für das tolle Youtube Video über das T2SG:

https://www.youtube.com/watch?v=7cJbpzYvqSA

13.12.2022 EDIT: Das Trucki2Shelly Gateway V1.05 kann jetzt über den integrierten WebServer konfiguriert werden.

03.12.2022 EDIT: Das Trucki2Shelly Gateway V1.03 unterstützt jetzt Stromzähler, die mit Tasmota ausgelesen werden:

23.11.2022 EDIT: Trucki2Shelly Gateway V1.02 mit Tasmota und MQTT write/subscribe support veröffentlicht
29.10.2022 EDIT: Trucki2Shelly Gateway unter https://github.com/trucki-eu/Trucki2Shelly-Gateway veröffentlicht

25.09.2022 EDIT: Vielen Dank an Christian für das Youtube Video über die Platine
https://www.youtube.com/watch?v=7YadXS-L-PE
04.09.2022 EDIT: T3PL: Trucki's 3 Phasen Limiter mit SDM630 für SUN GTIL2-1000/2000 in Firmware 1.06 eingebaut
Platine einbauen und SDM630 direkt anschließen.
Mehr dazu auf: https://github.com/trucki-eu/RS485-Interface-for-Sun-GTIL2-1000

16.08.2022 EDIT: Die 2000W Version SUN GTIL2-2000 funktioniert jetzt auch
Hallo Zusammen,
wer den SUN GTIL2-1000 Wechselrichter kennt der weiß, dass er über einen internen Limiter, einen externen Limiter und einen analogen (0-1.67V) Eingang verfügt, um die in das Netz abgegebene Leistung zu regeln. Bei neueren Versionen entfällt der ext. Limiter Eingang.
Mittels dieser Schnittstellen kann der SUN GTIL2-1000 so geregelt werden, dass gerade so viel Strom „erzeugt“ wird wie z.B. im Haus verbraucht wird. Dies kann der Wechselrichter ab Werk für eine Phase.
Basteln muss man, wenn man 3-Phasen kompensieren möchte. Die Gedanken hierfür sind schnell geträumt: Eine Steuerung (z.B. Arduino, ESP8266, SPS, o.ä. ) die den Hausverbrauch saldiert auf allen drei Phasen misst und daraus ein analog/pwm Signal generiert welches den SUN GTIL2-1000 Wechselrichter Output ansteuert.
In der Praxis ist der Anschluss des analog Signals garnicht so einfach. Da werden Potis mit Modellbau-Servos gedreht, Widerstände (R95) ausgelötet, digital Potis geschrottet und Wechselrichter vorzeitig in Rente geschickt.
Dies wollte ich mit einer Platine die aus einem digitalen Signal (RS485/UART) die gewünschte analog Spannung erzeugt vereinfachen. Aus den oben genannten Ängsten ist das RS485/UART Interface galvanisch vom Wechselrichter getrennt und die Spannung des analog Teils mittels Zenerdiode auf 3.3V begrenzt:

Der Einbau der Platine ist Plug’n Play sein. Kein Löten. Die Platine wird zwischen Wechselrichter und Display angeschlossen und hört die Kommunikation ab. Dadurch kann man über RS485/UART die zu „erzeugende“ in [W] vorgeben und die aktuell tatsächlich erzeugte Leistung in [W] auslesen.
Zum Einbau sowie zur Verwendung der Platine habe ich eine Anleitung auf Github ( https://github.com/trucki-eu/RS485-Interface-for-Sun-GTIL2-1000 ) hinterlegt. Mich würde Euer Feedback interessieren. Bei Interesse würde ich auch über eine Sammelbestellung o.ä. nachdenken.
Danke
Viele Grüße,
Trucki

2 „Gefällt mir“
Hallo Zusammen,
selber Hallo ;)

das ist sicher eine tolle Lösung,
die am Gehäuse angebrachte RS485 kann nicht verwendet werden?

Hallo Helge,
Der Sun GTIL2 1000 hat keine RS485 Schnittstelle.

Falls Du die RS232 Schnittstelle meinst über die kann man nur VGrid und VBat auslesen. AC Out ist/soll können darüber nicht gelesen/gesetzt werden.

Gruß Trucki

Klingt interessant. Ich wollte mir auch schon eine Regelung mittels ESP8266 oder Arduino selbst basteln, bin da aber mangels Zeit bisher noch nicht zu gekommen (und weiß auch noch gar nicht, wann ich überhaupt Zeit dafür habe) :roll:

Mit welchen Kosten rechnest du denn ungefähr für die Platine?

Ich habe 40€ zzgl. Versand ausgerechnet.
Gruß Trucki

Wow, was für ein schönes Projekt. Auch die zahlreichen Integrationen sind toll! Die Platine ist fertig oder Bausatz?

Wow vielen Dank. Ich bin überrascht, dass Du die Anleitung so intensiv gelesen hast.
Platine ist komplett bestückt.
Viele Grüße,
Trucki

Eine super Idee und ich wäre auch sofort mit einer Bestellung dabei, wenn, ja wenn...

Ich nutze am digitalen Stromzähler einen mit Tasmota geflashten wemos d1 mini und greife da den saldierten wert aller 3 phasen ab.
dieser wert wird sekündlich an iobroker geschickt.
mit einem 2ten wemos d1 mini werte ich diese daten bisher aus (http empfang des strings, json zerlegen und den saldierten wert herausfiltern)
das klappt soweit sehr gut.

jetzt meine beiden fragen:

1. ich habe einen sun2000 und keinen 1000er, damit funktioniert die platine ja auch wenn ich es richtig verstanden habe? (sprich auf deiner platine die jumper bei sun2000 brücken und eine "kalibrierung" durchführen?)

2. die ino für den esp habe ich auf github nicht gefunden, ist es möglich die einzusehen, müsste ja meine http abfrage des anderen wemos am stromzähler da reinbauen um irgendwie die nulleinspeisung zu realisieren...

info: mein sun 2000 kann mit 1,6v nix anfangen... er regelt lieber mit 1,7 bis 3,3 volt...

wäre ich froh, wenn das endlich funktionieren würde mit der nulleinspeisung...

Hi ,
geile Sache was du da gemacht hast - super ausgearbeitet und präsentiert.
Hab auch einen Sun2000 den ich mit einem Limiter (intern) mit Kabel über 30 Meter betreibe... Das funktioniert sogar relativ gut. (Kalibrierung geht zwar ab - aber OK)
Würde so Platine auch bestellen (sogar 2) um die Daten mitzuschreiben und ev. Einstellungen vorzunehmen.

Super Arbeit!
jarek

Hallo

Tolles Projekt!

Sollte es zu einer Sammelbestellung (SUN2000v2) kommen, dann würde ich mich über eine Nachricht freuen.

Hallo,
vielen Dank für die vielen Kommentare. Ich glaube die Platine funktioniert für den Sun2000 genauso gut. Der analog Eingang sollte ebenfalls zwischen 0..1.67V arbeiten. Nach einem Kalibrierungslauf sollte die Platine die abweichenden AC-Werte gelernt haben. Nur ausprobiert habe ich es eben nicht.

Ich habe noch ein paar Prototypen übrig die ich in 2-3 Wochen fertig machen könnte. Können mir die die Interesse haben vielleicht eine PN schreiben? - Danke

Viele Grüße,
Trucki

Also ich habe Interesse und würde gerne eins ausprobieren. Eine pn habe ich geschrieben.

Viele Grüße

Wenigstens einer hier, der auch noch selbst in SMD entwickelt und baut.... Wo lässt du fertigen? Gerne als PN.

Eins is meins! :lol: :clap:

Guten Morgen,

schön, dass sich hier wieder etwas tut:

- die Prototypen habe ich bei JLC machen und bestücken lassen.

@zaimaen: Ich bin mir nicht sicher, ob die Platine für Dich geeignet ist? Eigentlich sollten sich alle Sun GTIL's mit 0-1.67V ansteuern lassen, solange am R95 nicht rumgelötet wurde. Wenn dein Wechselrichter mit 1.7V-3.3V angesteuert wird, dann wird die Platine nicht funktionieren.

Viele Grüße,
Trucki

Oach ich glaube ich würde es auf einen Versuch ankommen lassen. Notfalls lernt man daraus und vielleicht kann man etwas anpassen um sie für alle sun's nutzen zu können.

Ich hatte auch eine PN geschrieben aber ich sehe keine Antworten.

viele grüße

Hallo Jarek,

vielen Dank für die Bilder vom SUN 2000 ohne ext. Limiter Eingang. Die Bilder sehen gut aus. Der notwendige analog Eingang RT1 ist vorhanden. Auch das Displaykabel sieht wie beim SUN1000 aus. Lediglich die Lookup Table die die Zuordnung von Leistung in W zu analog Eingang in V macht wird nicht stimmen und ich bin mir nicht sicher, ob die Kalibrierung so große Abweichungen kann. Aber das werden wir wohl jetzt rausfinden :wink:

Viele Grüße,
Trucki

@zaimaen: habe dir eine PN geschrieben

Hallo Trucki,
nachdem ich jetzt freudig auch so ein Modul von dir bekommen habe, stellen sich mir noch ein paar Fragen, vielleicht hast du Tipps für mich und uns.

Mit dem Blick auf dein github Repository bin ich mir noch nicht schlüssig, welchen Weg ich für die Steuerung deines Interface gehen soll, mit einen Arduino oder einen Raspberry Pi. Letzterer wäre mir lieber, da ich mit Python programmieren besser vertraut bin als C auf dem Arduino. Dennoch würde ich mir beides ansehen.

Bei dem Arduino wird bei dem abgebildeten Beispiel im Repository, so verstehe ich das bisher, der Wert der aktuellen Leistung aus dem Sun1000 ausgelesen
Z20: uint16_t vgrid = node.getResponseBuffer(2);
Ich weiß nicht, ob ich das richtig verstehe.. hier wird die eine Phase ausgelesen, die der Sun1000 eben lesen kann? Müsste man an der Stelle einbauen, die 3-phasige Last von irgendwoanders zu lesen?

Mein Setup ist, dass ich einen Shelly3em am Sicherungskasten betreibe, der mir über seine API die Haus-Netzlast auf den drei Phasen ausgibt. Das wäre, stelle ich mir vor, meine Ausgangsbasis, um den Sun 1000 zu steuern.
Dass ich den Sun 1000 kalibrieren muss, damit er seinen lookuptable schreiben kann, habe ich soweit verstanden.

Ich sehe die Möglichkeit, dass ich am Raspberry Pi mit mbpoll die Leistung einstellen könnte, anzustreben wäre aber eine Python Bibliothek. modbus unter Python ist mir bisher unbekannt, hast du einen Tipp für eine lib? Reicht vielleicht sowas wie 'minimalmodbus'?

Falls du schon Code zu fertigen Ansätzen kennst, das Interface mittels von extern gelesener Last zu steuern, wäre ich da sehr dankbar drum.

Schöne Grüße!

Hallo Trucki,

wenn ich den Leseteil nicht benötige, sondern nur Werte für den max. AC Output schreiben wollte, würde es dann reichen einen DAC an den Analog Input (RT1, 2Pin JST2.54) des Sun GTIL2 zu bauen?

Zum Beispiel einen esp8266 (mit DAC über I2C angeschlossen) direkt im Gehäuse verbauen. Oder einen ESP32 mit integriertem DAC (aber der hat nur 8-bit Auflösung, das dürfte zu grob sein).

Stromversorgung würde ich, wie Du, vom Display (12V) nehmen und auf 3,3V herunterregeln.

Würde das funktionieren?

@ DerBuchner: Ja das geht. Theoretisch. Jetzt nach 3 Jahren Erfahrung und einem geschrottetem Wechselrichter, der mir um die Ohren geflogen ist achte ich auf galvanische Trennung und Überspannungsschutzdioden. Zudem habe ich das Gefühl, dass nicht nur meine Schaltung, sondern auch der Analogeingang des Wechselrichters driftet und das Rücklesen und Regeln der tatsächlich eingespeisten Leistung durchaus sinnvoll sein kann.