Interaktyvus pratimas nr. 8. PID reguliatorius

Paskaitoje kalbėjome apie PID reguliatorių. Siūlome šio kurso klausytojui interaktyvų pratimą, kuriame simuliuosime PID reguliatoriaus veikimą. Susidomėję klausytojai gali taip pat pasidomėti MATLAB R2020b funkcija pidTuner, kuri reikalauja papildomų paketų diegimo ir yra skirta koeficientams parinkti. Mes panaudosime paprastesnes priemones šio prietaiso veikimo principui pademonstruoti.
Schematiškai PID reguliatoriaus veikimo principas yra pavaizduotas žemiau:
PID reguliatorių sudaro trys dalys:
Šie koeficientai yra teigiami (arba neneigiami, jei galima atsisakyti vienos iš dalių).
Tarkime, kad įvesties signalas yra - funkcija nuo laiko. Tada išvesties signalas yra apskaičiuojamas pagal formulę:
Specialisto pagrindinė užduotis yra šių parametrų nustatymas konkrečiam procesui automatizuoti. Neteisingas parametrų parinkimas gali pasireikšti autosvyravimais, kurie nėra slopinami ir sukelia sistemos išbalansavimą.
Mokymo tikslams įvesties signalą užduosime funkcijos pavidalu. Kurso klausytojas gali pats pasirinkti bet kokią norimą funkciją ir įvesti ją į atitinkamą lauką. Funkcijos kintamasis yra t. Nepamirškite apie daugybą, jeigu dauginate iš koeficiento ar pan. MATLAB iš karto nubraižys jūsų įvestą funkciją intervale Parametro T reikšmę galite parinkti patys iš intervalo .
Rekomenduojamos funkcijos - racionaliosios trupmenos , tačiau klausytojas gali išbandyti ir kitus variantus.
syms u(t) v(t) s;
u(t) = t/((t^2+1))
u(t) = 
t_end = 13;
fplot(u(t), [0 t_end]);
Galite keisti PID reguliatoriaus koeficientus ir stebėti kaip keičiasi išeities signalas.
Kp = 0.58;
Ki = 0.35;
Kd = 1.97;
x = 0:0.01:t_end;
v(t) = Kp*u(t) + Ki*int(u(s), 0, t) + Kd*diff(u(t));
fplot(v(t), [0 t_end]);