AllSky Kamera 1 - Astrotonne mit Canon EOS
aktualisierender HinweisDie hier noch beschriebene Canon EOS 400D wurde mittlwerweile durch eine Canon EOS 1200D ersetzt. Die 400D hat sich in die Weiten des Universums verabschiedet.Die ursprüngliche Software wurde ersetzt, es wird jetzt die selbst entwickelte StarCatcher Software verwendet. Eine AllSky Kamera blickt eigentlich senkrecht in den Himmel. Davon wollte ich bei dieser Kamera abweichen und habe mich für einen Blick in Richtung Süden entschieden, da dadurch weniger Beeinträchtigungen im Sichtfeld vorhanden sind. Zudem habe ich einen geeigneten Platz für die Montage der Kamera. Anforderungen an die AllSky Kamera
|
Standort
Die AllSky Kamera der Sternenbasis 39 befindet sich auf der Insel Föhr. Aktuell werden Serien noch manuell und je nach Wetterlage gesteuert und aufgenommen. Die Blickrichtung der Kamera ist SüdSüdOst. Bis zur festen Installation kann dieses jedoch zu Testzwecken abweichen.
Kameramodifikationen
Normalerweise wird die Canon EOS 400D wie jede andere Digitlakamera mit Akkus betrieben. Für den geplanten Einsatz ist das nicht praktikabel. Ich nutze daher einen Netzstromadapter für die Kamera. Damit ist ein Dauerbetrieb möglich.
Schon immer hat es mich gereizt, eine Kamera mal mit einem Firmware Hack in ihren Möglichkeiten zu erweitern. Ich habe mich daher entschieden, die für die Canon EOS 400D verfügbare Version 400plus auszuprobieren. Neben vielen anderen Funktionen bietet er die Möglichkeit Aufnahmen bis ISO 3000 zu machen (Standard ISO 1600). Dieses ermöglicht eine kürzere Belichtungszeit, denn bei dem verwendeten Objektiv EF-S18-55mm f/3.5-5.6 in der kürzesten Brennweite von 18 mm kommt es ab ca. 15 Sekunden zu Strichspuren bei den Sternen. Zudem ist der Firmware Hack leicht rückgängig zu machen, da alle Modifikationen nur auf der CF Karte und nicht in der Kamera gespeichert sind. Da die Kamera in einem wetterfesten Gehäuse verbaut ist, müssen die Einstellungen am Objektiv (Brennweite 18mm und Fokus auf unendlich) fixiert werden. Dieses muss vorher erledigt werden, da das Gehäuse später nur schwer zu öffnen ist. Ein wenig PowerTape ist hier sehr hilfreich.
Gehäuse
Das Gehäuse muss wetterfest und vor allem wasserdicht sein. Üblicherweise sind die "professionellen" Kamerageäuse aus Edelstahl. Da dieses nicht verfügbar, recht teuer und auch schwerer zu bearbeiten ist, habe ich mich entschieden, ein KG-Rohr DN200 zu nutzen. Dieses wird auf der Optik-Seite mit einem Muffenstopfen verschlossen. Die vorhandenen Gummidichtungen sind sehr haltbar und der Stopfen kann kaum wieder entfernt werden, so dass diese Seite sehr dicht wird. In den Stopfen wird mit einer Lochkreissäge eine Öffnung gebohrt. Vor diese wird von innen eine Glasscheibe montiert (Glas aus Minibilderrahmen ist preiswert und gut). Die Öffnung wird von aussen mit Silikon am Rand der Scheibe abgedichtet. Von innen wird noch ein einfacher Blendschutz aus Pappe (wie eine Art Sonnenblende) angebracht. In diesen wird später das Objektiv gesteckt. Diese Blende verhindert, dass Streulicht aus dem Inneren (Kameradisplay, diverse LED) auf die Scheibe fällt und zu ungewünschten Reflektionen führt. Zudem können in einer Tasche dieser Blende noch einige "Do not eat's" (SilicaGel) untergebracht werden. Da Feuchtigkeit durch Kondensation nicht auszuschließen ist, kann hier etwas vorgebeugt werden.
Das Rohr wird auf die benötigte Länge gekürzt (Stichsäge). Dabei ist zu beachten, dass Kamera, RaspberryPi und Stromversorgung einen gewissen Platz benötigen. Die hintere Seite wird mit einer Muffenkappe verschlossen. In die Kappe wird ein Loch für die Kabeldurchführung (Strom) gebohrt und mit einer Schraubgummimuffe versehen, so dass hier später eine Abdichtung vorhanden ist. An der Rückwand wird innenseitig ein Winkel mit einer Montageplatte befestigt. Diese bekommt am Kameraende einen Fuß, so dass die ganze Konstruktion später im Rohr fest und sicher steht. Alle Verschraubungen am Gehäuse erfolgen mit Edelstahlschrauben und werden von aussen noch einmal mit Silikon oder Alu Klebeband abgedichtet. An der Unterseite wird noch eine Prismenschiene montiert, damit das Ganze später auf einem Stativ mit Schnellwechselplatte oder anderweitig montiert werden kann.
Zur Veranschaulichung einige Bilder
Computer und Software
Zum Einsatz kommen hier:
- RaspberryPi 2B mit Raspberry Pi OS (Buster)
- WLAN Stick 2.4 GHz da der Raspi 2B kein internes WLAN hat
- GPHOTO2 - zur Steuerung der Kamera über USB
- Mencoder - zur Erstellung der Zeitraffervideos
- Shell Skripte zur Steuerung der Aufnahmeserien
- FTP, VNC, SSH zur Steuerung des Raspi und Upload der Dateien
Zunächst wird auf dem Raspberry Pi 2B das Raspberry Pi OS installiert. Dieses erfolgt am Besten mit angeschlossenem Monitor, Tastatur und Maus. Der Raspi 2B reicht von der Performance für das Projekt aus. Ich konnte keine "gravierenden Bremsen" feststellen, wenn auch ein modernerer Raspi in der Version 4 etwas mehr Schub bringt. Es empfielt sich, alle Softwarepakete zu installieren und auf den aktuellsten Stand zu bringen. Danach ist dann die WLAN Verbindung zum eigenen Netzwerk zu konfigurieren. Hier sollte eine feste IP vergeben werden, damit der Rechner später immer über die gleiche IP Adresse per VNC angesprochen werden kann.
Danach wird dann eine VNC Verbindung zum Rechner eingerichtet. So wird es möglich, den Rechner zu steuern, wenn er später im Gehäuse steckt und an seinem Platz montiert wurde. Monitor, Tastatur und Maus sind dann nicht mehr erforderlich/verfügbar.
Eine typische VNC Oberfläche sieht dann so aus
GPHOTO2 erlaubt die Steuerung von über 2700 kompatiblen Kameras. Die Kamera ist per USB an den Raspberry Pi angeschlossen. Mit Hilfe der vorhandenen Kommandos können die Paramter der Kamera ausgelesen und gesetzt werden, sowie Fotos aufgenommen werden. Die genauen Möglichkeiten hängen von der Kamera ab, reichen aber weit über die normalerweise benötigten Funktionen hinaus. Ich habe die einzelnen Kommandos zum Teil in Skripten zusammengefaßt um mir die Arbeit zu erleichtern. Zudem können diese Skripte auch in CRON Jobs auf dem Raspi verwendet werden. So wäre es z.B. möglich, eine Aufnahmeserie jeden Abend um 20:00 Uhr mit vordefinierten Parametern zu starten.
Zwischen all diesen Installationen gibt es natürlich eine ganze Reihe von Parametern in der Konfiguration, die individuell einzustellen sind. Ganz wichtig dabei, man sollte nach allen wichtigen Schritten ein Backup machen. Ich habe mich dafür entschieden, ein Image der SD Karte des Raspberry anzufertigen. Dieses kann bei Bedarf einfach auf eine neue Karte gespielt werden und das System läuft wieder. Durch den Dauerbetrieb wurde bei mir bereits eine SD Karte beschädigt und ich konnte so problemlos mit dem Backup weiter arbeiten.
Kurze Übersicht zu zwei Skripten
Im Folgenden sollen zwei Scripte kurz vorgestellt werden. Neben der Funktionalität bekommt man ein Gefühl, wie die Kamerasteuerung mit GPHOTO2 funktioniert.
startKamera.sh
# Kamera erkennen
gphoto2 --auto-detect
# Kamera unmounten
gio mount -s gphoto2
# Datum und Uhrzeit synchronisieren
gphoto2 --set-config datetime=now
# kleinste Blende einstellen EF-S 18-55 Blende 3.5
gphoto2 --set-config aperture=0
# mittlere Bildgröße einstellen 2816 x 1880 5.3 MP -> 3 MB
# Label: Image Format
# Type: RADIO
# Current: Medium Fine JPEG
# Choice: 0 Large Fine JPEG 3888 x 2592 10MP -> 5.6 MB
# Choice: 1 Large Normal JPEG
# Choice: 2 Medium Fine JPEG 2816 x 1880 5.3MP -> 3 MB
# Choice: 3 Medium Normal JPEG
# Choice: 4 Small Fine JPEG 1936 x 1288 2.49MP -> 1.6 MB
# Choice: 5 Small Normal JPEG
# Choice: 6 RAW
# Choice: 7 RAW + Large Fine JPEG
gphoto2 --set-config imageformat=2
# Datum Uhrzeit anzeigen
gphoto2 --get-config datetime
Als nächstes wird noch das Bildformat auf eine mittlere Größe eingestellt. Für die Präsentation im Internet reicht das aus. Bei Astrofotografie und späterer Verarbeitung der Bilder sollte eine höhere Auflösung gewählt werden.
Zur Kontrolle werden am Ende Datum und Uhrzeit angezeigt.
getSerie.sh
Das folgende Skript kann hier heruntergeladen werden getSerie.sh (Rechtsklick - Speichern unter) und wird deshlab hier nicht ausführlich abgedruckt.
# Parameter 1 - Wartezeit
# Parameter 2 - Anzahl Fotos
# Parameter 3 - FTP bei FTP_YES wird übertragen
# Parameter 4 - VIDEO bei VIDEO_YES Teitraffer erstellt
# Parameter 5 - neue Belichtungszeit in Sekunden (muss möglicher Einstellung entsprechen)
# Parameter 6 - neue Blende Blendenwert oder Auswahl
# Parameter 7 - ISO Wert
Aufrufbeispiel
Das Skript wartet zwischen den Aufnahmen 300 Sekunden, fertig insgesamt 120 Bilder, läd diese per FTP auf den Server, am Ende wird ein Zeitraffer Video erstellt (und ebenfalls auf den Server geladen). Es wird je Bild 13 Sekunden mit Blende f/5.6 und ISO 1600 belichtet.
Weiterhin sorgt das Skript dafür, dass die Dateien auf dem Raspberry im home Directory des Users Pi (alles Standard) und auf dem Webserver jeweils in einem Verzeichnis /allsky abgelegt werden. Dabei gibt es für jeden Tag einen Unterordner nach dem Schema YYYYMMTT. Die Dateien werden nach dem Schema YYYYMMTT_HHMMSS.jpg (oder .mp4) benannt.
Der ganze Vorgang wird in einer Textdatei protokolliert und ebenfalls auf den Server geladen.
Damit stehen alle Daten für die Präsentation auf der Webseite bereit.
Webseite
Die so gewonnenen Aufnahmen sollten auf einer Webseite präsentiert werden. Wenn Du das hier gerade liest, bist Du auf der Präsentation gelandet. Glückwunsch!
Neben dem ganzen "Drumherum" gibt es zwei Bereiche. AllSky aktuell und AllSky Archiv Im Bereich "Allsky aktuell" wird immer die zuletzt aufgenommene Serie oder auch eine gerade laufende Serie angezeigt. Dabei wird immer das zuletzt aufgenommene Bild dargestellt. Eine Auflistung von Aufnahmeparametern und der vorhandenen Dateien im Serienverzeichnis wird ebenfalls bereitgestellt. Die Bilder können durchblättert werden. Im Bereich "AllSky Archiv" werden bereits vorhandene Serien aufgelistet. Diese lassen sich auswählen und ebenfalls wie die Daten unter " AllSky aktuell" durchsehen. Neue Serien müssen nicht aufwendig in der Webseite eingebunden werden. Dieses erledigen PHP Skripte im Hintergrund. Die angelieferten Daten der Kamera werden dabei in die Struktur der Webseite eingeabeitet. Aufgabe des Administrators bleibt es, ab und an alte Serien manuell zu löschen.
Neuer Standort
Die Kamera ist mittlwerweile an ihrem geplanten Standort montiert. Die Montierung an der der Tubus aufgehängt ist, besteht aus 2 WPC Brettern, die mit einem Edelstahlscharnier klappbar verbunden wurden. Zur Einstelung des Winkels dient ein Edelstahl Seilspanner. Das Ganze hängt drehbar gelagert am Dachbalken.
Solarstrom im März 2021
Für die Allsky Kamera wurde mittlerweile eine Solarstromversorgung installiert. Dafür wurden folgenden Komponenten installiert:
- Solarpanel 130W
- Laderegler 10A
- Spannungswandler 12V -> 230V 600W (Spitze 1200W)
- Solarakku 100AH
- AVM FRITZ!DECT 200 - für Fernsteuerung an/aus
Das System zieht etwa 5W in Regelbetrieb und bis zu 10W bei Spitzen. Theoretisch sollte die 100 AH Batterie also für mindestens 3 Tage Dauerbetrieb reichen. Dieses gilt es zu beobachten und ist von der Solarleistung und dem Nachladen abhängig.
SONOFF TH10 - WLAN Schalter mit Temperatur und Feuchtigkeitsensor April 2021
Für die Steuerung der Stromzufuhr wurde ein WLAN Schalter SONOFF TH10 mit Feuchtigkeits- und Temperatursensor im Kameragehäuse installiert. Zum Einen ersetzt dieser den externen FRITZ!DECT 200 Schalter, zum Anderen können Temperatur und Luftfeuchtigkeit in der Kamerainstallation gemessen werden. Die zugehörige APP eWeLink erlaubt das Schalten der Stromzufuhr über das WLAN. Dieses kann in Abhängigkeit von Temperatur und/oder der relativen Luftfeuchtigkeit erfolgen. Ebenso ist eine zeitabhängige Schaltung möglich.
Grafische Oberfläche für die Skripte und "Trockensocke" Juni 2021
Für die Skripte wurde eine grafische Oberfläche geschaffen. Dadurch wird die Bedienung etwas einfacher. Zusätzlich wurde auf Basis der Skripte eine weitere grafische Oberfläche geschaffen, die es erlaubt, die Kamera als Webcam zu starten. Dadurch wird auch eine Nutzung tagsüber ermöglicht. Für den aktuellen Einsatz wurde der ISO Wert der Kamera auf 3000 gefixt. Dieser Wert kann in der EOS400D nur mit der geänderten Firmware erreicht werden. Man kann ihn zwar theoretisch ändern, danach sind aber nur noch die Originalwerte per Software vom Raspi zu ändern. Für das Rückstellen auf ISO 3000 müsste man die Kamera bedienen. Dieses ist aber nur durch Öffnen des Gehäuses der AllSky Kamera möglich. Daher wurde der ISO Wert gefixt, um ihn nicht aus Versehen zu verstellen.
Die Oberfläche der Skripte sieht dann so aus.
Was hat es nun mit der "Trockensocke" auf sich. Ganz einfach. Damit die Luftfeuchtigkeit im Gehäuse möglichst gering bleibt, wurde eine alte Socke mit Silica-Gel (ca 400g) gefüllt und in einem leeren Bereich des Kameragehäuses plaziert. Die Luftfeuchtigkeit beträgt nun selten mehr als 25%. Bei einer Wartungsöffnung des Gehäuses (einmal im Jahr) kann das Gel ausgetauscht und/oder regeniert werden. Feuchtigkeit auf der Kamera sollte im luftdicht verschlossenen Gehäuse der AllSky Kamera nun ein recht kleines, aber nie ganz auszuschließendes Problem sein. Unterstützt wird die Verhinderung von Taubildung durch die Abwärme des Raspi im Betrieb. Dieser sorgt für ein behagliches Klima.
Ausblick
Eigentlich ist man ja nie fertig mit derartigen Projekten. Ich finde aber, ich bin schon recht weit. Als weitere Punkte für das Projekt werden noch umgesetzt, oder zumindest darüber nachgedacht:
- Verbesserung des Zeitraffers - Nutzung eines auf Webseiten darstellbaren Codec - im Moment manuell
- vollständig autonomer Betrieb mit automatischer Tag/Nacht Steuerung
- öffentliches Interface, um Nutzern die Möglichkeit zu geben, selbst Aufnahmeserien zu definieren
Sollte es Fragen, Anregungen oder Wünsche zum Projekt geben, so kann jederzeit Kontakt zu mir aufgenommen werden. Gerne gebe ich Hilfestellung zu einem eigenen AllSky Projekt und stelle auch den Code der Skripte und für die Webseite kostenfrei zur Verfügung, wenn Bedarf besteht. Die Skripte und die Webseite sind vollständig durch mich erstellt und alle Rechte liegen bei mir.
Clear sky Thomas