Czy lata ktos na takich PID
Moderatorzy: moderatorzy2014, moderatorzy
Re: Czy lata ktos na takich PID
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
Wysłane z mojego Lenovo P780 przy użyciu Tapatalka
- rafi.devtox
- Posty: 465
- Rejestracja: piątek 30 wrz 2016, 15:44
- Lokalizacja: strzelce krajeńskie
Re: Czy lata ktos na takich PID
Co do sposobu regulacji i wprowadzania nastaw nie wypowiem sie. Kazdy slyszal badz ma wlasne rozne techniki. A to jedynie droga do osiagniecia celu....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
.... jest jedna rzecz która pociaga bardziej niz quad. MAN TGX, 40t i 1000km przed Toba....
Re: Czy lata ktos na takich PID
Ale warto miec jakis punkt odniesienia :)
Wysłane z mojego Lenovo P780 przy użyciu Tapatalka
Wysłane z mojego Lenovo P780 przy użyciu Tapatalka
Re: Czy lata ktos na takich PID
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 :)
@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 :)
- rafi.devtox
- Posty: 465
- Rejestracja: piątek 30 wrz 2016, 15:44
- Lokalizacja: strzelce krajeńskie
Re: Czy lata ktos na takich PID
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....
.... jest jedna rzecz która pociaga bardziej niz quad. MAN TGX, 40t i 1000km przed Toba....
Re: Czy lata ktos na takich PID
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.
- kamilborkowski
- Posty: 2183
- Rejestracja: niedziela 02 lut 2014, 14:43
- Lokalizacja: Opole
Re: Czy lata ktos na takich PID
Nie, bliska zeru to niska wartość. Wartość wysoka to na przykład 100.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.
Wyprzedaję wszystko - http://rc-fpv.pl/viewtopic.php?t=46147
Re: Czy lata ktos na takich PID
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
(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
- kamilborkowski
- Posty: 2183
- Rejestracja: niedziela 02 lut 2014, 14:43
- Lokalizacja: Opole
Re: Czy lata ktos na takich PID
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.
To co zacytowałeś z opisu Rurka to opis implementacji w oprogramowaniu kontrolera.
Wyprzedaję wszystko - http://rc-fpv.pl/viewtopic.php?t=46147
Re: Czy lata ktos na takich PID
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'' .... :/
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'' .... :/
- kamilborkowski
- Posty: 2183
- Rejestracja: niedziela 02 lut 2014, 14:43
- Lokalizacja: Opole
Re: Czy lata ktos na takich PID
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:
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).
Zwróć uwagę na to, co napisał Markon:
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.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.
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).
Wyprzedaję wszystko - http://rc-fpv.pl/viewtopic.php?t=46147
Re: Czy lata ktos na takich PID
Ż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).
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).
Re: Czy lata ktos na takich PID
Rewelacyjnie wytłumaczone.
Pozdrawiam Sławek
... jeśli nie wiesz co robić, nabieraj wysokości. Jeszcze nikt nie zderzył się z niebem...
... jeśli nie wiesz co robić, nabieraj wysokości. Jeszcze nikt nie zderzył się z niebem...
Re: Czy lata ktos na takich PID
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.
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.