D_min Betaflight

D_min Betaflight – nowy sposób ustawiania PID -ów

We wcześniejszym wpisie: Poradnik BETAFLIGHT 4.0 omówiłem nowości i podstawową konfigurację powyższego oprogramowania. Pora zatem przyjrzeć się dokładniej najnowszemu Betaflight i zacząć uczyć się bardziej zaawansowanych ustawień.

Wśród nowych rzeczy w wersji 4.0 pojawił się parametr D_min w sekcji PID TUNING. Za co on odpowiada i czy jest warty uwagi podczas dokonywania zmian ustawień naszego ,,drona”? Odpowiedź uzyskacie czytając ten wpis, który jest także początkiem serii o bardziej zaawansowanej konfiguracji Betaflight…

Zacznijmy od parametru D w P.I.D.

Parametr D jest skrótem od ang. nazwy Derivative i oznacza pochodną:

Derivative Betaflight

Występuje on w trzecim członie ustawień nazywanych w skrócie P.I.D. powstałym od pierwszych liter wyrazów:

  • Proportional,
  • Integral,
  • Derivative.

Szczegółowe omówienie znaczenia interpretatora P.I.D. omówię w jednym z kolejnych wpisów…

Derivative odpowiada za tłumienie i osłabienie reakcji na parametr P. (dane wejściowe do kontrolera lotu z żyroskopu, ESC i silników, odbiornika RC, itp.). Jego zadaniem jest niwelowanie przestrzeleń wartości P., które objawiają się m.in.:

  • drżeniem i nierównym lotem modelu,
  • wibracjami od silników,
  • zbyt nerwową reakcją modelu na ruchy drążków, czy nawet podmuchy wiatru (kołysanie).

W skrócie – parametr D jest odpowiedzialny za korekcję wartości P, dzięki której lot modelem jest płynny, pozbawiony wszelkich niechcianych wibracji i nadsterowności. Wykorzystywany jest do wygładzania pracy silników, zwalczania efektu Prop Wash (zbyt dużego mielenia powietrza śmigłami w jednym miejscu), a także Bounce back (chwilowego pływania modelu po np. szybkiej beczce).

Wyższa, czy niższa wartość Derivative?

Im wyższe D. – tym mniejszy wpływ na lot ma parametr P. W zależności od posiadanej przez nas konfiguracji sprzętowej – w pewnym momencie podwyższanie D. może jednak przestać dawać korzyści.
Istnieje pewna granica ustawiania D., której nie powinniśmy przekraczać.
Jest to moment, w którym silniki stają się zbyt gorące podczas latania oraz gdy sterowanie modelem wydaje się zbyt ospałe i ,,otępiałe”.
Zatem musimy ustawić taką wartość D., by nasz model latał płynnie. Bez niechcianych oscylacji silników oraz jednocześnie by silniki nie przegrzewały się podczas pracy i kopter nie był zbyt ,,ospały”.
Zazwyczaj domyślne wartości P.I.D. w Betaflight są wystarczające do latania modelami 4,5,6 cali, lecz nie muszą to być także najlepsze wartości dla naszego multiwirnikowca. Dlatego bardziej zaawansowani piloci z pewnością będą dokonywali niewielkich korekt PID-ów.

Musimy mieć na uwadze, że innych wartości dla członu Derivative będzie wymagał:

  • lekki model,
  • model z dodatkową kamerą sportową,
  • czy przeznaczony do zwiedzania z lekkimi elementami freestyle.

Jeszcze w wersji Betaflight 3.5.7. mogliśmy ustawić tylko po jednej wartości członu D. dla ROLL oraz PITCH. Oś Yaw celowo pomijam – twórcy Betaflight nie zalecają ustawienia D innego niż 0 (wyższe wartości tylko pogarszają pracę modelu). Z pomocą przychodzi możliwość ustawienia 3 różnych profili PID-ów i rate:

Jednak by dokonać zmiany profili musimy:

  • podłączyć kopter do komputera i Betaflight Configuratur, lub;
  • ustawić zmianę profili pod danym przełącznikiem w aparaturze (podczas lotu mało wygodne), lub:
  • przed lotem wejść w ustawienia Betaflight za pośrednictwem wizji FPV i OSD…

Na ratunek jednak przychodzi funkcja D_min, która może się okazać zbawienna dla nas i naszego modelu.

Czym jest D_min w Betaflight?

d_min betaflight 4.0

D_MIN jest odpowiednikiem czynnika D, tylko o niższej wartości.
Począwszy od Betaflight 4.0.0 – D_min działa podczas normalnego (płynnego i spokojnego) lotu. Natomiast ,,zwykłe” D jest aktywowane podczas szybkich manewrów, które mogą powodować przestrzelenie wartości P, czyli np. szybkie flipy (beczki). Standardowe D działa także w chwili wykrycia dużych oscylacji quadcoptera.

UWAGA! Kontrolery lotu oparte na procesorach F3 – są pozbawione opcji D_min ze względu na zbyt małą ilość pamięci FLASH.

Domyślne wartości dla Derivative wynoszą: 35/38 (ROLL/PITCH), natomiast dla d_min: 20/22 (ROLL/PITCH).

Takie rozwiązanie sprawia, że silniki podczas spojonych lotów nie są za bardzo ,,kontrowane” przez ESC i kontroler lotu, a to z kolei sprawia, że osiągają niższe temperatury. Dopiero szybkie operowanie drążkami oraz szybkie i zrywne beczki powodują zastosowanie właściwego czynnika Derivative.

Domyślne wartości D_min mogą jednak nie być idealnym rozwiązaniem dla naszego modelu, gdy silniki (a także śmigła) nie są za dobrze wyważone.
Jeżeli quad podczas spokojnego lotu jest niestabilny, drga, a z silników słychać wyraźne wibracje – musimy minimalnie podnieść wartości D_min dla osi ROLL/PITCH. Na początek może to być wzrost o 5 punktów, czyli 25 dla ROLL i 27 dla PITCH.

Możemy także całkowicie wyłączyć D_min wpisując 0 dla osi ROLL oraz PITCH:

D_min betaflight

Szczegółowe informacje o parametrze D_min przeczytacie także na stronie: https://github.com/betaflight/betaflight/wiki/d_min

D_min betaflight dla zaawansowanych – parametry Gain oraz Advance

Dla niektórych osób samo ustawienie wartości D_min może okazać się niewystarczające. Mimo dobrania satysfakcjonującej nas wartości D_min, model może mieć liczne uślizgi śmigieł (tzw. ,,propwash”) oraz zaliczać spore chybotanie na boki podczas gwałtownego hamowania i gazowania.

D_min betaflight gain advance
Zakładka PID Tuning oraz widoczna sekcja D_min z ustawieniami Gain oraz Advance

Lekarstwem jest ustawienie kolejnych parametrów:

  • d_min_advance
  • d_min_gain

D_min_advance

D_min_advance przyspiesza początek efektu wzmocnienia – zastosowanie bliskiej wartości D z sekcji P.I.D. Zwiększenie wartości Advance może być pomocne, gdy używamy wysokich wartości RATE dla bardzo szybkich beczek (tzw. ,,flipów”) na bardzo czułych quadach.

Dla Advance = 0, wzmocnienie D nie rozpocznie się, dopóki silniki nie zaczną obracać quada (co zazwyczaj następuje po pewnym czasie od przesunięcia drążków). W przypadku bardzo czułych quadów sygnał wzmocnienia pochodzący od żyroskopu może pojawić się nieco za późno. Dodanie pewnego przyspieszenia (czyli zwiększenie Advance) spowoduje zwiększenie D od momentu, gdy drążki zostaną poruszone, bez czekania na obrót modelu przez silniki.

Domyślnie D_min_advance wynosi 20, co powoduje wzmocnienie wartości D tylko przy bardzo szybkich danych wejściowych (bardzo szybkim operowaniem drążkami, bądź szybkimi beczkami). Do dyspozycji mamy zakres od 0 do 200.

D_min_gain

D_min_gain określa, jak mocno D jest zwiększane podczas szybkich sygnałów wejściowych – czyli m.in. ruchów drążkami, beczek, itp.

Domyślna wartość 20 powinna być wystarczająca dla większości quadów. Bardzo czyste quady (nowe i dobrze wyważone silniki, śmigła itp.) mogą latać bardzo dobrze ze wzmocnieniem ustawionym na 25.

Im wyższa wartość Gain, tym rzadziej będzie wybierana wartość D_min, a częściej właściwe (bądź bardzo bliskie właściwemu) D z sekcji P.I.D.

Ustawienie wyższego Gain może nam pomóc w walce z za dużym uślizgiem, czy też mieleniem powietrza przez śmigła (propwash), ale nie jest dobrym pomysłem, jeśli chcemy, by D_min. przyczyniło się do obniżenia ciepła silnika.

Historia artykułu:

  • powstanie artykułu: 02.05.2019r.
  • dodanie opisu dla funkcji D_min_dvanced oraz D_min_gain: 06.05.2019r.

2 myśli o “D_min Betaflight – nowy sposób ustawiania PID -ów”

  1. Super stronka i bardzo fajnie wszystko opisane. Dla osob nie siedzacych gleboko w temacie perfekcyjne rozwiazanie. Czekam na nastepne artykuly i pozdrawiam.

    1. Bardzo dziękuję za komentarz i dobre słowa! 😉
      Cieszy mnie, że zawarte tutaj artykuły mogą komuś pomóc.
      Kolejne są w trakcie tworzenia – rany jak ten czas szybo płynie… 😉
      Miłego dnia! 😉

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

57 + = 61