Wissen: Betaflight Blackbox – Anleitung für Einsteiger(In nur 9 Minuten gelesen)

In dieser Anleitung beschäftigen wir uns mit der Blackbox-Funktion von CleanFlight und seinen Ablegern, wie BetaFlight und ButterFlight (alle Infos zu den verschiedenen Flight Controller Projekten). Es geht dabei um das Aufzeichnen von Daten im Flug, um diese zu einem späteren Zeitpunkt auslesen und auswerten zu können. Ganz allgemein kann man dabei auch von „Daten-Logging“ sprechen.

Dieser Guide richter sich an alle, die die Blackbox-Funktion in CleanFlight verwenden möchten, um damit beispielsweise ihr Setup noch besser zu tunen oder aber coole Overlay-Effekte in ihre FPV-Videos einzubauen.

Was ist die BlackBox?

Im Grunde ist die Blackbox in CleanFlight sehr ähnlich zu einem Flight Recorder an Bord eines Passagierflugzeuges. Die Blackbox nimmt laufend die aktuellen Informationen auf, die von den verschiedensten Sensoren bereitgestellt werden und speichert diese ab. Natürlich hat die Blackbox in deinem FPV-Racer* nicht den Anspruch eine nahezu unzerstörbare Metallkiste zu sein, die auch dann noch aaslesbar ist, wenn sie aus 30.000 Fuß Höhe auf den Boden aufgeschlagen ist. Es geht viel mehr darum, die Daten der eigenen Flüge auswerten zu können, um daraus Verbesserungen und Anpassungen abzuleiten.

In CleanFlight hängt die Aufzeichnungsgeschwindigkeit von der sogenannten Loop Time ab. Diese gibt an, wie viel Zeit zwischen zwei Iterationen eines Controll Loops vergeht. Das Blackbox-Feature schreibt dabei alle Daten auf einen Speicher, die in jeder Kontrolliteration des Flight Controllers* anfallen.

Es werden als die folgenden Werte gespeichert (sofern verfügbar und vom verwendeten FC-Board unterstützt):

  • Aktuelle Zeit in Mikrosekunden
  • P, I und D Korrekturen für jede Achse (PID-Controller)
  • Aktuelle RC-Steuerknüppelposition (Stick Positions) (nach der Anwendung der Expo-Kurven)
  • Daten des Gyro / Kreisels
  • Daten des Beschleunigungssensors* (nach Low-Pass-Filter)
  • Daten des Barometers / Höhenmessers
  • Daten des Sonars
  • Daten des 3-Achsen-Magnetometers
  • VBAT (Batteriespannung)
  • Aktueller Strom
  • RSSI
  • Aktuelle Befehle, die an die ESCs* gesendet werden
  • GPS-Position**

Dieser Werte stehen dabei später für die Auswertung bereit. Voraussetzung ist natürlich, dass dein Copter über die entsprechenden Sensoren verfügt. **Die GPS-Position wird im Übrigen nicht mit jedem Control Loop aufgezeichnet, sondern nur geloggt, wenn es eine Positionsänderung gibt.

Flight Controller für Betaflight ansehen*

So konfigurierst du den Black Box Recorder

Für alle, die es eilig haben, wollen wir uns schnell darum kümmern, wie du die Blackbox aktivieren kannst. Dazu wird entweder die GUI des Configurators verwendet, oder du gehst über das CLI (Command Line Interface).

Über die Configurator App lassen sich Speicherziel und Log-Frequenz einfach anpassen.

In diesem Beispiel haben wir einen Flight Controller mit einem On-Board microSD-Kartenslot verwendet. Es handelt sich dabei um ein OMNIBUS F4 Target* mit OSD und SD-Support.

Im Blackbox-Menü lässt sich das Speicherziel auswählen. Ist eine SD-Karte eingelegt, so kann der Flight Controller auch im Mass Storage Device Mode neu gebootet werden. Dann muss die SD-Karte* nicht zum Auslegen der Log-Files aus dem FPV Racer entnommen werden. Neben dem Speicherziel lässt sich hier auch noch die Logging-Frequenz einstellen. Standardmäßig wird mit 1000 Hz, d.h. 1000 Log-Einträgen pro Sekunde, gearbeitet.

CLI-Befehle:

  • OpenLog-Logger: set blackbox_device=SERIAL
  • Dataflash storage (On Chip): set blackbox_device=SPIFLASH
  • On-Board microSD-Karte: set blackbox_device=SDCARD

Anschließend Speichern und neu starten.

microSD-Karten auf Amazon ansehen!*

Diese Hardware benötigst du

Entstanden ist die Blackbox Funktion ursprünglich durch die Anbindung des OpenLog Serial Data Loggers an CleanFlight. OpenLog ist ein kleines Zusatzmodul in Form einer kleinen Platine, die es erlaubt, serielle Daten zu loggen. Dabei wurde der OpenLog Logger initial über ein freies UART an den Flight Controller angeschlossen. So konnten die Daten während des Fluges direkt auf das OpenLog Modul aufgezeichnet werden. Die Daten werden dabei entweder auf einem verlöteten Chip oder auf einer microSD-Karte* gespeichert. Auch wenn die OpenLog-Variante auch heute noch funktioniert, gibt es komfortablere Möglichkeiten die Blackbox unter CleanFlight und BetaFlight zu nutzen.

Variante 1: Dataflash Storage Onboard-Logging

Du verwendest einen Flight Controller*, der On-Board-Speicher zur Verfügung stellt. So kann eine, meist sehr begrenzte Anzahl an Loop-Iterationen, direkt auf dem Flight Controller gespeichert werden. Das kann ausreichen, um dein Setup zu tunen, weil du nur kurze Testflüge machen musst. Diese Speicherart wird auch als „Dataflash Storage“ bezeichnet.

Folgende Boards unterstützen den On-Board Speicher von Haus aus:

Da es eine Vielzahl an CleanFlight / BetaFlight kompatiblen Boards gibt, findet sich auf der GitHub-Seite zum CleanFlight eine Liste weiterer unterstützter Flash-Chips samt Datenblättern. Damit lässt sich herausfinden, ob deine Flight Controller ebenfalls unterstützt wird, solltest du einen Exoten verwenden.

Variante 2: Logging auf integrierte microSD-Karte

Du besitzt einen Flight Controller* mit integriertem Datenlogger und microSD-Karten-Slot. In diesem Fall stehen dir alle Möglichkeiten offen. Dies ist in der Regel auch die Variante, die die höchsten Log-Frequenzen ermöglicht. Wichtig ist nur, dass deine microSD-Karte* schnell genug ist, um die eingehenden Daten zu schreiben.

Beim Logging auf SD-Karten gibt es einige Dinge zu beachten:

  • Es funktionieren nur microSD(SC) oder microSDHC-Karten. Moderne SDXC-Karten funktionieren nicht.
  • Die maximale Kapazität der microSD-Karte* ist 32 GB.
  • Die Karte muss mit einem FAT16 oder FAT32 Dateisystem formatiert sein

Die FREESPACE.E-Datei

Der Flight Controller erstellt beim ersten Einlegen der microSD-Karte* eine Datei mit dem Namen FREESPACE.E. Diese Datei ist sozusagen der Pool an freiem Speicher, der zum Loggen zur Verfügung steht. Immer wenn ein neues Log-File durch die Blackbox angelegt wird, wird ein Teil der FREESPACE.E-Datei abgeschnitten und zum Speicher von Daten verwendet.

Hinweis: Editiere niemals den Inhalt der FREESPACE.E-Datei, wenn du die microSD-Karte mit dem Computer ausliest. Das kann zu Problemen beim nächsten Losging-Vorgang führen.

Die FREESPACE.E-Datei kann maximal 4 GB groß sein. Sobald in Summe also Log-Daten von 4 GB vorliegen, hat die FREESPACE.E-Datei beinahe eine Größe von 0 KB. Sollte deine microSD-Karte* größer als 4 GB sein, kannst du weitere Logfiles erstellen, in dem die FREESPACE.E gelöscht wird. Der Flight Controller erstellt beim nächsten Start dann eine neue Datei und arbeitet weiter.

Flight Controller für Betaflight ansehen*

Blackbox Daten aufzeichnen

Das Aufzeichnen von Logdaten mit der Blackbox ist in CleanFlight und BetaFlight extrem einfach. Sobald du die Funktion über die GUI aktiviert hast, wird die Aufzeichnung der Daten begonnen, sobald du deinen Quad* auf ARMED gestellt hast. Das Logging läuft dann so lange, bis es zum DISARM kommt. Für jeden Flug (= ARMING-Sequenz) wird dann ein neues Logfile angelegt.

Wer die Aufzeichnung noch ein wenig genauer steuern möchte, kann die Blackbox auf mit einem Schalter an der Fernsteuerung aktiveren. Voraussetzung dafür ist nur ein unbelegter Schalter sowie ein freier Kanal.

BetaFlight Blackbox mit AUX Switch starten copy
Blackbox in BetaFlight mit einem separaten AUX-Switch steuern.

Im BetaFlight Configurator dazu unter MODES wechseln. In der Liste gibt es den Eintrag BLACKBOX. Hier auf Add Range klicken. Anschließend im Dropdown einen Kanal wählen und prüfen, dass der Schalter an der Funke richtig zugeordnet ist.

Die Aufzeichnung läuft auch hier nur, wenn das Modell im ARM-Modus ist. Zusätzlich muss jetzt aber noch unser konfigurierter Schalter aktiviert sein, damit geloggt wird. Das Logging lässt sich so auch beliebig während des Fluges ein- und ausschalten.

Dropped Frames – das kannst du dagegen tun

Im Zusammenhang mit dem Daten-Logging und der Blackbox taucht immer wieder der Begriff „Dropped Frames“ auf. Gemeint ist damit, dass die Daten einzelner Control Loop Interaktionen nicht richtig oder gar nicht aufgezeichnet werden. Als Frame wird in diesem Zusammenhang also eine einzelne Aufzeichnung verstanden. Wenn wir also mit 1 kHz loggen, werden 1000 Frames pro Sekunde aufgezeichnet.

In der Regel treten dropped Frames dann auf, wenn das Logging-Gerät die eintreffenden Daten nicht schnell genug verarbeiten / in den Speicher schreiben kann.

Es gibt dann zwei Möglichkeiten, die Anzahl der Dropped Frames zu verringern:

  1. Den eintreffenden Datenstrom zu verringern (d.g. die Logging-Frequenz zu senken)
  2. Die Schreibgeschwindigkeit des Speichers bzw. die Bus-Geschwindigkeit des Logging-Gerätes zu erhöhen

Logging-Frequenz verringern

Die Verringerung der Logging-Frequenz ist in BetaFlight ganz einfach über den Configurator möglich. Hier lässt sich eine Logging-Frequenz unabhängig von der Loop-Time wählen.

Wer die Frequenz gerne via CLI anpassen will, kann dieses durch das setzen von zwei Variablen erreichen.

Mit set blackbox_rate_num = 1 und set blackbox_rate_denom = 2 wird ein Bruch beschrieben: 1/2 = 0,5. Dieser Wert wird dann mit der Loop Time multipliziert (z.B. 2500) und wir erhalten ein Log-Frequenz von 0,5 * 2500 = 1250 Hz.

Die Verringerung der Logging-Frequenz ist auch dann besonders sinnvoll, wenn wenig Speicher zur Verfügung steht (zum Beispiel beim On Chip Logging mit wenigen MB). Ihr könnt die Frequenz so beispielsweise ganz einfach auf 1/50 reduzieren. So werden aus den 2 MB, die bei 1/1-Frequenz knapp 2 bis 3 Minuten reichen, schnell Platz für 100+ Minuten Flug.

Auch macht die Senkung der Frequenz Sinn, wenn ihr eine sehr langsame SD-Karte einsetzt.

Geschwindigkeit des Speichers / Serial Links erhöhen

Wer das original OpenLog-Modul verwendet sollte die Baud-Rate der seriellen Verbindung auf 115.200 setzen. Damit sind Loop Times bis 2500 in der Regel kein Problem. Wer schnellere Loops Times < 2500 verwendet, der muss den Serial Bus auf eine BAUD Rate von 250.000 erhöhen, sofern der verwendete Logger das unterstützt. Natürlich muss auch die SD-Karte* im Logger mitspielen.

Wer seinen Logger über einen Soft Serial UART angebunden hat, der wird in den meisten Fällen ebenfalls die Logging-Rate senken müssen. Hier hilft die Erhöhung der Bus-Geschwindigkeit nicht, weil diese durch die CPU begrenzt wird.

Wird direkt auf microSD-Karte geloggt, so sollte mindestens eine Class 10 Karte* zum Einsatz kommen, um die volle Loop Time Frequenz loggen zu können. Karten mit Class 4* sind in der Regel zu langsam und verlieren durch dropped Frames bis zu > 1% aller Aufzeichnungen.

microSD-Karten auf Amazon ansehen!*

Daten mit dem Blackbox Explorer auslesen

Um die über die BlackBox-Funktion erstellten Log-Files auszulesen, wird der sogenannte Blackbox Explorer verwendet. Das Tool ermöglicht es, die in Zeilenform vorliegenden Daten aus den Logfiles zu visualisieren.

Aktuell steht der BetaFlight Blackbox Explorer als App im Chromes Web Store zum direkten Download bereit. Das Tool wird daher parallel zur Configurator App installiert und verwendet.

BetaFligh Blackbox Explorer in Aktion
Der BetaFlight Blackbox Explorer erlaubt die Visualisierung der Logfiles aus der Blackbox.

Der Blackbox Explorer ermöglicht es, die TXT-Logfiles direkt von der microSD-Karte* zu öffnen. Das Menü erinnerte dabei an ein Videoplayer. Die Daten lassen sich nämlich im Zeitverlauf wiedergeben.

Besonders cool: Wer ein Video von seiner FPV-Session gemacht hat (z.B. mit einer RunCam 2* oder einer GoPro Session*), der kann die Videodatei ebenfalls öffnen und einen ersten Overlay-Effekt mit den Log-Daten erzeugen. Auch ein einfacher Video-Export als WebM-File ist mit den Blackbox Explorer möglich.

Coole HD-Cams für FPV-Racer ansehen!*

BlackBox Daten analysieren

Sobald du die Daten in irgendeiner Form visualisiert hast – es gibt auch Menschen, die schauen sich 10.000-Zeilen Excel an und können daraus ein Muster erkennen – kannst du die Daten nutzen, um deinen Drone Racer* zu tunen.

Ein Beispiel: Liegt die Drohne ruhig in der Luft, ist das ein perfekter Moment, um nach periodisch auftretenden Vibrationen in den Sensoren Ausschau zu halten. So lässt sich starke Unwucht in Propellern oder ggf. ein kaputtes Motorenlager identifizieren.

Joshua Bardwell hat hierzu unter anderem einen umfangreichen Post in den RCGroups-Foren verfasst (inkl. Videos) – sehr sehenswert. Ebenfalls zu empfehlen ist der Thread Blackbox log analyzation\help, hier wird auf viele Grundlagen des PID-Tuning (unter anderem mithilfe der Blackbox-Daten) eingegangen. Abschließend soll natürlich auch die großartige PID-Tuning-Doku des CleanFlight Projektes an dieser Stelle nicht unerwähnt bleiben.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Quelle: Joshua Bardwell – Besucht unbedingt seinen Kanal! Good stuff!

Blackbox Daten für Overlay in Videos verwenden

Wem die Export-Funktion des Blackbox Explorers nicht genügt, dem werden mit den Blackbox Tools einige weitere Möglichkeiten an die Hand gegeben, die Log-Daten grafisch darzustellen.

Die beiden Kommandozeilen-Tools blackbox_decode und blackbox_renderer stellen hierfür die Grundlage dar.

Zunächst wird mit blackbox_decode eine CSV-Datei aus unserem TXT-Logfile generiert. Dies enthält alle Log-Daten in Komma-separierter Formatierung. Die CSV-Datei benötigen wir, um im zweiten Schritt PNG-Dateien zu generieren, die die Daten des Logs visualisieren. Diese PNG-Bilder können dann anschließend in jedem beliebigen Videoschnittprogramm* importiert und über das FPV-Flugvideo gelegt werden.

Die genaue Funktionsweise beider Tools ist in der CleanFlight Dokumentation sehr gut beschrieben.

Flight Controller für Betaflight kaufen!*

Schlusswort

Die Möglichkeiten, die uns mit der Blackbox unter CleanFlight und BetaFlight an die Hand gegeben werden, sind sehr vielfältig. Egal ob einfache Analyse der Sensorenwerte, das datenbasierte PID-Tunig oder das Visualisieren der Flugdaten in einem Overlay-Video – all das ist mit der Blackbox möglich.

Wir hoffen, der Artikel war hilfreich für euch und hat euch dabei unterstützt, eure Blackbox zum Laufen zu bringen oder die Log-Daten sinnvoll zu verwenden.

Sollte dies der Fall sein, freuen wir uns darüber, wenn du den Artikel teilst. Bei Fragen oder Anregungen hinterlasse gerne jederzeit einen Kommentar. Auch freuen wir uns darüber, wenn du für den Kauf eines Produktes einen unserer Partnerlinks verwendest (mit * gekennzeichnet), so erhalten wir eine kleine Provision.

Solltest du von dem Inhalt begeistert sein und Drone-Zone.de unterstützen wollen, freuen wir uns natürlich riesig über eine kleine Spende. Dann gibt es bei der Recherche und beim Erstellen des nächsten Artikels einen Becher Kaffee mehr für uns! :)

Donate with PayPal button

Oder werde ein regelmäßiger Unterstützer auf Patreon. Das freut uns natürlich um so mehr!

Patreon - Become a Patron Button

Bleib in Kontakt!

Wenn du über die neuesten Drohnennachrichten, Leaks, Gerüchte, Guides und Testberichte auf dem Laufenden bleiben möchtest, dann folge uns auf Twitter, YouTube, Facebook oder Instagram.

Kaufe Deine nächste Drohne direkt bei Herstellern wie DJI*, Parrot*, Yuneec* oder über Amazon*. Wenn Du unsere Links benutzen, erhalten wir eine kleine Provision, für dich ändert sich aber nichts am Preis. Vielen Dank, dass du dabei hilfst Drone-Zone.de wachsen zu lassen!

Außerdem freuen wir uns natürlich über deine Nachricht oder Frage in den Kommentaren!

Nils Waldmann

Nils Waldmann

Hi, ich bin Nils! Ich bin leidenschaftlicher Modellbauer, Hobby-Fotograf, Akku-Liebhaber und RC-Pilot. Ich berichte hier über die neusten Entwicklungen in der Drohnen-Branche und kümmere mich um detaillierte Anleitungen, Guides und Testberichte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.