Porada

Jak ustawić filtry w Betaflight: filtry dolnoprzepustowe żyroskopu i członu D, dynamiczny filtr wycinający i suwaki

Każdy filtr w Betaflighcie to wymiana: mniej szumu za cenę opóźnienia. Przy zbyt słabym filtrowaniu szum trafia do silników i kończy się ciepłem, zgrzytaniem i oscylacjami. Przy zbyt mocnym dron reaguje z opóźnieniem, co czuć jako chybotanie po przewrotach, gdy wlatuje w zawirowania od własnych śmigieł, i jako miękką, trochę pływającą odpowiedź na drążki. Ten kompromis ustawiasz w sekcji ustawień filtrów („Filter Settings”) w zakładce strojenia PID.

Poniżej opisuję, co robi każdy blok na tej stronie, jakie są wartości domyślne w aktualnym oprogramowaniu i jak je zmieniać, żeby nie spalić silników. Filtrowanie RPM ma na tej stronie osobny artykuł, więc zakładam, że już działa albo wiesz, dlaczego go nie masz. Wartości domyślne wziąłem z kodu źródłowego Betaflight 2026.6.2 i z wiki Betaflight. Jeśli masz inną wersję, sprawdź liczby we własnym Configuratorze albo poleceniem get w CLI.

Kolejność filtrów

Najpierw działają filtry żyroskopu. Przechodzi przez nie wszystko, co wychodzi z żyroskopu, a przefiltrowany sygnał trafia do całego regulatora PID. Filtry członu D są drugie i działają tylko na człon D, który liczy się z już przefiltrowanego sygnału.

Człon D potrzebuje osobnego filtrowania, bo reaguje na szybkość zmian. Według wiki Betaflight wzmacnia szum o wysokiej częstotliwości mniej więcej od 10 do 100 razy. Dlatego częstotliwości odcięcia dla członu D są dużo niższe niż dla żyroskopu.

Na stronie są dwa rodzaje filtrów:

  • Filtry dolnoprzepustowe przepuszczają niskie częstotliwości i tłumią wszystko powyżej częstotliwości odcięcia. Działają na każdy szum, gdziekolwiek leży, ale dodają opóźnienie w całym zakresie.
  • Filtry wycinające usuwają wąskie pasmo wokół jednej częstotliwości, a resztę zostawiają. Opóźniają mniej, ale pomagają tylko wtedy, gdy szum jest tam, gdzie filtr.

Wartości domyślne w Betaflight 2026.6

Ustawienie Nazwa w CLI Domyślnie
Pierwszy filtr dolnoprzepustowy żyroskopu (dynamiczny) gyro_lpf1_dyn_min_hz / gyro_lpf1_dyn_max_hz 250 / 500 Hz, PT1
Drugi filtr dolnoprzepustowy żyroskopu (stały) gyro_lpf2_static_hz 500 Hz, PT1
Pierwszy filtr dolnoprzepustowy członu D (dynamiczny) dterm_lpf1_dyn_min_hz / dterm_lpf1_dyn_max_hz 75 / 150 Hz, PT1
Drugi filtr dolnoprzepustowy członu D (stały) dterm_lpf2_static_hz 150 Hz, PT1
Dynamiczny filtr wycinający dyn_notch_count, dyn_notch_q, dyn_notch_min_hz, dyn_notch_max_hz 3 filtry, Q 300, 100-600 Hz
Suwaki filtrów simplified_gyro_filter_multiplier, simplified_dterm_filter_multiplier 100 (mnożnik 1,0)

Dynamiczny filtr dolnoprzepustowy zmienia częstotliwość odcięcia razem z gazem. Przy małym gazie trzyma się dolnej granicy, więc filtruje mocniej, a gdy dodajesz gazu, przesuwa się w stronę górnej. Kształt tej krzywej ustawiają parametry dyn_expo (domyślnie 5).

Wartości domyślne są celowo ostrożne. Są dobrane tak, żeby nawet brudny albo lekko uszkodzony dron latał bezpiecznie, więc większość czystych konstrukcji zniesie słabsze filtrowanie.

Zacznij od suwaków

Na górze sekcji filtrów są dwa suwaki: mnożnik filtrów żyroskopu („Gyro Filter Multiplier”) i mnożnik filtrów członu D („D Term Filter Multiplier”). Nie dodają osobnego filtra, tylko skalują domyślne częstotliwości odcięcia. W kodzie mnożnik jest nakładany wprost na wartości domyślne, więc 1,2 na suwaku żyroskopu daje pierwszy filtr dolnoprzepustowy na 300-600 Hz, a drugi na 600 Hz. Suwak w lewo obniża częstotliwości odcięcia i filtruje mocniej, w prawo podnosi je i filtruje słabiej.

Ustawienia żyroskopu są wspólne dla całego drona. Ustawienia członu D, razem z jego suwakiem, należą do profilu PID, więc drugi profil może mieć inne filtrowanie członu D.

Co wiki mówi o suwakach:

  • Suwak żyroskopu w prawo zmniejsza opóźnienie i może pomóc na chybotanie w zawirowaniach, ale wiki wielkimi literami każe uważać: za słabe filtrowanie grozi tym, że dron po uzbrojeniu sam wystrzeli w górę, albo spalonymi silnikami. W lewo przesuń go, jeśli rama ma rezonans, łożyska są zużyte, śmigła poobijane albo silniki wracają z lotu gorące.
  • Suwak członu D - wartość domyślna pasuje do większości konstrukcji. Przesunięcie w lewo chłodzi silniki kosztem trochę gorszego radzenia sobie z zawirowaniami. Przesuwania w prawo wiki nie zaleca, bo może to dać zgrzytanie po uzbrojeniu, rezonanse i przegrzewanie.

Notatki do strojenia wersji 4.3 dodają, że sporo dronów z filtrowaniem RPM lata dobrze z suwakiem żyroskopu przesuniętym do oporu w prawo. Bez trybu eksperta Configurator ogranicza zakres suwaków, a podpowiedź pod nimi mówi, że ten zakres wystarczy większości konstrukcji i początkującym.

Jedna pułapka: włączony suwak przejmuje liczby. Jeśli wpiszesz wartość ręcznie w pole pierwszego filtra żyroskopu albo w którekolwiek pole członu D, a potem ruszysz suwakiem, Configurator nadpisze wpisaną liczbę. Żeby ustawiać częstotliwości ręcznie, najpierw wyłącz suwak. W CLI polecenia get gyro_lp i get dterm_lp pokazują wszystkie te wartości naraz.

Pierwszy i drugi filtr dolnoprzepustowy żyroskopu

Pierwszy filtr dolnoprzepustowy żyroskopu („Gyro Lowpass 1”) jest domyślnie dynamiczny. Według wiki od wersji 4.3 przy działającym filtrowaniu RPM zwykle można go wyłączyć, chyba że żyroskop nie ma wbudowanego filtrowania sprzętowego. Bez filtrowania RPM zostaw go włączonego.

Drugi filtr („Gyro Lowpass 2”) jest zawsze stały i ma dodatkowe zadanie: chroni przed nakładaniem się widma. Gdy pętla PID działa wolniej, niż żyroskop zbiera próbki, na przykład pętla 4 kHz przy żyroskopie 8 kHz, ten filtr usuwa szum, który inaczej przeniósłby się na niższe częstotliwości. Notatki do wersji 4.3 podają takie zasady:

  • Przy pętli 8 kHz problemu z nakładaniem się widma nie ma.
  • Przy 4 kHz zostaw drugi filtr włączony. Jeśli go wyłączysz, Betaflight uśrednia próbki z żyroskopu parami. To działa, ale filtruje słabiej.
  • Przy 2 kHz drugi filtr PT1 na 500 Hz jest niezbędny.
  • Większość czystych dronów z pętlą 4 kHz dobrze lata z wyłączonym pierwszym filtrem i samym drugim na około 500 Hz. Przy czystej konstrukcji z filtrowaniem RPM wiki dopuszcza jeden drugi filtr ustawiony gdzieś między 500 a 1000 Hz.

Liczy się też typ filtra. Domyślny PT1 ma najmniejsze opóźnienie. Według notatek do 4.3 PT2 opóźnia o około 60% bardziej niż PT1, a PT3 mniej więcej dwa razy bardziej. Filtr bikwadratowy usunięto z opcji filtrów dolnoprzepustowych żyroskopu i zastąpiono go PT2, ale dla członu D nadal jest dostępny.

Dynamiczny filtr wycinający

Dynamiczny filtr wycinający szuka najsilniejszych szczytów szumu na każdej osi za pomocą przesuwnej transformaty Fouriera i ustawia na nich filtry wycinające, ciągle je przesuwając. Dobrze śledzi rezonanse, które zmieniają się razem z gazem albo pojawiają się i znikają.

Sterują nim cztery wartości:

  • Liczba filtrów („Notch Count”) na oś. Z filtrowaniem RPM wiki zaleca 1-2, bez niego 4-5 (notatki do 4.3 mówią o 3-4). Każdy filtr dodaje opóźnienie, więc mniej filtrów to ostrzejszy dron, ale też cieplejsze silniki, jeśli prawdziwy szczyt zostanie bez filtra.
  • Dobroć („Q factor (x100)”), czyli jak wąski jest każdy filtr. Wyższa dobroć to węższy filtr i mniejsze opóźnienie. Bardzo niska dobroć daje szeroki filtr i duże opóźnienie. Notatki do 4.3 proponują około 300-450 dla dronów do lotu akrobacyjnego z filtrowaniem RPM, a 120-150, gdy bez niego używasz 3-4 filtrów.
  • Dolna i górna częstotliwość („Min Frequency [Hz]” i „Max Frequency [Hz]”), czyli zakres, w którym filtr szuka szczytów. Dolną granicę trzymaj tak wysoko, jak się da. Notatki do 4.3 podają przykładowo 200 Hz. Wolne drony i duże konstrukcje klasy X lepiej działają z górną granicą 350-400 Hz.

Bez filtrowania RPM notatki do wersji 4.2 dają prostą regułę dla górnej granicy: około 70% obrotów silnika bez obciążenia, liczonych na sekundę. W ich przykładzie silnik 2000KV na 6S kręci się bez obciążenia z prędkością około 48 000 obr./min, co daje mniej więcej 560 Hz.

Strona wiki o filtrowaniu RPM z DShot podaje, że po włączeniu filtrowania RPM dynamiczny filtr wycinający może zejść do jednego filtra, a Configurator od wersji 4.3 robi to sam, gdy włączasz filtrowanie RPM. Szum silników bierze wtedy na siebie filtr RPM, a dynamiczny filtr wycinający zostaje do łapania rezonansu ramy.

Stałe filtry wycinające

Pierwszy i drugi stały filtr wycinający żyroskopu („Gyro Notch Filter 1” i „Gyro Notch Filter 2”) są domyślnie wyłączone. Używaj ich tylko na rezonans o stałej częstotliwości, niezależnej od gazu, zwykle rezonans ramy albo mocowania kamery. Na wykresie widma z czarnej skrzynki widać go jako szczyt o stałej częstotliwości w całym zakresie gazu.

Zasady z wiki:

  • Środek filtra ustaw na rezonansie, a częstotliwość odcięcia o 10-40% niżej. Odcięcie wyznacza szerokość filtra.
  • Nie schodź poniżej 100 Hz.
  • Drugi stały filtr traktuj jako ostateczność.

Notatki do 4.3 dodają, że dobrze ustawiony stały filtr może poradzić sobie ze stałym rezonansem ramy lepiej niż filtr dynamiczny. Jeśli go dodasz, zwykle możesz zmniejszyć liczbę filtrów dynamicznych o jeden.

Jest też filtr wycinający członu D („D Term Notch Filter”), działający na tej samej zasadzie, oraz osobny filtr dolnoprzepustowy na odchylenie. W większości konstrukcji nie trzeba ich ruszać.

Pierwszy i drugi filtr dolnoprzepustowy członu D

Pierwszy filtr dolnoprzepustowy członu D jest domyślnie dynamiczny i wiki nie zaleca przełączania go na stały. Drugi jest stały i zwykle ustawia się go w okolicy górnej granicy zakresu pierwszego. Tak wyglądają wartości domyślne: 75-150 Hz dla dynamicznego i 150 Hz dla stałego.

W jednej sprawie wiki nie zostawia wątpliwości: człon D potrzebuje co najmniej dwóch filtrów pierwszego rzędu (dwóch PT1) albo jednego filtra drugiego rzędu. Wyłączenie obu filtrów członu D, żeby dron był „żwawszy”, to prosta droga do gorących silników.

Jeśli zmieniasz cokolwiek po stronie członu D, rób to małymi krokami, suwakiem członu D.

Rozsądna kolejność pracy

  1. Najpierw doprowadź sprzęt do porządku: dokręcone śruby, proste śmigła, sprawne łożyska i miękko zawieszony kontroler lotu, jeśli rama tego wymaga. Filtry nie będą długo maskować wygiętego śmigła.
  2. Włącz filtrowanie RPM, jeśli regulatory obsługują dwukierunkowy DShot.
  3. Nagraj zapis z czarnej skrzynki z częstotliwością co najmniej 2 kHz, bo tyle notatki do 4.3 zalecają do pracy nad filtrami.
  4. Obejrzyj widmo żyroskopu. Do strojenia dynamicznego filtra wycinającego notatki proponują jeden lot z wyłączonym filtrem dynamicznym, a potem ustawienie dolnej i górnej granicy tak, żeby obejmowały widoczne szczyty z zapasem około 20 Hz z każdej strony. Potem polataj z włączonym filtrem i podnoś dobroć, dopóki rezonans nadal jest pod kontrolą.
  5. Przesuwaj suwak żyroskopu w prawo małymi krokami. Po każdym krótkim locie dotknij silników. Ciepłe są w porządku. Jeśli nie da się utrzymać na nich palca, wróć o krok.
  6. Suwak członu D zostaw na 1,0, chyba że silniki się grzeją. Wtedy przesuń go w lewo.

Z notatek do strojenia warto zapamiętać jeszcze dwie rady. Nie wklejaj do nowej wersji oprogramowania starego wyniku polecenia diff, bo nazwy i wartości domyślne zmieniają się między wydaniami. A jeśli czarna skrzynka pokazuje więcej szumu o wysokiej częstotliwości przy pełnym gazie, zmniejsz krzywą dynamicznego filtra dolnoprzepustowego albo jego górną granicę, zamiast mocniej filtrować w całym zakresie.

Kiedy przestać

Sygnały ostrzegawcze są zawsze te same: silniki wyraźnie cieplejsze po minucie lotu, zgrzytanie albo szarpanie po uzbrojeniu albo oscylacje, które nagle pojawiają się przy dużym gazie. Każdy z nich oznacza, że poszedłeś o krok za daleko. Wróć o jeden krok i wylataj na tych ustawieniach kilka ostrych pakietów, zanim spróbujesz ponownie.