Seite 1 von 1

Winkel zwischen Sonnenstand und Kollektorausrichtung berechnen (ab V2.0 IP4)

Verfasst: Mo Mai 03, 2021 10:46 am
von Robosoc
Folgendes Modul berechnet den Eintreffwinkel der Sonne auf Solarkollektoren und sendet auf einem zusätzlichen Augang "Schaltkontakt" einen boolschen Wert, ob der Eintreffwinkel kleiner als ein vorgebbarer Grenzwert ist.

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.
Screenshot 2021-05-03 103558.jpg

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"]
  ]
}

Re: Winkel zwischen Sonnenstand und Kollektorausrichtung berechnen (ab V2.0 IP4)

Verfasst: Mo Mai 03, 2021 12:38 pm
von gbglace
Hi Sven, interessantes Anwendungsszenario.

In der Kommentierung des Bausteins im Code scheint mir die Beschreibung zum Parameter Kollektorhöhe nicht ganz zu passen (Das ist doch bestimmt eher 0-90°als Sinnvoller Wert mit 0 = waagerecht?).

Re: Winkel zwischen Sonnenstand und Kollektorausrichtung berechnen (ab V2.0 IP4)

Verfasst: Mo Mai 03, 2021 12:51 pm
von starwarsfan
Hallo miteinander
Robosoc hat geschrieben: Mo Mai 03, 2021 10:46 am

Code: Alles auswählen

    ["Kollektorrichtung ","Himmelsrichtung der Ausrichtung des Kollektores in Grad; 0° = NORD","$ColDirection","u"],
    ["Kollektorhöhe ","Höhenwinkel der Ausrichtung des Kollektores in Grad; 0° = NORD","$ColHeight","u"],
    ["Sonnenrichtung ","Himmelsrichtung der Sonne in Grad; 0° = NORD","$SunDirection","ai"],
    ["Sonnenhöhe ","Höhenwinkel der Sonne in Grad; 0° = NORD","$SunHeight","ui"],
Der Vollständigkeit halber und damit alle vom Gleichen sprechen, könntest Du hier bei den Richtungen noch "(Azimut)" und bei den Winkeln "(Elevation)" ergänzen. Ausserdem stimmt der Kommentar "0=NORD" bei den Winkeln nicht. Das wäre dann eher "0=Waagerecht".

Edit: Wie Göran auch schon angemerkt hat. :handgestures-thumbupright:

Re: Winkel zwischen Sonnenstand und Kollektorausrichtung berechnen (ab V2.0 IP4)

Verfasst: Mo Mai 03, 2021 1:01 pm
von Robosoc
Vielen Dank Yves und Göran für die Hinweis.

Ich habe den Begriff Elevation und die Definition des Höhenwinkl 0° angepasst.

Aber ich glaube dass Azimut hier der falsche Begriff wäre, weil meines Erachtes ein Azimutwinkel so definiert ist, dass Süden = 0° ist. Das benutzt man zwar im Zusammenhang von Sonnenkollektoren häufig und damit würde es zum Thema gut passen, aber da der "Astro Lokal" Baustein die Sonnenrichtung in Form der Himmelsrichtig mit 0° = NORD auswirft, war es für mich einfacher meine Logik nicht mit einem Azimutwinkel aufzubauen.

Re: Winkel zwischen Sonnenstand und Kollektorausrichtung berechnen (ab V2.0 IP4)

Verfasst: Mo Mai 03, 2021 1:01 pm
von StefanW
Wow Sven,

tolle Arbeit und Danke fürs teilen

lg

Stefan

Re: Winkel zwischen Sonnenstand und Kollektorausrichtung berechnen (ab V2.0 IP4)

Verfasst: Mo Mai 03, 2021 2:07 pm
von tger977
Vielen Dank für ein erstes Beispiel der freien Formelanwendung in einer custom logik!

Re: Winkel zwischen Sonnenstand und Kollektorausrichtung berechnen (ab V2.0 IP4)

Verfasst: Mo Mai 03, 2021 5:05 pm
von starwarsfan
Hi
Robosoc hat geschrieben: Mo Mai 03, 2021 1:01 pm Ich habe den Begriff Elevation und die Definition des Höhenwinkl 0° angepasst.
:handgestures-thumbupright:
Robosoc hat geschrieben: Mo Mai 03, 2021 1:01 pm Aber ich glaube dass Azimut hier der falsche Begriff wäre, weil meines Erachtes ein Azimutwinkel so definiert ist, dass Sünden = 0° ist. Das benutzt man zwar im Zusammenhang von Sonnenkollektoren häufig und damit würde es zum Thema gut passen, aber da der "Astro Lokal" Baustein die Sonnenrichtung in Form der Himmelsrichtig mit 0° = NORD auswirft, war es für mich einfacher meine Logik nicht mit einem Azimutwinkel aufzubauen.
Nunja, "definiert" ist es wohl gar nicht, da das auch davon abhängig ist, ob man sich auf der Nord- oder der Südhalbkugel befindet. Die Süd-Zählweise ist die ursprüngliche Form, wird aber heute nicht mehr verwendet. In Zusammenhang mit der Beschattungssteuerung von EFHs ist mir diese Zählweise noch nie untergekommen, da war bisher immer 0° = Norden. Genauso, wie das auch jeder Astro-Baustein macht.

Mir ging es vielmehr darum, dass man mit Azimut den jeweiligen Vollkreiswinkel bei Betrachtung "von oben" meint, wohingegen die Elevation den Blickwinkel gegenüber der Waagerechten definiert. Also schon allein durch die Begrifflichkeiten klar ist, worum es jeweils geht.

PS: Siehe auch Wikipedia, dort wird's auch schön erklärt.

But anyway, war nur ein Hinweis zur Verständlichkeit. Alles gut! :clap:

Re: Winkel zwischen Sonnenstand und Kollektorausrichtung berechnen (ab V2.0 IP4)

Verfasst: Di Mai 04, 2021 6:08 am
von Robosoc
Yves, Du hast mich überzeugt:-)
Danke!