Raketenmodellbau.org Portal > Forum > Raketen Technik > Nutzlasten & Bergungssysteme > Plotten von Altimeterdaten


Autor Thema 
AchimO

Poseidon

AchimO

Registriert seit: Jul 2014

Wohnort: Berlin

Verein: AGM

Beiträge: 1644

Status: Offline

Beitrag 7661417 , Plotten von Altimeterdaten [Neuer Beitrag30. April 2026 um 21:39]

[Melden] Profil von AchimO anzeigen    AchimO eine private Nachricht schicken   AchimO besitzt keine Homepage    Mehr Beiträge von AchimO finden

Viele Höhenmesser haben die Möglichkeit, Daten für eine Flugkurve auszugeben, so z. B.
- Altimax
- MicroPeak
- PerfectFlite Stratologger CF
usw.

Das geschieht meist so, dass es ein HW-Interface gibt, das an den Höhenmesser nach dem Flug angeschlossen wird und eine spezifische Software die vom Altimeter gesendeten Daten empfängt und grafisch darstellt. Das HW-Interface ist, was die reine Datenübertragung angeht, nicht unbedigt spezifisch für den jeweiligen Höhenmesser, kann es aber durch Steckverbinder, Spannungsversorgung usw. werden und so zu zusätzlichen Kosten beitragen.

Hier will ich einmal zeigen, wie es mit gängigen Mitteln ebenfalls gehen kann.

Ich betrachte hierzu
1. zum einen meinen SmaltiP und
2. eine andere Hardware, die sozusagen eine Verschmelzung von SmaltiP und TrackingSender darstellt; ich nenne es mal TrackingAltimeter.

Das TrackingAltimeter beinhaltet also den TrackingSender und ein Altimeter mit zwei Pyro-Kanälen; außerdem zeichnet es Flugdaten auf.

Als HW-Interface soll ein gängiger USB Serial-Adapter dienen (siehe auch Habdbuch des SmaltiP). Diese sind quasi Standard und sehr preiswert zu beschaffen:



Es wird also Gnd des Adapters mit -Pol des Altimeters verbunden und Rx des Adapters mit Tx des Altimeters. Ich wollte eine etwas professionellere Lösung und habe mir dafür ein kleines Gehäuse zusammengeklebt. Es hat den Vorteil, dass man nicht immer direkt auf die Elektronik fasst und dass die Verbindungskabel nicht abfallen.



Es gibt sie mit Jumper umstellbar für 3.3 und 5 Volt. Jumper einstellen auf 3.3 V!

Um die Daten als Flugkurve auszugeben, gibt es mehrere Möglichkeiten:

1. Über die Arduino IDE
Es erfordert die Installation der IDE und von Software für bestimmte Boards. Wie auch im Handbuch für den SmaltiP beschrieben, gibt es dann die Möglichkeit, über die Arduino IDE die Flugdaten als Kurven-Plot auszugeben und mit einem Grafik-Programm wie z. B. IrfanView abzufotografieren und abzuspeichern. .

2. Über das Programm putty und eine Tabellenkalkulation wie Excel oder LibreOffice
Das freie Programm putty wird auf die betreffende COM-Schnittstelle eingestellt. Die Flugdaten werden empfangen, dann im Programm putty markiert und in eine Textdatei kopiert. Diese Textdatei hat dann die Eigenschaften einer csv-Datei (csv: comma separated values) und kann mit einem Tabellenkalkulationsprogramm in eine grafische Darstellung gebracht werden.
Leider ist diese Ausgabe der grafischen Darstellung recht mühsam zu bewältigen und wenn man das nur selten macht, hat man bald wieder vergessen, wie das ging und was alles zu beachten war (frustrierend!).

3. Daher ist die Frage, ob das nicht auch einfacher geht.

Das ist tasächlich der Fall und die Lösung heißt Python!

Python ist eine Skriptsprache. Sie wird also nicht von einem Compiler übersetzt, sondern zur Laufzeit interpretiert. Sie kann kostenlos (also ohne Abo!) heruntergeladen werden. Es gibt sie für verschiedene Betriebssysteme.

Ich habe daher ein Python-Programm geschrieben, was sowohl für den SmaltiP als auch für das TrackingAltimeter eine grafische Darstellung erzeugt. Und siehe da, das geht mit Python sehr einfach, weil es für Python sehr mächtige Bibliotheken
- für mathematische Operationen
- und Plotting
gibt.

Datenformate:

SmaltiP gibt die Daten etwa so aus:

0.00,10
0.09,14
0.19,21
0.28,27
0.37,33


Also jeweils ein Datenpaar aus Zeit und gefilterter Höhe


Das TrackingAltimeter gibt z. B. fogende Daten aus

Time,Alti(raw),Alti(filter)
0.00,10.40,8.83
0.03,12.55,10.32
0.05,14.62,12.04
...
3.52,155.56,154.86
# apogee,156
3.54,155.15,154.98
3.57,153.47,154.37

Die erste Zeile enthält sozusagen die Spaltenüberschriften, es folgen in den nächsten Zeilen Datenpaare für Zeit, Höhe roh und Höhe gefiltert.

Es zeigt sich, dass die Daten für beide Elektroniken durchaus vom gleichen sehr einfachen Programm grafisch dargestellt werden können. Ohne die Behandlung der unterschiedlichen Dateiformate wäre das Programm sogar noch wesentlich kürzer.. Ausgabe eines Rasters erfordert lediglich eine Programmzeile.




Was muss hierzu auf dem eigenen System installiert werden?

Zunächst erfolgt das Herunterladen und Installieren des Python Systems. Die Installation der mathematischen Bibliothek numpy erfolgt dann mit

pip install numpy

Analog wird die Bibliothek matplotlib installiert:

python -m pip install matplotlib

und los geht’s.

Wie geht man in diesem Fall vor? Ebenso wie oben beschrieben werden die Flugdaten über putty empfangen und in eine csv-Datei abgelegt.

Was hat dann zu geschehen? Am einfachsten legt man ein Verzeichnis an, in das das Python-Programm rakplot.py und die Datei mit den Flugdaten data.csv kopiert werden. Mit einem Doppelklick auf die Datei rakplot.py wird das Programm gestartet. Es zeigt die Grafik an, die dann gezielt in ein anderes Verzeichnis abgelegt werden kann. So lange diese noch nicht gespeichert wurde, kann die Grafik vorher auch noch durch entsprechenden Zoom nach Wunsch vergrößert, abfotografiert und erst danach abgelegt werden. Summa summarum also ein wesentlich einfacheres Handling als über ein Tabellenprogramm.

Für den SmaltiP ergibt sich:



Für das TrackingAltimeter:



Na, dann sage ich schon mal: Frohes Plotten!

Gruß Achim

Tracking
https://www.dropbox.com/scl/fo/zap4uvchueg080w0az5og/AOOqAeAiN2aSaAEPhiusKyk?rlkey=cuvsp1db08mrwq20gqqbpicg2&dl=0

Altimeter
https://www.dropbox.com/sh/jw1nenfd45mzee3/AABZKjSB-_9DA-pLaVlOti-9a?dl=0
[Zurück zum Anfang]
Du kannst keine neue Antwort schreiben