background image

 

WYDZIAŁ TRANSPORTU PW                                        Zakład Sterowania Ruchem 

LABORATORIUM   PODSTAW  AUTOMATYKI III 

 Rok akad. 

2009/2010

  Data wykonania ćwiczenia 

2010r.  Uzyskane 

punkty 

za:

 

Specjalizacja 

Imiona  i  Nazwiska  studentów 

przygotowanie 

i realizację  

zaliczenie 

poprawę 

zaliczenia 

. . . . . . . . . .  

1. 

 

 

 

Zespół 

2. 

 

 

 

 

3. 

 

 

 

 

4. 

 

 

 

 

5. 

 

 

 

 

Ćwiczenie  nr  1 

Temat ćwiczenia: Badanie obiektów dynamicznych z zastosowaniem programu 

MATLAB 

 

Wprowadzenie 

 
Dany jest schemat obwodu elektrycznego wzbudzenia przekaźnika o indukcyjności L i oporze 

czynnym RP (rysunek 1). W szereg z przekaźnikiem dołączony jest kondensator o pojemności C. 
Przewody  łączące  tak  powstały  dwójnik  ze  źródłem  zasilania  mają  opór  R

d

.  Zakładamy,  że 

indukcyjność  cewki  i  rdzenia  pozostaje  stała  w  czasie  (normalnie  ulega  zmianie  po  rozpoczęciu 
ruchu kotwicy). 

L

R

d

R

L

i

1

(t)

C

u(t)

i(t)

i

2

(t)

 

Rysunek 1. Obwód przekaźnika. 

 

Korzystając  z  równań  różniczkowych opisujących poszczególne elementy obwodu, oraz praw 

Ohm'a i Kirchoff'a, ułożyć można równanie różniczkowe zwyczajne drugiego rzędu (1) opisujące 
zadany dwójnik i stanowiące podstawę do dalszych rozważań. 

 

 

 

 

LC

R

t

u

t

i

LC

R

R

R

dt

t

di

C

R

L

R

dt

t

i

d

d

d

d

L

d

L



1

2

2

 

(1) 

Przyjmując  za  sygnał  wejściowy  napięcie  u(t)  przyłożone  do  wyprowadzeń  dwójnika,  a  za 

sygnał  wyjściowy  prąd  płynący  przez  cewkę,  uzyskujemy  liniowy  układ  dynamiczny  o  jednym 
wejściu u(t) i jednym wyjściu i(t). Traktując obie strony równania (1) odwrotnym przekształceniem 
Laplace'a,  oraz  przyjmując  zerowe  warunki  początkowe  (kondensator  w  chwili  t  =  0

+

  jest 

rozładowany  i w żadnej  z  gałęzi  nie  płynie  prąd)  uzyskujemy  równanie  transformat  (2) 
rozpatrywanego układu. 

background image

 

 

 

 

 

LC

R

s

u

s

i

LC

R

R

R

s

si

C

R

L

R

s

i

s

d

d

d

L

d

L



1

2

 

(2) 

Odpowiednie podzielenie stronami równania (2) sprowadza je do postaci (3) będącej zarazem

 

transmitancją operatorową układu. 

 

 

 





LC

R

R

R

s

C

R

L

R

s

LC

R

s

u

s

i

s

G

d

d

L

d

L

d

1

1

2

 

 

 

d

L

d

L

d

R

R

s

L

C

R

R

LCs

R

s

G

2

1

 

(3) 

W zależności od wartości współczynników wielomianu mianownika wyrażenia (3), układ można 

utożsamiać  z  członem  inercyjnym  drugiego  rzędu,  bądź  ze  stabilnym  członem  oscylacyjnym 
(człon  niestabilny  posiada  dwa  ostatnie  współczynniki  o  wartości  ujemnej,  co  w  rozpatrywanym 
obwodzie  nie  zachodzi  –  wartości  rezystancji,  pojemności  i  indukcyjności  są  rzeczywistymi 
liczbami dodatnimi). 
W przypadku rzeczywistych pierwiastków równania charakterystycznego (4) 

0

2

d

L

d

L

d

R

R

s

L

C

R

R

LCs

R

 

(4) 

układ  jest  członem  inercyjnym  drugiego  rzędu,  w  przypadku  zespolonych  bądź  urojonych  – 
stabilnym członem oscylacyjnym. 
Wykonanie  ćwiczenia  polega  na  wyznaczeniu  określonych  charakterystyk  opisywanego  układu 
dla  zadanych  przez  prowadzącego  parametrów  za  pomocą  narzędzi  zaimplementowanych 
w środowisku MATLAB. 
 

Zasady współpracy z programem MATLAB (niezbędne do wykonania ćwiczenia) 

 

Wykonanie  ćwiczenia  polega  na uruchomieniu programu MATLAB (wersja 5.3., dydaktyczna) 

przez  kliknięcie  na  ikonę  tego  programu  na  pulpicie  WINDOWS.  Po  zgłoszeniu  się  programu 
następuje  otwarcie  okna  poleceń  MATLAB  Command  Window  (gotowość  sygnalizowana 
kursorem:    >>    ).  Należy  wpisać  następnie  polecenie 

clear;clc 

i  zatwierdzić  je  naciskając 

klawisz Enter. Spowoduje to wyczyszczenie pola poleceń, zapamiętanych zmiennych i ustawienie 
kursora w lewym górnym rogu pola. Z menu File wybiera się polecenie Open a następnie należy 
wybrać katalog MATLABzad w którym wskazuje się na określony plik tekstowy typu skryptowego 
(tzn.  z rozszerzeniem  *.m,  znamiennym  dla  MATLAB’a).  Zbiór  tych  plików  umieszczonych 
w katalogu MATLABzad zawiera następujące pliki typu skryptowego: 

 

Każdy  z  tych  plików  zawiera  ciągi  poleceń  wykonujących  algorytm  obliczeń  i  ew.  kreślenia 

charakterystyk  lub  funkcji  napisanych  w  języku  programowania  wysokiego  poziomu 
akceptowanym  przez  środowisko  MATLAB’a.  Kliknięcie  na  określony  plik  i  akceptacja  otwarcia 
tego  pliku  spowodują,  że  automatycznie  zgłosi  się  program  MATLAB  Editor/Debugger,  który 

background image

 

otworzy  swoje  własne  okno  i  wyświetli  zawartość  wskazanego  pliku.  W  trybie  MATLAB 
Editor/Debugger dokonuje się edycji, poprawek i modyfikacji programów standardu MATLAB. 

Aby wykonać program zapisany w wybranym pliku należy (jeden z wielu sposobów): 

1.  Z menu wybrać opcje Edit a następnie  Select all i skopiować do pamięci poleceniem Copy 

(lub klikając w pasku poleceń na ikonę kopiowania), 

2.  Otworzyć  okno  MATLAB  Command  Window  i  poleceniem  Paste  z  menu  Edit  wprowadzić 

ciąg  poleceń  z  wybranego  pliku  tekstowego  do  obszaru  poleceń  MATLAB  Command 
Window, 

3.  Uruchomić wpisany w obszar poleceń program - przez akceptację przycisku Enter , 
4.  Jeśli wynikiem programu jest wykreślenie funkcji lub charakterystyk, następuje otwarcie okna 

graficznego Figure No. 1 z wykreślonymi charakterystykami lub funkcjami, jeśli na tle rysunku 
pojawią się dwie prostopadłe osie, oznacza to, że przeciągając mysz do wybranego miejsca 
na rysunku (charakterystyce), należy kliknąć w tym miejscu aby wstawić opis odnoszący się 
do rysunku (charakterystyki), 

5.  Jeśli  wynikiem  są  obliczenia,  następuje  wyświetlenie  wyników  w  formacie  zadanym  przez 

program  z  pliku  skryptowego  na  ekranie  monitora  bezpośrednio  po  sekwencji  poleceń 
odnoszących się do tego programu, 

6.  Po  uzyskaniu  wyników  wybranego  programu  można  uruchomić  program  następnego  pliku 

skryptowego otwierając (powrót do okna) okno MATLAB Editor/Debugger i zamykając otwarty 
uprzednio  w  tym  oknie  plik  poleceniem  File/Close  oraz  okno  rysunku  Figure  No  1,  po 
zamknięciu  okna  rysunku  i  zamknięciu  pliku  otworzyć  żądany  plik  poleceniem  File/Open 
i powtórzyć czynności od p.1., 

7.  Wyniki a w tym i rysunki należy wyprowadzić na drukarkę, wydruki opisać, 
8.  Aby zakończyć działanie MATLAB’a zamyka się kolejno okna Figure No. 1 (jeśli było otwarte), 

MATLAB Editor/Debugger i na końcu MATLAB Command Window w wyniku czego następuje 
powrót do systemu operacyjnego Windows. 

 

Wykonanie ćwiczenia  

 
Realizacja  ćwiczenia  wymaga  kolejnego  wykonania  wszystkich  programów  zapisanych 

w plikach  od  P3_1_char_skokowe.m  do  P3_6_wsp_wielom_char.m.  Poniżej  zamieszczono  opis 
realizowanych  funkcji,  poparty  przykładami  m-plików  zrealizowanymi  dla  wybranych  parametrów 
elektrycznych  obwodu.  Zamieszczone  wyniki  powinny  zostać  wykorzystane  podczas odpowiedzi 
na postawione pytania. 
 
3.1  Wyznaczenie charakterystyk skokowych. 

 
Jedną z podstawowych charakterystyk opisujących układ dynamiczny jest jego odpowiedź na 

skok jednostkowy 1(t) zadany na wejście u(t). 

Skoro  u(t)  =  U·1(t),  toteż  transformatą  tego  sygnału  będzie  wymuszenie  u(s)  =  U·s

-1

Współczynnik  U  będzie  wartością  napięcia,  jaką  podano na dwójnik. Korzystając z transmitancji 
operatorowej  (3)  wyznaczamy  odpowiedź  układu  w  dziedzinie  zmiennej  zespolonej  s  ze  wzoru 
(4). 

 

   

s

R

R

s

L

C

R

R

LCs

R

U

s

u

s

G

s

i

d

L

d

L

d

2

3

 

(4) 

Przekształcenie  operatorowe  Laplace’a  powyższego  wyrażenia  stanowi  wartość  natężenia 

prądu w funkcji czasu od chwili podania napięcia na zaciski wejściowe.  

Do  wyznaczenia  charakterystyki  skokowej  wykorzystamy  gotową  funkcję  step  znajdującą  się 

w dodatkowym pakiecie control narzędzi programu MATLAB. Postać funkcji jest następująca: 
[y, x, t]= step(L, M) 
gdzie: 
t – wektor kolejnych chwil czasu dla których obliczane są macierze wartości wektorów x i y, 

background image

 

y – macierz wartości sygnału wyjściowego w kolejnych chwilach symulacji, 
x – macierz wartości wektora stanu dla kolejnych chwil czasu, 
L – wektor współczynników wielomianu licznika transmitancji G(s), 
M - wektor współczynników wielomianu mianownika transmitancji G(s). 
 
Przykładowy  m.plik  powodujący  wykreślenie  charakterystyki  skokowej  przyjmie  zatem  postać 
(przyjęto U

1

 = L

1

 = C

1

 = R

d1

 = 1, R

L1 

= 4, U

2

 = L

2

 = 1, C

2

 = 0.2, R

d2

 = 5, R

L2 

= 1): 

 

%Przykład m-pliku; 
%JCK; 
%Charakterystyka skokowa obiektu o transmitancji; 
%           1; 
%G(s)=--------------; 
%      T2s^2+T1s+T0; 
%=================================================; 
U1=1; 
L1=1; 
C1=1; 
Rd1=1; 
Rl1=4; 
T21=Rd1*L1*C1; 
T11=Rl1*Rd1*C1+L1; 
T01=Rl1+Rd1; 
%wyznaczenie współczynników licznika transmitancji; 
l1=[0,0,U1]; 
%wyznaczenie współczynników mianownika transmitancji; 
m1=[T21,T11,T01]; 
% wyznaczenie wektora odpowiedzi; 
[y1,x1,t1]=step(l1,m1); 
%=================================================; 
U2=1; 
L2=1; 
C2=0.2; 
Rd2=5; 
Rl2=1; 
T22=Rd2*L2*C2; 
T12=Rl2*Rd2*C2+L2; 
T02=Rl2+Rd2; 
%wyznaczenie współczynników licznika transmitancji; 
l2=[0,0,U2]; 
%wyznaczenie współczynników mianownika transmitancji; 
m2=[T22,T12,T02]; 
% wyznaczenie wektora odpowiedzi; 
[y2,x2,t2]=step(l2,m2); 
%=================================================; 
% wykres obu odpowiedzi skokowych odpowiednio na jednym rysunku; 
plot(t1,y1,'g',t2,y2,'m') 
title('Charakterystyki czasowe (skokowe) obiektu'); 
ylabel('Amplituda odpowiedzi na wymuszenie jednostkowe 1(t)'); 
xlabel('czas [s]'); 
gtext('U1=1;L1=1;C1=1;Rd1=1;Rl1=4'); 
gtext('U2=1;L2=1;C2=0.2;Rd2=5;Rl2=1'); 
grid;pause;close;clear;clc; 

 
Uruchomienie powyższego m-pliku pozwala uzyskać następującą charakterystykę 

background image

 

 

 
3.2  Wyznaczenie charakterystyk amplitudowo-fazowych. 

 
Do  wykreślenia  charakterystyk  częstotliwościowych  układu  konieczna  jest  znajomość 

transmitancji  G(s)  liniowego  układu  ciągłego.  Na  podstawie  transmitancji  widmowej  G(jω) 
wyznacza  się  odpowiednio  wartości  (w  postaci  wektorów) części rzeczywistych P(ω) i urojonych 
Q(ω). Podstawmy do wzoru (3) s = jω. W efekcie otrzymamy 

 

 

d

L

d

L

d

R

R

j

L

C

R

R

j

LC

R

j

G

2

1

 

 

L

C

R

R

j

LC

R

R

R

j

G

d

L

d

d

L

2

1

 

(5a) 

 

2

2

2

2

2

1

1

L

C

R

R

LC

R

R

L

C

R

R

j

LC

R

R

R

j

G

d

L

d

L

d

L

d

d

L

 

(5) 

Stąd część rzeczywista P(ω) i urojona Q(ω) przyjmują następujące postaci 

 

2

2

2

2

2

1

1

L

C

R

R

LC

R

R

LC

R

R

R

j

P

d

L

d

L

d

d

L

 

(6) 

 

2

2

2

2

1

L

C

R

R

LC

R

R

L

C

R

R

j

Q

d

L

d

L

d

L

 

(7) 

Dla wartości pulsacji ω (w poniższym programie zmienna oznaczająca pulsację występuje jako 

zmienna  w)  zmieniającej  się  od  0  do  100  rd/s  co  0,01.  Do  wykreślenia  charakterystyk 
amplitudowo-fazowych  zastosowano  standardową  funkcję  plot.  Funkcja  ta  ma  następującą 
postać:  

background image

 

plot(x, y, ‘typ linii’) 
gdzie: 
x – zbiór wartości na osi X (wartości zmiennej niezależnej) , 
y – zbiór wartości na osi Y (wartości funkcji), 
typ linii – znaki oznaczające kolor i rodzaj linii. 

 
%Przykład m-pliku; 
%JCK; 
%Charakterystyki częstotliwościowe - charakterystyki; 
%amplitudowo-fazowe obwodu przekaźnika; 
%           1; 
%G(s)=--------------; 
%      T2s^2+T1s+T0; 
%Wykreślenie ch-k polega na obliczeniu części wspólnej ws; 
%a następnie części rzeczywistej P i urojonej Q odpowiednio dla; 
%zadanych wartości parametrów elektrycznych obwodu a następnie; 
%dokonaniu wykreślenia przy pomocy funkcji plot; 
w=0:0.01:100; 
roz=size(w); 
%======================================================; 
L1=1; 
C1=1; 
Rd1=1; 
Rl1=4; 
ws1=1./(((ones(roz)-
(w.^2)*L1*C1)*Rd1+Rl1).^2+((Rl1*Rd1*C1+L1)^2).*(w.^2)); 
P1=((ones(roz)-(w.^2)*L1*C1)*Rd1+Rl1).*ws1; 
Q1=-((Rl1*Rd1*C1+L1)^2).*(w.^2).*ws1; 
%======================================================; 
L2=1; 
C2=0.2; 
Rd2=5; 
Rl2=1; 
ws2=1./(((ones(roz)-
(w.^2)*L2*C2)*Rd2+Rl2).^2+((Rl2*Rd2*C2+L2)^2).*(w.^2)); 
P2=((ones(roz)-(w.^2)*L2*C2)*Rd2+Rl2).*ws2; 
Q2=-((Rl2*Rd2*C2+L2)^2).*(w.^2).*ws2; 
%======================================================; 
%wykreślenie ch-k amplitudowo-fazowych 
plot(P1,Q1,'r',P2,Q2,'g'); 
 

%comet(P1,Q1,0.05);pause; 

 

%comet(P2,Q2,0.05);pause; 

title('Charakterystyki amplitudowo-fazowe obiektu dynamicznego'); 
xlabel('oś wartości rzeczywistych P1, P2'); 
ylabel('oś wartości urojonych Q1, Q2'); 
gtext('L1=1;C1=1;Rd1=1;Rl1=4'); 
gtext('L2=1;C2=0.2;Rd2=5;Rl2=1');grid;pause; 
%wyznaczenie współczynników licznika transmitancji; 
l1=[0,0,1]; 
l2=[0,0,1]; 
%wyznaczenie współczynników mianownika transmitancji; 
T21=Rd1*L1*C1; 
T11=Rl1*Rd1*C1+L1; 
T01=Rl1+Rd1; 
T22=Rd2*L2*C2; 
T12=Rl2*Rd2*C2+L2; 
T02=Rl2+Rd2; 

background image

 

m1=[T21,T11,T01]; 
m2=[T22,T12,T02]; 
nyquist(l1,m1,w);gtext('L1=1;C1=1;Rd1=1;Rl1=4');grid;hold on; 
nyquist(l2,m2,w);gtext('L2=1;C2=0.2;Rd2=5;Rl2=1');grid;pause; 
close;clear;clc; 

 
Alternatywną metodą do zastosowania funkcji plot jest zastosowanie funkcji comet. Funkcja ta 

pozwala  zaobserwować  animację  rysowania  wykresu  charakterystyki  amplitudowo-fazowej 
w miarę wzrostu pulsacji, i ma następującą postać: 
comet(x,y,dł) 
gdzie: 
x – odcięta trajektorii komety ruchomego wykresu imitującego jej lot, 
y – rzędna trajektorii komety ruchomego wykresu imitującego jej lot, 
dł – długość „ogona” komety w przedziale (0,1). 

Aby  uruchomić  tę  funkcję  w  m-pliku  należy  po  wklejeniu  usunąć  znaczki 

%

  sprzed  instrukcji 

comet, a umieścić jeden przed instrukcją plot

Wyznaczenie charakterystyk amplitudowo-fazowych (Nyquista) w zakresie pulsacji ω od 0 do 

+∞ i od -∞ do 0 odbywa się za pomocą standardowej funkcji nyquist o postaci: 
nyquist(L, M, w) 
gdzie: 
L  i  M  to  wektory  współczynników  wielomianów  licznika  –  L  i mianownika  –  M  transmitancji  G(s) 
o postaci 

G s

L

M

( ) 

 

(8) 

w - zakres pulsacji dla którego będzie kreślona charakterystyka. 
 
W wyniku uruchomienia opisywanego m-pliku uzyskuje się następujące charakterystyki 
 

 

background image

 

 

 

3.3  Charakterystyka amplitudowa i charakterystyka fazowa 

 
Amplitudą A(ω) nazywamy moduł transmitancji widmowej (5) o następującej postaci 

 

2

2

2

2

1

1

L

C

R

R

LC

R

R

R

A

d

L

d

d

L

 

(9) 

Faza  transmitancji  widmowej  stanowi  argument  tej  funkcji.  Wyliczamy  ją  na  podstawie  prostej 
zależności (10). 

 

 

 

 

2

1

arg

LC

R

R

R

L

C

R

R

arctg

P

Q

arctg

G

d

d

L

d

L

 

(10) 

Do wykreślenia charakterystyk amplitudowo-fazowych w funkcji pulsacji zastosujemy poznaną 

już funkcję plot.  

Do  wykreślenia  charakterystyk  logarytmicznych  modułu  i  fazy  zostanie  zastosowana 

standardowa funkcja bode o postaci: 
[moduł,faza,pulsacja]=bode(L, M) 
gdzie: 
L  i  M  to  wektory  współczynników  wielomianów  licznika  –  L  i  mianownika  –  M  transmitancji  G(s) 
o postaci (8). 

Pulsacja  ω  (w  poniższym  programie  zmienna  oznaczająca  pulsację  występuje  także  jako 

zmienna w) i zmienia się od 0 do 100 [rd/s], co 0,01 [rd/s]. 
 

%Przykład m-pliku; 
%JCK; 
% Charakterystyki częstotliwościowe - amplitudowe i fazowe; 
%           1; 
%G(s)=--------------; 
%      T2s^2+T1s+T0; 

background image

 

%Wykreślenie ch-k polega na obliczeniu części wspólnej ws; 
%a następnie części rzeczywistej P i urojonej Q odpowiednio; 
%dla zadanych wartości parametrów elektrycznych obwodu; 
%a następnie dokonaniu wykreślenia przy pomocy funkcji plot; 
w=0:0.01:100; 
roz=size(w); 
%======================================================; 
L1=1; 
C1=1; 
Rd1=1; 
Rl1=4; 
ws1=1./(((ones(roz)-
(w.^2)*L1*C1)*Rd1+Rl1).^2+((Rl1*Rd1*C1+L1)^2).*(w.^2)); 
P1=((ones(roz)-(w.^2)*L1*C1)*Rd1+Rl1).*ws1; 
Q1=-((Rl1*Rd1*C1+L1)^2).*(w.^2).*ws1; 
%======================================================; 
L2=1; 
C2=0.2; 
Rd2=5; 
Rl2=1; 
ws2=1./(((ones(roz)-
(w.^2)*L2*C2)*Rd2+Rl2).^2+((Rl2*Rd2*C2+L2)^2).*(w.^2)); 
P2=((ones(roz)-(w.^2)*L2*C2)*Rd2+Rl2).*ws2; 
Q2=-((Rl2*Rd2*C2+L2)^2).*(w.^2).*ws2; 
%======================================================; 
%wykreślenie ch-k amplitudowych i fazowych; 
plot(w,P1,'r',w,Q1,'r',w,P2,'g',w,Q2,'g'); 
ylabel('Q1, Q2, P1, P2'); 
xlabel('pulsacja'); 
title('Charakterystyki amplitudowe - części Re i Im w funkcji 
pulsacji'); 
gtext('U1=1;L1=1;C1=1;Rd1=1;Rl1=4'); 
gtext('U2=1;L2=1;C2=0.2;Rd2=5;Rl2=1'); 
grid;pause; 
%======================================================; 
T21=Rd1*L1*C1; 
T11=Rl1*Rd1*C1+L1; 
T01=Rl1+Rd1; 
%wyznaczenie współczynników licznika transmitancji; 
l1=[0,0,1]; 
%wyznaczenie współczynników mianownika transmitancji; 
m1=[T21,T11,T01]; 
T22=Rd2*L2*C2; 
T12=Rl2*Rd2*C2+L2; 
T02=Rl2+Rd2; 
%wyznaczenie współczynników licznika transmitancji; 
l2=[0,0,1]; 
%wyznaczenie współczynników mianownika transmitancji; 
m2=[T22,T12,T02]; 
bode(l1,m1);grid;hold on; 
bode(l2,m2);grid;hold on; 
title('Charakterystyki: amplitudowa (logarytmiczna) i fazowa w 
funkcji częstotliwości'); 
gtext('U1=1;L1=1;C1=1;Rd1=1;Rl1=4');grid; 
gtext('U2=1;L2=1;C2=0.2;Rd2=5;Rl2=1'); 
grid;pause; 
close;clear;clc; 

background image

 

10 

 

W wyniku uruchomienia opisywanego m-pliku uzyskuje się następujące charakterystyki 

 

 

 

 

 

3.4  Graficzne  kryterium  stabilności  Michajłowa  na  podstawie  hodografu  oraz  przy  użyciu 

charakterystyk częstotliwościowych 

 

background image

 

11 

Zgodnie z kryterium Michajłowa układ n-tego rzędu, określony równaniem charakterystycznym, 

będącym mianownikiem M(s) transmitancji operatorowej G(s) jest stabilny wtedy i tylko wtedy, gdy 
zmiana  argumentu  wektora  M(jω)  przy  zmianie  parametru  ω  od  0  do  +∞  wyniesie  n(/2),  czyli 
wykres  (hodograf)  M(jω)  przejdzie  przez  n  kwadrantów  (ćwiartek  układu  współrzędnych).  Do 
wykreślenia hodografu zastosujemy funkcję plot i obliczywszy wcześniej część rzeczywistą P(ω) 
i urojoną Q(ω) wektora M(jω). 

Poszukiwany wektor M(jω) jest odwrotnością wyrażenia (5a). 
Uruchomienie poniższego m-pliku pozwala uzyskać następującą charakterystykę 
 

 

 

%Przykład m-pliku; 
%JCK; 
%Wyznaczenie  stabilności  układu  dynamicznego  za pomoca graficznego 
kryterium Michajlowa; 
%           1; 
%G(s)=--------------; 
%      T2s^2+T1s+T0; 
w=0:0.01:10; 
roz=size(w); 
%======================================================; 
L1=1; 
C1=1; 
Rd1=1; 
Rl1=4; 
P1=Rl1+Rd1-(w.^2)*L1*C1*Rd1; 
Q1=(Rl1*Rd1*C1+L1).*w; 
L2=1; 
C2=0.2; 
Rd2=5; 
Rl2=1; 
P2=Rl2+Rd2-(w.^2)*L2*C2*Rd2; 

background image

 

12 

Q2=(Rl2*Rd2*C2+L2).*w; 
plot(P1,Q1,'r',P2,Q2,'g'); 
xlabel('oś wartości rzeczywistych P1, P2'); 
ylabel('oś wartości urojonych Q1, Q2'); 
gtext('L1=1;C1=1;Rd1=1;Rl1=4'); 
gtext('L2=1;C2=0.2;Rd2=5;Rl2=1');grid;pause; 
close;clear;clc; 
 

3.5  Określenie sterowalności i obserwowalności układu 
 

Korzystając  z  równania  różniczkowego  (1)  będącego  podstawą  obliczeń  oraz  dwie  zmienne 

stanu x

1

(t) i x

2

(t) = x

1

’(t) można ułożyć następujący układ równań obiektu dynamicznego (11). 

 

 

 

 

 

 

 

 





t

x

t

y

t

u

LC

R

t

x

C

R

L

R

t

x

LC

R

R

R

t

x

t

x

t

x

d

d

L

d

L

d

1

2

1

2

2

1

1

1

'

 

(11) 

Wielowymiarowy  liniowy  układ  dynamiczny  można  opisać  równaniami  stanu  x’(t)  =  Ax(t)  + 

Bu(t) i równaniem wyjścia y(t) = Cx(t) + Du(t). W rozpatrywanym przykładzie mamy do czynienia 
z układem o jednym sygnale wejściowym u(t) i jednym wyjściowym i(t), zatem wektory u(t) = [u(t)] 
y(t) = [y(t)]. Wektor zmiennych stanu przyjmuje postać 

 

 

t

x

t

x

t

x

2

1

)

(

 

a macierze stanu A, wejścia B, wyjścia C i transmisyjna D postaci 



C

R

L

R

LC

R

R

R

A

d

L

d

L

d

1

1

0

 

LC

R

B

d

1

0

 

0

1

C

 

 

0

D

 

Układ jest całkowicie sterowalny, gdy macierz S 

S

b  Ab  A B .

2

..  = n

 

czyli jest rzędu n lub gdy wyznacznik macierzy S 

det

det

S

b  .

 b  Ab  A

..  

 0

2

Układ jest całkowicie obserwowalny, gdy rząd macierzy O 

O

c

 

  c    A c     A

  ...  

2

 

jest równy n. n jest liczbą kolumn macierzy S i O. W rozpatrywanym przykładzie n = 2. 

Do  wyznaczenia  sterowalności  w  MATLAB,  stosuje  się  funkcję  rank(macierz),  która  oblicza 

rząd  macierzy,  w  naszym  przypadku:  S  lub  O.  Parametry  funkcji  rank  określa  się  na  podstawie 
macierzy typu AB lub C

 
%Przykład m-pliku; 
%JCK; 
disp('Sprawdzenie sterowalności i obserwowalności'); 
disp('============================================================
======') 

background image

 

13 

disp('Sprawdzenie  sterowalności  i  obserwowalności  dla  L1=1;  C1=1; 
Rd1=1; Rl1=4'); 
L1=1; 
C1=1; 
Rd1=1; 
Rl1=4; 
A1=[0 1;(-(Rd1+Rl1)/Rd1/L1/C1) (-Rl1/L1-1/Rd1/C1)]; 
B1=[0; (-1/Rd1/L1/C1)]; 
C1=[1 0]; 
disp('obliczenie rzędu macierzy S1 i wyznacznika S1'); 
disp('macierz stanu A1');disp(A1); 
disp('macierz wejścia B1');disp(B1); 
rzd=rank([B1 A1*B1]); 
disp('rząd macierzy S1'); disp(rzd); 
wyz=det([B1 A1*B1]); 
disp('wyznacznik macierzy S1'); disp(wyz); 
disp('obliczenie rzędu macierzy O1 i wyznacznika O1'); 
disp('macierz stanu A1');disp(A1); 
disp('macierz wyjścia C1');disp(C1); 
rzd=rank([C1' A1'*C1']); 
wyz=det([C1' A1'*C1']); 
disp('rząd macierzy O1'); disp (rzd); 
disp('wyznacznik macierzy O1'); disp(wyz); 
disp('============================================================
======') 
disp('Sprawdzenie 

sterowalnosci 

obserwowalnosci 

dla 

L2=1; 

C2=0.2; Rd2=5; Rl2=1'); 
L2=1; 
C2=0.2; 
Rd2=5; 
Rl2=1; 
A2=[0 1;(-(Rd2+Rl2)/Rd2/L2/C2) (-Rl2/L2-1/Rd2/C2)]; 
B2=[0; (-1/Rd2/L2/C2)]; 
C2=[1 0]; 
disp('obliczenie rzędu macierzy S1 i wyznacznika S1'); 
disp('macierz stanu A2');disp(A2); 
disp('macierz wejścia B2');disp(B2); 
rzd=rank([B2 A2*B2]); 
disp('rząd macierzy S2'); disp(rzd); 
wyz=det([B2 A2*B2]); 
disp('wyznacznik macierzy S2'); disp(wyz); 
disp('obliczenie rzędu macierzy O2 i wyznacznika O2'); 
disp('macierz stanu A2');disp(A2); 
disp('macierz wyjścia C2');disp(C2); 
rzd=rank([C2' A2'*C2']); 
wyz=det([C2' A2'*C2']); 
disp('rząd macierzy O2'); disp (rzd); 
disp('wyznacznik macierzy O2'); disp(wyz); 
disp('Nacisnij dowolny klawisz by zakonczyc.'); 
pause;clear;clc;

 

 

Po uruchomieniu powyższego m-pliku uzyskujemy następujące wyniki:

 

 
Sprawdzenie sterowalności i obserwowalności 
================================================================== 
Sprawdzenie sterowalności i obserwowalności dla L1=1; C1=1; Rd1=1; 
Rl1=4 

background image

 

14 

obliczenie rzędu macierzy S1 i wyznacznika S1 
macierz stanu A1 
     0     1 
    -5    -5 
 
macierz wejścia B1 
     0 
    -1 
 
rząd macierzy S1 
     2 
 
wyznacznik macierzy S1 
    -1 
 
obliczenie rzędu macierzy O1 i wyznacznika O1 
macierz stanu A1 
     0     1 
    -5    -5 
 
macierz wyjścia C1 
     1     0 
 
rząd macierzy O1 
     2 
 
wyznacznik macierzy O1 
     1 
 
================================================================== 
Sprawdzenie  sterowalnosci  i  obserwowalnosci  dla  L2=1;  C2=0.2; 
Rd2=5; Rl2=1 
obliczenie rzędu macierzy S1 i wyznacznika S1 
macierz stanu A2 
         0    1.0000 
   -6.0000   -2.0000 
 
macierz wejścia B2 
     0 
    -1 
 
rząd macierzy S2 
     2 
 
wyznacznik macierzy S2 
    -1 
 
obliczenie rzędu macierzy O2 i wyznacznika O2 
macierz stanu A2 
         0    1.0000 
   -6.0000   -2.0000 
 
macierz wyjścia C2 
     1     0 
 
rząd macierzy O2 
     2 

background image

 

15 

 
wyznacznik macierzy O2 
     1 
 
Nacisnij dowolny klawisz by zakonczyc. 
 

3.6  Wyznaczenie współczynników i pierwiastków wielomianu charakterystycznego układu.  

 
Współczynniki  i  pierwiastki  wielomianu  charakterystycznego  wyznacza  się  na  podstawie 

macierzy stanu A za pomocą standardowej funkcji poly
poly(A) – dla macierzy kwadratowej A stopnia n tworzy n+1 elementowy wektor współczynników 
wielomianu  charakterystycznego  det(sI-A).  Współczynniki  uporządkowane  są  w  kierunku 
malejących potęg. 
Pierwiastki wielomianu charakterystycznego zostają wyznaczone przy pomocy funkcji roots (W). 
 

%Przykład m-pliku; 
%JCK; 
%Wyznaczenie 

współczynników 

pierwiastków 

wielomianu 

%charakterystycznego; 
disp('Wyznaczenie 

współczynników 

pierwiastków 

wielomianu 

charakterystycznego'); 
disp('************************************************************
************'); 
disp('dla A1[0 1;(-(Rd1+Rl1)/Rd1/L1/C1) (–Rl1/L-1/Rd1/C1)]'); 
L1=1; 
C1=1; 
Rd1=1; 
Rl1=4; 
L2=1; 
C2=0.2; 
Rd2=5; 
Rl2=1; 
a1=-(Rd1+Rl1)/(Rd1*L1*C1); 
b1=-(Rl1/L1)-1/(Rd1*C1); 
A1=[0 1;a1 b1]; 
disp('wspolczynniki=');disp(poly(A1)); 
W1=poly(A1) 
disp('pierwiastki=');disp(roots(W1)); 
disp('dla A2[0 1;(-(Rd2+Rl2)/Rd2/L2/C2) (–Rl2/L2-1/Rd2/C2)]'); 
a2=-(Rd2+Rl2)/(Rd2*L2*C2); 
b2=-(Rl2/L2)-1/(Rd2*C2); 
A2=[0 1;a2 b2]; 
disp('wspolczynniki=');disp(poly(A2)); 
W2=poly(A2); 
disp('pierwiastki=');disp(roots(W2)); 
disp('Nacisnij dowolny klawisz by zakonczyc.'); 
pause;clear;clc;

 

 
Po uruchomieniu powyższego m-pliku uzyskujemy następujące wyniki: 

 
Wyznaczenie 

współczynników 

pierwiastków 

wielomianu 

charakterystycznego 
******************************************************************
****** 
dla A1[0 1;(-(Rd1+Rl1)/Rd1/L1/C1) (–Rl1/L-1/Rd1/C1)] 
wspolczynniki= 

background image

 

16 

     1     5     5 
 
W1 = 
 
     1     5     5 
 
pierwiastki= 
   -3.6180 
   -1.3820 
 
dla A2[0 1;(-(Rd2+Rl2)/Rd2/L2/C2) (–Rl2/L2-1/Rd2/C2)] 
wspolczynniki= 
    1.0000    2.0000    6.0000 
 
pierwiastki= 
  -1.0000 + 2.2361i 
  -1.0000 - 2.2361i

 

 
Nacisnij dowolny klawisz by zakonczyc. 

 
3.7  Polecenia i pytania do plików skryptowych. 
 

 

Nazwa pliku 

Punkt 

instrukcji 

Działanie 

programu 

Zadania do wykonania w czasie zajęć 

1. 

P3_1_char_skokow
e.m 

3.1 

Wyznaczenie 
charakterystyk 
skokowych 
(czasowych) 
członu inercyjnego 
drugiego rzędu i 
stabilnego członu 
oscylacynego. 

  Wydrukować ch-ki odpowiedzi skokowych. 
  Uzasadnić na podstawie wykreślonych 

charakterystyk, jaki wpływ na ch-kę skokową mają 
wartości parametrów obiektu inercyjnego drugiego 
rzędu: T

1

, T

2

- stałe czasowe i k - współczynnik 

proporcjonalności (wzmocnienia). Jaki jest związek 
pomiędzy tymi parametrami a parametrami 
elektrycznymi charakteryzującymi rozpatrywany 
obwód? 

  Uzasadnić na podstawie wykreślonych 

charakterystyk, jaki wpływ na ch-kę skokową mają 
wartości parametrów obiektu oscylacyjnego: T

0

stała czasowa, ξ

0

- współczynnik tłumienia i k - 

współczynnik proporcjonalności (wzmocnienia). 
Jaki jest związek pomiędzy tymi parametrami a 
parametrami elektrycznymi charakteryzującymi 
rozpatrywany obwód? 

  Podać interpretacje stałych czasowych obiektu 

inercyjnego drugiego rzędu. 

  Czy na podstawie uzyskanych ch-k skokowych 

można ocenić liniowość względnie nieliniowość 
układu dynamicznego? 

2. 

P3_2_char_ampfaz.

3.2 

Wyznaczenie 
charakterystyk 
amplitudowo-
fazowych członu 
inercyjnego 
drugiego rzędu i 
stabilnego członu 
oscylacynego. 

  Wydrukować ch-ki amplitudowo-fazowe. 
  Od których parametrów i jak zależy 

charakterystyka amplitudowo-fazowa? Zaznaczyć 
strzałką na ch-kach kierunek wzrostu pulsacji. 

  Dla wybranej ch-ki amplitudowo-fazowej dla 

wartości pulsacji ω=0 i ω=10 wrysować wektory 
modułu transmitancji i odczytać z wykresu dla tych 
modułów wartości części rzeczywistych (P) i 

background image

 

17 

 

Nazwa pliku 

Punkt 

instrukcji 

Działanie 

programu 

Zadania do wykonania w czasie zajęć 

urojonych (Q), wskazać kąt przesunięcia fazowego i 
obliczyć wartość tgφ tego przesunięcia. 

  Naszkicować lub wydrukować ch-ki amplitudowo-

fazowe Nyquista. 

  Czym różnią się ch-ki Nyquista od zwykłych 

charakterystyk amplitudowo-fazowych? 

  Porównać ch-kę Nyquista obiektu inercyjnego 

drugiego rzędu z ch-ką Nyquista stabilnego członu 
oscylacyjnego. 

  W jakim celu stosuje się ch-ki Nyquista? 
  Co można powiedzieć o stabilności układu 

regulacji na podstawie uzyskanych ch-k Nyquista? 

3. 

P3_3_char_amp_i_f
az.m 

3.3 

Wyznaczenie 
charakterystyk 
amplitudowych w 
funkcji pulsacji i 
logarytmicznych 
charakterystyk 
amplitudowo-
fazowych (tzw. 
(Bode Diagrams) 
członu inercyjnego 
drugiego rzędu i 
stabilnego członu 
oscylacynego. 

  Uzyskać odpowiednio 2 typy wykresów. 
  Wydrukować ch-ki amplitudowe i charakterystyki 

logarytmiczne amplitudowo-fazowe. 

  Określić różnice między charakterystykami 

amplitudowymi i logarytmicznymi amplitudowymi. 

  Jaki wpływ na przebieg charakterystyk mają 

wartości parametrów obiektu inercyjnego? Jaki 
wpływ mają parametry elektryczne obwodu? 

  Odczytać z wykresów ch-k amplitudowych 

wartości ekstremów części urojonych i 
odpowiadające im wartości pulsacji ω. W którym 
kierunku przesuwają się wartości ekstremów 
urojonych ze wzrostem pulsacji? 

  Na wykresach ch-k logarytmicznych 

zidentyfikować i opisać ch-ki fazowe. 

  Odczytać w [dB] „podbicie” ch-k amplitudowych 

a następnie wartości pulsacji dla których występują 
te maksima, obliczyć jakie to częstotliwości w [Hz]. 

4. 

P3_4_stab_Michajlo
w.m 

3.4 

Wyznaczenie 
stabiln ości 
graficznym 
kryterium 
Michajłowa członu 
inercyjnego 
drugiego rzędu i 
stabilnego członu 
oscylacynego. 

  Czy człony, dla parametrów dla których zostały 

wykreślone ch-ki, są obiekteami stabilnym? 

  Jakie są inne kryteria stwierdzania stabilności 

układów automatyki? 

5. 

P3_5_ster_obs.m 

3.5 

Określenie 
sterowalności i

 

obserwowalności 
członu inercyjnego 
drugiego rzędu i 
stabilnego członu 
oscylacynego. 

  Uzyskać obliczenia rzędu macierzy i wartości 

wyznaczników, tak, jak w przykładzie. 

  Dokonać interpretacji otrzymanych wyników 

oceniając sterowalność i obserwowalność. 

6. 

P3_6_wsp_wielom_ch
ar.m 

Przykład 

6.3 

Wyznaczenie 
współczynników i 
pierwiastków 
wielomianu 
charakterystyczneg

  Uzyskać obliczenia współczynników i 

pierwiastków wielomianu charakterystycznego - jak 
w przykładzie. 

  Napisać wielomiany charakterystyczne i porównać 

z wielomianem mianownika transmitancji układu. 

background image

 

18 

 

Nazwa pliku 

Punkt 

instrukcji 

Działanie 

programu 

Zadania do wykonania w czasie zajęć 

o członu 
inercyjnego 
drugiego rzędu i 
stabilnego członu 
oscylacynego.

 

  Dokonać interpretacji otrzymanych wyników. 

 
1.1  Wnioski.  
 
W  sprawozdaniu  należy  udzielić  odpowiedzi  na  wszystkie  pytania  zawarte  w  instrukcji  oraz 
zalecone  przez  prowadzącego.  Sprawozdanie  powinno  zawierać  opisane  oryginalne  wydruki 
wyników  uzyskanych  podczas  realizacji  ćwiczenia.  We  wnioskach  należy  uzupełnić 
i uporządkować  odpowiedzi  na  postawione  pytania  lub  zagadnienia  należące  do  zadań 
wykonanych w czasie zajęć. 
 

Niezbędny zakres tematyczny obowiązujący do przygotowania się do zajęć: 

 
Pojęcia:  obiekt  dynamiczny  ciągły  i  liniowy,  równanie  różniczkowe  opisujące  taki  obiekt, 
identyfikacja  obiektu  dynamicznego,  transmitancja  operatorowa  i  widmowa,  moduł  transmitancji, 
kąt  przesunięcia  fazowego,  podstawowe  człony dynamiczne (układy  – proporcjonalny, inercyjny, 
różniczkujący  rzeczywisty,  całkujący,  inercyjny  drugiego  rzędu  i  oscylacyjny),  transmitancje  tych 
członów  i  podstawowe  charakterystyki  członów,  obserwowalność, sterowalność, stabilność (oraz 
kryteria  i  wyznaczanie  obserwowalności,  sterowalności  i  stabilności)  układu  dynamicznego  i 
układu  regulacji,  równanie  charakterystyczne  i  wielomian  charakterystyczny,  stała  czasowa 
w podstawowych członach dynamicznych, 
Charakterystyki  układów  dynamicznych  –  charakterystyki  skokowe  i  częstotliwościowe, 
interpretacja 

charakterystyk, 

sposoby 

wyznaczania 

charakterystyk, 

obliczanie 

modułu 

transmitancji i przesunięcia fazowego, 
Równania  wektorowo-macierzowe  układu  dynamicznego.  Macierze:  stanu,  wejścia  i  wyjścia. 
Zastosowanie macierzy równań stanu. 
 

Literatura  pomocna  do  wykonania  ćwiczenia,  przygotowania  sprawozdania  i  przygotowania 
się do zaliczenia: 

 
1.  Brzózka J., Ćwiczenia z automatyki w MATLABIE i SIMULINKU, Mikom, Warszawa, 1997. 
2.  Dębowski A.: Automatyka. Podstawy teorii, WNT, Warszawa 2008. 
3.  Frelek B. i inni, Laboratorium podstaw automatyki, W PW, 1984. 
4.  Mrozek B+Z, Matlab 5.x i Simulink 2.x, Wydawnictwo PLJ, Warszawa 1998. 
5.  Nowacki  P.,  Szklarski  L.,  Górecki  H.:  Podstawy  teorii  układu  regulacji  autonomicznej.  Tom  I, 

PWN, Warszawa 1970. 

6.  Pełczewski W., Teoria sterowania, WNT, Warszawa 1980. 
7.  Żelazny M., Podstawy automatyki, PWN, Warszawa 1976. 
8.  Badania  obiektów  dynamicznych  (z  zastosowaniem  programu  MATLAB)  -  Przykłady 

programów  do  wykonania  w  czasie  zajęć  laboratoryjnych.  Opracowanie  WTPW,  Warszawa 
2002.