Czy lata ktos na takich PID

Koptery wyścigowe, Race drones

Moderatorzy: moderatorzy2014, moderatorzy

bartekr
Posty: 84
Rejestracja: środa 13 kwie 2016, 10:22
Lokalizacja: Rzeszów

Re: Czy lata ktos na takich PID

Post autor: bartekr »

Jeszcze ja wtrące wazna sprawe. P i I zeby zwiekszyc dajemy na plus od zera. Zaś zwiekszanie parametru D nastepuje kiedy zblizamy sie do zera.

Wysłane z mojego Lenovo P780 przy użyciu Tapatalka
Awatar użytkownika
rafi.devtox
Posty: 465
Rejestracja: piątek 30 wrz 2016, 15:44
Lokalizacja: strzelce krajeńskie

Re: Czy lata ktos na takich PID

Post autor: rafi.devtox »

bartekr pisze:Jeszcze ja wtrące wazna sprawe. P i I zeby zwiekszyc dajemy na plus od zera. Zaś zwiekszanie parametru D nastepuje kiedy zblizamy sie do zera.

Wysłane z mojego Lenovo P780 przy użyciu Tapatalka
Co do sposobu regulacji i wprowadzania nastaw nie wypowiem sie. Kazdy slyszal badz ma wlasne rozne techniki. A to jedynie droga do osiagniecia celu....

.... jest jedna rzecz która pociaga bardziej niz quad. MAN TGX, 40t i 1000km przed Toba....
bartekr
Posty: 84
Rejestracja: środa 13 kwie 2016, 10:22
Lokalizacja: Rzeszów

Re: Czy lata ktos na takich PID

Post autor: bartekr »

Ale warto miec jakis punkt odniesienia :)

Wysłane z mojego Lenovo P780 przy użyciu Tapatalka
Markon
Posty: 226
Rejestracja: niedziela 31 lip 2016, 18:50
Lokalizacja: Śląsk

Re: Czy lata ktos na takich PID

Post autor: Markon »

Przy tych całych PIDach trzeba pamiętać, że jest to tylko funkcja matematyczna określająca stosunek wartości wyjściowej (mocy na silnikach) do wartości wejściowej (dane z transmitera). Żeby któryś przypadkiem nie wziął sobie tych porad do serca przy PIDach, które nie są PIDami dyskretnymi (czyli operowanymi przez mikroprocesor).

@rafi.devtox, to co napisałeś o PIDach to wszystko pokrywa się z prawdą, ale trzeba pamiętać o tym, że oprogramowanie Betaflight nie pozwala na pełną kontrolę nad PIDami, a tylko w pewnym zakresie, dlatego coptery latające z "zerowym I" latają, bo BF nie pozwala zaniżyć wartości do zera. Poza tym posiada też wbudowane różne filtry i magiczne matematyczne sztuczki, dlatego możemy tak dobrze się cieszyć naszymi copterami.

Rzecz do sprostowania. Każdy regulator PID posiada swoją częstotliwość. Wartość wejściowa jest przeliczana przez algorytm i wyrzucana na wyjście na którym przez pewien okres czasu się utrzymuje. Jeśli częstotliwość regulatora to 2kHz, to wartość ta trwa całe 1/2000 sekundy. Po tym czasie dopiero PID wypluwa kolejną wartość, która z powodu zwłoki czasowej jest odpowiedzią na wartość wejściową odczytaną kilka pętli temu (pętla dla np. 2kHz to 1/2000 sekundy). Czemu tak? Nasze procesory muszą wykonać szereg obliczeń, które wymagają czasu, potrzebna jest też zmiana sygnału z analogowego na cyfrowy. Wszystkie rzeczy po kolei zajmują pewien okres czasu, o który opóźnia się przełożenie wartości z wejścia na wyjście.

Zbyt wysoka wartość D powoduje grzanie się silników i zmniejszenie efektywności, dlatego nie polecałbym od startowania z wysokiego D. Ten człon to taki jedyny przypadek przy którym trzeba uważać, bo powoduje przy mocniejszych setupach dużo dymu.

Tutaj wideo, które pokazuje idealnie co to jest ten regulator PID.
https://youtu.be/fusr9eTceEo
Gdyby ktokolwiek mógł zmniejszyć wartość I do zera, to efekt byłby taki sam jak w tym filmiku :)
Awatar użytkownika
rafi.devtox
Posty: 465
Rejestracja: piątek 30 wrz 2016, 15:44
Lokalizacja: strzelce krajeńskie

Re: Czy lata ktos na takich PID

Post autor: rafi.devtox »

Dzieki wielkie za filmik i komentarz jako dopelnienie tematu.... Swietne... Teraz na kazde pytanie o PIDy polecam wyslac linka do tematu i po sprawie...

.... jest jedna rzecz która pociaga bardziej niz quad. MAN TGX, 40t i 1000km przed Toba....
bartekr
Posty: 84
Rejestracja: środa 13 kwie 2016, 10:22
Lokalizacja: Rzeszów

Re: Czy lata ktos na takich PID

Post autor: bartekr »

Markon pisze:Zbyt wysoka wartość D powoduje grzanie się silników i zmniejszenie efektywności, dlatego nie polecałbym od startowania z wysokiego D. Ten człon to taki jedyny przypadek przy którym trzeba uważać, bo powoduje przy mocniejszych setupach dużo dymu.

Czyli dalej prostuje. Zbyt wysoka czyli im wartosc blizsza zeru tym wyzsza, tak ? To miales na mysli ? Bo czytajac forum mozna to dwojako zrozumie.
Awatar użytkownika
kamilborkowski
Posty: 2183
Rejestracja: niedziela 02 lut 2014, 14:43
Lokalizacja: Opole

Re: Czy lata ktos na takich PID

Post autor: kamilborkowski »

bartekr pisze:Czyli dalej prostuje. Zbyt wysoka czyli im wartosc blizsza zeru tym wyzsza, tak ? To miales na mysli ? Bo czytajac forum mozna to dwojako zrozumie.
Nie, bliska zeru to niska wartość. Wartość wysoka to na przykład 100.
bartekr
Posty: 84
Rejestracja: środa 13 kwie 2016, 10:22
Lokalizacja: Rzeszów

Re: Czy lata ktos na takich PID

Post autor: bartekr »

Zwiększenie wartości D:
(pamiętaj oznacza mniejszą liczbę, gdyż jest to wartość ujemna)
poprawia szybkość, z jaką wirnikowiec wraca do pierwotnej pozycji. Wraz ze zwiększeniem szybkości odzyskiwania pozycji rośnie prawdopodobieństwo jej przekroczenia i oscylacji. Będzie również zwiększało wpływ parametru P


Skopiowane z tematu kolegi Rurka http://rc-fpv.pl/viewtopic.php?t=5118
Awatar użytkownika
kamilborkowski
Posty: 2183
Rejestracja: niedziela 02 lut 2014, 14:43
Lokalizacja: Opole

Re: Czy lata ktos na takich PID

Post autor: kamilborkowski »

Nie mówimy tutaj o implementacji parametru D w kodzie kontrolera tylko o wartościach definiowanych w konfiguratorze przez użytkownika. W tym znaczeniu wartość wysoka to na przykład 100 a wartość niska to na przykład 5. Wartość wysoka wpisana w konfiguratorze może powodować szybsze zużywanie się silników.

To co zacytowałeś z opisu Rurka to opis implementacji w oprogramowaniu kontrolera.
bartekr
Posty: 84
Rejestracja: środa 13 kwie 2016, 10:22
Lokalizacja: Rzeszów

Re: Czy lata ktos na takich PID

Post autor: bartekr »

kamilborkowski, Dalej tego nie kumam. W takim razie o co chodzi tu: ?

Lot akrobacyjny: Zwiększ D (pamiętaj oznacza mniejszą liczbę, gdyż jest to wartość ujemna - tj. bliżej do zera)
Delikatny płynny lot: Zmniejsz D (pamiętaj, oznacza wyższą liczbę, gdy jest to wartość ujemna - czyli dalej od zera)

Ty mi piszesz tak, Rurek pisze tak, ja czytam tak i owak i wychodzi mi ''Idz tam, ale nie idz'' .... :/
Awatar użytkownika
kamilborkowski
Posty: 2183
Rejestracja: niedziela 02 lut 2014, 14:43
Lokalizacja: Opole

Re: Czy lata ktos na takich PID

Post autor: kamilborkowski »

Jest bardzo dużo sposobów zrozumienia regulatora PID. Spróbuj na przykład pooglądać filmiki od Joshua Bardwell, może od niego przyswoisz tą wiedzę.
Zwróć uwagę na to, co napisał Markon:
Markon pisze:@rafi.devtox, to co napisałeś o PIDach to wszystko pokrywa się z prawdą, ale trzeba pamiętać o tym, że oprogramowanie Betaflight nie pozwala na pełną kontrolę nad PIDami, a tylko w pewnym zakresie, dlatego coptery latające z "zerowym I" latają, bo BF nie pozwala zaniżyć wartości do zera. Poza tym posiada też wbudowane różne filtry i magiczne matematyczne sztuczki, dlatego możemy tak dobrze się cieszyć naszymi copterami.
Opis wklejony przez Rurka powstawał gdy nie było jeszcze Betaflight, jest on więc bardziej teorią PIDów. Natomiast Betaflight posiada jakąś swoją implementację tego mechanizmu w związku z czym nie da się bezpośrednio przełożyć opisu wklejonego przez Rurka na latanie quadem z Betaflight.
Bruce z RcModelReviews z kolei opisał PIDy jako elementy kontrolujące:
P - teraźniejszość (reakcja na to co jest)
I - przeszłość (reakcja na to co było a błąd trwa przez jakiś czas)
D - przyszłość (przewidywanie tego co będzie żeby nie przestrzelić z korektą)

Idąc tym tropem postaraj się zrozumieć, że D generalnie filtruje ruchy quada, ale w związku z tym może powodować grzanie się silników jeśli jest za wysokie (w konfiguratorze).
Markon
Posty: 226
Rejestracja: niedziela 31 lip 2016, 18:50
Lokalizacja: Śląsk

Re: Czy lata ktos na takich PID

Post autor: Markon »

Żeby teraz to ładnie rozdzielić. PIDy w programach typu Betaflight/Cleanflight/Raceflight nie różnią się od zwykłych PIDów, aczkolwiek w BF/CF są programowo zablokowane przed taką zmianą PIDów, żeby układ był niestabilny. Z wiedzą, że istnieją jeszcze takie tryby lotu jak anti-gravity czy opcje jak anty-windup i kilka innych sztuczek, użytkownik musi być świadomy, że czasy czystych PIDów minęły już dawno.

Możliwie prosto.
P - człon proporcjonalny, który przenosi wejście na wyjście z odpowiednim wzmocnieniem. Przenosi również BŁĄD. Jego wykres to funkcja stała
I - człon całkujący, którego wartość rośnie liniowo w czasie, naprawia wszystkie przypadki przedobrzenia przez człony P i D. Jego wykres to funkcja liniowa czyli y=x
D - człon różniczkujący, który reaguje żwawo i natychmiastowo na jakąkolwiek zmianę wartości. Przeciwdziała członowi P. Jego wykres to funkcja y=1/x

W świecie idealnym, człon P przenosi sygnał i nic nie jest potrzebne, bo tranzystory z ESC dają tyle samo mocy zawsze, silniki są takie same itp.
W prawdziwym świecie, sygnał często musi być większy niż powinien być by osiągnąć wymaganą wartość na wyjściu za pomocą członu P, dlatego człon D reaguje i zmniejsza tą wartość po czym człon I ładnie i spokojnie wraca układ do pozycji w której powinien być.

To tak jak z obróbką pręta na jakiś wał. Pręt jest z nadwyżką materiału, bo wiadomo, że obróbka wiąże się ze stratą materiału (człon P). Człon D wycina nadwyżkę, ale czasami zrobi to za mocno, przez co powstają ubytki, które człon I z czasem uzupełnia. Te wszystkie operacje trwają ułamki sekundy i trzeba pamiętać, że każdy człon liczy się osobno i są one sumowane w specjalnym węźle sumacyjnym, gdzie operacja sumy jest robiona na liczbach zespolonych (piekło nieskończone).

Dlatego nie powinno się mieć wysokiego D, bo to oznacza dużą stratę materiału. Człon P powinien być ustawiony jako pierwszy, żeby ustalić ile nadwyżki materiału jest dobre, później odpowiedzieć członem D, żeby zdjąć odpowiednią ilość materiału, a I to jest tylko wykończenie.

Przykład wdzięczny. Co robi tryb anti-gravity ? Przy odpowiednio dużym przyśpieszeniu na drążku throttle dodaje bardzo dużą wartość I do PIDów (wtedy wartość I to 1000 bodajże). Dzięki temu, że I to funkcja liniowa, która ma swój początek w punkcie (0,0) to jej wartość na samym początku jest zerowa, a jeśli jest dominującym członem, to wartość wyjściowa PIDów jest praktycznie równa zeru dla Roll, Pitch i Yaw. Co to oznacza? Quad nie ma prawa poruszyć się w żadnej z tych trzech osi. Zazwyczaj przy punchu czujniki świrują, bo są duże oscylacje i szumy i człony PD próbują ten cały syf korygować co oznacza przemieszczenie się w tych osiach, czyli quad zaczyna lecieć "krzywo" i całkowicie nie tam gdzie powinien.

Czemu człon D jest niebezpieczny? W przypadku ciągłego szumu i zbyt małej tolerancji czujnika na szum dochodzi do sytuacji, gdzie człon P zawsze przesadza, a człon D zawsze zwalnia i hamuje silniki, co powoduje bardzo niekorzystną rzecz. Sytuacja jak z wodą w wannie, kiedy woda stoi, a Ty zaczynasz ruszać ręką w prawo i lewo, to nie wylejesz przez pierwsze sekundy nic, ale im dłużej to robisz, tym mocniejszą falę robisz, aż w końcu wylejesz część wody. Podobne zjawiska dotyczą silników i obwodów magnetycznych (reguła przekory dla cewek, a silnik to przecież zbiór cewek i magnesów stałych), które zwiększają impedancję obwodu silnika, a to z kolei ciepło generowane przez silnik zgodnie ze wzorem na ciepło w obwodzie (według prawa Joule'a - Lenza) gdzie ciepło (Q) jest wyliczone ze wzoru Q=R* I^2 * t (gdzie R to impedancja, I to prąd, a t to czas).
Awatar użytkownika
cebulator
Posty: 1432
Rejestracja: poniedziałek 10 wrz 2012, 08:16
Lokalizacja: Mielec

Re: Czy lata ktos na takich PID

Post autor: cebulator »

Rewelacyjnie wytłumaczone.
Pozdrawiam Sławek

... jeśli nie wiesz co robić, nabieraj wysokości. Jeszcze nikt nie zderzył się z niebem...
bartekr
Posty: 84
Rejestracja: środa 13 kwie 2016, 10:22
Lokalizacja: Rzeszów

Re: Czy lata ktos na takich PID

Post autor: bartekr »

Dlatego nie powinno się mieć wysokiego D, bo to oznacza dużą stratę materiału. Człon P powinien być ustawiony jako pierwszy, żeby ustalić ile nadwyżki materiału jest dobre, później odpowiedzieć członem D, żeby zdjąć odpowiednią ilość materiału, a I to jest tylko wykończenie.


Czyli ustawienia PID robimy w kolejnosci takiej jak sam zczailem ze trzeba PDI a nie PID. Wszedzie jajcza ze P potem I i potem D.
Ja robiac tak dochodzilem do niczego. Dopiero jak zaczlaem robic P potm D i na koncu I to jest ok.
Ostatnio zmieniony wtorek 16 maja 2017, 07:35 przez bartekr, łącznie zmieniany 1 raz.
ODPOWIEDZ