Nulleinspeisung DIY mit Balkonsolar

Hallo zusammen,
ich bin neu hier und auch gerade dabei ein kleines BKW mit (Nacht)Nulleinspeisung (Ziel ca. 100-150W) zusammenzustellen. Ich habe mich nach einigen Videos und Artikeln auch für den (kleinen) Soyosource 500W entschieden. Hauptgrund war vor allem die mögliche Fernsteuerung der Leitungsabgabe über ein ESP8266 mit digitalem Poti (bspw. X9C503) oder auch direkt dem DAC (0-3.3V) eines ESP32.

Zudem hatte ich gehofft, analog zu den "großen Brüdern" mit 1000/1200W, etwas aus der RS485-Schnittstelle des 500W-Modells herauszuholen (vllt. sogar direkte Regelung statt digitalem Poti?). Ich habe Soyosource schon wg. des Protokolls der Schnittstelle angeschrieben, aber leider keine Antwort erhalten. Bisheriger Plan war deshalb ein mögliches Reverse-Engineering des Codes im Flash der MCU (habe einige Erfahrung mit Ghidra), die wie bspw. im Video von @Solaranlage (siehe Bildchen) zu sehen, ein STM32 zu sein scheint (wie auch in den großen Modellen mit 1000/1200W). Zur RS485 der 1000/1200W Modelle findet man zum Glück hier im Forum, auf secondlifestorage.com und auf Github ja einiges...

Leider hat der über ebay Kleinanzeigen gekaufte 500W Inverter (siehe Bildchen, 2022-07-V5) inzwischen eine andere MCU. :frowning: Der STC8 (auf dem MCU-Board steht bei mir "SCT8-V3") kann leider grundsätzlich nicht ausgelesen werden (Bootloader hat keine entsprechenden Funktion). Ich bin mir nicht sicher, ob man in China aus Preisgründen oder gerade deswegen vom STM32 umgestiegen ist. :o)

Da ich beim Auslesen der RS232 des STC8 per Python 9800 baud (Pin-Header aufgelötet) nicht wirklich weiter gekommen bin, wollte ich mal in die Runde fragen, welche MCU in euren Soyosource Invertern (500er oder auch 1000er Klasse) verbaut ist (bitte aufgedruckte Version des "Mainboard" angeben!). Habt ihr evtl. sogar ein (altes) MCU-Board mit STM32(!) "übrig", das ihr mir für ein paar Tests (Flash auslesen) vorübergehend zusenden könntet?
Außerdem würde mich interessieren, ob sich neben der MCU in den 500er-Invertern (Modell 2021-XX grünes Board und nun 2022-XX rotes Board?) auch die Bestückung (vor allem unterhalb des MCU-Steckboards) geändert hat (siehe Bildchen)? Steckt(e) vllt. sogar in allen Soyosource Invertern (klein/groß) das gleiche MCU-Modul (früher STM32 heute STC8) oder gab es nur beim 500er Modell ein MCU-Wechsel auf den (billigeren) STC8. Wie sieht die Bestückung eures 500/1000/1200W Inverters - auch unter dem MCU-Board - aus (Fotos per PM willkommen!)? Hab ihr im Falle es 500er Modell den Chip U4 (rechts oberhalb der MCU) bestückt?

Auf Aliexpress habe ich den Shop Jesudom(R) gefunden, der offenbar MCU-Module für die Soyosource 1000/1200W Modelle verkauft...zu sehen sind auf den Bildern sowohl Module mit STM32 aber auch der (neue?) STC8. Hat jemand bei diesem Händler schon gekauft? Was habt ihr bekommen?
Hier zu guter Letzt noch ein paar Mitschnitte der RS232 Daten des STC8 (angeschlossen TX/RX-Cross-Over an einen USB-FTDI-Adapter). Es kommen scheinbar nur Daten, wenn der Inverter im Batteriebetrieb ist (Poti aktiv). Die MCU spuckt immer 5 bytes im Sekundentakt aus, wenn der Inverter produziert. Auf der 12V-Seite hatte ich nur einen kleinen 10Ah Bleiakku zur Verfügung, deshalb war ich in der Leistungsmessung etwas nach oben beschränkt (bei ca. 100W war Schluss).


25W (kleinste Poti-Stellung), 11.95V
496,1,31,0x1f <---- scheint mehr oder weniger linear mit der Ausgangsleistung zu variieren (bis 100W getestet)
496,2,0,0x0
496,3,99,0x63 <---- kann auch 96, 97, 98 sein. Netzfrequenz (durch 2)?
496,4,0,0x0
496,5,113,0x71 <--- variiert in anderen Mitschnitten zwischen 105-114. Vielleicht die Netzspannung?
1504,6,31,0x1f
1504,7,0,0x0
1504,8,99,0x63
1504,9,0,0x0
1504,10,115,0x73

2512,11,31,0x1f
2512,12,0,0x0
2512,13,99,0x63
2512,14,0,0x0
2512,15,119,0x77

(...)


42W, 11.75V
976,1,48,0x30
976,2,0,0x0
976,3,98,0x62
976,4,0,0x0
976,5,113,0x71
1984,6,48,0x30
1984,7,0,0x0
1984,8,98,0x62
1984,9,0,0x0
1984,10,111,0x6f

2992,11,48,0x30
2992,12,0,0x0
2992,13,98,0x62
2992,14,0,0x0
2992,15,111,0x6f

(...)


74W, 11.35V
867,1,191,0xbf
867,2,0,0x0
883,3,98,0x62
883,4,0,0x0
883,5,109,0x6d

1874,6,191,0xbf
1874,7,0,0x0
1874,8,98,0x62
1874,9,0,0x0
1874,10,105,0x69

2882,11,191,0xbf
2882,12,0,0x0
2882,13,98,0x62
2882,14,0,0x0
2882,15,95,0x5f

(...)


Hier noch das Python-Skript zum Auslesen der RS232 des STC8 über zusätzlich aufgelötete Pin-Header auf dem MCU-Modul.


#!/usr/bin/python3
import serial
from time import time
t0 = int(time()*1000)
s = serial.Serial(port='/dev/ttyUSB0',baudrate=9600,timeout=0)
print("connected to " + s.portstr, flush=True)
count=1
while True:
for c in s.read():
t = int(time()*1000) - t0
print(str(t) + ',' + str(count) + ',' + str(c) + ',' + hex(c), flush=True)
count = count+1
s.close()


Freue mich auf eure Rückmeldungen! :slight_smile: