- Release-Termin
- Warnhinweise
- Changelog
- Presets
- Neue Tuning-Slider
- Genauere Berechnungen
- Multi-Dynamic-Notch
- PT3-basierte RC-Smoothing
- RPM Crossfading
- Feedforward-Jitter-Reduction
- Andere Feedforward-Verbesserungen
- Antigravity-Verbesserungen
- Dynamische Gyro-Filter-Expo-Kurve
- Verbesserter dynamic Idle code
- Lineare und dynamische Mixer-Optionen
- Actual Rates
- CrossfireV3- und Ghost-RC-Link-Verbesserungen
- Expo im Anglemode
- Weitere Verbesserungen
- Tuning-Snippets
Release-Termin #
Wann erscheint Betaflight 4.3? – Einen konkreten Releasetermin gibt es nicht. Dieser ist abhängig vom aktuellen Voranschreiten der Entwicklung der Kernfunktionen und der Zeit der Entwickler. Vor Release gibt es einen etwa einen Monat andauernden Zeitraum in dem RCs – release clients – herausgegeben werden. In diesem Zeitraum werden keine neuen Funktionen hinzugefügt, sondern nur Fehler behoben und Optimierungen umgesetzt.
Wo kann ich die Entwicklung mitverfolgen? – Betaflight wird als Community-Projekt auf Github entwickelt. Jeder kann neue Entwicklungen im Code als Pull Request (PR) einbringen. Diese werden dann überprüft, diskutiert und angenommen oder abgelehnt. Diese PRs kann man nach Milestone filtern. Offene PRs stehen noch zur Diskussion, geschlossene sind schon in den nightly builds drin und können testgeflogen werden. Filtert man die PR nach Milestone 4.3 und closed erhält man eine Übersicht aller neuen Features. Quicklink: hier.
Allerdings müssen auch der Betaflight Configurator, Blackbox Explorer, ESC-Firmware, Firmware der VTX und Receiver, etc., etc., angepasst werden. Diskussionen finden auch gern im Slack Kanal und auf den verschiedenen Discord-Servern statt. Einen genauen Überblick hat wohl kaum einer. Zum Glück erscheint mit dem Release meist die Tuning notes, die alles wichtige zusammenfassen. Sneak Peak zu den Tuning Notes von 4.3.
Wohin geht die Entwicklung? – Höher, schneller, weiter. An allen Ecken im Code wird entwickelt. Ziel ist das Tuning-Fenster zu erweitern, dass heißt weniger Einstellungen müssen gesetzt werden und Betaflight fliegt „von allein“ besser. Es ist ein Spagat zwischen optimalen Einstellungen für alle (von Whoop bis X-Class) und individueller Einstellung für DEINEN Quadcopter. Dieser gelingt aber immer besser.
Wann erscheint das Update des Tuning-Guide? – Der Tuning-Guide ist work-in-progress und wird in Feinheiten bereits überarbeitet. An einigen Punkten wird Betaflight 4.3 schon angesprochen. Je nachdem wie schnell die neuen Kernfeatures in die nightly builds wechseln und die Tuning-Routine auf Herz und Nieren getestet werden kann erscheint der früher oder später. Wer auf dem aktuellsten Stand sein möchte muss sich selbst einlesen und auf den einschlägigen Kanälen Hilfe suchen. Zuarbeiten und Anregungen sind immer willkommen. Wendet euch am besten an die eMail im Impressum.
Warnhinweise #
HINWEIS 1: Der neueste Betaflight-Configurator 10.8 ist Pflicht. Frühere Configurator-Versionen funktionieren nicht richtig!
HINWEIS 2: Füge KEINE ganzen Diffs oder Dumps aus einem früheren Build in die 4.3-CLI ein! Investiere die Zeit in die neue Einrichtung! Dies gilt übrigens für jeden großen Versionssprung von Betaflight. Die CLI Parameter und deren Interpretation haben sich sehr stark geändert. Wenn du Presets verwenden kannst, tu dies.
HINWEIS 3: Überprüfe alle Einstellungen sorgfältig vor dem ersten armen.
HINWEIS 4: Wir empfehlen dringend, zu Anfang Antigravity-Einstellungen auf default zu belassen.
HINWEIS 5: Wir empfehlen dringend die Verwendung von RPM-Filterung.
Betaflight 4.3 sollte auf Standardeinstellungen mit passendem Preset und ohne Änderungen mit den meisten Quads wirklich gut fliegen. Wenn ein Preset existiert, dass Ihrem Build ähnelt, verwende es! Wenn Betaflight neu für dich ist, ließ bitte die vorherigen Tuning-Hinweise (4.2, 4.1 für alle Themen, die hier nicht behandelt werden).
Changelog #
Bis dato sind über 250 Änderungen im Code vorgenommen worden. Die wichtigsten sind hier zusammengefasst. Die Links führen zu dem entsprechenden PR und weiteren Erklärungen.
Presets #
Ein fantastisches, völlig neues Preset-System! Ob ein Whoop, ein Toothpick, ein 5″ Racer, ein Freestyle-Setup oder eine X-Class, wir bieten jetzt eine einfache Möglichkeit, deinem Quad sofort eine großartige Flugeigenschaften zu verleihen. Dies wird auch auf andere Nicht-Tuning-Presets angewendet werden.
Neue Tuning-Slider #
Egal ob ihr die PID-Einstellungen optimieren oder von Grund auf neu erstellen müsst, wir haben jetzt einfachere, umfassendere, Firmware-basierte Tuning-Schieberegler im Konfigurator. Die Schiebereglerpositionen werden auf dem FC berechnet und gespeichert. Dadurch und können sie auch über das OSD oder die Fernbedienung per LUA-Script geändert werden. Pitch:Roll-Slider! Das Tuning auf dem Feld wird deutlich vereinfacht. Es gibt Basic-Slider für grobe Einstellungen und Profi-Slider für die Feinjustierung.
Genauere Berechnungen #
Massive Verbesserungen von Scheduler und DMA-Code, einschließlich EXTI-getriggerter SPI-Gyro-Lesevorgänge (auf unterstützten Boards), superstabile Berechnungzeitenzeiten, glattere Filterleistung, schnellere Protokollierung und verbesserte CPU-Effizienz. Tipps zur Einstellung:
- Immer RPM-Filterung und DShot600 Motorprotokoll wählen, DShot300 nur wenn RPM Fehler auftreten
- F405 und F411 -> PID-Loop 4kHz
- F411 sollten auf 120Mhz übertaktet werden
- F7/H7 -> PID-Loop 8kHz
- Blackbox Logging nur wenn ihr es braucht. Standard-Logging-Rate: 1kHz, für Filtertuning 2kHz.
Besonderheiten bei 2kHz PID-Loop:
- Gyro Lowpass 2 auf PT1 500Hz stellen
Besonderheiten bei 4kHz PID-Loop:
- Gyro Lowpass 2 aktiviert lassen. Einstellungen zunächst dem Slider überlassen. Am Ende des Filtertunings auf PT1 1000hz stellen und testen.
Besonderheiten bei 8kHz PID-Loop:
- Gyro Lowpass 2 kann problemlos deaktiviert werden.
Multi-Dynamic-Notch #
Völlig neu geschriebene, stark verbesserte, SDFT-basierte multi-dynamische Notch Filter. Mehr als ein Resonanzpeak kann gleichzeitig genauer und schneller als zuvor verfolgt werden, wodurch die Motoren ruhiger und kühler bleiben.
Ein Q-Wert von 300-450 wird für Racing und Freestyle empfohlen. Ein Q von 200 sollte nicht unterschritten werden. Nutzt mindestens einen Dynamic Notch Filter aber nur so viele wie nötig. Schaut in die Spektralanalyse wie viele Peaks ihr kontrollieren müsst und stellt die Zahl der Notch Filter entsprechend ein. Dreht anschließend Q langsam hoch und schaut welcher höchste Q Wert die Resonanzen noch akzeptabel unterdrückt.
Müsst ihr ohne RPM-Filterung fliegen (wovon dringend abgeraten wird) stellt drei oder vier Notch Filter mit einem Q von 120 ein.
PT3-basierte RC-Smoothing #
Die RC-Glättung wurde komplett überarbeitet und ist jetzt vollständig filterbasiert, wobei der neue PT3-Filter verwendet wird. Der automatische Glättungswert bietet alles von nahezu null Verzögerung bis hin zu außergewöhnlicher cinematischer smoothness. Es wird dringend davon abgeraten RC Smoothing mit Interpolarisierung zu nutzen.
set rc_smoothing = ON
Auto smoothing ist ein neuer Algorithmus um das RC Signal optimal zu glätten. Folgende Werte werden empfohlen.
value | Multiplikator | Empfehlung |
0 | 1,5 | nur für Tuningzwecke, kann zu heißen Motoren führen, sehr geringe Glättung |
20 | 0,5 | Racing, minimale Verzögerung, noch Stepping im RC-Signal und Sollwert und FF vorhanden |
30 | 0,375 | Standard, geeignet für Rennen oder schnelless FF, Störungen in HD-Kamera Feed möglich |
50 | 0,25 | schneller Freestyle mit HD-Kamera |
90 | 0,15 | glatter HD-Freestyle, offensichtliche Reaktionsverzögerung, aber flüssiges Filmmaterial |
140 | 0,1 | Werte über 100 ergeben filmische Glätte mit aber erheblicher Eingabeverzögerung |
Wichtig für auto smoothing ist eine konstante Paketrate, also stellt Crossfire nicht auf dynamisch sondern entweder 50Hz oder 150Hz. RC-Links mit sehr hohen Paketraten von 250Hz oder 500Hz erzeugen „jitter“ also Störungen im Feed Forward Signal. Hier wird empfohlen die Werte von feedforward_smooth_factor und feedforward_jitter_reduction zu erhöhen und feedfoward_averaging auf mindestens 2 zu setzen.
PT2- und PT3-Tiefpassfilteroptionen
Die alte BiQuad-Tiefpassfilteroption wird auf Grund von Überschwingungs- und Resonanzproblemen nicht mehr empfohlen. Benutzer sollten zu PT3 wechseln, wenn sie vorher BiQuad-Filterung verwendet haben.
RPM Crossfading #
Wir können jetzt überlappende RPM-Notch-Filter bei niedrigen RPM sehr stark abschwächen. Dies reduziert die Filterverzögerung bei niedriger Gashebelstellung erheblich. Man hört sofort einen Unterschied im Geräusch der Motoren und erhalten weniger Propwash. Im unteren Bereich überlagern sich die Notch-Filter des RPM-Filters gern und erzeugen problematische Resonanzen.
set gyro_rpm_notch_min = 80
set gyro_rpm_notch_fade_range_hz = 50
Bei den meisten Quadcoptern treten signifikante drehzahlbedingte Störungen erst ab etwa 100 Hz (6000 U/min) auf. So kann die RPM-Filterung beispielsweise bei 80 Hz starten und über 50 Hz überblenden, sodass Sie erst bei 130 Hz oder 10.000 U / min wieder die volle RPM-Filterung aktiv wird.
Für größere Quadcopter (7 Zoll und höher) werden proportional kleinere Werte empfohlen. Folgende Einstellungen werden für sehr saubere 5 Zoll Race-Quadcopter empfohlen:
set gyro_rpm_notch_min = 100
set gyro_rpm_notch_fade_range_hz = 70
Tuning: Aktivieren dshot_telemetry Debug-Mode, und führen Sie einige gleichmäßige, stetige Throttle-Sweeps von Null auf 50 % ohne andere Stickeingaben durch. Bei 50% schlagartig auf 0% Throttle stellen. Schauen, wo das Motornoise ins Gyrosignal durchdingt. Verwenden Sie den Debug-Trace, um zu sehen, wann sich die Motordrehzahl über den minimalen RPM Punkt der Notch-Filter bewegt, und überprüfe, wie sich das Motornoise im Crossfade-Bereich verhalten hat. Wenn die Mindestdrehzahl zu hoch eingestellt ist, tritt Motornoise unterhalb des Crossfade-Bereichs durch. Am einfachsten ist es, das Minimum mit einem sehr niedrigen Crossfade-Wert einzustellen, zB 10; es kommt zu einer plötzlichen Änderung, wenn die Drehzahlfilterung einsetzt. Sobald das Minimum auf einen Punkt darunter eingestellt ist, an dem Drehzahlgeräusche zu einem Problem werden, kann der Crossfade-Bereich nach oben erweitert werden, bis er auch ein gewisses Durchschlagen im Übergangsbereich zulässt. Das Ziel sind höchste Werte, die mit einer angemessenen Dämpfung des Motornoise vereinbar sind.
Feedforward-Jitter-Reduction #
4.3 führt die Feedforward-Jitter-Reduzierung ein, die eine Art „dynamischen Übergangseffekt“ liefert, der es Benutzern ermöglicht, den FF-Stepping zu reduzieren. Du erhältst seidenweiche Reaktionen auf langsame Steuerknüppeleingaben und sofortige, bissige Feedforward-Reaktionen auf schnelle Eingaben. Die Jitter-Reduzierung dämpft auch das RC-Link-Rauschen bei langsamen Bewegungen, insbesondere bei den neueren Rx-Links mit höherer Rate. Dies ersetzt den alten Code zum Entfernen von Spikes. Default ist 7. Höhere Werte ergeben mehr Glättung, niedrige weniger. Das Tuning-Fenster wird maßgeblich von der Qualität des RC-Links bestimmt. Passend hierzu werden derzeit werden für Feed-Forward Werte um 120-140 empfohlen. Daumenregel das 2-3-fache des P-Term Wertes. Für cinematischen Flug werden hohe jitter-reduction Werte von 12-15 empfohlen.
Andere Feedforward-Verbesserungen #
Wir haben jetzt Glättung zweiter Ordnung beim Boost, weiche Interpolation bei langsamen Stickbewegungen, genauere doppelte Paketinterpolation, so dass die meisten Funkgeräte keine Mittelwertbildung benötigen, die jetzt standardmäßig deaktiviert ist.
feedforward_smooth_factor = 25 ist für die allermeisten Quadcopter geeignet.
feedforward_averaging kann nun für die meisten RC-Links deaktiviert werden. Der Code ist neu und ff_interpolate_sp wird nicht mehr verwendet. Für 500Hz wird ein averaging „2_POINT“ empfohlen. „3_POINT“ wird für problematische RC-Links und cinematische Flieger empfohlen.
feedforward_max_rate_limit gibt an wie stark feedforward in der nähe des maximalen Stickausschlages reduziert wird um einen Overshoot zu vermeiden. Der Default von 90 ist meist passend. In BF 4.2 war ein Bug, der nun behoben wurde.
Feedforward im Level- und Horizon-Modus – Feedforward ist jetzt im Horizon- und Level-Modus aktiv, was zu schnelleren Winkeländerungen im Level-Modus führt und den Horizon-Modus für Flips und andere schnelle Bewegungen genauso reaktionsschnell macht wie Acro.
Antigravity-Verbesserungen #
P-Boost wurde hinzugefügt, zusammen mit der I-Boost-Timing-Optimierung, um die höchste PID-Wirkung zu erreichen, wenn es am dringendsten benötigt wird. Dies sorgt für eine größere Stabilität bei schnellen Gaswechseln. Der Standardwert von 3 sollte nicht ohne sorgfältige Prüfung erhöht werden. Von hohen Werten wie 10 oder 15 die mit BF 4.2 noch möglich waren wird dringend abgeraten.
Dynamische Gyro-Filter-Expo-Kurve #
Das Anpassen der Filter-Expo-Kurven verbessert Propwash, indem die Cutoff-Werte des dynamischen Gyro-Filters schneller angehoben werden, wenn Sie Gas geben. Beim D-Term sind diese Kurven schon bekannt.
Verbesserter dynamic Idle code #
Der dynamic Idle code wurde stark überarbeitet und kann jetzt dank eines modifizierten einseitigen PID-Reglers die Drehzahl auf einem stabileren Wert, schneller und präziser als zuvor halten. Es kann jetzt so konfiguriert werden, dass die Drehzahl über dem normalen Leerlaufwert (shot idle) gehalten wird, wodurch das Hochlaufverhalten des Motors bei niedrigen Drehzahlen verbessert wird, während der Motorantrieb bei Bedarf für eine verbesserte Bremsung auf Null gehen kann. Grundsätzlich erfüllt dynamic idle den gleichen Sinn wie bisher. Vorteile: Desyncs werden vermieden und inverted yaw spins sind nun besser möglich. Im ursprünglichen Sinn kann dynamic idle weiterhin ca 20% unter DShot idle konfiguriert werden. Nun könnt ihr beides parallel weiter absenken. Neu ist, dass man aber auch dynamic idle über dem DShot idle Wert konfigurieren kann. Das Thema ist sehr interessant um noch das letzte Quäntchen Leistung aus dem Quadcopter zu kitzeln. Wer interessiert ist sollte unbedingt den PR lesen. Kurz und Bündig die Empfehlung:
DShot idle: 4%; dynamic idle rpm 4000 für freestyle und 3000 für racing.
Lineare und dynamische Mixer-Optionen #
Dies sind Alternativen zum Standard-Betaflight-Mixer-Code, von Emu-Flight übernommen. Neu sind der lineare und dynamische Mixer. Letzterer kann zu weniger aggressiven Stoß- und Landereaktionen im Level-Modus oder filmischen Flügen führen.
der „alte“ Mixer neuer linearer Mixer neuer dynamischer Mixer
Actual Rates #
Endlich neuer Betaflight-Standard – Actual Rates bieten eine einfachere und intuitivere Möglichkeit die Drehrate festzulegen, und sind jetzt die Standardeinstellung. Betaflight-Rates sind optional weiterhin verfügbar. Vorsicht beim Aktualisieren! Wenn du die alten Ratewerte kopierst und einfügst, müssen Sie auch den Ratetyp kopieren und einfügen! Verwende diesen Umrechner, um Ihre alten Betaflight Rates in Actual Rates umzurechnen. Gut – so neu ist das auch nicht – auf dieser Website wurde ja schon lange die Nutzung empfohlen. Geändert hat sich am Actual Rates code nichts.
CrossfireV3- und Ghost-RC-Link-Verbesserungen #
Neben der Unterstützung der neuesten Crossfire-, ELRS- und Ghost-Protokolle unterstützt der interne Betaflight-RC-Code jetzt 12-Bit- oder höhere RC-Daten in einem Float-Datenpfad und handhabt sehr niedrige RC-Links (bis zu 16 Hz) besser als zuvor, unterstützt Hochgeschwindigkeitsverbindungen bis 1000 Hz vollständig und dämpft Feedforward-Störimpulse besser, wenn die RC-Verbindung nach Ausfällen zurückkehrt.
Expo im Anglemode #
Für Whoop-Piloten wurde einiges getan. FeedForward ist jetzt im Angle- und Horizon-Mode (siehe oben) verfügbar. Nach wie vor werden keine Rates für den Angle Mode verwendet, sondern die Übertragung der Stickposition auf den Neigungswinkel ist linear. Nun kann diese Linearität mit Expo etwas an das Acro-Gefühl angeglichen werden. Im Angle-Mode wurde Expo eingeführt.
Weitere Verbesserungen #
FrSky OSD-Fix – Asizon hat es behoben!
Lua-Skript-Updates – RSSI in Ihrem OSD über LUA, Slider von der Funkfernsteuerung nutzen, viele andere Änderungen.
STM G4 Prozessoren werden besser unterstützt. Auch viele andere PRs (sucht nach „[G4]“).
Yaw-Lowpass Filter mit 100hz wird nun generell empfohlen.
FPV-Kamera-Angle-Code funktioniert nun endlich mit Feed-Forward zusammen. Whoops haben jetzt ähnliche Steuerungsmöglichkeiten wie dual axis steering von Emuflight.
Reset ganzer Parametergruppen in der CLI ist nun möglich.
Diverse Verbesserungen im OSD wie die Möglichkeit für bessere Lesbarkeit den Hintergrund von OSD-Elementen auf grau einzustellen, Pfeile bei langen Listen von OSD Elementen.
Beeper Mute um abends beim Basteln oder bei einem Event niemandem mit dem Beeper zu nerven.
Tuning-Snippets #
Gilt für den Übergang zum testen. Nicht zu Verwechseln mit den Presets. Kopiert zunächst das Race-Snippet und anschließend, bei Bedarf, das Freestyle-, HD- oder Cinematic- Snippet in die CLI. Speichern nicht vergessen. Setup, PIDs und Filter müsst ihr anschließend nachjustieren.
Race-Snippet: aktiviert alle neuen Features mit gutem Basistune für 5 Zoll Racecopter
set iterm_relax_cutoff = 30
set rc_smoothing = ON
set rc_smoothing_auto_factor = 30
set rc_smoothing_auto_factor_throttle = 30
set rc_smoothing_setpoint_cutoff = 0
set rc_smoothing_feedforward_cutoff = 0
set rc_smoothing_throttle_cutoff = 0
set feedforward_transition = 0
set feedforward_averaging = OFF
set feedforward_smooth_factor = 25
set feedforward_jitter_reduction = 7
set feedforward_max_rate_limit = 90
set feedforward_boost = 14
set yaw_lowpass_hz = 100
set throttle_boost = 7
set throttle_boost_cutoff = 25
set dyn_lpf_dterm_curve_expo = 7
set gyro_rpm_notch_q = 350
set gyro_rpm_notch_min = 80
set gyro_rpm_notch_fade_range_hz = 50
set gyro_rpm_notch_harmonics = 3
set dyn_notch_count = 2
set dyn_notch_q = 450
set dyn_notch_min_hz = 200
set dyn_notch_max_hz = 500
set rates_type = ACTUAL
set roll_rc_rate = 20
set pitch_rc_rate = 20
set yaw_rc_rate = 20
set roll_srate = 65
set pitch_srate = 65
set yaw_srate = 65
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set vbat_sag_compensation = 100
set throttle_limit_type = SCALE
set throttle_limit_percent = 95
set gyro_lowpass_type = PT1
set gyro_lowpass_hz = 500
set dyn_lpf_gyro_min_hz = 500
set dyn_lpf_gyro_max_hz = 1000
set dyn_lpf_gyro_curve_expo = 0
set gyro_lowpass2_type = PT1
set gyro_lowpass2_hz = 500
set dterm_lowpass_type = PT1
set dterm_lowpass_hz = 140
set dyn_lpf_dterm_min_hz = 70
set dyn_lpf_dterm_max_hz = 140
set dyn_lpf_dterm_curve_expo = 6
set dterm_lowpass2_type = PT1
set dterm_lowpass2_hz = 150
Freestyle:
set iterm_relax_cutoff = 20
set rc_smoothing_auto_factor = 45
set feedforward_jitter_reduction = 10
set feedforward_smooth_factor = 30
set dyn_lpf_dterm_curve_expo = 7
set dterm_lowpass_type = PT1
set dterm_lowpass_hz = 150
set dyn_lpf_dterm_min_hz = 75
set dyn_lpf_dterm_max_hz = 150
set roll_rc_rate = 10
set pitch_rc_rate = 10
set yaw_rc_rate = 10
HD:
set iterm_relax_cutoff = 10
set rc_smoothing_auto_factor = 60
set feedforward_jitter_reduction = 12
set feedforward_smooth_factor = 35
set dyn_lpf_dterm_curve_expo = 7
set dterm_lowpass_type = PT1
set dterm_lowpass_hz = 150
set dyn_lpf_dterm_min_hz = 75
set dyn_lpf_dterm_max_hz = 150
set roll_rc_rate = 5
set pitch_rc_rate = 5
set yaw_rc_rate = 5
Cinematic:
set iterm_relax_cutoff = 5
set rc_smoothing_auto_factor = 120
set feedforward_jitter_reduction = 12
set feedforward_smooth_factor = 45
set dyn_lpf_dterm_curve_expo = 7
set throttle_boost = 2
set throttle_boost_cutoff = 10
set dterm_lowpass_type = PT1
set dterm_lowpass_hz = 150
set dyn_lpf_dterm_min_hz = 75
set dyn_lpf_dterm_max_hz = 150
set roll_rc_rate = 1
set pitch_rc_rate = 1
set yaw_rc_rate = 1
set iterm_windup = 75
Tipp: iterm_windup = 50 für Cinelifter.