%% 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 , 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: %% % * Proporcinė komponentė sukuria išeities signalą, kuris neutralizuoja reguliuojamo % signalo nuokrypį nuo nustatytos reikšmės. Už tai yra atsakingas proporcingumo % koeficientas $K_p$. % * Integralinė dalis yra naudojama statiniam nuokrypiui panaikinti laikui bėgant. % Ji yra proporcinga reguliuojamo signalo integralui laiko atžvilgiu. Proporcingumo % koeficientas yra $K_i$. % * Diferencialinė dalis yra skirta tam, jog atsvertų reguliuojamo signalo prognozuojamą % nuokrypį nuo tikslo reikšmės ir yra proporcinga šio nuokrypio kitimo greičiui. % Proporcingumo koeficientas yra $K_d$. %% % Šie koeficientai yra teigiami (arba neneigiami, jei galima atsisakyti vienos % iš dalių). % % Tarkime, kad įvesties signalas yra $u\left(t\right)$ - funkcija nuo laiko. % Tada išvesties signalas $v\left(t\right)$ yra apskaičiuojamas pagal formulę: % % $$v\left(t\right)=K_p \cdot u\left(t\right)+K_i \cdot \int_0^t u\left(\tau % \right)d\tau +K_d \cdot \frac{\textrm{d}}{\textrm{d}t}u\left(t\right)\ldotp$$ % % 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 % $\left\lbrack 0;T\right\rbrack \ldotp$ Parametro $T$ reikšmę galite parinkti % patys iš intervalo $T\in \left\lbrack 0;20\right\rbrack$. % % Rekomenduojamos funkcijos - racionaliosios trupmenos $u\left(t\right)=\frac{At+B}{Mt^2 % +Nt+K}$, tačiau klausytojas gali išbandyti ir kitus variantus. syms u(t) v(t) s; u(t) = t/((t^2+1)) 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]);