Tragedie! Ze tomu autor nerozumi, by se dalo snest za predpokladu, ze by se aspon poucil z komentaru k predchozimu dilu, kde mu dokonce dva ctenari radili aspon tu nejzakladnejsi vec z SW implementace PIDu a sice antiwindup. Radit lidem stavet si vrtulnicky s regulatorem bez antiwindupu je fakt prasarna.
Typická vlastnost čecháčků - být chytrý a naprázdno mudrovat. Opakuji - napiš lepší seriál, nebo napiš lepší popis toho, co bylo v článku sem do diskuse. Máš na to? Napiš! Nemáš na to? Tak drž pysk!
Btw. regulace, jakožto část oboru automatizace v průmyslu, je na VŠ v teoretickém základu na 1 semestr (s tím, že se předpokládá doplňková znalost z matiky). Autor zde popisuje něco, co není až tak úplně triviální, všem. Od géniům až po lopaty. Snaží se o to, aby to pochopil opravdu každý. Rozumný génius promine autorovi určitou laickost, za to, že je to i pro lopaty. Jen debil může napsat to, co je v kořenu tohoto vlákna...
Trochu taktu k autorovi článku, co? Tlučhubové.
Co povazuju za nejhrubejsi chybu, napsali uz dva komentatori pod minulym clankem a ja jsem na to, vcetne klicoveho slova, ktere samo o sobe k dohledani behem par minut staci, odkazal.
Autor popisuje skutecne neco, co neni az tak uplne trivialni. Zda to vic vysvetluje, nebo zamlzuje, o tom si myslim svoje, ale to jsem, jak sis asi nevsiml, vubec nekomentoval.
Takze, az budete delat jakejkoli regulator s integracni slozkou, dejte si tam antiwindup.
Nemusis pisat clanok - stacilo by, keby si napisal, co presne v clanku chyba. Nie iba jedno klucove slovo (aj ked to si moze kazdy najst).
O tom, ze je treba antiwindup a aky ma vyznam, to je vsetko "niekde na internete". Je na to par desiatok paperov, ako presne to robit a kazdy ma svoje vyhody a aj nevyhody. Ako by si to teda robil ty?
Uznavam, antiwindupu je cela rada. Uplne nejjednodussi pro pripad s I, PI ci PID regulatorem je:
a) implementovat D, P, I slozky jako D^2 (druha diference), D, P a do serie dat integrator, jehoz hodnota bude ifelsem omezena tak, aby nikdy nepresahla omezeni akcniho zasahu (tj. mam-li vystup -0.3...+1.0, tak hodnota tohoto integratoru v kaskade s (D^2,D,P) nesmi pretect z techto mezi);
b) ignorovat prispevky D a P slozky a implementovat omezeni integratoru samotneho ifelsem jako v bode (a).
Oba se chovaji nepatrne odlisne, ale pro danou aplikaci jsou rozdily zanedbatelne. Jsou i vymakanejsi antiwindupy, za jednoduchej a pomerne solidni povazuju ten, kde je regulator rozdelen na pozorovatele (vc. pozorovatele integralni chyby na vstupu) a regulator a ten pozorovatel je krmen skutecnym stavem limitujiciho akcniho clenu. (To jsem posledne pouzil v termostatu, kterej taha jen do plusu [spodni mez = 0, chladit neumi], fungovalo to hezky.)
Ale jo, byl. V oblasti mimo saturaci je to uplne shodny system. Nicmene v oblasti se saturaci se chovani obou reseni uz lisi. (a) jsem rikal "opatrnej antiwindup", (b) jsem rikal "vidlackej antiwindup". Opatrnej ma nevyhodu, ze je citlivejsi na sum mereni. Vidlackej ma nevyhodu, ze si nekdy trochu nawindupuje do zasoby. Zase hodne zalezi na pomeru koeficientu P,I,D. Vidlackej je primou obdobou nekterejch analogovejch reseni, takze vetsinou nejak fungovat bude.
V soucasnosti mi nejspravnejsi a zaroven (relativne) jednoduchej pripada ten pozorovatel, do nehoz vstupuje uz saturaci omezena akce. Nicmene jo, je i spousta jinejch pristupu, napr. Aastroem&Wittenmark zminuji krome pozorovatele systemu mit jeste zvlast pozorovatele saturace s vlastni dynamikou. (Jestli je to k necemu dobry, si dodnes nejsem uplne jist; kazdopadne je to slozitejsi.)
1.) Za článek, ve kterém bude úplně všechno a ještě vám k tomu udělám i pěkné obrázky a video, mi pošlete cca 1200,- na můj účet a já si s tím na pár hodin vyhraju. Pokud ne, spokojte se s tím, že to tady bude prostě rozdělené do více článků.
2.) Anti-wind up není tajná templářská funkcionalita, kterou jsem nezmínil, ale nutnost vyplývající už z průběhu testování. V momentě, kdy ve stojanu na 10% výkon motorů naroste výkon jednoho motoru na 100% a druhý se úplně zastaví, musí každého, kdo se rozhodne si psát algoritmus pro kvadrokoptéru, napadnout, že si tam musí dát limity pro nárust integrační složky.
Pro uplnost: mne vubec nevadi, ze je clanek rozdelen do vice dilu, at jich je klidne sto. Pan Tisnovsky ma taky mnohadilne serialy a jsou bezva. Vychazim z prohlaseni "V minulém díle jsem začal PID regulátor a v tomto díle jej dokončím.". Proti dokoncenosti tohoto PIDu jsem se ohradil. Ze se da regulator nebo treba metoda jeho nastaveni rozpracovat z embrya v skutecne dilo, o tom vubec mluvit nechci, slo mi o naprosto zasadni NEFUNKCNOST toho pahylu, ktery sem byl hozen zajemcum.
Kolik inkasujete za clanek je asi jedno, predpokladam, ze jakakoli myslitelna sazba zde je nepatrny zlomek motivace, takze to asi delate z radosti nebo zajmu o vec.
Podivejte, ja naprosto chapu a v jednom kuse zazivam ten slastny pocit, kdyz clovek stoji na prahu pro nej noveho oboru, sklidi prvni dilci uspechy s radosti z objevovani a se stestim zacatecnika. A pak je teprv treba 20x znovuobjevit kolo, 50x si rozbit hubu a dostudovat dost materialu, nez zacnou mit vysledky nejakou uroven. Nemyslete si, sam jsem v presne teto situaci v nekolika oborech, takze se dokazu vcitit.
V ruznych ustavech se pohybuji, z jednoho jsem pred lety utekl dokonce oknem, jestli vas to potesi (EGU Bechovice).
Kdo rika? No pripada mi, ze vas kod. K pododpovedi nize: testovani samotne nemusi plnou tragiku windupu odhalit hned, hodne taky zalezi na pocatecnim nastaveni I. Muze to dlouho zdanlive dobre fungovat.