Inhaltsverzeichnis:

Raspberry Pi Planet Finder - Gunook
Raspberry Pi Planet Finder - Gunook

Video: Raspberry Pi Planet Finder - Gunook

Video: Raspberry Pi Planet Finder - Gunook
Video: Automated #RaspberryPi Planet Tracking GOTO Telescope 2024, Juli
Anonim
Image
Image
Was du brauchst
Was du brauchst

Außerhalb des Science Centers in meiner Stadt gibt es eine große Metallstruktur, die sich drehen und auf die Planeten am Himmel zeigen könnte. Ich habe nie gesehen, dass es funktioniert, aber ich dachte immer, es wäre magisch zu wissen, wo diese unerreichbaren anderen Welten in Bezug auf mein kleines Selbst tatsächlich waren.

Als ich vor kurzem an dieser längst verstorbenen Ausstellung vorbeiging, dachte ich: "Ich wette, ich schaffe das" und das tat ich!

Dies ist eine Anleitung zum Erstellen des Planetenfinders (mit dem Mond), damit auch Sie wissen, wo Sie suchen müssen, wenn Sie vom Weltraum beeindruckt sind.

Schritt 1: Was Sie brauchen

Was du brauchst
Was du brauchst

1 x Raspberry Pi (Version 3 oder höher für Onboard-WLAN)

1 x LCD-Bildschirm (16 x 2) (so)

2 x Schrittmotoren mit Treibern (28-BYJ48) (wie diese)

3 x Druckknöpfe (wie diese)

2 x Flanschkupplungen (wie diese)

1 x Knopfkompass (so)

8 x M3-Schrauben und Muttern

3D-gedruckte Teile für Gehäuse und Teleskop

Schritt 2: Planetenkoordinaten

Planetenkoordinaten
Planetenkoordinaten

Es gibt verschiedene Möglichkeiten, um zu beschreiben, wo sich astronomische Objekte am Himmel befinden.

Für uns ist das horizontale Koordinatensystem am sinnvollsten, wie in der Abbildung oben gezeigt. Dieses Bild stammt von der hier verlinkten Wikipedia-Seite:

en.wikipedia.org/wiki/Horizontal_coordinat…

Das horizontale Koordinatensystem gibt Ihnen einen Winkel von Norden (Azimut) und aufwärts vom Horizont (Höhe) an, so dass er je nachdem, von wo aus Sie auf der Welt schauen, unterschiedlich ist. Unser Planetfinder muss also den Standort berücksichtigen und eine Möglichkeit haben, den Norden als Referenz zu finden.

Anstatt zu versuchen, die Höhe und den Azimut zu berechnen, die sich mit Zeit und Ort ändern, verwenden wir die WLAN-Verbindung an Bord des Raspberry Pi, um diese Daten von der NASA abzurufen. Sie behalten so etwas im Auge, damit wir es nicht müssen;)

Schritt 3: Zugriff auf Planetendaten

Wir beziehen unsere Daten vom NASA Jet Propulsion Laboratory (JPL) -

Um auf diese Daten zuzugreifen, verwenden wir eine Bibliothek namens AstroQuery, eine Reihe von Tools zum Abfragen von astronomischen Webformularen und Datenbanken. Die Dokumentation zu dieser Bibliothek finden Sie hier:

Wenn dies Ihr erstes Raspberry Pi-Projekt ist, folgen Sie zunächst dieser Einrichtungsanleitung:

Wenn Sie Raspbian auf Ihrem Raspberry Pi verwenden (Sie werden es tun, wenn Sie der obigen Anleitung gefolgt sind), dann haben Sie Python3 bereits installiert, stellen Sie sicher, dass Sie die neueste Version installiert haben (ich verwende Version 3.7.3). Wir müssen dies verwenden, um Pip zu bekommen. Öffnen Sie ein Terminal und geben Sie Folgendes ein:

sudo apt installieren python3-pip

Wir können dann pip verwenden, um die aktualisierte Version von astroquery zu installieren.

pip3 install --pre --upgrade astroquery

Bevor Sie mit dem Rest dieses Projekts fortfahren, versuchen Sie, mit einem einfachen Python-Skript auf diese Daten zuzugreifen, um sicherzustellen, dass alle richtigen Abhängigkeiten korrekt installiert wurden.

von astroquery.jplhorizons importieren Horizonte

mars = Horizons(id=499, location='000', epochs=None, id_type='majorbody') eph = mars.ephemerides() print(eph)

Dies sollte Ihnen die Details zum Standort des Mars zeigen!

Sie können überprüfen, ob diese Daten richtig sind, indem Sie diese Website verwenden, um Live-Planetenpositionen nachzuschlagen:

Um diese Abfrage ein wenig aufzuschlüsseln, ist die ID die Nummer, die in den JPL-Daten mit dem Mars verbunden ist, Epochen ist die Zeit, aus der wir die Daten haben möchten (None bedeutet jetzt) und id_type fragt nach den wichtigsten Körpern des Sonnensystems. Der Standort ist derzeit auf Großbritannien festgelegt, da '000' der Standortcode für das Observatorium in Greenwich ist. Weitere Standorte finden Sie hier:

Fehlerbehebung:

Wenn Sie die Fehlermeldung erhalten: Kein Modul namens 'keyring.util.escape'

versuche den folgenden Befehl im Terminal:

pip3 install --upgrade keyrings.alt

Schritt 4: Code

An diesen Schritt angehängt ist das vollständige Python-Skript, das in diesem Projekt verwendet wird.

Um die richtigen Daten für Ihren Standort zu finden, gehen Sie zur Funktion getPlanetInfo und ändern Sie den Standort mithilfe der Liste der Observatorien im vorherigen Schritt.

def getPlanetInfo(Planet):

obj = Horizons(id=planet, location='000', epochs=None, id_type='majorbody') eph = obj.ephemerides() return eph

Schritt 5: Hardware anschließen

Anschließen von Hardware
Anschließen von Hardware
Anschließen von Hardware
Anschließen von Hardware
Anschließen von Hardware
Anschließen von Hardware

Verbinden Sie mit Steckbrettern und Überbrückungsdrähten zwei Schrittmotoren, den LCD-Bildschirm und drei Tasten, wie im obigen Schaltplan gezeigt.

Um herauszufinden, welche Nummer die Pins auf Ihrem Raspberry Pi haben, gehen Sie zum Terminal und geben Sie ein

Pinbelegung

Dies sollte Ihnen das obige Bild komplett mit GPIO-Nummern und Board-Nummern zeigen. Wir verwenden Platinennummern, um zu definieren, welche Pins im Code verwendet werden, daher werde ich auf die Nummern in Klammern verweisen.

Als Hilfe zum Schaltplan hier die Pins, die mit jedem Teil verbunden sind:

1. Schrittmotor - 7, 11, 13, 15

2. Schrittmotor - 40, 38, 36, 32

Taste1 - 33

Taste2 - 37

Taste3 - 35

LCD-Bildschirm - 26, 24, 22, 18, 16, 12

Wenn dies alles verbunden ist, führen Sie das Python-Skript aus

python3 planetFinder.py

und Sie sollten sehen, dass der Bildschirm Setup-Text anzeigt und die Tasten sollten die Schrittmotoren bewegen.

Schritt 6: Entwerfen des Gehäuses

Entwerfen des Gehäuses
Entwerfen des Gehäuses
Entwerfen des Gehäuses
Entwerfen des Gehäuses
Entwerfen des Gehäuses
Entwerfen des Gehäuses

Das Gehäuse wurde so konzipiert, dass es einfach in 3D gedruckt werden kann. Es zerfällt in Einzelteile, die nach der Befestigung der Elektronik zusammengeklebt werden.

Die Löcher sind für die von mir verwendeten Knöpfe und M3-Schrauben bemessen.

Ich habe das Teleskop in Teilen ausgedruckt und später zusammengeklebt, um zu viel Stützstruktur zu vermeiden.

STL-Dateien werden an diesen Schritt angehängt.

Schritt 7: Testen der Ausdrucke

Testen der Ausdrucke
Testen der Ausdrucke
Testen der Ausdrucke
Testen der Ausdrucke
Testen der Ausdrucke
Testen der Ausdrucke
Testen der Ausdrucke
Testen der Ausdrucke

Sobald alles gedruckt ist, vergewissern Sie sich, dass alles gut zusammenpasst, bevor Sie mit dem Kleben beginnen.

Bringen Sie die Tasten an und befestigen Sie den Bildschirm und die Schrittmotoren mit M3-Schrauben und geben Sie alles gut wackeln. Feilen Sie alle Ecken und Kanten ab, nehmen Sie alles wieder auseinander, bevor Sie den nächsten Schritt ausführen.

Schritt 8: Erweitern des Schrittmotors

Ausfahren des Schrittmotors
Ausfahren des Schrittmotors
Ausfahren des Schrittmotors
Ausfahren des Schrittmotors
Ausfahren des Schrittmotors
Ausfahren des Schrittmotors

Der Schrittmotor, der den Höhenwinkel des Teleskops steuert, sitzt über dem Hauptgehäuse und benötigt etwas Spiel in den Drähten, um sich zu drehen. Die Drähte müssen verlängert werden, indem sie zwischen dem Stepper und seiner Treiberplatine geschnitten und eine neue Drahtlänge dazwischen gelötet werden.

Ich habe den neuen Draht mit einem Stück Faden in den Stützturm eingeführt, um ihn durchzulocken, da der Draht, den ich verwende, ziemlich steif ist und immer wieder stecken blieb. Sobald es durch ist, kann es an den Schrittmotor gelötet werden, wobei darauf zu achten ist, welche Farbe angeschlossen ist, um die richtigen am anderen Ende wieder anzubringen. Vergessen Sie nicht, den Drähten Schrumpfschlauch hinzuzufügen!

Führen Sie nach dem Löten das Python-Skript aus, um zu überprüfen, ob alles noch funktioniert, und schieben Sie dann die Drähte zurück in das Rohr, bis der Schrittmotor in Position ist. Anschließend kann er mit M3-Schrauben und Muttern am Schrittmotorgehäuse befestigt werden, bevor die Gehäuserückseite verklebt wird.

Schritt 9: Montieren Sie die Tasten und den LCD-Bildschirm

Montieren Sie Tasten und LCD-Bildschirm
Montieren Sie Tasten und LCD-Bildschirm
Montieren Sie Tasten und LCD-Bildschirm
Montieren Sie Tasten und LCD-Bildschirm
Montieren Sie Tasten und LCD-Bildschirm
Montieren Sie Tasten und LCD-Bildschirm
Montieren Sie Tasten und LCD-Bildschirm
Montieren Sie Tasten und LCD-Bildschirm

Setzen Sie die Knöpfe ein und ziehen Sie die Muttern fest, um sie vor dem Löten zu sichern. Ich verwende gerne ein gemeinsames Erdungskabel, das aus Gründen der Sauberkeit zwischen ihnen verläuft.

Befestigen Sie den LCD-Bildschirm mit M3-Schrauben und Muttern. Das LCD möchte ein Potentiometer an einem seiner Pins, das ich in dieser Phase auch gelötet habe.

Testen Sie den Code erneut! Stellen Sie sicher, dass alles noch funktioniert, bevor wir alles zusammenkleben, da es zu diesem Zeitpunkt viel einfacher zu reparieren ist.

Schritt 10: Flansche hinzufügen

Flansche hinzufügen
Flansche hinzufügen
Flansche hinzufügen
Flansche hinzufügen
Flansche hinzufügen
Flansche hinzufügen
Flansche hinzufügen
Flansche hinzufügen

Um die 3D-gedruckten Teile mit den Schrittmotoren zu verbinden, verwenden wir eine 5 mm Flanschkupplung, die oben auf das Ende des Schrittmotors passt und von winzigen Schrauben gehalten wird.

Ein Flansch wird auf die Basis des Drehturms und der andere auf das Teleskop geklebt.

Die Befestigung des Teleskops am Motor oben auf dem Drehturm ist einfach, da viel Platz für die kleinen Befestigungsschrauben vorhanden ist. Der andere Flansch ist schwieriger zu befestigen, aber zwischen dem Hauptgehäuse und der Basis des Drehturms ist genügend Spalt vorhanden, um einen kleinen Inbusschlüssel zu montieren und die Schraube festzuziehen.

Nochmal testen!

Jetzt sollte alles so funktionieren, wie es im Endzustand sein wird. Wenn dies nicht der Fall ist, ist es jetzt an der Zeit, Fehler zu beheben und sicherzustellen, dass alle Verbindungen sicher sind. Stellen Sie sicher, dass sich freiliegende Drähte nicht berühren, gehen Sie mit Isolierband herum und flicken Sie alle Stellen, die ein Problem verursachen könnten.

Schritt 11: Beim Start ausführen

Anstatt den Code jedes Mal manuell auszuführen, wenn wir einen Planeten finden möchten, möchten wir, dass dies als eigenständiges Exponat ausgeführt wird.

Geben Sie im Terminal ein

crontab -e

Fügen Sie in der geöffneten Datei Folgendes am Ende der Datei hinzu, gefolgt von einer neuen Zeile.

@reboot python3 /home/pi/PlanetFinder/planetFinder.py &

Ich habe meinen Code in einem Ordner namens PlanetFinder gespeichert, daher ist /home/pi/PlanetFinder/planetFinder.py der Speicherort meiner Datei. Wenn Ihre Datei woanders gespeichert ist, ändern Sie sie hier.

Das & am Ende ist wichtig, da es den Code im Hintergrund laufen lässt und andere Prozesse, die auch beim Booten auftreten, nicht aufhält.

Schritt 12: Kleben Sie alles zusammen

Kleben Sie alles zusammen!
Kleben Sie alles zusammen!
Kleben Sie alles zusammen!
Kleben Sie alles zusammen!

Alles, was noch nicht verklebt ist, sollte jetzt fixiert werden.

Schließlich fügen Sie den kleinen Kompass in die Mitte der Drehbasis ein.

Schritt 13: Verwendung

Verwendungszweck
Verwendungszweck

Wenn der Planet Finder eingeschaltet wird, fordert er den Benutzer auf, die vertikale Achse anzupassen. Drücken Sie die Auf- und Ab-Tasten, um das Teleskop zu bewegen, versuchen Sie, es waagerecht auszurichten und nach rechts zu zeigen, und drücken Sie dann die OK-Taste (unten).

Der Benutzer wird dann aufgefordert, die Drehung anzupassen, das Teleskop mit den Tasten zu drehen, bis es gemäß dem kleinen Kompass nach Norden zeigt, und dann OK drücken.

Sie können nun mit den Auf-/Ab-Tasten durch die Planeten blättern und mit der OK-Taste einen auswählen, den Sie finden möchten. Es zeigt die Höhe und den Azimut des Planeten an, dann gehen Sie und zeigen Sie einige Sekunden darauf, bevor Sie sich wieder nach Norden drehen.

Schritt 14: Fertig

Fertig
Fertig

Alles erledigt!

Genieße es zu wissen, wo alle Planeten sind:)

Weltraumherausforderung
Weltraumherausforderung
Weltraumherausforderung
Weltraumherausforderung

Erster Preis bei der Space Challenge

Empfohlen: