Zeile 1:
Zeile 1:
+
=Allgemeines=
+
Für die Bestimmung des Sonnenstandes auf einem (ortsfesten) Microcontroller
+
müssen vor allem zwei Probleme gelöst werden:
+
Der Microcontroller muss die Zeit batteriegepuffert bestimmen können,
+
und er muss mit einem hinreichend einfachen Algorithmus aus Datum, Zeit und
+
Ort daraus den Sonnenstand berechnen können.
+
Der Algorithmus muss ggf. noch auf die Einschränkungen des verwendeten
+
Microcontrollers Rücksicht nehmen und entsprechend adaptiert werden.
+
Bei Arduino gibt es beispielsweise das Problem, dass der Datentyp double
+
in Wirklichkeit nur mit Präzision von float rechnet (also 23 Bit Mantisse).
+
+
==Die Zeit==
+
[[Image:Arduino_DS1307.jpg|thumb|Zeitgeberbaustein DS1307]]
+
Die Zeit (Greenwich Time aka UT) bestimme ich mit den DS1307 Baustein.
+
Nach der Beschreibung von http://www.glacialwanderer.com/hobbyrobotics/?p=12
+
hat das auf Anhieb funktioniert. Ich hatte keinen 2.2K Widerstand, mit einem
+
4.7K war es auch kein Problem.
+
+
==Berechnung von Azimut und Elevation==
[[Image:SonnenstandberechnerGUI.png|thumb|GUI zur Sonnenstandberechnung]]
[[Image:SonnenstandberechnerGUI.png|thumb|GUI zur Sonnenstandberechnung]]
Mit dem Programm Sonnenstandsberechner kann der jeweilige
Mit dem Programm Sonnenstandsberechner kann der jeweilige