L3 Modelowanie układów mechanicznych

background image

Modelowanie układów dynamiki w pakiecie MATLAB

W pakiecie Matlab modelowanie układów dynamicznych można przeprowadzić na wiele

sposobów. Podstawowymi metodami są:

Modelowanie z wykorzystaniem równań różniczkowych opisujących badany układ

(np. równań dynamicznych ruchu)

Modelowanie z wykorzystaniem transmitancji.

Modelowanie w przestrzeni stanu.

Wszystkie rodzaje modeli są sobie równoważne. Dodatkowo, bazując na metodach podanych

powyżej, możliwe jest modelowanie dynamiki układu, wykorzystując graficzny interfejs

programu MATLAB, tj. SIMULINK’a.

1.

Podstawy teoretyczne

Układ o jednym stopniu swobody.

Dla układu jak na rysunku poniżej, równania dynamiczne ruchu zapisane zostać mogą w

następującej postaci:

(1)

gdzie:

M – masa

C – tłumienie

K – sztywność

- przyspieszenie, prędkość przemieszczenie

f – siła wymuszająca

t – czas.

Rys. 1 Przykład układu o jednym stopniu swobody

K

C

M

f(t)

x(t)

background image

Wykorzystując transformatę Laplace’a, można zalgebraizować powyższe równanie zapisując

je w formie:

(2)

gdzie s jest operatorem Laplace’a.

Równanie to można zapisać wykorzystując pojecie sztywności dynamicznej Z:

(3)

Transmitancję układu wyznaczyć możemy korzystając z zależności:

(4)

czyli

(5)

Podstawiając powyższą zależność do równania opisującego dynamikę układu w dziedzinie

zespolonej(2):

(6)

Powyższa zależność definiuje transmitancję układu.

Licznik transmitancji określa się mianem równania charakterystycznego, a jego rozwiązanie

daje informacje o biegunach układu:

(7)

Korzystając z tej zależności, określić można następujące parametry układu:

Nietłumioną częstość drgań własnych (jeśli w układzie nie ma tłumienia):

(8)

Tłumienie krytyczne (minimalna wartość tłumienia przy której ruch jest periodyczny):

(9)

Stosunek tłumienia:

(10)

background image

Rozwiązaniem równanie w dziedzinie czasu jest zależność:

(11)

W zależności od wartość tłumienia układ można sklasyfikować jako układ z tłumieniem

podkrytycznym (

ζ

<1), krytycznym (

ζ

=1) lub nadkrytycznym (

ζ

>1).

Z punktu widzenia identyfikacji interesującym jest przypadek gdy tłumienie jest

podkrytyczne. Dla tego przypadku rozwiązanie równania charakterystycznego składa się z

dwóch sprzężonych pierwiastków:

(12)

gdzie

σ

1

jest współczynnikiem tłumienia, a

ω

1

jest tłumiona częstością drgań własnych.

Inne zależności możliwe do wyznaczenia to:

Układ o dwóch stopniach swobody:

Rys. 2. Układ o dwóch stopniach swobody

background image

Dla układu jak powyżej, równania ruchu można zapisać jako:

(13)

Porządkując współczynniki przy odpowiednich zmiennych, można doprowadzić do zapisu

macierzowego w postaci:

lub inaczej

(14)

gdzie:

[M]jest macierzą mas

[C] – jest macierzą tłumień

[K] – jest macierzą sztywności

{f(t)} – jest wektorem sił

{x(t)} – jest wektorem odpowiedzi

Zapisując transformatę Lplace’a (zakładając zerowe warunki początkowe):

(15)

Otrzymać możemy macierz sztywności dynamicznej, wyrażoną jako

(16)

Odwracając powyższą zależność otrzymamy macierz transmitancji:

(17)

background image

2. Przykłady.

Sposoby modelowania.

Simulink – graficznie:

Symulacja układu masowo-sprężysto-tłumiącego

Rys. E2-1

Rozpatrzmy układ masowo-sprężysto-tłumiący przedstawiony na rysunku.
Model matematyczny takiego układu opisany jest równaniem:

(2)

gdzie m jest masą układu, c jest współczynnikiem tłumienia oraz k jest
współczynnikiem sztywności. Dodatkowo f(t) jest funkcją wymuszającą układ
w kierunku osi x założonego układu współrzędnych.

W przykładzie pokazane zostanie wykorzystanie Simulinka do symulacji
odpowiedzi układu na wymuszenie sygnałem skoku jednostkowego.

Krok 1

Należy uruchomić Simulinka, utworzyć nowe okno modelu (CTRL+N) oraz za pomocą
myszy przeciągnąć poniższe bloki z okna biblioteki Simulink library:

Bloczki do przeciągnięcia do

nowego okna modelu

Lokalizacja bloczka w bibliotece

Step

Sources

Gain

Math Operation

Sum

Math Operation

Integrator

Continuous

Scope

Sinks

To Workspace

Sinks

background image

Krok 2

Równanie (2) opisujące dynamikę układu należy rozwikłać ze względu na
przyspieszenie i przedstawić w postaci opisanej równaniem (3).

(3)

Bazując na równaniu (3), można zestawić układ blokowy pokazany na rys. E2-2.

Dla przypomnienia: skróty klawiszowe CTRL+F oraz CTRL+R pozwalają na odwracanie
(180°) oraz obracanie zaznaczonego bloczka. Można także użyć przycisku CTRL+prawy
klawisz myszy do wykonania rozdzielenia linii łączącej bloczki. Na tym etapie nie
należy przejmować się ustawieniami parametrów poszczególnych bloczków.
Ustawienia dokonane zostaną w następnym kroku. Na tym poziomie konieczne jest
jedynie poprawne i przejrzyste zdefiniowanie układu i wykonanie połączeń pomiędzy
bloczkami.

Krok 3

W tym kroku należy zadać odpowiednie parametry dla każdego z bloków.
W tym przykładzie należy ustawić: m=2.0; c=0.7; k=1. W dalszej części
pracy z przykładem możliwe będzie sprawdzenie jak zmiany parametrów
modelu wpływają na otrzymywane charakterystyki układ. Zmiany można
będzie dokonać identycznie jak w tym momencie.
Sygnały będące wynikiem symulacji mogą być nie tylko prezentowane w
formie wykresów ale możliwe jest także ich dalsze wykorzystanie. W
przykładzie pokazane jest użycie dodatkowego bloczka wyjściowego
„simout”. Element może zostać znaleziony w zbiorze Sinks group
biblioteki

Simulink

Library

browser.

Wyjście

tego

elementu

przekazywane jest bezpośrednio do przestrzeni roboczej Matlaba. Dla
pokazania sposobu użycia elementu, należy nazwać parametr wyjściowy
bloczka (przykładowo nadajmy zmiennej wyjściowej taką samą nazwą jak
nazwa bloczka „simout”). Zmianę tę można wykonać w okienku
edycyjnym elementu. Dostęp do niego jest uzyskiwany poprzez
dwukrotne kliknięcie na elemencie w oknie modelu.
Dodatkowo ustawmy typ wynikowej zmiennej jako tablicę wartości
czasowych uzyskiwanych w trakcie symulacji. Dokonamy tego w okienku
Simulation Parameter window (może ono zostać otwarte sekwencją
klawiszy (CTRL+E)) wybierając zakładkę Workspace I/O. Operację
pokazano na rys. E2-3.

background image

Rys. E2-3

Krok 4

W kolejnym kroku można już uruchomić symulację poprzez kliknięcie

przycisku

(alternatywnie można użyć skrót klawiaturowy CTRL+T ). W

wyniku symulacji uzyskuje się przebieg zaprezentowany na rys. E2-3.

Rys. E2-3

Uzyskanie przebiegu odpowiedzi układ jest ostatnim elementem
symulacji. Otrzymana odpowiedź obrazuje zachowanie układu z
tłumieniem podkrytycznym. W celu przetestowania zachowania obiektu
w innych warunkach, konieczne jest dokonanie zmian parametrów masy,
tłumienia i sprężystości (wartość parametrów wpisanych w bloczkach m,
c lub k).

Zobaczmy teraz jak można wykorzystać dodatkowy blok „simout” użyty w
trakcie symulacji. W oknie poleceń Matlaba wpiszmy polecenie.
>> who

Powoduje ono wypisanie wszystkich zmiennych zdefiniowanych w
przestrzeni roboczej Matlaba. W wyniku działania polecenia na ekranie
powinny zostać wypisane m.in. zmienne "simout" oraz "time". Zostały
one utworzone przez Simulinka w trakcie wykonywania przez niego
symulacji.

background image

Dane zawarte w tych zmienny mogą zostać użyte w klasyczny sposób
zgodnie z możliwościami jakie daje środowisko Matlab. Przykładowo
wykorzystajmy zawartość uzyskanych zmiennych do pokazania
charakterystyki czasowej używając bezpośrednio poleceń środowiska
Matlab.

>>plot(time,simout);grid

Symulacja układu z przykładu 2 lecz zamodelowanego w postaci funkcji przejścia

W przypadku modelowania układu za pomocą funkcji przejścia pierwszym konieczym do
przeprowadzenia zadaniem jest przekształcenie równań dynamicznych do postaci funkcji
przejścia (nazywanej także funkcją transmitancji). Aby tego dokonać równanie ruchu układu
zapisane w dziedzinie czasu należy przetransformować za pomocą przekształcenia Laplace'a
do dziedziny transformat. W naszym przypadku równanie w dziedzinie czasu ma postać:

Zakładając zerowe warunki początkowe możemy dokonać transformacji:

( )

( )

0

b

0

f

0

a

0

f

=

=

=

=

Funkcja przejścia przybiera w tym przypadku formę:

Mając równanie układu w postaci funkcji transmitancji można przystąpić do pracy w
Simulinku.

Krok 1



Należy uruchomić Simulinka, utworzyć nowe okno modelu (CTRL+N) oraz za pomocą

myszy przeciągnąć poniższe bloki z okna biblioteki Simulink library:

Należy uruchomić Simulinka, utworzyć nowe okno modelu (CTRL+N) oraz za pomocą
myszy przeciągnąć poniższe bloki z okna biblioteki Simulink library:

background image

Bloczki do przeciągnięcia do

nowego okna modelu

Lokalizacja bloczka w bibliotece

Step

Sources

Transfer Function

Continuous

Scope

Sinks

Save File to Workspace

Sinks

Krok 2

Bloczki należy poukładać w oknie modelu np. w sposób przedstawiony na poniższym
rysunku E3-1.

Rys. E3-1
Uwaga: Kolory bloczków można ustawić poprzez kliknięcie prawym przyciskiem myszy
na bloczku oraz wybraniu koloru z menu Background Color.

Krok 3

Wprowadzanie wartości parametrów bloczków.
W przykładzie użyte zostaną te same wartości parametrów modelu m, c i k co w
przykładzie 2. Wartości tym razem należy wprowadzić w oknie edycyjnym bloku
Transfer Fcn otwartym poprzez dwukrotne kliknięcie na bloczek. Okno ustawień
pokazane jest na rys. E3-2.

Rys. E3-2


Kliknięcie OK zamknie okno ustawień. W niniejszym przykładzie przedstawiony jest

background image

kolejny blok wyjściowy Save Output To A File. Pozwala on na zapis wyników symulacji
bezpośrednio do pliku dyskowego. Tym razem zestaw parametrów jakie można
ustawić jest podobny do tego przedstawionego w poprzednim przykładzie. Różnica
polega jedynie na dodatkowym polu edycyjnym pozwalającym na wybór nazwy pliku
dyskowego. Plik zapisany na dysk w ten sposób ma typowy dla Matlaba format
binarny. Pliki tego typu często nazywane są mat-file z uwagi na rozszerzenie (.mat).
Użycie zawartości takiego pliku związane jest z wczytaniem go do Matlaba
poleceniem load NazwPlik. Po tej operacji w przestrzeni roboczej programu znajdują
się wszystkie zmienne zawarte w oryginalnym *.mat pliku.
W przypadku tego konkretnego przykładu mat-plik zostanie zachowany na dysku D: w
katalogu "temp". Plik zostanie nazwany "example3out.mat". Oczywiście nazwy i
położenie pliku na dysku może być dowolne. W okienku edycyjnym bloku należy
wpisać wszystkie powyższe informacje tzn: nazwę pliku wraz z lokalizacją oraz nazwę
zmiennej – w tym przypadku także "simout". Wartości pozostałych parametrów
można pozostawić niezmienione.

Rys E3-3

Krok 4

W kolejnym kroku można już uruchomić symulację poprzez kliknięcie przycisku
(alternatywnie można użyć skrót klawiaturowy CTRL+T ). W wyniku symulacji uzyskuje
się przebieg zaprezentowany na rys. E3-4.

Rys E3-4

background image

Z porównania przebiegów rys E2-3 oraz rys. E3-4 wynika iż są one identyczne.
Oczywiście nie ma w tym nic dziwnego, obie symulacje dotyczą przecież tego samego
modelu.

Wykorzystanie danych symulacyjnych zachowanych w pliku dyskowym

Aby wykorzystać wyniki smulacji zapisane w postaci pliku należy najpierw dokonać ich
odczytu. Jak zostało to już powiedziane wcześniej odczytu dokonuje się poleceniem:

>> load example3out

Należy zauważyć iż taka postać powyższego polecenia jest poprawna jedynie wtedy
gdy lokalizacja wczytywanego pliku zawarta jest w predefiniowanym zestawie ścieżek
dostępu Matlaba lub w bieżącym katalogu. Jeśli tak nie jest polecenie powinno mieć
pełną formę zawierającą dodatkowo ścieżkę dostepu do pliku (w tym przypadku load

D:/temp/example3out.mat

). Sprawdzenie czy zmienne zostały wczytane poprawnie

wykonane zostanie poleceniem

>> who

Jeśli wszystko przebiegło poprawnie Matlab powinien wyświetlić

Your variables are:

simout

"simout" jest w tym przypadku oczekiwaną przez nas macierzą zawierającą wyniki
wykonanej symulacji. Jej rozmiar w tym przypadku to 2 x m, gdzie m oznacza liczbę
kolumn i jest równe liczbie punktów na danych wygenerowanych w trakcie przebiegu
symulacji. Pierwszy rząd zawiera informacje o punktach na osi czasu natomiast drugi
odpowiadające im wartość. Po to aby wygenerować wykres odpowiedzi układu na
wymuszenie krokowe wystarczające jest użycie funkcji plot w odniesieniu do macierzy
"simout". Dla tego przykładu polecenie to będzie miało postać:

>> plot(simout(1,:),simout(2,:));grid

W wyniku jego działania narysowany zostanie przebieg pokazany na rys. E3-5.

background image

Rys. E3-5

Podobny efekt przyniesie symulacja układu z wykorzystaniem funkcji przejścia w trybie

tekstowym:

Definiujemy licznik i mianownik transmitancji jako wektor wartości odpowiadających

kolejnym współczynnikom przy zmiennej s zaczynając od najwyższej jej potęgi:

L = [1]’

M = [2 0.7 1]

Definiujemy funkcje przejścia:

sys = tf(L,M);

badamy podpowiedź układu na:

Skok jednostkowy – step(sys,t), gdzie t oznacza czas symulacji.

Impuls – impulse(sys, t);

Dowolne wymuszenie – lsim(sys, u, t), gdzie u jest wektorem wymuszenia, a t wektorem

czasu.

Przestrzeń stanu.

Rozważmy układ jak na rysunku (fizyczny model np. elastycznego mocowania silnika).

background image

Równania dynamiczne można zapisać następująco

Zdefiniujmy zmienne stanu jako x1(t) oraz x2(t)

Podstawiając za y(t) i y’(t) zastępujemy równanie drugiego rzędu układem równań

pierwszego rzędu.

Równanie wyjść ma postać

W postaci macierzowej równania stanu dla układu możemy zapisać jako

Równanie wyjść:

Schemat blokowy układu przedstawia rysunek

background image

Dla tak wyznaczonego modelu możliwa jest transformacja z opisu za pomocą przestrzeni

stanu do opisu w postaci transmitancji. Służy do tego polecenie:

[num,den] = ss2tf(A,B,C,D)

gdzie num oraz den jest odpowiednio licznikiem i mianownikiem transmitancji. Możliwa jest

również odwrotna transformacja:

[A,B,C,D] = tf2ss(num,den)

Zadania do samodzielnego wykonania.

1.

Zamodeluj w środowisku Matlab układ jak na rysunku 2, przyjmując dowolne parametry

układu (m,c, k). Zasymuluj układ, używając jako wymuszenia:

Funkcji harmonicznej

Wymuszenia losowego

Wymuszenia impulsowego

Skoku jednostkowego.

2.

Zamodeluj układ jak na rysunku poniżej, przyjmując dowolne wartości parametrów

mechanicznych. Przeprowadź symulację jak w punkcie 1.

x2

m1

m2

k1

k2

c1

c2

F

x2


Wyszukiwarka

Podobne podstrony:
Modelowanie układów mechanicznych
Modelowanie układów mechanicznych Pisarski Krzysztof
Mechanika Teoretyczna Modelowanie układów
modelowanie ukladow przelaczaja Nieznany
IMW W03 Modelowanie ukladow id Nieznany
MODELOWANIE UKŁADÓW KOMBINACYJNYCH ZA POMOCĄ FUNKTORÓW LOGICZNYCH
Modelowanie układów logicznych na elementach elektronicznych
modelowanie ukladow logicznych w oparciu o elementy elektroniczne
modelowanie układów przełączających z wykorzystaniem elementów pneumatycznych i elektrycznychx
Projektowanie dyskretnych układów mechanicznych synteza stary off
Modelowanie układów logicznych w oparciu o elementy elektroniczne
Modelowanie układów dynamicznych na elektronicznej maszynie analogowej, STUDIA - Kierunek Transport,
modelowanie układów regulacji
modelowanie ukladow wlewowych sprawko
MODELOWANIE UKŁADÓW KOMBINACYJNYCH ZA POMOCĄ FUNKTORÓW LOGICZNYCH SCHEMAT
Modelowanie układów mechatronicznych w środowiskach obliczeniowych WYKŁAD
LTS 2 Modelowanie ukladow dynamicznyc

więcej podobnych podstron