Wir wollen die Raketenstarts möglichst detailliert vermessen und dokumentieren. Dazu können externe Sensoren (z.B. statische Kameras) verwendet werden, aber auch Nutzlast-Sensoren mit der Rakete mitfliegen. Werden die Daten nicht erst nach dem Flug ausgewertet, sondern während des Flugs an die Bodenstation übertragen, sprechen wir von Telemetrie.

Damit die Sensorik-Einheit die Landung übersteht und wie die SpaceX-Raketen wiederverwendet werden können, muss eine entsprechende Nutzlastverkleidung, eine Aufpralldämpfung oder ein Fallschirmsystem gebaut werden.

Sensoren

  • Bodenkamera
    • Stativ, Zeitlupenaufnahme…
  • Microbit:
    • Beschleunigungsmesser
    • Magnetometer (Kompass)
    • Interner Speicher zur Aufzeichnung.
  • Arduino
    • Höhenmesser

Microbit

Einfache Datensammlung könnte wie folgt stattfinden. Achtung, der Microbit sammelt Daten, sobald er eingestellt wird, was blitzschnell den Speicher füllt. Für den Raketenbetrieb sollte die Datensammlung erst loslegen, wenn der Countdown beginnt! Es wäre also gut, den Countdown für Kameras und die Onboard-Sensorik per Bluetooth zu synchronisieren.

collector.py
from microbit import *
import log
import time
 
# Logging will be mirrored on console.
log.set_mirroring(True) 
# Delete last log
log.delete()
# Define which columns we are going to log, and disable timestamps
log.set_labels('launch_ts', 'ax', 'ay', 'az', timestamp=None)
 
# The standard setting only allows accelerations up to 2g, we want 8g!
accelerometer.set_range(8)
 
START_TS = time.ticks_ms()  # start timestamp
 
# Set the timer to log data every 20 milliseconds (50 measurements per second)
@run_every(ms=20)
def log_single_row():
    # Timestamp in milliseconds since countdown start.
    timestamp = time.ticks_ms() - START_TS
    accel = accelerometer.get_values()
    log.add(launch_ts=timestamp, ax=accel[0], ay=accel[1], az=accel[2])

Altimeter

Wir haben einige BMP280 Höhenmesser von Adafruit. Diese lassen sich mit dieser Bibliothek einlesen.

Die bmp280.py Datei muss im Projekt im selben Ordner gespeichert werden wie die Hauptdatei. Dabei muss die I2C-Adresse in der Datei noch angepasst werden:

BMP280_I2C_ADDR = 0x77  # statt 0x76

In der Hauptdatei (main.py) kann die Höhe wie folgt ausgelesen werden:

import bmp280
sensor = bmp280.BMP280()
 
while True:
    sleep(500)
    print(sensor.Altitude())

Auf der Hardware-Seite müssen die vier Kontakte des Sensors mit 3V, GND sowie Pins 19 (SCL) und 20 (SDA) am Microbit verbunden werden.

Ein Problem ist, dass mit dem obigen Code der Log-Speicher schnell voll ist. Weil aber die Befüllung und der Druckaufbau mehrere Minuten Zeit benötigen, kann es sein, dass der Speicher nicht für die eigentlichen Flugdaten reicht.

Es wäre gut, die Datenaufzeichnung erst mit dem Launch-Countdown zu starten. Abhilfe bietet ein zweiter Microbit in der Bodenstation, die bei Launch - 10s via Bluetooth den Countdown-Befehl an die Payload sendet. Bei Countdown -10s werden alle Sensoren (Payload, Kameras) gestartet und können später zusammengestellt werden.

Mit der Data-Collection ist es aber noch nicht getan. Rohdaten müssen aggregiert (zusammengefasst), verknüpft und aufbereitet werden. Einschlägige Tools sind Excel, Google Sheets und Pandas.

Tabellenkalkulationen

Tabellenkalulationen wie Excel und Google Sheets sind gute Tools, um moderate Datenmengen zusammenzufassen oder zu visualisieren.

Beispiel: Eine Videoaufzeichnung des Wasserausstosses in Zeitlupe wird in Shotcut mit einer Stoppuhr überlagert. Anschliessend erfolgt das Auslesen des Wasserstands zu den verschiedenen Zeiten.

Fig. 1: 1l Wasser, 2bar, 1.67s
Elapsed [s] Remaining Water [liters]
0 1
0.3 0.5
0.74 0.3
0.87 0.2
1.24 0.1
1.76 0

In Google Sheets erfolgt die Visualisierung und die Auswertung mit Log-Trendlinie:

Fig. 2: Wasseraustoss

Pandas

Pandas eignet sich für grosse Datenmengen und professionelle, automatisierte Verarbeitung von vielen Datensätzen.

Beispiel, Dokumentation.

Für das Alignment der verschiedenen Sensor-Daten müssen die Zeitstempel synchronisiert werden und mit dem Countdown abgeglichen werden.

Bragging Rights gibts nur, wenn die Resultate (erreichte Flughöhe, maximale Flugzeit, Beschleunigung) auch ansprechend dargestellt und verständlich visualisiert werden.

  • mint_wochen/raketenbau/data.1768902943.txt.gz
  • Zuletzt geändert: 2026-01-20 09:55
  • von hof