DobControl

Der Plan


Im Herbst letzten Jahres habe ich mir einen alten Wunsch erfüllt und mir ein 10 Zoll Dobson-Teleskop zugelegt. Bis zu diesem Zeitpunkt hatte ich schon "Erfahrungen" mit der kleinen Bastelvariante aus Pappe von Astromedia gesammelt. Das kleine Gerät war für den Einstieg genau das richtige, Mond, Sonne, Andromeda, Orionnebel, alles echt Klasse für einen Anfänger, aber irgendwann will man halt mehr und größer sehen. Also ein 10 Zoll Dobson. Der Wow-Effekt für mich war gigantisch. Ich hab zwar schon öfter durch Sterwartenteleskope geschaut, aber ein eigenes "großes" Teleskop im Garten, bei dem man selbst entscheiden kann was man wann sehen möchte, Freiheit pur. Nachdem die erste Euphorie verflogen war, fing mich eine Sache langsam echt an zu nerven: Das Schubsen! Bei größeren Vergrößerungen, z.B. wenn man den Mond oder die Planeten betrachtet, kriegte ich es nur sehr schwer hin, das Teleskop über 1-2 Minuten ruhig auf das Objekt zu halten. Meistens sahen meine Beobachtungen so aus, das ich das Teleskop ein wenig "vor" das Objekt ausgerichtet habe und gewartet habe, bis das Objekt im Okular erscheint und ich die Gelegenheit habe, es mal 20-30 Sekunden in Ruhe zu betrachten, bis es wieder am anderen Ende des Sichtfeldes verschwindet. Also muss eine Nachführung her! Bei meiner Netz-Recherche fand ich einige Dobson-Nachführungen, die meisten mit einem Motor und einer vorgegebenen geneigten Ebene öffter gennant Dobson-Platform. Irgendwie hat es mir aber nicht gefallen und so habe ich angefangen mir selbst Gedanken zu machen, was ich eigentlich möchte. Zu Hause lag noch ein unbenuzter Raspberry Pi, der dadurch eine Daseinsberechtigung erhalten sollte. Dabei kamen folgende Eckpunkte meiner erdachten Steuerung:

  • Steuereinheit ein Raspberry Pi
  • 2 Schrittmotoren für die horizontale und vertikale Bewegung
  • 1 Getriebemotor für den Okularauszug (wenn man schon dabei ist ...)
  • Anzeige und Bedienen über ein kleines Touch-Display
  • Bewegungssteuerung über ein Nunchuk-Kontroller
  • Einbau in einer Rockerbox Marke Eigenbau

 

Die Hardware


Es sollte also alles vom RasPi kontrolliert werden. Ein passendes Touch-Display hab ich relativ günstig bei Ebay gefunden, sowie einen Nunchuk-Kontroller und die benötigten Motoren.

I2C-Module

Da meine Steuerung offline funktionieren sollte und bei einer Nachführung die Zeit eine entscheidende Rolle spielt musste auch noch eine batteriebetriebene Echtzeituhr her. Das Kommunikationsprotokoll wurde mehr oder weniger von dem Nunchuk vorgegeben, es sollte also i2c werden. Bei der Suche nach einem passenden Uhr-Modul habe ich noch ein paar andere Module gefunden, bei denen ich mir dachte "hmm, wieso auch nicht das mitverbauen?", so wurde neben einem Uhr-Modul auch ein Kompass, ein Beschleunigungssensor (kann man nutzen um die Lage der Rockerbox zu prüfen), ein Luftdruckmesser und ein Temperaturmesser bestellt. Kurz habe ich auch überlegt einen GPS-Empfänger mit zu verplanen, habe mich dann aber dagegen entschieden nicht zuletzt um um das Budget zu schonen.

Motoren

Nun waren die Motoren an der Reihe. Für den OAZ bin ich bei einem 12V Getriebemotor mit 7UPM gelandet. Dieser soll über zwei PWM-Signale (für jede Richtung einen) vom Raspberry gesteuert werden. Dazwischen wird eine L298N Doppel-H-Brücke hängen. Für die horizontale und vertikale Bewegung habe ich 2 Schrittmotoren vorgesehen die im Mikroschrittbetrieb nach meiner ersten Berechnung am Dobson eine "Auflösung" von ca. 11" pro Schritt erreichen sollen. Für die visuelle Beobachtung finde ich es fein genug. Die Schritt-Steuerung soll ein A4988 Schrittmotor-Treiber übernehmen. Die Schnittstelle zum Raspberry Pi bildet ein MCP23017, der über 16 IO-Signale verfügt, die sich über i2c steuern lassen. Meine Bedenken, dass diese Art der Steuerung vielleicht zu langsam sein wird (man kann einiges drüber im Netz finden) haben sich bei den ersten Tests als unbegründet erwiesen, alles läuft ziemlich flüssig und schnell genug.

 12V Getriebemotor für die OAZ-Steuerung

Getriebemotor mit L298N für den OAZ

Schrittmotor wie er für die horizontale und vertikale Bewegung verwendet werden soll

Schrittmotor mit Steuermodul A4988

Connector-Board

Um die i2c - Module bequem anschließen zu können, beschloss ich noch ein Connector-Board zu bauen. Dieses sollte mehrere i2C-Anschlüsse haben, ein paar Anschlüsse für die Spannungsversorgung externer Geräte (z.B. Spiegellüfter) als 12V und 5V Anschlüsse und die Anschlüsse für die Motoren, also zum einen die beiden PWM-Signale vom Raspberry-Pi und Ausgänge des MCP23017.

 

 

In ihrer Gesamtheit sollte die Hardware wie folgt aussehen

 

... und als Prototyp-Aufbau so:

DobControl Prototyp

 

 Software


Wie es sich für einen Raspberry Pi gehört, sollte die Software in Python programmiert werden und da es sich ja um eine Touchscreen-Anwendung handeln sollte, wollte ich das Kivy-Framework nutzen. Bis zu dem Zeitpunkt kannte ich es noch nicht und wollte die Gelegenheit nutzen, mich damit ein wenig zu beschäftigen. Also ran ans Werk...


Pi-Konfiguration

Bevor es aber an das Programmieren gehen konnte, musste ich zuerst eine wie sich herausstellte riesiege Hürde bewältigen: Ansteuerung des Displays. Wie ich bereits schrieb, habe ich das Display über eBay aus Fernost bestellt. Als es ankam hatte ich ein riesiges Problem. Es kam mit 0,0 Informationen! Also habe ich im Internet recherchiert, wie man das kleine tolle Ding zum Laufen kriegt. Nach unzähligen Tutorials, Versuchen und Flüchen gab ich auf und kontaktierte den Verkäufer mit relativ wenig Hoffnung auf Hilfe. Um so erstaunter war ich, als wenige Stunden später eine Antwort mit einem Link zu einem FTP-Server inklusive Benutzername und Passwort in meinem virtuellen Briefkasten lag. Unter der angegebenen Adresse fand ich ein komplettes Image. Also auf die Karte kopiert, rein damit, und ..... es wurde Licht! Dann noch i2c aktiviert und ran ans Programmieren. Ein erstes kleines Programm holte mich wieder aus dem 7. Himmel auf den Boden der Tatsachen zurück, Programm läuft, Bild auf dem Monitor ist da, nur das Display blieb leer Weinend. Im Internet habe ich auch eine Erklärung für das Problem gefunden: Kivy nutzt OpenGL ES und dies funktioniert nicht mit einem Display über SPI verbunden. Was nun? Ein paar Seiten weiter gesucht und da fand ich die Lösung: fbcp. Dieses kleine Programm kopiert den Framebuffer der primären Anzeige in den Buffer der Sekundären, also vereinfacht gesagt, die Ausgabe des Monitors in die Ausgabe des Displays. Es ist zwar total langsam und für viele Anwendungen wohl nicht zu gebrauchen, aber für meine Bedürfnisse absolut ausreichend. Zum Schluss musste ich noch dem Raspi beibringen, die Uhrzeit von der i2c Echtzeituhr zu beziehen. Auch zu diesem Thema bin ich im Netz fündig geworden, z.B. hier. Nun ging es aber ans Programm....

Was will ich haben

Zuers überlegte ich mir, was ich eigentlich haben möchte:

  1. Zur Steuerung muss der Nunchuk-Kontroller abgefragt werden können
  2. Die initiale Positionserkennung soll über das Zentrieren auf einen Stern erfolgen
  3. Bei beliebiger Position soll es möglich sein, die Nachführung zu starten
  4. Ein kleiner Katalog mit Sternen und Deep-Sky-Objekten soll auch sein
  5. Wenn ein Katalog, dann bitte auch mit GoTo
  6. Wenn ich etwas Interessantes entdecke, möchte ich abfragen können, was es ist
  7. Eine Kompassanzeige
  8. Eine Art Wasserwaage, um das Teleskop schön gerade aufstellen zu können
  9. Eine Uhrzeit-Anzeige.

Der Startbildschirm

Der Startbildschirm hat keine besonderen Funktionen. Er beinhaltet eine Temperaturanzeige, die Uhrzeit und Informatiuonen zum Programm. Über den Menüpunkt "Control" gelangt man zur der eigentlichen Steuerungsfunktionalität der Anwendung. Außerdem kann man von dem Startbildschirm in die Einstellungen des Programms, u.a. die Eingabe der aktuellen Position als Längen- und Breitengrad, gelangen und den Status der Hardware abfragen.

Startbildschirm

 

Steuerung

Hier verbirgt sich die wichtigste Funktionalität des Programms, die Steuerung des Teleskops. Die Anzeige verrät dabei, in welche Richtung das Teleskop gerade schaut und ob die automatische Nachführung aktiv ist oder nicht. Die Bewegung in die horizontale und verikale Richtung erfolgt über den Nunchuk-Joystick. Bei gedrückter Z-Taste und vertikaler Joystickbewegung wird das Okular im OAZ heraus- und hereingefahren. Das Betätigen der C-Taste aktiviert bzw. deaktiviert die automatische Nachführung. Die Steuerung unterscheidet 4 Geschwindigkeiten in jede Richtung je nach Joystickposition.

Control-Screen

Über den "What that?" - Menüpunkt wird mir angezeigt, was ich gerade im Okular sehe, oder zumindest das, was sich am nächsten dran befindet auf Basis der gespeicherten Katalogdaten. Der Menüpunkt "Calibrate" führt zu den "Kalibrierungsbildschirmen" Wasserwaage, Kompass und Sternausrichtung. "Catalog" öffnet den Katalog.

Wasserwaage

Der Screen Wasserwaage soll mir dabei helfen das Teleskop gerade aufzustellen, vor allem damit die Nachführung, GoTo und sonstige Funktionen, die sich auf die Positionierungsberechnungen stützen ihr Ziel finden, bzw. nicht verlieren.

Level-Screen

 

Kompass

Gibt es nicht viel zu sagen, was ein Kompass so halt macht....

Compass-Screen

 

Sternausrichtung

Bevor die Steuerung weiß, wo sie gerade schaut, muss sie zuerst eingestellt werden. Dies geschieht mit dieser Sicht. Zuerst muss man aus der angebotenen Liste der Sterne einen aussuchen, der gut sichtbar ist, das Teleskop auf diesen ausrichten und mit der Z-Taste des Nunchuks bestätigen. Das Ausrichten geschieht über den Nunchuk-Joystick. Die besagte Liste ist so konstruiert, dass nur Sterne angezeigt werden, die aktuell eine höhe von mindestens 20° über Horizont haben. Als eine kleine Hilfe, wie gesagt, ich bin Anfänger, wird auf einer kleinen Karte angezeigt, welcher Stern genau gemeint ist.

Popup-StarList

 

Popup-Star

 

Katalog

Teil der Software ist auch ein Katalog mit aktuell ca. 760 Objekten, die aus einer Excel-Tabelle als csv-Datei relativ einfach erweiterbar ist. Als erste Ansicht hat man die Auswahl zwischen 6 verschiedenen Kategorien: Sterne, Neben, Sternhaufen, Galaxien, Messier-Objekte und Sternbilder. Wahrscheinlich wird sich der eine oder andere Fragen wieso Sternbilder? Nun, da ich von meinem Garten nicht den gesamten Himmel überblicken kann, sondern nur relativ begrenzte Bereiche, habe ich mir gedacht, wenn ich in einem einsehbaren Bereich ein bestimmtes Sternbild habe, kann ich mir über diesen Menüpunkt anzeigen lassen, was es dort zu sehen gibt. Wenn man also ein Sterbild ausgewählt hat, werden alle in seinen Grenzen befindlichen Objekte aufgelistet. In der Auswahlliste werden die gut sichtbaren (also wieder nach meiner Definition 20° über Horizont) mit einem kleinen Punkt markiert. Zu jedem Objekt werden auch ein paar Informationen und in den meisten Fällen ein Bild angezegt. Man kann die Anzeige des Bildes gegen einen Kartenabschnitt eintauschen, in dem das Objekt zentriert dargestellt wird. Die Kartenabschnitte habe ich in PP3-Celestial Chart Generator erzeugt. Wenn ein ausgewähltes Objekt auf dem Himmel sichtbar ist, besteht die Möglichkeit über den GoTo-Button diesen anzufahren. Zuerst wollte ich auch noch die Planeten mit aufnehmen, die Positionsberechnungen waren mir dann aber doch eine Nummer zu hoch.

Catalog-Kategory

 

 

Catalog-Object

Die gleiche Anzeige erscheint auch, wenn man bei der Steuerung "What that?" betätigt.

Nachtmodus

Im Astrotreff-Forum habe ich den Tipp bekommen, dass das Display in der Nacht zu hell sein könnte und dadurch die Dunkeladaption des Auges stören würde. Um dies zu verhindern haben alle Anzeigen einen "Nachmodus" bekommen. Dadurch hoffe ich das eben genannte Problem zu reduzieren.

Night-Mode

Rockerbox


Aktuell bin ich dabei die Rockerbox zu bauen. Diese wird aus Paulownia-Holz gezimmert weil diese Holzart sehr leicht ist und mir die Optik nach Behandlung mit Hartöl gut gefällt. Das ganze soll später in etwa so aussehen:

 Rockerbox-Plan

Wie man leicht erkennen kann, technisches Zeichnen gehörte nicht zu meinem Ausbildungsumfang, aber ich hoffe, man kann erkennen, wo die Reise hin geht.


Antrieb

Der Antrieb soll über Zahnriemen erfolgen. Diese werden direkt um die Basis und ein Höhenrad gelegt. Zu diesem Zweck habe ich in beide Teile Nuten gefräst und innen mit Anti-Rutsch-Band ausgelegt. Der erste manuelle Test ist sehr gut verlaufen, alles sitzt fest wie auf einem Zahnrad. Die Zahnriemen werden von den Schrittmotoren angetrieben, die in einer Art Schlitten mit starken Zugfedern gespannt und mit einer zusätzlichen Übersetzung platziert werden. Den Schlitten gabe ich mir erdacht, um den Zahnriemen möglichst immer unter Spannung zu halten, unabhängig davon ob ich bei der Holzbearbeitung gründlich genug gearbeitet habe. In der oberen Zeichnung sind die Zahnriemen rot dargestellt.

 Hoehenrad 1

Hoehenrad 2

Ich hoffe, man kann auf den Bildern die Nut erkennen, in der später der Zahnriemen verlaufen soll. Im zweiten Bild befindet sich auf der linken Seite das fertige Antriebsrad, welches an das Höhenrad montiert wird, geölt und mit eingeklebten Anti-Rutsch-Band.

Schlitten

So sieht der Antriebsschlitten aus. Das kleine Zahnrad wird von dem Schrittmotor angetrieben, die Achse des großen soll auf der anderen Seite die Basis der Rockerbox drehen und somit für die horizontale Bewegung sorgen.

Schritt für Schritt werden alle Teile der Rockerbox in der heimischen Garage hergestellt:

DobControl Rockerbox Teile

Auf dem Bild sind auch die Aufstellfüsse zu sehen, auf denen das ganze später stehen soll. Diese habe den Vorteil, dass die Höhe durch drehen des Fußes relativ weit verstellt werden kann. Somit kann das Teleskop im gewissen Rahmen unabhängig von dem Untergrund waagerecht aufgestellt werden.

DobControl Grundplatte

Die Füße habe ich unter die Grundplatte geschraubt, um die auch später der Zahnriemen umgelegt wird. Bei den weißen Teilen unter den Füßen handelt es sich um Antivibrations-Pads, die man normalerweise unter Waschmaschinen etc. stellt. Diese umschließen perfekt die Füße der Grundplatte und so beschloss ich sie später auf meinen Transportwagen zu befestigen um die Rockerbox vor verutschen zu schützen.

Als alle Teile fertiggestellt waren, wurden sie nacheinander mit Dübeln und Leim zu einer festen Einheit zusammengesetzt.

DobControl Rockerbox Zusammenbau 1

DobControl Rockerbox Zusammenbau 2

DobControl Rockerbox Zusammenbau 3

Anschließend wurde die fertig zusammengesetzte Rockerbox mehrmals mit Hartöl behandelt um sie witterungsbeständig, weniger kratzeranfällig und hüscher zu machen. Nach dem Ölen und Aushärten war die Rockerbox fertig. Anschließend war das Innenleben an der Reihe. Die Motorschlitten habe ich auf Schubladenschienen montiert. Damit habe ich mir die Möglichkeit erhalten die Spannung der Zahnriemen anzupassen. Von der ursprünglichen Idee die Schlitten über Federn zu ziehen und so den Zahnriemen zu spannen habe ich verworfen. Zum einen war in der für die Motorschlitten vorgesehenen Verkleidung nicht mehr so viel Platz, zum anderen haben Vorabtests gezeigt, dass die Federn nachgeben (wer hätte das gedacht Zwinkernd) und der Zahnriemen zum rutschen neigt. Nun stelle ich die Spannung über einen angeschraubten Winken ein, das funktioniert sehr gut.

DobControl Motorschlitten Montage

Auf der anderen Seite kommt der RasPi und der Rest der Elektronik rein. Auch hier wurde der Platz knapp.

DobControl Raspi Montage

Nachdem alles Verkabelt war und die "Boxen" geschlossen wurden kam der erste Praxistest und die Kalibrierung. Unter anderem habe ich erst an dieser Stelle bestimmen können, welsche Grad-Auflösung pro schritt meine Steuerung eigentlich hat. Für die Ansteuerung der Schrittmotoren verwende ich in der aktuellen Version BigEasyDriver im 16 Mikroschritt Betrieb.

DobControl

 

DobControl

Die Kalibrierung hat ergeben, dass ich in der horizontalen ein Auflösung von gerundet 4,3" und in der vertikalen 8.2" pro Mikroschritt habe. Besser als gedacht...

Am Ende noch ein Test der Nachführung an der Sonne....

DobControl Nachführung Sonne

 

... läuft Cool. Die Mikroschrittauflösung ist visuell für mich mehr als ausreichend.

Okularhalterung

Um die Okulare griffbereit zu haben und um dem Nunchuk eine Ablagemöglichkeit zu geben fertige und montierte ich eine Halterung für bis zu 4 Okulare und den Controller.

 

OAZ motoriesierung


Natürlich wollte ich auch den OAZ ebenfalls mit hilfe des Nunchuik-Controllers steuern können. Dazu sollte ein kleiner Gleichstromgetriebemotor mit 7RPM dienen. Diesen habe ich mit einer kleinen Kupplung direkt mit der Welle des Fokusierers verbunden. Um den Motor mit dem Gehäuse verbinden zu können, baute ich ihm ein kleines Gehäuse mit einer Rundung am unteren Ende passend zur Rundung des Tubus. Befestigt wurde das Ganze mit einer einfachen endlos Schlauchschelle.

Die DobControl-Software ermöglicht es den Motor über das Nunchuk (Z-Taste + rauf/runter) in 4 Geschwindigkeiten zu steuern. Eine Fokussierung per Hand ist dadurch aber nicht mehr möglich.


Update Januar 2016


Nach einigen Beobachtungsnächten auch mit etwas größeren Vergrößerungen empfand ich die vorgesehene Schrittzahl dann doch nicht mehr als so ausreichend wie ursprünglich angenommen und so beschloss ich den Mototreiber durch einen mit 128 Mikroschritten auszutauschen. Die Wahl fiel dann auf den RAPS128, der häufig bei 3D-Druckern eingesetzt wird und durchweg positive Bewertungen bekommt. Bei dessen verwendung muss man aber darauf achten, dass sein Chip Enable-Signal im gegenteil zu vienen anderen Treibern, HIGH-active ist. Die Software bekam deshalb eine zusätzliche Maske, in der der eingesetzte Treiber ausgewählt werden kann, und wenn ich schon dabei war, auch eine Maske in der man die Mikroschritt-Konfiguration einstellen kann. So kann man bei weiten Schwenks z.B. 32 Mikroschritte und bei der Mondbeobachtung mit größerer Vergrößerung 128 Mikroschritte verwenden. Die Möglichkeit empfinde ich als sehr komfortabel.

Nachführung (Demo)


Das folgende Video entstand an einem recht windigen Abend, sollte aber als Showcase für die Nachführungsfunktion ausreichen:


Downloads


Aktueller Sourcecode (Version 0.14)

Katalog-Basisdatei (Exceldatei mit Makros)

Layout (Eagle + PDF)

Jeglicher Download von dieser Website geschieht auf eigene Gefahr!
Jegliche Benutzung der Dateien, die von dieser Website heruntergeladen werden geschieht auf eigene Gehahr!
Es gibt keinerlei Haftung oder Gewährleistung für irgendeine Eigenschaft oder Nichteigenschaft.