Damit lässt sich beispielsweise eine Solartermineanlage abschalten, wenn der Sonnenstand ohnehin nicht genug Energie auf einem Kollektor erzeugen könnte. In den meisten Fällen wird dieser Wert aber rein informativen Charakter haben.
Mein Anwendungsfall: Meine Remehea-Kollektoren sind vermutlich durch thermische Verformung derart beschädigt, dass die internen Temperaturfühlerpunkte der Kollektoren die Messung der aktuellen Temperatur der Solarflüssigkeit nicht mehr ermöglichen. Es hat sich gezeigt dass die Messung der Temperatur an der Solarleitung unmittelbar vor den Kollektoren leider erst zu einem Zeitpunkt erfolgt, an dem sich bereits eine zu große Gasblase in den Kollektoren gebildet hat, die von der dafür zu geringen Pumpenleisten dann nicht mehr aus den Kollektoren gedrückt werden konnte...Ich habe mir daher eine Solar-Kollektor-Regelung geschaffen, die ausschließlich auf Sonnenwerte (Helligkeit, Richtung und Höhe) reagiert. Damit habe ich sehr zufriedenstellene Ergebnisse erreicht und ich brauch die Kollektoren nicht zu tauschen!
Bisher hatte ich die Primärpumpe (Kollektorkreislauf) immer laufen, wenn ich aus der Helligkeit der Wetterstation "Sonnenschein" ermittelt hatte (auch das ist noch suboptimal). Zusätzlich hatte ich maximale und minale Himmelsrichtungen für den Sonnenstand berücksichtigt um die Primärpumpe zu schalten. Aber durch gesunden Menschenverstand und durch eine Analyse in Grafana war klar, dass die Pumpe damit noch immere viel zu häufig läuft. Über eine Grafana-Auswertung mit dem Plugin Plotly habe ich ermittelt, dass in meinem Fall oberhalb eines Eintreffwinkels von 55° zu wenig Energie im Kollektor erreicht wird.
Eingänge
- Die ersten zwei Eingänge muss der User selber ermitteln und als Parameter vorgeben.
- Der zweite und dritte Eingangsparamenter lässt sich problemlos mit dem "Astro local" Standardmodul ermitteln, den man ja beispielsweise für Rolladen / Jallousiensteuerungen vielleicht eh schon im Einsatz hat.
- Der 5 Eingangsparamenter ist ein optionaler Grenzwinkeln, bei dem man vorgeben kann, unnterhalb welchen Winkels auf dem zweiten Ausgang true gesendet wird.
Code: Alles auswählen
/**
* Dieses Module berechnet den Einfallswinkel der Sonne auf Solarkollektoren
*/
/** Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License")
die unter https://wrgt.news/TOLL zum Download zur Verfügung steht. */
{
"Input":[
["Kollektorrichtung ","Azimut Kollektor: Himmelsrichtung der Ausrichtung des Kollektores in Grad; 0° = NORD","$ColDirection","u"],
["Kollektorhöhe ","Elevation Kollektor: Höhenwinkel der Ausrichtung des Kollektores in Grad ; 0° = Horizontebene","$ColHeight","u"],
["Sonnenrichtung ","Azimut Sonne: Himmelsrichtung der Sonne in Grad; 0° = NORD","$SunDirection","ai"],
["Sonnenhöhe ","Elevation Sonne: Höhenwinkel der Sonne in Grad; 0° = Horizontebene","$SunHeight","ui"],
["Grenzwinkel ","maximaler Winkel, bei der der Schaltkontakt-Ausgang aktiv ist","$Limit","u"]
],
"Output":[
["Eintreffwinkel","Winkel zwischen Sonnen und Kollektorausrichtung","$Result","a"],
["Schaltkontakt","Schaltkontakt, der bei einem Eintreffwinkel < als Grenzwinkel (Eingangsparameter) = true gesetzt wird","$Switch","a"]
],
"Level":[
["$ColDirection","float",190.0],
["$ColHeight","float",43.0],
["$SunDirection","float",0.0],
["$SunHeight","float",0.0],
["$Limit","float",55.0],
["$Switch","bool",false],
["$Formular","string","(180/_pi)*(acos(sin((_pi/180)*X4) * sin((_pi/180)*X2) + cos((_pi/180)*X4) * cos((_pi/180)*X2) * cos((_pi/180)*X3-(_pi/180)*X1)))"],
["$Result","float",0.0]
],
"Module":[
["CalcFormula",["$ColDirection","$ColHeight","$SunDirection","$SunHeight"], "$Result", "$Formular"],
["Comparator" , "$Limit" , "$Switch" , "$Result"]
]
}