CUR projekt URADBEAT SPRAWOZDANIE

WOJSKOWA AKADEMIA TECHNICZNA

WYDZIAŁ MECHATRONIKI I LOTNICTWA

CYFROWE UKŁADY REGULACJI

MODEL NUMERYCZNY UKŁADU REGULACJI Z REGULATOREM DYSKRETNYM TYPU „DEADBEAT”

Prowadzący: dr inż. Marek Jaworowicz

Autorzy: Wojciech Żerek

Michał Jankowski

Anna Szymanek

Grupa: A9U1S1

  1. Sformułowanie zagadnienia

Celem pracy było opracowanie w programie Matlab modeli numerycznych układów regulacji z regulatorem dyskretnym ze skończoną odpowiedzią impulsową, tzw. „deadbeat”. W układach zastosowano regulatory kompensacyjne - struktura regulatora kompensuje całkowicie dynamikę obiektu i dzięki temu sprowadza on układ do stanu ustalonego w najkrótszym z możliwych czasie ze względu na rząd układu i wartość okresu próbkowania Tp.

Po opracowaniu modeli numerycznych należało wyznaczyć przebiegi wartości regulowanych i sygnału sterującego dla różnych okresów próbkowania Tp oraz ocenić, jak wartość okresu próbkowania Tp wpływa na wartość początkową sterowania u(0).

Zadanie zostało wykonane w następujących wariantach:

we wszystkich układach amplituda sygnału sterowania jest nieograniczona.

Parametry regulowanego obiektu:

K = 1;

T0 = 10 [s]

Transmitancja:

Go(s)=

  1. Realizacja w programie Matlab

    1. UR z obiektem inercyjnym I rzędu bez opóźnienia

      Zamodelowane zostały 2 układy regulacji dla różnych okresów próbkowania:

% Modul wprowadzania danych:

%--------------------------------------------------------------------------

% T0, K - parametry obiektu (obiekt inercyjny I rzedu)

% Tp1, Tp2 - okresy probkowania

T0 = 10;

K = 1;

Tp1 = 1;

Tp2 = 2;

% Modulobliczen dla Tp1:

%--------------------------------------------------------------------------

% Go_c - transmitancja obiektu ciaglego

% Go_d - transmitancja dyskretna obiektu (ZOH, Tp = Tp1)

Go_c = tf([K], [T0 1])

Go_d = c2d(Go_c, Tp1);

Go_d.Variable = 'z^-1'; % przeksztalcenie do funkcji opoznien

[Go_d_L, Go_d_M] = tfdata(Go_d, 'v'); % licznik i mianownik Go_d

% b1, a0, a1 - wspolczynniki transmitancji Go_d

% Gr_d - transmitancja dyskretna regulatora w funkcji opoznien

% (regulator 'deadbeat' kompensujacydynamike obiektu, Tp = Tp1)

% q0, q1, p1 - wspolczynniki transmitancji Gr_d

b1 = Go_d_L(2);

a0 = Go_d_M(1);

a1 = Go_d_M(2);

q0 = 1/b1;

q1 = a1*q0;

p1 = b1*q0;

Gr_d = filt([q0 q1], [1 -p1], Tp1);

% Got_d_op - transmitancja dyskretna ukladu otwartego w funkcji opoznien

% Gur_d_op - transmitancja dyskretna ukladu regulacji w funkcji opoznien

Got_d_op = Go_d*Gr_d;

Gur_d_op = Got_d_op/(1+Got_d_op);

% Modulobliczen Tp2 (wszystkie zmienne analogicznie):

%--------------------------------------------------------------------------

Go_c_2 = tf([K], [T0 1]);

Go_d_2 = c2d(Go_c_2, Tp2);

Go_d_2.Variable = 'z^-1';

[Go_d_L_2, Go_d_M_2] = tfdata(Go_d_2, 'v');

b1_2 = Go_d_L_2(2);

a0_2 = Go_d_M_2(1);

a1_2 = Go_d_M_2(2);

q0_2 = 1/b1_2;

q1_2 = a1_2*q0_2;

p1_2 = b1_2*q0_2;

Gr_d_2 = filt([q0_2 q1_2], [1 -p1_2], Tp2);

Got_d_op_2 = Go_d_2*Gr_d_2;

Gur_d_op_2 = Got_d_op_2/(1+Got_d_op_2);

% Modul wyznaczania przebiegow:

%--------------------------------------------------------------------------

% - wielkosci regulowanych (odpowiedz skokowa):

subplot(2,2,1);

step(Gur_d_op);

axis([0 5 0 1.25])

xlabel('Czas')

ylabel('Amplituda')

gridon

title('Odpowiedz skokowa UR dla Tp1');

subplot(2,2,3);

step(Gur_d_op_2);

axis([0 5 0 1.25])

xlabel('Czas')

ylabel('Amplituda')

gridon

title('Odpowiedz skokowa UR dla Tp2');

% - sygnalusterujacego u(0):

subplot(2,2,2);

step(Gr_d_op);

axis([0 Tp1 0 15])

xlabel('Czas')

ylabel('Amplituda')

gridon

title('Sygnalsterujacy u(0) dla Tp1');

subplot(2,2,4);

step(Gr_d_op_2);

axis([0 Tp2 0 15])

xlabel('Czas')

ylabel('Amplituda')

gridon

title('Sygnalsterujacy u(0) dla Tp2');

Wyznaczone transmitancje regulatora i UR przyjmują następujące postacie (dla Tp1 oraz Tp2):

Gr_d =

Gur_d_op =

Gr_d_2 =

Gur_d_op_2 =

Widzimy, że po uproszczeniu transmitancje ukladów regulacji przyjmują wartość z^-1, co spełnia postawione założenia dotyczące regulatora.

Otrzymano następujące przebiegi:

  1. UR z obiektem inercyjnym I rzędu z opóźnieniem

Zamodelowane zostały 2 układy regulacji dla różnych okresów próbkowania:

obydwa dla opóźnienia T = 3 [s].

W tym przypadku transmitancja obiektu ma postać:

Go(s) =

% Modul wprowadzania danych:

%--------------------------------------------------------------------------

% T0, K - parametry obiektu (obiekt inercyjny I rzedu z opoznieniem T)

% Tp1, Tp2 - okresy probkowania

% T - opoznienie [s]

T0 = 10;

K = 1;

Tp1 = 1;

Tp2 = 2;

T = 3;

% Modulobliczen dla Tp1:

%--------------------------------------------------------------------------

% Go_c - transmitancja obiektu ciaglego

% Go_d - transmitancja dyskretna obiektu (ZOH, Tp = Tp1)

Go_c = tf([K], [T0 1]);

Go_c.OutputDelay = T; % opoznienie obiektu

Go_d = c2d(Go_c, Tp1);

Go_d.Variable = 'z^-1'; % przeksztalcenie do funkcji opoznien

[Go_d_L, Go_d_M] = tfdata(Go_d, 'v'); % licznik i mianownik Go_d

% b1, a0, a1 - wspolczynniki transmitancji Go_d

% Gr_d - transmitancja dyskretna regulatora w funkcji opoznien

% (regulator 'deadbeat' kompensujacydynamike obiektu, Tp = Tp1)

% q0, q1, p1 - wspolczynniki transmitancji Gr_d

b1 = Go_d_L(2);

a0 = Go_d_M(1);

a1 = Go_d_M(2);

q0 = 1/b1;

q1 = a1*q0;

p4 = b1*q0;

Gr_d = filt([q0 q1], [1 0 0 0 -p4], Tp1);

% Got_d_op - transmitancja dyskretna ukladu otwartego w funkcji opoznien

% Gur_d_op - transmitancja dyskretna ukladu regulacji w funkcji opoznien

Got_d_op = Go_d*Gr_d;

Gur_d_op = Got_d_op/(1+Got_d_op);

% Modulobliczen Tp2:

%--------------------------------------------------------------------------

Go_c_2 = tf([K], [T0 1]);

Go_c_2.OutputDelay = T;

Go_d_2 = c2d(Go_c_2, Tp2);

Go_d_2.Variable = 'z^-1';

[Go_d_L_2, Go_d_M_2] = tfdata(Go_d_2, 'v');

b0_2 = Go_d_L_2(1);

b1_2 = Go_d_L_2(2);

a0_2 = Go_d_M_2(1);

a1_2 = Go_d_M_2(2);

q0_2 = 1/(b0_2+b1_2);

q1_2 = a1_2*q0_2;

p2_2 = b0_2*q0_2;

p3_2 = b1_2*q0_2;

Gr_d_2 = filt([q0_2 q1_2], [1 0 -p2_2 -p3_2], Tp2);

Got_d_op_2 = Go_d_2*Gr_d_2;

Gur_d_op_2 = Got_d_op_2/(1+Got_d_op_2);

% Modul wyznaczania przebiegow:

%--------------------------------------------------------------------------

% - wielkosci regulowanych (odpowiedz skokowa):

subplot(2,2,1);

step(Gur_d_op);

axis([0 10 0 1.5])

xlabel('Czas')

ylabel('Amplituda')

set(gca, 'xtick', [0,1,2,3,4,5,6,7,8,9,10]);

gridon

title('Odpowiedz skokowa UR dla Tp1');

subplot(2,2,3);

step(Gur_d_op_2);

axis([0 10 0 1.5])

xlabel('Czas')

ylabel('Amplituda')

set(gca, 'xtick', [0,1,2,3,4,5,6,7,8,9,10]);

gridon

title('Odpowiedz skokowa UR dla Tp2');

% - sygnalusterujacego u(0):

subplot(2,2,2);

step(Gr_d);

axis([0 Tp1 0 15])

xlabel('Czas')

ylabel('Amplituda')

gridon

title('Sygnalsterujacy u(0) dla Tp1');

subplot(2,2,4);

step(Gr_d_2);

axis([0 Tp2 0 15])

xlabel('Czas')

ylabel('Amplituda')

grid on

title('Sygnalsterujacy u(0) dla Tp2');

Wyznaczone transmitancje regulatora i UR przyjmują w tym przypadku następujące postacie (dla Tp1 oraz Tp2):

Gr_d =

Gur_d_op =

Gr_d_2 =

Gur_d_op_2 =

Otrzymano następujące przebiegi:

  1. Wnioski

Okres próbkowania

[s]

Amplituda sygnału sterującego u(0)
Obiekt bez opóźnienia
Tp1 = 1 10.5
Tp2 = 2 5.52

Wyszukiwarka

Podobne podstrony:
CUR projekt PID SPRAWOZDANIE
CUR projekt? SPRAWOZDANIE
Projekt cz 1 Sprawozdanie
Projekt zaliczeniowy Sprawozdan Nieznany
ProjektJaio JAO-sprawozdanie-1
Projekt kompetencyjny sprawozdanie projekt kompetencyjny
Projekt - przykład, sprawozdanie, Projekt przygotowali:
Projekt cz 2 Sprawozdanie
Projekt 1 Sortowanie Sprawozdanie
Projekt cz 2 Sprawozdanie
projekt geomorfologia, Sprawozdanie z sedym., Krystian Babula
Projekt zaliczeniowy Sprawozdanie
Projekt cz 1 Sprawozdanie
Projekt cz 1 Sprawozdanie
Projekt zaliczeniowy Sprawozdan Nieznany
PROJEKT LOTU SPRAWOZDANIE
sciąga matka, Politechnika, Sprawozdania, projekty, wyklady, Automatyka
ELEKTRA, Politechnika, Sprawozdania, projekty, wyklady, Elektrotechnika

więcej podobnych podstron