Forum: Mikrocontroller und Digitale Elektronik Astronomie + AVR


von Stevko (Gast)


Lesenswert?

Ein Hallo an alle AVR-Freak's,

das Forum hier ist einfach super, sowie die kompetenten Antworten.
Damit wird ein großes Spektrum an Fragen und möglichen Realisierungen
abgedeckt. Deshalb wende ich mich an Euch, da hier Praxis und Theorie
harmonieren.

Nun zu meinem Problem:
Ich betreibe Astronomie und möchte einige Probleme mit dem MC
erschlagen. Also was brauche ich?
* ein Display
* ein kleines Menü
* die momentane Uhrzeit
* die Sternzeit
* eine kleine Datenbank der Objekte am Himmel
* die momentane Position des Fernrohres
* und das ganze Batterie-gepuffert, da die Uhrzeit auch nachGebrauch
erhalten bleiben soll

später ist auch eine Nachführung des Telescopes per Schrittmotor im
Visier

Das Ganze soll auf einem ATmega32 mit ca. 10MHz Taktfrequenz laufen.
Dieser MC hat massig Speicher für die Datenbank(EEPROM) und Variablen.


Zu den einzelnen Punkten:
*Uhrzeit:
=========
Die Uhrzeit soll aus einem externen 10,24MHz generiert und in Register
(HH:MM reicht aus) abgelegt werden.

*Sternzeit:
===========
Nur am Frühlingspunkt stimmen die aktuellen Sterndaten mit den auf der
Sternkarte überein. Für alle anderen Tage im Jahr muß gerechnet werden,
da wir mit der Erde noch um die Sonne saussen verschieben sich auch die
Sternbilder am Himmel. Jetzt kommt bei der Berechnung die Sternzeit ins
Spiel. Ein Sterntag ist ca 4min kürzer als der Sonnentag. Damit der MC
nicht jedes mal die Sternzeit ausrechnen muß(ist nicht gerade trivial)
möchte ich die Sonnen- + Sternzeit über das Menü eingeben und der Timer
soll dann die Zeit weiterzählen.
--> gute Timerroutine

* kleine Datenbank:
===================
Soll im EEPROM liegen und es muß möglich sein sie auch extern neu zu
programmieren. Da kann ich mir verschiedene Datenbanken auf dem
Computer anlegen und bei Bedarf die richtige Laden.
--> Konzept schon entwickelt aber immer für Vorschläge offen

*momentane Position:
====================
Das ist der der Knackpunkt. Praktisch gesehen soll wie bei einer
Coputermaus einmal die horizontale- und einmal die vertikale Bewegung
des Fernrohres abgetastet werden. Die Bewegung ist kreisförmig und eine
Abtastfläche ist vorhanden.
Soll ich das über Interrupts realisieren oder gibt es Bauteile welche
die Position speichern und bei Bedarf zu Verfügung stellen.
Mit den Interrupts weiß ich nicht so genau, denn eine Auflösung von
0,1° möchte ich schon haben. Was ist wenn ich das Fernrohr schnell
drehe und die Timerroutine haut rein?
Und noch etwas kommt erschwerend dazu:
Ich kann ja das Fernrohr nach links oder rechts sowie in der Höhe
hoch+runter drehen, also muß die Drehrichtung auch beachtet werden.
_________________________________________________________________

Achso ich nehme hierfür nicht das erste mal einen Lötkolben zur Hand,
bin aber auch kein Profi, sondern nur ein ganz ganz kleiner -)

Ich hoffe ihr habt ein paar Lösungen parat, die mir vielleicht auch
neue und bessere Wege aufzeigen.

Gruß Stevko

von crazy horse (Gast)


Lesenswert?

hm, wenn ich mir das so im ganzen überdenke - ich würde es mit einer
Kombination aus PC und AVR angehen. Den MC für die hardwarenahen Sachen
(Positionserfassung), den PC für den Rest. Will nicht sagen, dass man
dass nicht alles in einen AVR packen kann - es wird mit PC sicher
einfacher zu bedienen und deutlich komfortabler werden.

von ThomasB (Gast)


Lesenswert?


von Torsten (Gast)


Lesenswert?

Hallo,
ich baue gerad etwas ähnliches.
Ich schreib mal was meine Lösung kann (können soll):

- lesen einer DCF77 Uhr daraus Berechnung der Sternzeit
- 16 x 2 LC Display
- Motorsteuerung RA und DEC Halb/Vollschritt (L297/L6203)
- Steuerung über serielle Schnittstelle
- Goto vom PC aus (keine Datenbank im uC)
- Alle Parameter und Funktionen per Tastenfeld programmierbar
- Encoder... (trau ich mich nicht ran, wegen der u.U. hohen
Geschwindigkeit, da hab ich keinen Timer mehr übrig)

- z.Z Programmierung auf ATMega16

Die Internetseite dafür ist noch nicht komplett, aber auf Wunsch geh
ich per mail noch auf Details ein.

MfG Torsten

von Bernd (Gast)


Lesenswert?

Den Encoder kann man mit ein wenig Hardware (HCTL2016) unterstützen. Der
uC braucht dann nur noch die Position abholen.

Die Datenbank könnte man in eine MMC-Karte stecken.

Bernd

von Peter D. (peda)


Lesenswert?

Die Encoder kann man bequem in Software abfragen.

Z.B. mit einem Timerinterrupt alle 100 Takte bei 10MHz kannst Du also
Encoderimpulse bis 100kHz sicher erkennen.


Peter

von Torsten (Gast)


Lesenswert?

I²C Encoder. Nicht schlecht. Davon hab ich noch nichts gehört. Das wäre
eine einfache Lösung für das Problem.

von Stevko (Gast)


Lesenswert?

Hallo,
an alle die mir geschrieben haben. Leider war ich verhindert und konnte
deshalb nicht antworten. Das die Resonanz so groß ist hatte ich nicht
erwartet.

crazy horse: Eine Symbiose von PC + AVR wollte ich vermeiden. Solange
man nicht vom Balkon wegkommt ist die Lösung geschickt, aber im Dunkeln
auf dem Stoppelacker.... Da bleibt man schnell mal am Kabel hängen und
kann dann im dunklen die Überreste seines Laptop's zammensuchen.
Außerdem ist jede zusätzliche Lichtquelle / Lichtwechsel nicht gerade
förderlich.

Peter und Bernd:
Ihr scheint ja genügend Erfahrung mit Encodern zu haben. Ich wolle
erstmal eine alte Maus schlachten um damit etwas zu üben. Da ich 2
Encoder brauche werden auch 2 INT-verbraten. Hättet ihr da ein paar
Tips für den Aufbau parat? Der letzte INT geht noch für die
WakeUp-Funktion drauf oder ist das anders lösbar?

Torsten:
Wenn Du Lust hast könnten wir mal in Kontakt treten. Ich denke das 2
Mann/Frau schneller zum Ziel kommen als wenn jeder für sich sinniert.
Hast Du das mit der DCF77 schon realisiert oder ist es erst mal eine
Idee. Jedes mal die Sternzeit zu berechnen ist nicht gerade
Prozessor-schonend oder ist da ein ganz anderer Ansatz. Und was
passiert wenn ich mit dem Teleskop in eine andere Zeitzone komme. Ist
da eine Korrektur möglich?

Gruß Stevko

von Thomas Berger (Gast)


Lesenswert?

Hilft dir das? Braucht aber einen Palm.

http://www.aho.ch/pilotplanets/

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.