background image

Łukasz Skrodzki, gr. I6Y3S1

1/8

Warszawa, dn. 9.01.2008r.

Wojskowa Akademia Techniczna

im. Jarosława Dąbrowskiego

w Warszawie

Laboratorium przedmiotu 

'Wprowadzenie do automatyki'

zajęcia 5

Temat:”Modelowanie liniowych układów dynamicznych w środowisku 

MATLAB”

Słuchacz

Łukasz Skrodzki

grupa

I6Y3S1

rok akademicki

2007/2008

semsetr:

 

III

prowadzący

mgr inż. Małgorzata Rudnicka – Schmidt

data przeprowadzenia ćwiczenia

: 9.01.2008r. 

background image

Łukasz Skrodzki, gr. I6Y3S1

2/8

I. Treść zadania:

1. Utworzyć w środowisku MATLAB modele podstawowych członów dynamicznych o 

podanych transmitancjach Laplace’a:

- całkującego

s

k

Hc(s)

=

- inercyjnego

1

Ts

k

Hi(s)

+

=

- oscylacyjnego

1

Ts

2

s

T

k

Ho(s)

2

2

+

+

=

ξ

Wyświetlić odpowiedzi skokowe powyższych układów.

2. Wyznaczyć transmitancję szeregowego połączenia transmitancji

 Hc(s) i Hi(s). 

3. Wyznaczyć transmitancję równoległego połączenia transmitancji

 Hi(s) i Ho(s). 

4. Wyznaczyć transmitancję układu zamkniętego z rys. 5

             

                 Rys. 5

 

Wyświetlić odpowiedzi skokowe układów (z pkt 2, 3, 4).

5. Dany jest układ opisany równaniami

  - stanu:

)

u(t

(t)

x

a

(t)

x

a

(t)

x

(t)

x

(t)

x

2

1

1

0

2

2

1

+

=

=

˙

˙

 - wyjścia:

)

t

(

x

b

)

t

(

y

1

0

=

 - warunki początkowe:

0

(0)

x

0

(0)

x

2

1

=

=

    a/ zamodelować powyższy układ w środowisku MATLAB 
    b/  wyznaczyć transmitancję Laplace’a 
    c/  wyznaczyć transmitancję Laplace’a w postaci zero - biegunowej
    d/  wyznaczyć zera i bieguny układu
    e/  wyświetlić wykres odpowiedzi skokowej korzystając z funkcji step
     f/  obliczyć odpowiedź skokową  

uwaga: w tym celu należy:
- wyznaczyć transformatę sygnału wyjściowego ,
- rozłożyć ją na ułamki proste (funkcja residue),

H(s)

-

background image

Łukasz Skrodzki, gr. I6Y3S1

3/8

- utworzyć wektor czasu, np. za pomocą funkcji linspace:
      t=linspace(0,tk,lp);
      funkcja linspace generuje wektor długości lp  wartości z przedziału [0,tk]
      rozłożonych równomiernie,
- wyznaczyć odpowiedź ze wzoru:

t

p

n

t

p

2

t

p

1

n

2

1

e

r

...

e

r

e

r

)

t

(

y

+

+

+

=

     g/ narysować odpowiedź za pomocą funkcji plot
     h/ opisać osie, nanieść tytuł, nanieść siatkę

     i/ porównać wykresy z punktów e i g

II. Rozwiązanie:

AD 1.

k = 2.500

T = 0.100

ksi = 0.200

a)Transmitancja:

s

k

Hc(s)

=

Odpowiedź skokowa:

b)Transmitancja: 

1

Ts

k

Hi(s)

+

=

Odpowiedź skokowa:

background image

Łukasz Skrodzki, gr. I6Y3S1

4/8

c) Transmitancja: 

1

Ts

2

s

T

k

Ho(s)

2

2

+

+

=

ξ

background image

Łukasz Skrodzki, gr. I6Y3S1

5/8

Ad 2:

Transmitancja: H

HcHi

s=

k

2

Ts

2

s

Odpowiedź skokowa:

Ad 3:

Transmitancja:  H

HiHo

=

T

2

s

2

2 TsTs2

T

3

s

3

T

2

s

2

2 1Ts 2 11

Odpowiedź skokowa:

background image

Łukasz Skrodzki, gr. I6Y3S1

6/8

Ad 4:

k = 8,

kk = 5,

T1 = 0.3

T2 = 0.15,

Ti = 0.052

Transmitancja:

 s=

k

k

T

i

s1

s

4

T

1

T

2

T

i

s

3

T

1

T

2

T

1

T

i

T

2

T

i



s

2

T

i

T

1

−

s k T

i

k

k

k

Odpowiedź skokowa:

Ad 5:

b0 = 250.000

a0 = 100.000,

a1 = 4.000,

a2 = 1.000

Opis w postaci wektorowo-macierzowej:

A=

{

0

1

a

0

a

1

}

B=

{

0
1

}

C=

{

b

0

0

}

D={0}

Transmitancja Laplace'a: =

b

0

s

2

4sa

0

Transmitancja w postaci zero-biegunowejH

zp

=

b

0

s

2

4sa

0

background image

Łukasz Skrodzki, gr. I6Y3S1

7/8

Układ nie ma zer, natomiast  bieguny układu to: p=

{

2.00009.7980i

2.0000−9.7980i

}

Wykres odpowiedzi skokowej układu:

Aby wyznaczyć odpowiedź skokową posłużyłem się następującą sekwencją komend:

>>[l m] = tfdata(H, 'v'); 

%pobranie licznika i mianownika transmitancji w postaci wektorów

>>[r, p, k] = residue(l, m); 

%rozkład na ułamki proste

>>t = linspace(0,5,100); 

%utworzenie 100 elementowego wektora czasu z przedziału

 

<0;5>

>>for i=1:100

%pętla licząca y(t) według podanego

>>y(i)= r(1)*exp(p(1)*t(i))+r(2)*exp(p(2)*t(i));

%wcześniej wzoru

>>end
>>plot(t, y)

%narysowanie wykresu odpowiedzi

W wyniku wykonania powyższego fragmentu kodu uzyskałem następujący wykres:

background image

Łukasz Skrodzki, gr. I6Y3S1

8/8

Wykresy obu odpowiedzi są takie same.