STM32 F1, F3, F4 und F7 Flugsteuerung
Viele FPV Racer und Multikopterpiloten fliegen Flugsteuerungen mit dem STM32 Chip. Dazu zählen Naze32, SP Racing F3, Omnibus F4 oder KISS CC. Doch was bedeutet eigentlich F3, F1 oder gar F7?
Inhaltsverzeichnis
Was bedeutet F1, F3, F4, F7 oder H7?
Alle oben genannten Flugsteuerungen basieren auf dem STM32 Chip von europäischen Halbleiterhersteller STMicroelectronics. Diesen Chip findet man in unzähligen Elektronischen Geräten wieder, wie Entwicklerplatinen, Displaysteuerungen oder eben in Flugsteuerungen. Der STM32 ist eine 32-Bit ARM CPU und es gibt ihn in verschiedenen Versionen, Bauformen und Größen.
Die Versionen F1, F3, F4, F7 und H7 bezeichnen die Version des STM32 Chips. F1 und F3 haben die selbe Rechenleistung. Die F4 (übrigens älter als der F3 Chip) Version hat 2,5x soviel Rechenleistung wie die F1 Version. Der F7 Chip bietet mit 216 MHz nochmal deutlich mehr Leistung und hat mit 8 seriellen Schnittstellen deutlich mehr als seine Vorgänger.
Prozessor | Prozessor Geschwindigkeit | Anzahl UART Ports | Flash Speicher |
F1 – STM32F103CBT6 | 72 MHz | 2 | 128 KB |
F3 – STM32F303CCT6 | 72 MHz | 3 | 256 KB |
F4 – STM32F405RGT6 | 168 MHz | 3 | 1 MB |
F7 – STM32F745VG | 216 MHz | 8 | 1 MB |
H7 – STM32H750 | 480 MHz | 7 | 128 KB |
Welche Flugsteuerungen haben welchen Prozessor?
STM32 F1 72 MHz
STM32 F3 72 MHz
- SP Racing F3
- Betaflight F3
- Omnibus F3
- Racerstar StarF3S
- KISS FC V1 / CC
STM32 F4 168 MHz
STM32 F7 216 MHz
STM32 H7 400 MHz
Unterschied zwischen STM 32 F1 und STM32 F3 Flugsteuerungen:
Vorteile der F3 Steuerungen gegenüber der F1
- Selbe Prozessorgeschwindigkeit von 72Mhz aber bessere Gleitkommazahlberechnung dank FPU
- einen zusätzlichen UART Port
- hardware Invertierung des UARTS (S-Bus kann direkt angeschlossen werden)
Looptime
Bei Flugsteuerungen kommt es am meisten auf die sog. Looptime an. Grob gesagt ist die Looptime die Zeit in µs einer Schleife, in der frische Daten an den Prozessor geschickt werden und eine Berechnung durchgeführt wird. Je niedriger die Looptime ist, desto schneller kann zum Beispiel auf Veränderungen der Fluglage reagiert werden wenn man im Angle/Horizon Mode fliegt. Berechnungen wie steuerbare LEDs, GPS, Waypoints oder die Auswertung von Barometer benötigen Rechenleistung.
All diese Berechnungen gehen zulasten der Looptime. Je höher die Rechenleistung des Chips ist, desto schneller können alle Berechnungen eines einer Schleife „Loop“ durchgeführt werden. Natürlich sollte die Looptime nur so hoch sein, wie das schwächste Glied in der Kette, wie zum Beispiel der Gyro. Um zum Beispiel eine FC mit 32 kHz benutzen zu können muss zwingend auf einen schnelleren Gyro zurückgegriffen werden, wie dem ICM-20602 (schafft 32 kHz). Nur dann, wenn Gyro und FC auf der selben Looptime laufen, können die vom Gyro gelieferten Daten auch verarbeitet werden. Anders herum ist es kein Problem, wenn die FC langsamer ist als der Gyro. In diesem Fall werden weniger Daten des Gyros verwendet.
Was bedeutet „kHz“ und „µs„?
Wenn ein PID-Loop auf 8 kHz (8 tausend mal pro Sekunde) läuft, benötigt er für einen Durchgang eine Zeit von 125 µs.
- 1000 µs = 1 kHz
- 500 µs = 2 kHz
- 250 µs = 4 kHz
- 125 µs = 8 kHz
- 62,5 µs = 16 kHz
- 31,25 µs = 32 kHz
Looptimes bekannter Gyros
- MPU-6050 via I²C: 4 kHz
- MPU-6000 via SPI oder I²C: 8 kHz
- MPU-6500 via SPI oder I²C: 32 kHz
- ICM-20602 via SPI oder I²C: 32 kHz
- ICM-20608 via SPI oder I²C: 32 kHz
- ICM-20689 via SPI oder I²C: 32 kHz
UARTS
Da wir immer mehr serielle Schnittstellen hinzukommen wie SBUS, OSD, VTX SmartAudio, FRSky Smartport Telemetrie, RunCam Split, Blackbox usw. benötigen die neusten Flugsteuerungen definitiv mehr UART Ports. Wie oben in der Tabelle zu sehen ist, hat der F7 Chip mit 8 Schnittstellen mehr als doppelt so viel wie ein F4 Chip und kann dementsprechend mehr serielle Geräte ansteuern.
Welche Flugsteuerung soll ich nun nutzen?
Die Entwicklung in der FPV Industrie geht sehr schnell und es kommen jeden Monat neue Flugsteuerungen heraus und es wird immer daran gearbeitet noch schneller zu werden und mehr Features in einer Flugsteuerung unterzubringen.
Zwischen F1 und F3 Flugsteuerungen gab es nicht viel Unterschiede und außer einen zusätzlichen UART Port sowie die hardware SBUS Invertierung.
Mit dem leistungsstärkeren F4 Chip wurden schon sehr hohe Lootimes (32KHz) erreicht. Ein Nachteil dabei ist aber, dass man den F4 Chip übertakten muss und außerhalb seinen Spezifikationen betreibt.
Und da kommt nun der STM32 F7 Chip ins Spiel. Mit diesem Chip haben wir mit 8 UARTS wesentlich mehr Schnittstellen verfügbar und darüberhinaus mehr Rechenleistung.
Im Moment empfehle ich dir eine gute und ausgereifte STM32 F4 Flugsteuerung wie den Omnibus F4 zu verwenden, aber ein Auge auf die F7 Flugsteuerungen zu halten. Im Moment gibt es noch nicht viele F7 Flugsteuerungen, aber ich gehe fest davon aus, dass dies in Zukunft für längere Zeit der Standard werden wird.
Wenn du jetzt schon eine F7 Flugsteuerung haben möchtest, schau dir die Omnibus F7 Steuerung an.
Widersprichst dir selbst beim Absatz über die Looptime und die Rechenleistung.
Hey Tobias,
ja stimmt! Ich habe den Artikel mal etwas aktualisiert und werde demnächst noch etwas mehr dazu machen!
Danke und Gruß,
Phil
Hallo ich bin noch Anfänger mit Drohnen ich habe ein Problem mit dem programmieren über betaflight habe ein Omnibus F4 Pro verbaut bekomme es einfach nicht hin das die Drohne fliegt hast du vielleicht einen link für Anfänger wie mach ales bei betaflight einstellt Mfg Jens
Hi Jens,
viele Sachen habe ich in meinem Betaflight Handbuch erklärt. Auf Youtube findest du auch allerlei gute Anleitungen!
Gruß,
Phil
Hab ich bei einem F4 auch eine SBUS Invertierung? Was bedeutet SBUS Invertierung? Kann ich ohne nicht mein Empfänger über SBUS anschließen? Hat F4 Omnibus den Inverter?
Hey Philip,
in der Regel kann man an allen FCs SBUS ohne einen weiteren Inverter verwenden. Auch an deiner F4 Omnibus.
Gruß,
Phil
Hallo Philipp
Was ich nicht ganz verstehe sind die 8 UARTS bei einer F7 FC. Ich kann auf den Layouts aber nur 3 erkennen mit TX und RX. Wo sind den die anderen?
Hey,
das kommt auf die FC an und wie viele UARTS wirklich „nach außen geführt“ sind. Manche Entwickler lassen unverständlicherweise UARTs einfach unbelegt.
Gruß,
Phil
Hi
Hast du einen Link von einer F7 mit 8 UARTS?
Zum Beispiel der Any FC F7.
Danke!
Hallo, Was ich nicht ganz verstehen kann, wenn ich einen 16 Channels Reciever mit S-Bus und sonst keine weiteren Servo-Ausgänge an einen F4 Flug Kontroller anschließe brauche ich 4/6 Channels für die Motoren, 2 für Buzer und LED, die werden alle an den FC angeschlossen. Wie habe ich Zugriff auf die restlichen 8/10 Channels, wo schließe ich zum Beispiel an, Gimbal 2/3 Achsen, Cam-Auslöser, Einzieh-Fahrwerk, Abwurf auslöser usw. Brauch ich dafür UARTs, die sind doch für Sensoren? GPS, Barometer, Distanz etc. Wie habe ich zugriff auf Servos und Schalter mit meine Tx. Lacht nicht, ich habe nichts im Internet gefunden, wäre richtig schön, wenn jemand mir die Frage beantworten würde oder einen Link verlinkt
Mfg HD
Hey HDJu,
Sbus ist digital, du brauchst also nur eine Signal-Leitung und kannst bis zu 16 Kanäle übertragen. Die restlichen Kanäle werden als AUX-Channel bereitgestellt. Schau mal im Receiver Tab, dort solltest du alle 16 Kanäle sehen können.
Voraussetzung für 16 Kanäle, ist natürlich, dass der Empfänger 16 Kanäle empfängt. Dazu muss die Funke auch 16 Kanäle senden. Das stellst man in der Funke ein. Im Receiver Tab musst du dann unter ChannelMap noch die fehlenden AUX Channel eintragen, wenn du wirklich alle 16 Kanäle benötigst. Nun kannst du zum Beispiel deine Gimbalsteuerung über das Untermenü Servos konfigurieren.
Gruß,
Phil
Es gibt auch noch eine „Sunrise Hyperlite“ Flugsteuerung mit F4 Prozessor. Vielleicht magst die ja noch in deine Liste aufnehmen?
Info: https://www.flyingmachines.de/Sunrise-Hyperlite-F4-Flugsteuerung
Hey Andreas,
Ja mittlerweile gibt es ja schon viele neue Flugsteuerugen. Ich werde die Liste bei Zeiten mal aktualisieren.
Phil
Du führst hier die Sparky als F4 Steuerung. Klickt man jedoch auf den Link und schaut auf die Bilder, ist es ein F3 Chip.
Hi hast du eine Idee wie ein SP Resete
?
Ich kann doch auch s.bus an den Cc3d direkt anschließen. Du schreibst das ginge nur bei F3. Verwechsel ich was.
Das CC3D hat einen zusätzlichen Inverter verbaut, das würde bei allen F3 Boards dann wegfallen. 😉
Einige F1 Boaards, wie deine CC3D haben den Inverter trotzdem. Die Naze32 rev5 aber zum Beispiel nicht.
schön kurz und knackig zusammengefasst, sehr schön, danke dafür 😉