Tak se tady prosimvas nehadejte.
Uz v minule diskuzi autor potvrdil, ze vi, co je antiwindup a ze ve skutecnem SW to nejspis ma.
Kdyz na to prijde, tak na nasi skole teorie okolo PID regulace zabrala i vice semestru, takze popsat to srozumitelne v jednom clanku je temer nadlidsky pedagogicky ukol.
Stejne v praxi po stovkach (nekecam) serizenych jednoduchych (lepsi zakazky jsem nemel) PIDech dojdete k nasledujicimu:
* P slozku zhruba nastrelite od oka podle toho, jak velke regulacni odchylce "e" ma prisluset jak velky regulacni zasah "u". Radsi vzit jen polovinu.
* I slozku strelite od oka podle toho, o jak rychly dej se jedna. Vetsina PIDu totiz pouziva torchu jiny vzorec nez "u = P*e + I*sum(e) + D*diff(e)" a umoznuje zadavat I slozku jako cas v sekundach. Radsi nastavit trochu pomalejsi.
* Na D slozku se vykaslete, protoze s vypoctem derivace jsou jenom starosti a jeste pred tim musite mereny signal vhodne filtrovat. Spocital bych na prstech jedne ruky, kolikrat jsem ji pouzil.
* No a pak to trochu poladite podle toho, jak to je pomale nebo naopak, jak to kmita. Zde to vyzaduje trochu citu, jestli spis upravit P slozku nebo spis I slozku. Ale to uz je holt tech nekolik semestru, semestralek, nakoukanych prubehu, regulatoru serizenych v praxi...
* Ale stejne nejvetsi luxus je, kdyz si muzete dovolit zmerit odezvu systemu na skok akcni veliciny. Hned mate lepsi predstavu o tom, jaky system se vlastne snazite regulovat.
K samotnemu Ziegleru a Nicholsovi zajimavost ze skoly: Jejich puvodni vzorec pry slouzil k nastaveni konstant regulatoru u kulometu (na vrtulniku?), tim padem byla dulezitejsi rychlost reakce nez pripadne prekmity. Anglicke slovo "overshoot" v tomto pripade dostava dalsi zajimavy vyznam. :)
Z praktickeho pohledu pro velkou cast systemu velmi vystizne. K D slozce: jasne, pokud se nezenu za optimalitou a pokud system sam nema velke fazove zpozdeni, pak je PI velka pohoda. Ale jsou situace, kdy to PI nemuze zvladnout. (Jsou situace, kdy to ani PID nemuze zvladnout.) K identifikaci odezvou na skok: lidi, kteri jsou ze skoku schopni system identifikovat, je opravdu malinko. Nehovorime-li o specialnim pripadu systemu, kde se da pouzit treba Strejcova metoda. Uz min lidi (potazmo algoritmu) zkazi identifikaci pseudonahodnou binarni posloupnosti. Nebo rozmitanym sinem, ale ten je oproti bin. sumu dost nepraktickej.
Bez te derivačná složky se regulace náklonu v kvadrokoptéře neobejde, s ní to reaguje ostře jako žiletka, bez ní je to moc pomalé, překmitává to atd., ani ty oscilace nejsou tak strašné, když se to s ní nepřežene.
Horší už to pak je u stabilizaci výšky, barometr měří s dost velkou odchylkou, takže tam i velmi malá Kd způsobí že se kvadrokoptéra roztřese a spadne. Jenže bez ní to taky nejde, i když se Ki nastaví na malou hodnotu, kvadrokoptéra která je pod cílenou letovou hladinou nejprve nedělá nic, pak začne pomalu stoupat, pak enormně zrychlí, přeletí výškovou hladinu a začne zase padat. Chtělo by to výstup z barometru řádně filtrovat aby se dala použít i D-složka, ale to jsem už netestoval.