2.1 Der Flight Controller – Aufbau und Aufgaben
2.1 Der Flight Controller – Aufbau und Aufgaben
Der Flight Controller bildet das zentrale Steuer- und Rechensystem einer Drohne beziehungsweise eines unbemannten Luftfahrzeugs (UAV). Er übernimmt die Verarbeitung sämtlicher Sensordaten, berechnet die aktuelle Fluglage und steuert anhand der Piloteneingaben oder autonomer Flugalgorithmen die Motoren und Aktuatoren. Aufgrund der hohen Anforderungen an Stabilität und Reaktionsgeschwindigkeit arbeitet ein Flight Controller in Echtzeit und verarbeitet eine Vielzahl von Daten parallel.
Mikrocontroller
Das Herzstück eines Flight Controllers ist der Mikrocontroller (Microcontroller Unit, MCU). Er vereint Recheneinheit (CPU), Arbeitsspeicher, Programmspeicher sowie verschiedene Ein- und Ausgabeschnittstellen auf einem einzigen Chip. Moderne Flight Controller verwenden überwiegend leistungsfähige 32-Bit-Mikrocontroller der ARM-Cortex-M-Serie, beispielsweise STM32-Prozessoren von STMicroelectronics.
Der Mikrocontroller übernimmt unter anderem folgende Aufgaben:
- Verarbeitung der Sensordaten von Gyroskop, Beschleunigungssensor, Magnetometer und Barometer
- Berechnung der Fluglage (Roll-, Nick- und Gierwinkel)
- Ausführung von Regelalgorithmen wie PID-Reglern
- Verarbeitung der Signale von Fernsteuerung oder Autopilot
- Ansteuerung der elektronischen Drehzahlregler (ESCs)
- Kommunikation mit weiteren Systemen wie GPS, Telemetrie oder Kamera
Die Leistungsfähigkeit des Mikrocontrollers beeinflusst unmittelbar die mögliche Regelgeschwindigkeit (Loop-Frequenz), die Anzahl unterstützter Sensoren sowie den Funktionsumfang der Flugsteuerung.
Speicher
Ein Flight Controller besitzt verschiedene Speicherarten mit unterschiedlichen Aufgaben.
Flash-Speicher
Im Flash-Speicher befindet sich die Firmware des Flight Controllers. Hier werden das Betriebssystem, Regelalgorithmen sowie Konfigurationsdaten dauerhaft gespeichert. Der Speicherinhalt bleibt auch nach dem Ausschalten erhalten.
RAM (Random Access Memory)
Der Arbeitsspeicher dient als temporärer Speicher während des Betriebs. Dort werden Sensordaten, Berechnungsergebnisse, Variablen sowie Puffer für Kommunikationsschnittstellen abgelegt. Nach dem Ausschalten gehen diese Informationen verloren.
EEPROM bzw. emulierter EEPROM
Viele Flight Controller speichern Konfigurationsparameter wie PID-Werte, Kalibrierungsdaten oder individuelle Einstellungen dauerhaft in einem EEPROM oder in einem emulierten EEPROM-Bereich des Flash-Speichers.
Externer Speicher
Hochwertige Flight Controller besitzen zusätzlich einen Blackbox-Speicher oder einen Steckplatz für microSD-Karten. Dort werden Flugdaten, Sensormesswerte und Fehlermeldungen gespeichert. Diese Daten ermöglichen eine detaillierte Analyse und Optimierung des Flugverhaltens.
Echtzeitbetriebssystem (RTOS)
Ein Flight Controller muss zahlreiche Aufgaben gleichzeitig ausführen. Dazu gehören das Einlesen von Sensordaten, die Berechnung der Fluglage, die Regelung der Motoren sowie die Kommunikation mit externen Geräten. Diese Prozesse müssen innerhalb weniger Millisekunden zuverlässig abgearbeitet werden.
Aus diesem Grund verwenden viele moderne Flight Controller ein Echtzeitbetriebssystem (Real-Time Operating System, RTOS). Ein RTOS stellt sicher, dass zeitkritische Aufgaben innerhalb fest definierter Zeitfenster ausgeführt werden. Im Gegensatz zu klassischen Betriebssystemen steht nicht die maximale Rechenleistung, sondern die garantierte Einhaltung von Reaktionszeiten im Vordergrund.
Typische Aufgaben eines RTOS sind:
- Verwaltung paralleler Prozesse (Tasks)
- Priorisierung zeitkritischer Funktionen
- Interrupt-Verarbeitung
- Speicherverwaltung
- Synchronisation zwischen verschiedenen Programmteilen
Bekannte RTOS in der Flugsteuerung sind beispielsweise FreeRTOS oder ChibiOS. Einige Flugsteuerungssoftwarelösungen wie Betaflight oder ArduPilot nutzen diese Betriebssysteme als Grundlage ihrer Firmware.
Bussysteme (I²C, SPI, UART, CAN)
Innerhalb eines Flight Controllers kommunizieren Sensoren, Aktoren und externe Geräte über unterschiedliche Bussysteme. Jedes Bussystem besitzt spezifische Eigenschaften hinsichtlich Geschwindigkeit, Reichweite und Einsatzgebiet.
I²C (Inter-Integrated Circuit)
I²C ist ein serielles Bussystem mit zwei Leitungen (SDA und SCL). Mehrere Sensoren können an denselben Bus angeschlossen werden, sofern sie unterschiedliche Adressen besitzen.
Typische Anwendungen:
- Magnetometer
- Barometer
- Kompassmodule
- Temperatursensoren
Vorteile:
- geringer Verdrahtungsaufwand
- einfache Erweiterbarkeit
Nachteile:
- vergleichsweise geringe Übertragungsgeschwindigkeit
- empfindlicher gegenüber elektromagnetischen Störungen
SPI (Serial Peripheral Interface)
SPI ist ebenfalls ein serielles Bussystem, arbeitet jedoch deutlich schneller als I²C. Es verwendet getrennte Leitungen für Datenübertragung und Takt sowie individuelle Chip-Select-Leitungen für jedes Gerät.
Typische Anwendungen:
- Gyroskope
- Beschleunigungssensoren
- Flash-Speicher
- OSD-Chips
- SD-Karten
Vorteile:
- sehr hohe Datenrate
- geringe Latenz
- hohe Zuverlässigkeit
Nachteile:
- höherer Verdrahtungsaufwand
UART (Universal Asynchronous Receiver Transmitter)
UART dient der asynchronen seriellen Kommunikation zwischen zwei Geräten. Für jede Verbindung werden eine Sende- (TX) und eine Empfangsleitung (RX) benötigt.
Typische Anwendungen:
- GPS-Empfänger
- Telemetrie
- Funkempfänger
- Konfigurationssoftware
- VTX-Steuerung
- Companion Computer
Vorteile:
- einfache Implementierung
- hohe Kompatibilität
- flexible Datenübertragung
Nachteile:
- Punkt-zu-Punkt-Verbindung
- keine gemeinsame Busstruktur
CAN (Controller Area Network)
CAN stammt ursprünglich aus der Fahrzeugtechnik und wird zunehmend auch in professionellen Drohnensystemen eingesetzt. Es handelt sich um einen robusten Kommunikationsbus mit hoher Störsicherheit und automatischer Fehlererkennung.
Typische Anwendungen:
- intelligente Sensoren
- ESCs
- Gimbals
- Kamerasysteme
- UAVCAN-/DroneCAN-Netzwerke
Vorteile:
- hohe Ausfallsicherheit
- lange Leitungslängen
- robuste Kommunikation
- viele Teilnehmer an einem Bus
Nachteile:
- komplexere Hardware
- höherer Implementierungsaufwand
Schnittstellen
Neben den internen Bussystemen verfügt ein Flight Controller über zahlreiche physische Schnittstellen zur Verbindung externer Komponenten.
Wichtige Schnittstellen sind:
- PWM (Pulse Width Modulation): Ansteuerung von Servos und älteren ESCs.
- DShot: Digitales Protokoll zur präzisen und störungsarmen Ansteuerung moderner ESCs.
- USB: Verbindung mit einem Computer zur Konfiguration, Firmware-Aktualisierung und Datenübertragung.
- SBUS, CRSF, ELRS oder IBUS: Anschluss moderner Fernsteuerempfänger.
- GPS-Anschluss: Verbindung eines GNSS-Empfängers zur Positionsbestimmung und Navigation.
- Telemetrie-Schnittstellen: Übertragung von Flug- und Systemdaten an die Bodenstation.
- Video- und OSD-Schnittstellen: Einblendung wichtiger Flugdaten in das Kamerabild bei FPV-Systemen.
- Debug- und Programmieranschlüsse (SWD/JTAG): Entwicklung, Fehlersuche und Firmwareprogrammierung.
Die Anzahl und Art der Schnittstellen bestimmen wesentlich, welche Sensoren und Erweiterungsmodule an einem Flight Controller betrieben werden können. Moderne Systeme verfügen häufig über mehrere UART-, SPI- und I²C-Schnittstellen, sodass eine flexible Anpassung an unterschiedliche Einsatzszenarien möglich ist.
Zusammenfassung
Der Flight Controller ist das zentrale Steuerungssystem eines unbemannten Luftfahrzeugs. Sein Mikrocontroller verarbeitet kontinuierlich Sensordaten und berechnet in Echtzeit die erforderlichen Steuerbefehle für einen stabilen und sicheren Flug. Unterschiedliche Speicherarten stellen Firmware, Konfigurationsdaten und Fluginformationen bereit. Ein Echtzeitbetriebssystem gewährleistet die deterministische Abarbeitung zeitkritischer Prozesse. Über Bussysteme wie I²C, SPI, UART und CAN kommuniziert der Flight Controller mit Sensoren, Aktoren und externen Komponenten. Vielfältige Schnittstellen ermöglichen die Integration moderner Navigations-, Kommunikations- und Telemetriesysteme und machen den Flight Controller zu einer leistungsfähigen und flexibel erweiterbaren Plattform für unterschiedlichste UAV-Anwendungen.