Forum: Mikrocontroller und Digitale Elektronik Julianisches Datum / Sonnenstandsberechnung


von Michi K. (Firma: keine) (cube)


Angehängte Dateien:

Lesenswert?

Hallo,

ich wollte mich an die Sonnenstandsberechnung heranwagen, scheitere aber 
leider schon an der ersten Formel :-(
Ich gehe wie in Wiki vor:
https://de.wikipedia.org/wiki/Sonnenstand
und
https://de.wikipedia.org/wiki/Julianisches_Datum

Ich habe den Algorithmus eigentlich so übernommen meiner Meinung nach,
bekomme aber wenn ich mit dem Beispieldatum 8. Feb. 2021 03:25 UTC
rechne dieses Ergebnis raus: 2459266.64386111
es sollte aber 2459253,643 sein.

Sprache C++, alle Variablen sind erstmal als double deklariert.
Ich weiß dass es zu dem Thema schon ein zwei Beispiele gibt bzw. 
Tutorials,
ich möchte es aber eigentlich von Anfang an relativ "alleine" angehen.

Vielen Dank für die Hilfe

von Zeno (Gast)


Lesenswert?

Ja Dir fehlt genau der Zeitsprung von 11 Tagen bei der Einfüng des 
gregorianischen Kalenders. Da wechselte das Datum vom 4.10.1582 auf den 
15.10.1582.

Besorg Dir mal das Buch Astronomie mit dem PC. Da ist alles beschrieben.

von Michi K. (Firma: keine) (cube)


Lesenswert?

Ahh ok ja vielen Dank für den Hinweis, dann weiß ich schon einmal wo ich 
ansetzen muss.

Danke

von Zeno (Gast)


Lesenswert?

Naja ich hatte vor 2-3 Jahren ein ähnliches Anliegen. Wollte für meine 
Wetterseite den Sonnenauf- und Untergang berechnen. Wollte ses ganz 
exakt machen und bin dann irgendwann gescheitert. Wollte es eben auch 
nicht einfach abschreiben sondern selber machen und vor allem verstehen.

Habe dann eine recht einfache Formel gefunden die ausreichend genau ist 
und für meine Zwecke reicht.
Am Ende ist dennoch eine Unit mit diversen julianischen 
Zeitberechnungen, einer Berechnung des Osterzeitpunktes übrig geblieben. 
Da man für astronomische Berechnungen auch zwischen mehreren 
Koordinatensystemen umrechnen muß, was am besten über Matrizenrechnung 
mit einer Drehmatrix funktioniert, ist als positiver Nebeneffekt auch 
noch eine Unit für's Rechnen mit Matrizen entstanden.

Beitrag #6580617 wurde von einem Moderator gelöscht.
von Hermann E. (hermann_e)


Angehängte Dateien:

Lesenswert?

Vielleicht hilft dir ja die abgeheftete .pdf Datei weiter.
Die Formeln wurden auf den AVR angepasst (verwende ich auch).

Zum Überprüfen gibt es ja viele Webseiten bzw. du kannst dir auch den 
NREL
SPA (Solar Pos. Algorithm) unter 
https://midcdmz.nrel.gov/solpos/spa.html
(ganz unten ist der Link zum Herunterladen) holen. Angeblich weicht der 
in den nächsten 6000 Jahren max. um einen kleinen Wert (irgendwie weit 
unten im 1/100-tel oder gar 1/1000° Bereich) vom wahren Sonnenstand ab.

von Michi K. (Firma: keine) (cube)


Lesenswert?

Ich habe schon einen Fehler gefunden, die Formel bei Wiki
besagt ja:

sonst  // gregorianischer Kalender
      B = 2 − ⌊Y/100⌋ + ⌊Y/400⌋

diesen Teil habe ich irgendwie nicht beachtet und meinen Code jetzt wie 
unten umgeschrieben, jetzt passt es :-)

Vielen vielen Dank :-)

geänderter Teil:

this->B = 2 - floor(this->Y/100) + floor(this->Y/400); //gregorianischer 
Kalender

von Zeno (Gast)


Lesenswert?

kannAllesBesser! schrieb im Beitrag #6580617:
> Zeno schrieb:
>> Astronomie mit dem PC
>
> aus meiner eBook Bibo!

Ich hab's als richtiges Buch in deutsch. Ist vom Springerverlag ISBN 
3-540-21204-3 (4.Auflage).

Dann ist noch das Buch "Einführung in die Astronomie und Astrophysik" 
(ISBN 978-3-642-737699-3) zu empfehlen.

Beitrag #6580678 wurde von einem Moderator gelöscht.
von Hermann E. (hermann_e)


Lesenswert?

Nur aus Neugierde, was soll's denn werden ?

Bin ja vielleicht ähnlich unterwegs: http://sunguyde.free.fr/

Hermann

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

kannAllesBesser! schrieb:
> aus meiner eBook Bibo!
Hermann E. schrieb:
> Vielleicht hilft dir ja die abgeheftete .pdf Datei weiter.
Habt ihr denn alle jeweils das Recht, diese ebooks und PDFs 
weiterzugeben? Und übergebt ihr dieses Recht an Andreas?
Wenn nicht, dann dürft ihr das Zeug hier auch nicht veröffentlichen. Ist 
leider so...

Zum PDF gibts zum Glück sogar einen direkten Link:
http://www.instesre.org/ArduinoUnoSolarCalculations.pdf

von Marek N. (Gast)


Lesenswert?

Schau dir mal den Quellcode von Homeplanet an: 
https://de.wikipedia.org/wiki/Home_Planet

von Michi K. (Firma: keine) (cube)


Lesenswert?

Hermann E. schrieb:
> Nur aus Neugierde, was soll's denn werden ?
>
> Bin ja vielleicht ähnlich unterwegs: http://sunguyde.free.fr/
>
> Hermann

Hi,

es soll mal ein kleiner Heliostat werden, der dann auf meinem Balkon
Sonnenlicht in mein Wohnzimmer reflektiert.

:-) ein kleines Winterprojekt.

von Hermann E. (hermann_e)


Lesenswert?

"Zum PDF gibts zum Glück sogar einen direkten Link:
http://www.instesre.org/ArduinoUnoSolarCalculations.pdf";

Ja es gibt sogar ein fertiges Programm auf Github das Heruntergeladen 
werden kann: https://github.com/KenWillmott/SolarPosition.

@Michi: Ich kann deinen Wunsch, die Formeln verstehen zu wollen, 
durchaus nachvollziehen, dies dürfte dich aber einige Tage an Zeit 
kosten (außer du bist viel schlauer wie ich), deshalb erscheint mir eine 
fertige Lösung (wie diese) sinnvoller.
Da Du den Heliostaten auf dem Balkon (also in nächster Nähe) aufstellen 
willst ist ein halbes Grad wohl kein Thema. Deshalb wäre mein Tip, dich 
mit den (in meinen Augen) dringenderen Problemen zu beschäftigen: Wie 
sollen die Bewegungen erfolgen, Schrittmotoren ?   Was ist die 
Zeitbasis, RTC ?
Wie soll die Kommunikation mit dem Heliostaten aussehen, Uart <-> PC ?

Nicht um die lästig zu werden, sondern nur aus eigener leidvoller 
Erfahrung...

Viel Glück bei deinem Projekt, wäre neugierig zu sehen wie es (bei dir) 
weitergeht.

Hermann

von Michi K. (Firma: keine) (cube)


Angehängte Dateien:

Lesenswert?

Hermann E. schrieb:
> "Zum PDF gibts zum Glück sogar einen direkten Link:
> http://www.instesre.org/ArduinoUnoSolarCalculations.pdf";
>
> Ja es gibt sogar ein fertiges Programm auf Github das Heruntergeladen
> werden kann: https://github.com/KenWillmott/SolarPosition.
>
> @Michi: Ich kann deinen Wunsch, die Formeln verstehen zu wollen,
> durchaus nachvollziehen, dies dürfte dich aber einige Tage an Zeit
> kosten (außer du bist viel schlauer wie ich), deshalb erscheint mir eine
> fertige Lösung (wie diese) sinnvoller.
> Da Du den Heliostaten auf dem Balkon (also in nächster Nähe) aufstellen
> willst ist ein halbes Grad wohl kein Thema. Deshalb wäre mein Tip, dich
> mit den (in meinen Augen) dringenderen Problemen zu beschäftigen: Wie
> sollen die Bewegungen erfolgen, Schrittmotoren ?   Was ist die
> Zeitbasis, RTC ?
> Wie soll die Kommunikation mit dem Heliostaten aussehen, Uart <-> PC ?
>
> Nicht um die lästig zu werden, sondern nur aus eigener leidvoller
> Erfahrung...
>
> Viel Glück bei deinem Projekt, wäre neugierig zu sehen wie es (bei dir)
> weitergeht.
>
> Hermann

Hi danke für die Links.

Es sind zwei kleine Schrittmotoren die über einen ESP32 angesteuert 
werden, der über Wlan kommuniziert. Habe mir den "Bewegungsapparat" :-) 
3D gedruckt siehe Bilder. Ist wie gesagt nur rein aus Spaß an der Freude 
und es bringt, man mag es nicht glauben, wirklich einiges an Licht in 
mein Wohnzimmer.

Habe bisher mein Julianisches Datumsproblem gelöst es passen auch viele 
andere Zahlen aber bei (wiki):
ekliptikale Länge A(Lambda)  der Sonne:

meine Formel:
this->A = this->L + 1.915 * sin(this->g) + 0.01997 * sin(2*this->g); 
//ekliptikale Länge A der Sonne

als Ergebnis bekomme ich 2652.724524
es sollte allerdings 133,653 rauskommen.

An sich wäre es ja nur die Formeln abtippen, ich glaube aber ich "tippe" 
falsch ab :-)))

von Hermann E. (hermann_e)


Angehängte Dateien:

Lesenswert?

Schaut cool aus,

ist der Spiegel aus Edelstahl (ca. 60% Reflektivität) ? Die Motoren 
kommen wohl aus einem Drucker mit 7° Schrittweite vermute ich (?)
Ich benutze Glasspiegel, z.Z. schraube ich noch an meinem Prototypen 
herum (fast fertig) denn ich direkt am Haus aufstellen will, mal sehen 
ob ich am WE ein paar Bilder davon gebacken bekomme. Das auf meine 
Homepage ist dann schon ein echter (6m²) Insgesamt habe ich 6x6 = 36m² 
geplant.
Dein ESP32 ist ja ein richtiger Rolls Royce, ich habe bei mir vor alles 
mit AVR's zu machen da das Gelände 400 m weg ist und ich alles mit 
Solarpanelen speisen muß.
Anbei ist meine Software Version der Sonnenposition, die beruht zwar 
ursprünglich auf der im Link oben angegebenen Teil (und ich gebe hiermit 
dem Herrn Willmot explizit die Würdigung), habe das Teil aber dann bis 
zur Unerkenntlichkeit so verändert, so dass wohl auch der Moderator es 
akzeptieren sollte.

Morgen vielleicht mehr, ich habe z.Z. ziemlich viel in der Arbeit zu 
tun.

Hermann

von Michi K. (Firma: keine) (cube)


Lesenswert?

Die Motoren sind
https://www.amazon.de/gp/product/B07PPKS7GZ/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1

werden wohl größtenteils als Lüftungsklappensteuerung verwendet.
Die haben deshalb nicht wirklich viel Leistung, deswegen besteht mein 
"Spiegel" auch aus Gewichtsgründen erstmal aus Spiegelfolie :-)))
aber wie gesagt der Effekt ist absolut ausreichend für das was es bei 
mir tun soll.

Ja cool bin bei Dir gespannt das klingt auch gut aufwendig alles.
Ja Fotos würde ich gerne sehen.

von Hermann E. (hermann_e)


Angehängte Dateien:

Lesenswert?

Hat etwas länger gedauert da ich letztes WE weg war.
Anbei die Bilder wie versprochen, gerne erkläre ich auch die Details 
wenn  gewünscht.

Grüße:  Hermann

von Michi K. (Firma: keine) (cube)


Lesenswert?

Hermann E. schrieb:
> Hat etwas länger gedauert da ich letztes WE weg war.
> Anbei die Bilder wie versprochen, gerne erkläre ich auch die Details
> wenn  gewünscht.
>
> Grüße:  Hermann

Hi,

cool danke fürs zeigen, wie handelst du bzw. hast du schon über Wind 
oder Sturm nachgedacht ? Das ist nämlich gerade meine Sorge, dass es die 
Spiegel "wegblasen" könnte.

Ansonsten habe ich bei mir aktuell, da ich den Schrittmotoren nicht ganz 
traue, besser gesagt meine 3d gedruckte Konstruktion nicht 100 % genau 
ist :-) und doch viel Umkehrspiel in den Zahnräder herrscht, noch ein 
Kompass-Modul/Lagesensor verbaut der mir dann die tatsächliche 
Ausrichtung des Spiegels wiedergibt.

Das ist gerade meine Aufgabe :-)

: Bearbeitet durch User
von Hermann E. (hermann_e)


Lesenswert?

Ha,
hebe eigentlich nicht mehr damit gerechnet dass mein Post dich noch 
erreicht, iss ja schon 'ne Weile her !

Was die Windbelastung angeht, so ist die Antwort 'ja'. Für die 6x6m2 
Spiegel habe ich insgesamt sagenhafte 12-15m3 an Beton vergossen, jeder 
Sockel ist ca. 2m tief im Boden und dazu habe ich noch weiteren 4 
Eisenrohre pro Spiegel ca. 1.5m in den gewachsenen Boden eingetrieben 
und mit dem Stahlkäfig der den Beton umschließt verschweißt. Wenn ich 
mich recht erinnere habe ich als Winddruck  bei 150km/h eine Kraft auf 
6m2 von ca 700kg (genauer ca. '7000N') ausgemacht (müsste die alten 
Rechnungen nochmals auspacken), insgesamt habe ich die Verankerung für 
eine Last von ca 1T in 2m Höhe ausgelegt, die Spiegel werde ich aber eh' 
flach legen wenn's bläst.

Zur [zusätzlichen] Überwachung des Anstellwinkels nehme ich einen Lis3dh 
(https://www.st.com/en/mems-and-sensors/lis3dh.html), damit schaffe ich 
ungefähr 0.5°. Die Verstellung erfolgt über Linearstellglieder mit 
Schrittmotoren + ein Feedback-System dass ich schwer mit ein zwei Sätzen 
erklären kann.
Der Azimutwinkel geht über Präzisionsdrehtische + Schrittmotoren (nicht 
für den Prototypen im Bild der mehr zum Programm testen dient).

Apropos 'Spiel' kannst Du nicht einfach eine Rückholfeder einbauen um 
das Spiel aus deiner Mechanik herauszunehmen ? So habe ich das mit 
meinem Prototypen gemacht. Man sieht diese  auf dem Bild 'Drehtisch' der 
Blickwinkel erlaubt aber leider nicht die Idee dahinter zu erkennen.
Was deinen Kompass angeht: Pass' auf dass kein Eisenteil zu nahe kommt, 
ich hatte dies ursprünglich vor, aber bei einer Stahlkonstruktion....

Guat's Nächtle:  Hermann

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.