Mppt schaltet aus, obwohl er das nicht duerfte!

hallo,
ich bin ja gerade dabei, meine 48V pv auf einen eigenen cerbo umzustellen und dabei kam es heute zu einem problem:
die ladespannung war auf 51V eingestellt, aber erst bei unterschreiten von 50V haben die mppt wieder begonnen leistung zu liefern und der status wurde von aus auf an geaendert.

normaerweise haette der status schon mal nicht aus sein duerfen, sondern maximal 1 weil das spannungslimit erreicht wurde und zum anderen haetten die mppts wieder leistung liefern muessen, als die eingestellte spannung unterschritten wurde und nicht erst bei 1V weniger.

ich habe mal nachgesehen, es ist noch dir firmware 1.61 installiert. ich werde also wohl erst einmal einen update machen. allerdings habe in einem anderen system mit dieser firmware keine probleme. dort haengen die mppts aber auch nicht an einem gx!

ausserdem werde ich nicht mehr direkt zwischen 51 und 52,5V umschalten, sondern das schrittweise aendern.

nur warum machen die mppts das? 51V eingestellt und erst bei weniger als 50V schalten sie wieder ein, obwohl sie garnicht haetten abschalten duerfen, sondern nur in den limit-modus wechseln sollten?

tschuess

Hallo Dieter,bei mir aehnlich…ich habe den multi rs solar 2 mppt,die sich selbst bei Last (Elektroheizstab 3KW) ausschalten auf Basis der SOC…Der Heizstab wird ueber node red und 2 Relays des cerbo gesteuert.Wenn PV fehlt,schalten sich auch die Relays ab…Ich bin off grid.Vielleicht muss ich mir nochmal die Batterie-Einstellungen vornehmen,hatte aber im Sinn den Float etwas herunterzufahren-zBsp 56V, um meine 17s Lifepo4 nicht zu lange auf hoehere Spannung zu lassen…Das haette aber mit einer Hauslast eigentlich nichts zu tun;die sollte doch ausschliesslich-wenn vorhanden- vom Solar kommen?Gruss Frank

hallo,
anstatt der pv-leistung werte einfach die pv-leistung und den akkustrom sowie den soc aus. bei hoher pv-leistung oder hohem soc einfach einschalten und bei hohem bezug aus dem akku und einem soc<98% einfach wieder abschalten.

ich mache das so aehnlich, werte aber noch weitere kriterien aus.

tschuess

@d_ferdi ,vielen Dank…Ich habe den Multi Rs erst seit ca. einer Woche…muss mich also noch reinarbeiten :scream: :thinking:
Ich hatte schon mit node red zu tun…Wie mache ich das mit pv.leistung UND hohem soc einschalten?Ich war eben der Meinung,das der Wechselrichter bei groesseren Lasten den PV vorzieht,ohne an die Batterien ranzugehen(auch ohne den SOC ranzunehmen.)Hier wird geladen auf 100% und dann auf float runtergefahren egal bei welcher Last! Das kannte ich bei meinen Vorgaengern(keine Victron) nicht so…Hier mein node red,Frank

1 Like

hallo,
zuerst einmal speichere ich mir alle noetigen werte mit global.set(“name”,wert).

bei den meisten werten genuegt es, wenn du den wert benennst und ihn an eine funktion mit diesem programm schickst:
global.set(msg.topic,msg.payload);

dann benutze ich eine funktion, die sich die wert mit global.get(“name”) holt und auswertet. weil die andere variante war mir viel zu aufwendig. die funktion wird dann von einem timer getriggert.

wenn du einen default-wert vorgeben willst, wenn der wert noch nicht existiert, geht das so:
var P24;
if ((P24 = global.get(“24V_AKKU”)) == null) P24 = { “P” : 0 };

natuerlich kannst du das auch anders schreiben:
var P24 = global.get(“24V_AKKU”);
if (P24 == null) P24 = { “P” : 0 };

dadurch kann ich dann im programm alle werte, die ich als kriterien brauche, einfach auswerten.

am ende kann dann sowas dabei rauskommen, um z.B. die maximale ladespannung zu setzen:
var M=msg.payload[0].M;
var M1=msg.payload[0].M1;
var SM=msg.payload[0].socmax;
var SOC=global.get(“SOC”);
var USOLL=global.get(“USOLL”);
var UMAX=global.get(“MAX”);
if (USOLL==null) USOLL=51;
if (UMAX==null) UMAX=52.5;
var PYLON_SOC = global.get(“PYLON_SOC”);
if (M1>120 && M1>M/5 && SM==100 ) {
if (PYLON_SOC==null || PYLON_SOC>90) msg.payload=USOLL1;
else msg.payload=USOLL
1+1;
}
else msg.payload=UMAX*1;
global.set(“DVCC_U”,msg.payload);
return msg;

dein problem ist nicht, ob die pv bevorzugt wird, sondern herauszufinden, ob du genug pv-leistung hast, damit der heizstab nur von der pv versorgt wird! da es leider nicht moeglich ist, festzustellen, wieviel pv-ueberschuss vorhanden ist, wenn die pv abgeregelt hat, kann man eben nur feststellen, dass ein pv-ueberschuss vorhanden ist und den eventuell abschaetzen, wobei ich das bisher noch nicht ausprobiert habe. bei den vielen daten, die ich inzwischen habe, sollte ich aber eine recht genaue schaetzung zustande bringen.

allerdings ist das nicht zwingend noetig. um meinen e-heizkessel zu steuern frage ich einfach den soc, die pv-leistung, die akkuleistung, die mittlere pv-spannung und zum schluss auch noch den mppt-status ab. wenn der mppt naemlich nicht den status mppt hat, kann er nicht mehr die ganze pv-leistung verarbeiten, entweder weil er mehr bekommt, als er uebertragen kann oder weil er die leistung nicht abgeben kann, also den maximalen ladestrom oder die maximale ladespannung erreicht hat.
ansonsten darf dann auch leistung aus dem akku gezogen werden, bis ein bestimmter soc unterschritten ist. allerdings muss ich hier noch unterschiedliche socs zum ein- und ausschalten festlegen. aktuell benutze ich naemlich nur einen soc. oder ich muss frueher abschalten. es gibt eben noch ein paar dinge zu optimieren.

dass die heizung dann auch leistung aus dem akku ziehen darf, ist eben der tatsache geschuldet, dass nur alle 30 sekunden ein- oder aus-geschaltet werden darf und dass ich nicht will, dass jedesmal, wenn ein woelkchen vorbeizieht, das teil ein- und ausgeschaltet wird. immerhin sind das 3 x je 3 kW, die dann geschaltet werden. nur bei ueberlast erfolgt eine sofortige abschaltung ohne zeitverzoegerung weil ansonsten der wechselrichter abschalten wuerde.

wie du siehst, muss man abhaengig vom system, der akkukapazitaet, der maximalen pv-leistung und er schaltfrequenz einiges beruecksichtigen, damit sowas optimal funktioniert und man moeglichst keine energie verliert, aber auch nicht zuviel aus dem akku zieht.

falls es dich interessiert, ich haenge das hauptprogramm mal hinten an.

tschuess

var DATE = new Date();
var STOP = DATE.getTime();
var T = (STOP-context.START)/1000;
var TEIN = (STOP - context.START_EIN)/1000;
var TAUS = (STOP - context.START_AUS)/1000;
var CHECK = (STOP - context.CHECK) / 1000;
var RUECKLAUF = global.get(“RUEKLAUF”);
var VORLAUF = global.get(“VORLAUF”);
var DT = VORLAUF-RUECKLAUF;
var HEIZ_TEMP = global.get(“HEIZ_TEMP”)*1;
var PV_LIMIT = global.get(“PV_LIMIT”)*1;
var HEIZ_VERZ_TEMP = global.get(“HEIZ_VERZ_TEMP”) * 1;
if (VORLAUF == null || RUECKLAUF == null || HEIZ_TEMP==null) return;
var W48=global.get(“W48”);
var W24 = global.get(“W24_INV”);
var ST = false;
var L1 = W48[“MP2 1”].p_out;
var L2 = W48[“MP2 2”].p_out;
var L3 = W48[“MP2 3”].p_out;
var AN=global.get(“HEIZ_AN”)==1;
//if (AN == null) AN = global.get(“HEIZ_AN”)==1;
if (AN == null) AN=false;
var A48 = global.get(“48V_AKKU”);
var PV48 = global.get(“48V_PV”);
var UPV=PV48.PV;
var U=A48.U;
var SOC_48 = global.get(“SOC_48”);
var PA = A48.P;
var PV = PV48.P;
var SOC;
if (SOC_48>0) SOC=SOC_48;
else SOC=A48.SOC;
var HPA = global.get(“HEIZ_PA”);
var HT = global.get(“HEIZ_DT”);
var HU = global.get(“HEIZ_U”);
var HUPV = global.get(“HEIZ_UPV”);
var HREF = global.get(“HEIZ_REF”);
var HPV = global.get(“HEIZ_PV”);
var HSOC = global.get(“HEIZ_SOC”);
var HV = global.get(“HEIZ_VERZ”);
var HAUS = global.get(“HEIZ_AUS”);
var RELAIS = context.RELAIS;
var PHASE = 0;
var P=100000;
var EIN = (RELAIS.L1?1:0) + (RELAIS.L2?1:0) + (RELAIS.L3?1:0);
if (SOC<HSOC || W24.Pmax>4500 || W48.PMAX>4500 || !AN) {
msg.ZEILE=39;
RELAIS.L1 = false;
RELAIS.L2 = false;
RELAIS.L3 = false;
} else {
msg.ZEILE = 44;
msg.PA=PA;
msg.HAUS=HAUS;
msg.HUPV = HUPV;
msg.UPV = UPV;
msg.HPA=HPA;
msg.HEIZ_TEMP = HEIZ_TEMP;
if (((PA > HPA && PV > HPV) || (UPV > HUPV && PA > -1000) || PV_LIMIT > 20) && VORLAUF <= HEIZ_TEMP + 1 && RUECKLAUF + EIN * 5 < HEIZ_TEMP) {
msg.ZEILE = 46;
if (TEIN>HT) {
if (!RELAIS.L1) {
P=L1;
PHASE=1;
}
if (!RELAIS.L2 && L2<P) {
P=L2;
PHASE=2;
}
if (!RELAIS.L3 && L3<P) {
P = L3;
PHASE = 3;
}
if (PHASE > 0 && VORLAUF < HEIZ_TEMP-1 && P<1000) {
switch (PHASE) {
case 1: RELAIS.L1 = true;
ST=true;
// RELAIS.EIN=true;
break;
case 2: RELAIS.L2 = true;
ST = true;
// RELAIS.EIN = true;
break;
case 3: RELAIS.L3 = true;
ST = true;
// RELAIS.EIN = true;
break;
}
}
context.START=STOP;
context.START_EIN = STOP;
}
} else if (((PA < HAUS || (U < HU && PA < 500)) && TAUS > HV && PV < HPV) || (VORLAUF > HEIZ_TEMP + 5 && TAUS > HEIZ_VERZ_TEMP)) {
msg.ZEILE = 80;
PHASE=0;
P=0;
if (RELAIS.L1) {
P = L1;
PHASE = 1;
}
if (RELAIS.L2 && L2 > P) {
P = L2;
PHASE = 2;
}
if (RELAIS.L3 && L3 > P) {
P = L3;
PHASE = 3;
}
if (PHASE > 0) {
switch (PHASE) {
case 1: RELAIS.L1 = false;
ST = true;
break;
case 2: RELAIS.L2 = false;
ST = true;
break;
case 3: RELAIS.L3 = false;
ST = true;
break;
}
}
context.START = STOP;
context.START_AUS = STOP;
context.START_EIN = STOP;
} else if (PA < 0) context.START_EIN = STOP;
}
if (global.get(“HEIZUNG”)) context.CHECK=STOP;
else if (CHECK>60) {
msg.ZEILE = 115;
if (RELAIS.L1 || RELAIS.L2 || RELAIS.L3) ST = true;
RELAIS.L1 = false;
RELAIS.L2 = false;
RELAIS.L3 = false;
context.CHECK = STOP;
}
RELAIS.EIN=RELAIS.L1 || RELAIS.L2 || RELAIS.L3;
var NETZ = { “L1”:L1, “L2”:L2, “L3”:L3};
msg.RELAIS=RELAIS;
msg.T=T;
msg.CHECK=CHECK;
msg.NETZ=NETZ;
msg.PHASE=PHASE;
msg.HREF=HREF;
msg.TEIN=TEIN;
msg.TAUS=TAUS;
msg.STOP=STOP;
msg.START_EIN=context.START_EIN;
msg.START_AUS = context.START_AUS;
msg.ST=ST;
msg.AN=AN;
msg.VORLAUF=VORLAUF;
msg.DEBUG=false;
if (msg.DEBUG && ST) {
node.warn("SOC: “+SOC+” PA: “+PA+” PV: “+PV+” HPV: "+HPV);
node.warn(msg);
}
msg.DEBUG=false;
context.RELAIS=RELAIS;
return msg;

1 Like

Hi,die Panik steht schon vor der Tür …Ich werde mal versuchen ,den soc herunterzufahren und den Ladestrom zu kürzen .Das versuche ich,um so lange wie möglich ,den Lader anzuhaben…Was ich immer noch nicht kapiert habe,das bei einer Hauslast der mppt nicht grundsätzlich anspringt …Sollte doch im Inselmodus zwingend sein?Besten Dank einstweilen aus Norditalien ,Frank

hallo,
sobald die akkuspannung entsprechend gefallen ist und wieder strom benoetigt wird, wird der mppt auch wieder hochgefahren. allerdings kann das schon mal 2 minuten dauern!

uebriegends, sobald mein bms den akkustrom auf 0 setzt, regelt das system die spannung auf weniger als 51V runter, bzw. stellt den ladestrom der mppts entsprechend niedrig ein.

tschuess

hallo,
ich habe die ursache gefunden und erst mal abgestellt. da ist mir die regelung fuer den maximalen ladestrom in die quere gekommen.

tschuess

Hallo,ich habe den float auf 56 runter gefahren,um dann die Ladezeit zu verlaengern und den Ladestrom entsprechend .Ergebnis :75°C im Boiler nach Waschmaschine und Dusche… :rofl:
Beim Abschalten der Relais habe ich noch Delay’s eingesetzt,dass kurzzeitige Wolken auch nichts mehr ausmachen.Die Relais sind jetzt ohne Ausnahme an;dazu muss ich sagen,dass ich hier in einem Voralpental wohne und sehr viele durchggehende Sonnentage habe :japanese_ogre:
Viele Gruesse Frank

1 Like

@d_ferdi
Hallo,guten Morgen,ich habe mich 'mal reingekniet und es ueber mehrere Variablen probiert…Es gibt Timer,SOC und Batterie-strom(laden und entladen).Ich habe es 'mal so probiert und es scheint einigermassen zu funktionieren :sleeping:
Koenntest Du 'mal reinschauen und mir noch mals tips geben…Ist dies so etwa richtig?Ich moechte eigentlich absichtlich nicht mehr den PV Zustand mit reinhaengen,da dieser ja nicht unbedingt ausschlaggebend ist,wenn z.Bsp auf Float umgeschalten wird und der Lader abstellt…Warum,habe ich eigentlich immer noch nicht verstanden :scream:
Einstweilen Vielen Dank fuer Deine Muehe und Gedult…
![

1 Like

ps…Ich habe die Delay-Zeiten jetzt auf ein paar Minuten geaendert,um das Umschalten von Bulk auf Float zu ueberbruecken…Scheint jetzt alles zu gehen?Ich glaube,ich muss noch ein bischen Feinarbeit reinstecken,manchmal schaltet es noch fuer Kurz ein und aus…
Uebrigens muss ich 'mal erklaeren,was ich ueberhaupt schalt:Es ist ein3x230V Heizstab mit je 1Kw Heizkraft.Mit meinem vorherigen Wechselrichter konnte ich jede Fase des Heizstabes mit 3 Relais steuern:das war so fertig im Wechselrichter inklusiv Steuerung…
Wenn ich jetzt den Node Red hinkriege,dass er 2 Relais schaltet,wie gewuenscht,werde ich den Heizstab austauschen und auf min. 3x 1.5Kw gehen,von denen dann aber nur 2 Fasen benuetzt werden. Mein Wasserboiler ist nicht so gross,3Kw ca. reichen gut aus…
Bestens Frank

hallo,
den status der mppts steuert mit sicherheit das gx-device.

ich habe bei allen meinen mppts die spannungen auf den gleichen wert eingestellt und zwar eine sichere spannung. das sind 51V bei meinem 15s-system!

was deinen flow angeht, so denke ist, dass du es dir komplizierter machst als noetig. abgesehen davon, dass du die mittlere pv-spannung und den mppt-status mit einbeziehen solltest. denn mit dem ladestrom oder der pv-leistung bekommst du die warmwasseraufbereitung auch nicht mehr eingeschaltet. abgesehen davon, warmwasser brauchst du immer, von daher wuerde ich das ganze einmal vereinfachen:
pv-leistung → mittelwertbildung ueber mehrere minuten → limit-node mit hysterese → relais ein/aus

sobald du genug pv-leistung hast, von mir aus auch erst ab einem bestimmten soc, warmwasser an, ansonsten aus. durch die mittelwertbildung werden messwertschwankungen abgefangen und auch eine schaltverzoegerung realisiert! den rest macht dann das limit node (muss man aber erst ueber palette verwalten installieren, eventuell gilt das auch fuer der node zur mittelwertbildung).

sobald du also genug pv-leistung hast, damit der akku immer noch weiter geladen wird, wenn du das warmwasser einschaltest, ist doch alles ok. bei der anderen variante musst du warmwasser mit netzstrom machen. also ich schalte dein warmwasser immer an, sobald genug pv-leistung verfuegbar ist. es kann zwar sein, dass ich noch andere kriterien verarbeite, mal abgesehen vom thermostat damit ich auch warmwasser mache, wenn die pv nicht ausreicht. dann aber vorzugsweise mit netzstrom, den ich sowieso dann brauche, anstatt ueber den akku!
allerdings benutze ich 2 thermostate und damit 2 temperaturen, abhaengig davon, ob mit netzstrom geheizt wird, weil die temperatur zu stark gefallen ist oder mit pv-strom.

es ist naemlich verdammt aergerlich, wenn man morgends duschen will und nur noch 30 grad beim warmwasser hat!

tschuess

2 Likes

I’d connect all three phases to a frequency converter ( sew, siemens), then you get 0…100% power evenly spread over all phases.

You can select the power either over analog input 0…10v or by selecting 1 of n power steps .

Better for the quattros and better for the boiler.

Sch… gar nicht gesehen das der thread auf deutsch ist.

1 Like

Vielen,Dank fuer die Hinweise und Erklärungen :pray:
Ich werde mich darauf vorbereiten ,umzustellen …Wenn ich soweit bin ,stelle ich das Ganze nochmals hierein…Frank

hallo,
macht nichts. allerdings waere das eine guenstigere variante als der ac thor und auch einfach zu installieren, ich muesste nur die stromversorgung der steuerung anders anklemmen und ansonsten nur den requenzumformer dazwischen schalten. mal sehen wie teuer die dinger noch sind.

tschuess

Kleinanzeigen, gibts immer wieder ovp und gĂĽnstig

hallo,
auf die idee mit dem frequenzumformer haette ich ja auch schon mal kommen koennen, aber manchmal denkt man eben nicht an alle moeglichen loesungen.

aber ich denke mal, wegen dem problem mit den ein- und ausschalt-spitzen, werde ich da wohl doch noch was unternehmen. heute hatte ich mal versehendlich die 9 kw weggeschaltet und es gab ein paar probleme.

tschuess

Lässt sich aber über Rampensteuerung vllt erledigen, normalerweise lassen die Frequenzumrichter 10 Sekunden Rampen für 0…100% und zurück zu…DAMIT sollten dann auch die MP’s zurecht kommen…

hallo,
das problem ist nicht der multi, das problem ist, dass ich mehrere system in reihe habe und dann eines der nachgeschalteten in den usv-betrieb geht, abhaengig davon, wann geschaltet wird und wieviel geschaltet wird.

ich muss also entweder die eheizung auf ein 3-phasen-system umklemmen, an dem nichts anderes dranhaengt oder ich muss die spannungsschwankungen minimieren.

allerdings gilt das wohl auch fuer die sauna. da ist naemlich auch ein 9 kW ofen drin. und da werden immer 9 kW auf einmal ein- und ausgeschaltet.

hier waere dann eine parallelschaltung besser. das geht aber nur bei baugleichen geraeten, nicht bei mp2 48/5000 und mp 24/5000. hier koennte allerdings die ess-konfig helfen, aber dazu muss ich das system erst einmal anmelden.

tschuess

Auch das lässt sich leicht über einen Frequenzumrichter auf Rampensteuerung umstellen, einfach den Schütz durch einen FU ersetzen. Wenn’s nur bei EIN Probleme macht hilft auch ein Sanftanlauf…