| 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 |