Regulaci jsem nestudoval a proto mám několik dotazů ohledně PID regulátorů a jejich použití v programu například pro robota. Pročítal jsem si materiály o PID regulátorech a i když asi začínám tušit nedokážu se v tomto zatím orientovat. Hodně se mi líbil popis který udělal pan Aleš v balancujícím robotovi
Proporcionální složka je mi snad jasná je to lineární vztah mezi konstantou a rozdílem požadované a naměřené hodnoty tedy něco jakoJinak ty konstanty P, I, D jsou prostě "parametry" toho PID regulátoru (tomu PID regulátoru je vlastně jedno, co reguluje, je to prostě rovnice). Konstanta "P" říká, jak silně bude výstup reagovat na rozdíl naměřené a požadované vstupní hodnoty (tím je zajištěna základní zpětná vazba). Konstanta "I" říká, jak silně bude výstup reagovat na součet odchylek naměřené hodnoty od požadované (tím dokáže lépe dorovnat obě hodnoty [než to dokáže samotná P složka regulátoru]). Konstanta "D" říká, jak silně bude výstup reagovat na rychlost změn rozdílu naměřené a požadované hodnoty (tím omezuje překmity regulátoru).
Ep = P * (Poz - Nam) kde Ep je hodnota korekce pro akční členy , P = konstanta , Poz = požadovaná hodnota a Nam = naměřená hodota
U integrační složky si už nejsem tak jistý svým výkladem, obecně je integrace zjištění plochy pod křivkou což znamená že pokud se to převede na numerickou matematiku je to součet jednotlivých naměřených částí ale vzhledem k tomu že se zde nejedná o celou plochu například rychlosti daného zařízení (pro představu v grafu S na X ose a D na Y ose ) ale pouze o rozdílovou oblast mezi požadovanou plochou a naměřenou.
Ei = I * ( ( Poz - Nam)1 + (poz - Nam)2 + (Poz - Nam)X ) 1,2 X jsou indexy Ei = integrační korekce
A zde už začínám mít trochu problémy s implementací do programu, například kolik se obvykle počítá těch rozdílů dozadu, jak se ukládají (každé číslo odchylky tak jak se měří například do pole hodnot nebo jen jako prosté číslo zvětšující se o aktuální rozdíl (to by ale brzy narostlo do velkých hodnot)....
No a poslední derivační složka mi dělá největší problémy s pochopením. Derivace je v podstatě tečna k danému místu křivky tolik matematika převodem do numerické matematiky by to měl být rozdíl rozdílů požadované a naměřené hodnoty tedy asi nějak takto.
Ed = D * (( Poz - Nam)1 - (poz - Nam)2 ) Ed derivační korekční složka D konstatnta
No ale je to pouze jeden rozdíl nebo více rozdílů a opět je třeba někde do pole ukládat přechozí data a jak mnoho asi?