Änderungen

keine Bearbeitungszusammenfassung
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  
229

Bearbeitungen