Das Nano V1 Altimeter Handbuch
Dieses Handbuch beschreibt alle Funktionen und den Betrieb unseres winzigen Nano V1 Raketenaltimeters.

Genauigkeit von Höhe und Sensorfusion

PDF

Der Nano ist um einen sehr hochwertigen Drucksensor aufgebaut und hat ab Revision 4 zusätzlich einen Bewegungssensor. Diese Seite erklärt, woher seine Zahlen kommen, wie genau sie sind und welche wenigen Dinge sie beeinflussen können, damit Sie wissen, was Sie von Ihren Daten erwarten können.

Der Drucksensor

Die Höhe kommt beim Nano aus der Messung des Luftdrucks mit dem Bosch BMP581, einem der genauesten barometrischen Sensoren auf dem Markt. Er ist ein kapazitiver 24-Bit-Sensor mit einer relativen Genauigkeit von etwa einem halben Meter und so geringem Rauschen, dass er Höhenänderungen von wenigen Zentimetern erkennt. Seine kapazitive Bauweise ist ein Fortschritt gegenüber den piezoresistiven Sensoren früherer Designs, mit deutlich geringerem Rauschen, geringerem Stromverbrauch und höheren Datenraten. Er misst außerdem seine eigene Temperatur und kompensiert seine Druckwerte direkt auf dem Chip, was den Rohdruck genau hält, wenn sich der Sensor erwärmt oder abkühlt.

Wir betreiben den BMP581 mit 80 Hz und 16-fachem Oversampling: Für jeden ausgegebenen Druckwert macht er 16 interne Messungen und mittelt sie, sodass rund 1.280 Messungen pro Sekunde in die Daten einfließen. Das tauscht reine Wandlungsgeschwindigkeit gegen deutlich geringeres Rauschen, mit reichlich Reserve selbst für einen schnellen Boost. Einfach gesagt ist der Sensor weit präziser, als die Atmosphäre, die er misst, vorhersehbar ist, und deshalb selten der begrenzende Faktor für Ihre Ergebnisse.

Boards der Revisionen 1 bis 3 verwenden den älteren Bosch BMP390, einen piezoresistiven Sensor, mit 50 Hz und 8-fachem Oversampling, dem Maximum, das er unterstützt. Er ist immer noch ein sehr leistungsfähiger Sensor, und vor dem Wechsel zum BMP581 wurden nur wenige frühe Boards gebaut.

Probieren Sie es selbst aus
Stellen Sie launch_detect auf 1 m, stellen Sie den Nano auf einen Schreibtisch und warten Sie auf die grünen Blinkzeichen. Werfen Sie ihn dann auf etwas mindestens anderthalb Meter Höheres, etwa auf einen hohen Schrank, und lassen Sie ihn dort liegen. Ein Wurf liefert meist nicht genug gleichmäßigen Schub für die schnelle Startbestätigung, daher bestätigt er nach 2,5 Sekunden allein über die Höhe; deshalb muss er an einer Stelle landen, die ihn über der Starterkennungshöhe hält. Die Endhöhe im Diagramm ist die Höhe des Schranks über dem Schreibtisch, für eine druckbasierte Messung überraschend genau. Denken Sie daran, launch_detect vor dem Fliegen zurückzustellen.

Wie die Höhe berechnet wird

Der Nano rechnet den gemessenen Druck mit der internationalen Standardatmosphäre (ISA) in eine Höhe um, dem Modell, das in der Luftfahrt und im Wettbewerbsflug verwendet wird, mit einem Luftdruck auf Meereshöhe von 1013,25 hPa und einer Temperatur von 15 °C. Diese Werte sind in der Firmware festgelegt und lassen sich nicht ändern, sodass jeder Flug und jeder Flieger auf genau derselben Grundlage gemessen wird. Die Umrechnung entspricht exakt der FAI-Formel:

Höhe (m) = ((15 + 273,15) ÷ 0,0065) × (1 − (Druck ÷ 1013,25)0.190266669)

Der Druck ist allerdings nur ein Teil der Geschichte. In jedem Flug gibt es Momente, in denen der Luftdruck, den der Sensor sieht, falsch ist: Motor und Luftströmung stören ihn beim Start, die Ausstoßladung schickt einen Druckstoß durch die Rakete, und Wind und Licht können Spitzen verursachen. Selbst die Luft, die an den Entlüftungslöchern vorbeiströmt, kann Fehler im Druck verursachen. Für sich genommen würde eine Druckkurve diese als falsche Steig- und Sinkbewegungen zeigen.

Deshalb lässt der Nano beim Speichern des Flugs unsere Verarbeitung mit TrueFuse und TruePath über den gesamten Flug laufen. Ab Revision 4 nutzt TrueFuse den Bewegungssensor, um die Höhe beim Start korrekt zu halten, wo dem Druck nicht zu trauen ist, und überbrückt andere kurze Druckstörungen. TruePath entfernt danach Spitzen wie den Ausstoßstoß und glättet die Kurve. Höhe, Geschwindigkeit und Apogäum in Ihrem Protokoll stammen aus dieser korrigierten Kurve, und die rohe barometrische Höhe wird daneben gespeichert, sodass Sie immer sehen, was der Sensor gemessen hat.

Wie das funktioniert und wie Geschwindigkeit und Apogäum berechnet werden, steht auf der Seite TrueFuse, TruePath und Apogäum.

Der Bodenbezug

Jede Höhe wird von der Startrampe aus gemessen, daher braucht der Nano einen absolut stabilen Nullpunkt. Am Ende des Starts nimmt er eine kurze Reihe von Druckwerten auf, verwirft den höchsten und den niedrigsten und mittelt den Rest, was einen sauberen Ausgangspunkt ergibt, selbst wenn die Rakete bewegt wird.

Während er auf der Startrampe wartet, hält er eine Aufzeichnung der letzten Sekunden und folgt der langsamen Druckdrift bei Wetteränderungen, ignoriert aber plötzliche Sprünge wie das Aufsetzen des Nasenkonus. Wird ein Start erkannt, wird der Nullpunkt für den ganzen Flug aus dem Mittelwert der Messwerte 4 bis 8 Sekunden vor diesem Moment gebildet. Die Mittelung über vier Sekunden entfernt das Rauschen, und da diese Werte von vor dem Abheben stammen, kann der Steigflug selbst den Nullpunkt nicht nach oben ziehen.

Abheben Starterkennung 8 s davor 4 s davor Gemittelt für den Nullpunkt Rohwerte Nullpunkt für den ganzen Flug 0 m Höhe Zeit

Der Nullpunkt ist der Mittelwert der Messwerte 4 bis 8 Sekunden vor der Starterkennung, alle von vor dem Abheben, und gilt für den ganzen Flug.

Was die Höhe in der Praxis beeinflusst

Der Sensor selbst ist selten die Grenze. Was die Zahlen bewegt, sind die Luft am Flugtag, der Flug selbst und die Art, wie der Nano eingebaut ist.

Die Bedingungen am Flugtag

Der Nano berechnet die Höhe mit der Standardatmosphäre: einem Luftdruck am Boden von 1013,25 hPa und einer Temperatur von 15 °C. Am Flugtag ist die echte Luft fast nie genau so, und beides beeinflusst, wie eine Druckänderung in eine Höhenänderung umgerechnet wird:

  • Temperatur. Warme Luft ist dünner, als der Standard annimmt, sodass die Rakete für denselben Druckabfall weiter steigt, und bei kalter Luft ist es umgekehrt. Der Effekt beträgt etwa 1 % je 3 °C Abweichung von 15 °C.
  • Luftdruck. Der Druck am Startplatz hängt vom Wetter und von der Höhe des Platzes ab. Weicht er vom Standard ab, ändert sich die Höhe ganz leicht, um etwa 0,2 % je 10 hPa.

Das sind kleine Effekte, und Sie können beide nach dem Flug korrigieren. Geben Sie im Flugdiagramm der Altimeter Cloud den tatsächlichen Luftdruck am Boden und die Temperatur am Flugtag ein, und das Diagramm berechnet die Höhe passend neu. Bei Bedarf können Sie dann das angepasste Flugprotokoll herunterladen.

Gut zu wissen
Der Wert direkt vom Nano ist das faire Ergebnis nach Standardatmosphäre, nach dem Wettbewerbe gewertet werden, sodass jeder Flieger gleich gemessen wird. Der angepasste Wert auf der Altimeter Cloud ist Ihre Höhe unter den echten Bedingungen, wann immer Sie sie möchten.

Der Flug selbst

  • Start. Der Motor und die Luftströmung beim Verlassen der Rampe stören den Druck für einen Moment.
  • Luftströmung an den Entlüftungslöchern. Geschwindigkeit und Anströmwinkel der Rakete verändern den Druck, den die Entlüftungslöcher sehen.
  • Trans- und Überschallflug. Nahe und oberhalb der Schallgeschwindigkeit können Stoßwellen um die Rakete große Druckfehler verursachen.
  • Ausstoß. Die Ladung schickt einen Druckstoß durch die Rakete.

Für sich genommen würden diese als falsche Steig- und Sinkbewegungen erscheinen. TrueFuse und TruePath korrigieren die meisten davon beim Speichern des Flugs, und die rohe barometrische Höhe bleibt im Protokoll immer neben der korrigierten erhalten.

Der Einbau

  • Entlüftungslöcher. Der Sensor ist nur so gut wie die Luft, die er sieht. Zu wenige, zu kleine oder schlecht platzierte Löcher lassen den Messwert nachhinken oder wandern. Siehe den Entlüftungsloch-Rechner.
  • Licht. Drucksensoren sind lichtempfindlich; montieren Sie den Nano daher unter seiner Abdeckung und halten Sie die Entlüftungslöcher klein. Siehe Die Installation des Altimeters.

Der Nano

  • Aufwärmen nach USB. Das Laden erwärmt die Platine ein wenig. War der Nano gerade an USB, lassen Sie ihn bis zu sechs Minuten im Flugmodus liegen, damit er sich vor dem Start an die Umgebungstemperatur anpasst.
  • Sehr große Höhe. Der Sensor ist bis etwa 300 hPa spezifiziert, rund 9.200 m (30.000 ft) in der Standardatmosphäre. Darüber wird er höchstwahrscheinlich weiter eine plausible Höhe aufzeichnen, seine Genauigkeit ist dort aber nicht charakterisiert, daher können wir nicht dafür bürgen.

Der Bewegungssensor (ab Revision 4)

Boards ab Revision 4 haben außerdem einen Bewegungssensor ST LSM6DSO32, Beschleunigungssensor und Gyroskop in einem. Beide laufen immer mit vollem Messbereich, sodass selbst ein harter Boost nie über die Skala hinausgeht. Sie liefern die Beschleunigungskurve, die Start- und Schienenwinkel und die Neigung während des Flugs, helfen bei der Bestätigung eines echten Starts und sind das, womit TrueFuse die Höhe beim Start und in anderen Momenten korrigiert, in denen dem Druck nicht zu trauen ist.

EigenschaftBeschleunigungssensorGyroskop
Messbereich±32 g±2.000 °/s
Auflösung je Zählschritt0,976 mg0,07 °/s
Ausgabeauflösung16 Bit16 Bit

Mit high_speed_sensor eingeschaltet, dem Standard, tastet der Bewegungssensor mit 1.667 Hz ab (oder das Gyroskop mit 3.333 Hz bei Einstellung 2), und jede aufgezeichnete Zeile ist der Mittelwert dieser Messwerte. Das wirkt Vibrationen von Motor und Rakete entgegen, die die Messwerte beeinflussen, sodass die aufgezeichnete Beschleunigung, Drehung und die Winkel sauberer werden.

Für die Winkel verfolgt das Gyroskop die Lage der Rakete während des Flugs, ausgehend von einem Nullpunkt, den es auf der Startrampe misst. Dem Beschleunigungssensor wird nur dort vertraut, wo er wirklich die Schwerkraft misst, auf der Startrampe und in einem langsamen Sinkflug, weil Schub und Drehung ihn irreführend machen. So kann der Motorschub die Winkel nicht verziehen, und genau daran scheitern allgemeine Fusionsfilter in einer Rakete. Es gibt kein Magnetometer, daher kann die Richtung langsam wandern, doch über die kurze Dauer eines Flugs bleibt die Drift gering.

Um das Beste herauszuholen, montieren Sie den Nano fest und rechtwinklig zur Rakete, kalibrieren Sie die IMU und lassen Sie die Rakete vor dem Start etwa eine Minute still auf der Startrampe stehen, damit der Nano sein Gyroskop feinjustieren kann. Eine lose Montage verfälscht die Winkel.

Tipp: über 32 g hinaus
Erwarten Sie bei einem Flug mehr als 32 g, montieren Sie den Nano im 45-Grad-Winkel zur Schubrichtung, sodass sich zwei Achsen die Beschleunigung teilen. Keine Achse erreicht ihre Grenze, bevor die tatsächliche Gesamtbeschleunigung etwa 45 g beträgt (32 g mal Wurzel aus zwei), und die Gesamtbeschleunigung im Protokoll stimmt weiterhin. Eine Montage auf der Raumdiagonale, im gleichen Winkel zu allen drei Achsen, erweitert das auf rund 55 g.

Was das Protokoll speichert

Jede Spalte wird mit einer Genauigkeit gespeichert, die zu ihrer Messgröße passt, statt jeder letzten Stelle des Sensors, was die Dateien mit allen nötigen Details handlich hält. ACLZ-Protokolle, der Standard, enthalten dieselben Daten mit derselben Genauigkeit wie eine CSV, dazu die rohe barometrische Höhe vor jeder Verarbeitung.

SpalteEinheitGespeichert als
Zeitms2 Dezimalstellen (10 Mikrosekunden)
Höhem3 Dezimalstellen
Geschwindigkeitm/s2 Dezimalstellen
Beschleunigung X, Y, ZmgGanze Zahlen
Gesamtbeschleunigungmg1 Dezimalstelle
Gyroskop X, Y, Z°/sGanze Zahlen
Nicken, Rollen, Gieren, NeigungGrad2 Dezimalstellen
Platinentemperatur°C2 Dezimalstellen, jede 50. Zeile
Druck (Rev 1 bis 3 oder mit include_pressure)hPa6 Dezimalstellen, aus der endgültigen Höhe berechnet

Die Zeiten beziehen sich auf das Abheben, daher sind die Zeilen von der Startrampe vor dem Start negativ. Die Bewegungsspalten gibt es nur bei Boards ab Revision 4. Den vollständigen Aufbau finden Sie unter Flugprotokollformat.