9
1 KATEDRA AUTOMATYKI, BIOMECHANIKI I MECHATRONIKI Komputerowe Laboratorium Mechaniki 2M135 / 2M31 Zawartość: OPRACOWANIE TEORETYCZNE Laboratorium nr 6 Mechaniki Technicznej TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab. ZAKRES: Model fizyczny i matematyczny układu drgającego o jednym stopniu swobody. Podstawy obliczeń numerycznych. Wprowadzenie do korzystania z pakietu Scilab. Modelowanie układów na podstawie opisu równaniem różniczkowym w pakiecie Xcos. Przygotował: mgr inż. Adam Wijata Aktualizacja: 16.05.2018 wersja: 1.0

TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.abm.p.lodz.pl/.../labMech_cw6_scilab_2018_instrukcja.pdf · 2018-05-23 · 5 3 Wprowadzenie do

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.abm.p.lodz.pl/.../labMech_cw6_scilab_2018_instrukcja.pdf · 2018-05-23 · 5 3 Wprowadzenie do

1

KATEDRA AUTOMATYKI, BIOMECHANIKI

I MECHATRONIKI

Komputerowe Laboratorium Mechaniki 2M135 / 2M31

Zawartość:

OPRACOWANIE TEORETYCZNE

L a bo ra to r i u m n r 6

M e c ha n i k i T ec h n i c zn e j

TEMAT:

Modelowanie i symulacje numeryczne układów dynamicznych

w programie Scilab.

ZAKRES:

Model fizyczny i matematyczny układu drgającego o jednym stopniu swobody. Podstawy

obliczeń numerycznych. Wprowadzenie do korzystania z pakietu Scilab. Modelowanie

układów na podstawie opisu równaniem różniczkowym w pakiecie Xcos.

Przygotował: mgr inż. Adam Wijata

Aktualizacja: 16.05.2018

wersja: 1.0

Page 2: TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.abm.p.lodz.pl/.../labMech_cw6_scilab_2018_instrukcja.pdf · 2018-05-23 · 5 3 Wprowadzenie do

2

Cel ćwiczenia

Celem ćwiczenia jest zapoznanie się z możliwością wykorzystania pakietu Sci-

lab do modelowania i symulacji numerycznych dynamiki prostych układów

mechanicznych.

1 Model fizyczny i matematyczny badanego układu dynamicznego

Na rysunku 1 przedstawiono model fizyczny liniowego układu drgającego jed-

nym stopniu swobody z tłumieniem, wymuszonego siła harmoniczną. Składa

się on z punktu materialnego o masie m[kg] połączonego z nieruchomą ostoją

liniowym elementem sprężystym o współczynniku sprężystości k [N/m] oraz tłu-

mikiem liniowym o współczynniku c [Ns/m] i poddanego działaniu harmonicz-

nej siły wymuszającej 𝑃(𝑡) = 𝑃0sin (𝜔𝑡).

Rysunek 1 Model fizyczny liniowego układu drgającego o jednym stopniu swobody

Dynamiczne równanie opisujące ruch układu ma następująca postać:

𝑚�̈� + 𝑐�̇� + 𝑘𝑥 = 𝑃0sin (𝜔𝑡) lub �̈� + 2ℎ�̇� + 𝛼2𝑥 = 𝑞sin (𝜔𝑡) (1)

gdzie: 2ℎ =𝑐𝑚

, 𝛼2 = 𝑘

𝑚 , 𝑞 =

𝑃0

𝑚.

Powyższe równanie jest równaniem różniczkowym (zawierającym pochodne),

rozwiązaniem takiego równania jest funkcja - 𝑥(𝑡). Przyjmując, że amplituda siły

wymuszającej 𝑃0 równa jest zeru (drgania swobodne) – otrzymujemy rozwiąza-

nie równania (1) w postaci funkcji1:

𝑥(𝑡) = 𝐴0ℯ−ℎ𝑡sin( 𝜆𝑡 + 𝛽 ). (2)

Poniższa tabela wyjaśnia znaczenie parametrów rozwiązania (2):

1 Dla przypadku tłumienia podkrytycznego, tzn. ℎ < 𝛼 ⇒ 𝑐 < 2√𝑘𝑚

𝑥(𝑡) - przemieszczenie w czasie [m]

𝑃0 = 𝑚𝑛𝑒𝜔2 – amplituda siły wymuszającej [N],

𝑚𝑛- masa niewyważenia [kg],

𝑒- promień niewyważenia [m].

Page 3: TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.abm.p.lodz.pl/.../labMech_cw6_scilab_2018_instrukcja.pdf · 2018-05-23 · 5 3 Wprowadzenie do

3

𝒙𝟎 = 𝒙(𝟎) [𝐦] �̇�𝟎 = �̇�(𝟎) [ 𝐦/𝐬 ] warunki początkowe (przemieszczenie

i prędkość)

𝝀 = √𝛼2 − ℎ2 [rads⁄ ] częstość drgań własnych tłumionych

𝑻𝒅 = 𝟐𝝅

𝝀 [𝐬] okres drgań własnych tłumionych

𝑨𝟎𝓮−𝒉𝒕 [𝐦], gdzie 𝑨𝟎 = √𝒙𝟎𝟐 + (

𝒉𝒙𝟎+�̇�𝟎

𝝀)

𝟐

umowna amplituda drgań własnych tłumio-

nych (obwiednia)

𝜷 = 𝐚𝐫𝐜𝐭𝐠 (𝒙𝟎𝝀

𝒉𝒙𝟎 + �̇�𝟎) kąt przesunięcia fazowego

Miarą tłumienia w układzie jest dekrement tłumienia:

∆ = 𝐴𝑛

𝐴𝑛+1 =

𝑥(𝑡1)

𝑥(𝑡1 + 𝑛𝑇𝑡ł)= 𝓮𝒉𝒏𝑻𝒅 , (3)

lub logarytmiczny dekrement tłumienia:

𝛿 = 𝑙𝑛∆ = ℎ𝑛𝑇𝑑. (4)

Funkcję 𝑥(𝑡) (2), będącą rozwiązaniem równania różniczkowego opisującego

ruch swobodny tłumiony układu o jednym stopniu swobody przedstawia Rysu-

nek 2.

Rysunek 2 Drgania swobodne tłumione układu o jednym stopniu swobody

Częstości 𝛼, 𝜔, 𝜆 są wyrażone w jednostce radian na sekundę [rads⁄ ]. Częstotli-

wość 𝑓[Hz] przeliczamy na częstość kołową 𝜔 [rads⁄ ] według wzoru:

𝜔 = 2𝜋𝑓. (5)

0

htA e

Page 4: TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.abm.p.lodz.pl/.../labMech_cw6_scilab_2018_instrukcja.pdf · 2018-05-23 · 5 3 Wprowadzenie do

4

2 Symulacje numeryczne

W dzisiejszych czasach moc obliczeniowa komputerów jest coraz częściej wy-

korzystywana do wykonywania użytecznych kalkulacji matematycznych. Sy-

mulacje komputerowe wykorzystuje się w dwóch podstawowych przypad-

kach: kiedy obliczenia są bardzo pracochłonne lub gdy znalezienie rozwiąza-

nia problemu matematycznego na drodze analitycznej jest bardzo trudne lub

niemożliwe. W drugim przypadku metody numeryczne umożliwiają uzyskanie

przybliżonego rozwiązania. Równania opisujące dynamikę układów mecha-

nicznych są równaniami różniczkowymi drugiego rzędu (tzn. równaniami zawie-

rającymi drugą pochodną np.: 𝑑2𝑥

𝑑𝑡2). Analityczne rozwiązanie takiego równania

jest możliwe jedynie dla najprostszych przypadków, dlatego dla znalezienia

przybliżonego rozwiązania należy wykorzystać metody numeryczne.

2.1 Całkowanie numeryczne

Istotą rozwiązywania równań różniczkowych jest liczenie całek. Analityczne

znalezienie rozwiązania całki oznaczonej, przebiega według podanego poni-

żej wzoru, znanego z rachunku całkowego.

∫ 𝑓(𝑥) 𝑑𝑥 = 𝐹(𝑏) − 𝐹(𝑎)

𝑏

𝑎

𝐹(𝑥) = ∫ 𝑓(𝑥) 𝑑𝑥

(6)

Podstawowa trudność tych obliczeń polega na znalezieniu funkcji pierwotnej -

𝐹(𝑥). W metodach numerycznych, w celu uproszczenia obliczeń funkcję pod-

całkową 𝑓(𝑥), aproksymuje się inną funkcją, której całkę oznaczoną łatwo jest

obliczyć. W celu uzyskania lepszej dokładności, funkcję podcałkową dzieli się

na przedziały, w których następnie się ją aproksymuje. Wynikiem całkowania

numerycznego jest suma oszacowanych całek oznaczonych w poszczegól-

nych przedziałach. Oznacza to, że rezultatem jest zbiór punktów, które przybli-

żają funkcję 𝑭(𝒙).

Ideę całkowania numerycznego łatwiej jest zrozumieć korzystając z interpreta-

cji geometrycznej całki oznaczonej, którą jest pole pod wykresem funkcji 𝑓(𝑥).

Pokazuje to Rysunek 3. Jak łatwo zauważyć, im mniejsza będzie szerokość pro-

stokątów przybliżających pole 𝑆, tym większą będzie dokładność obliczeń nu-

merycznych. Ta szerokość - ∆𝑥 jest nazywana krokiem całkowania i jest podsta-

wowym parametrem symulacji numerycznych.

Rysunek 3 Całka oznaczona obliczona analitycznie i oszacowana numerycznie

𝑓(𝑥)

𝑥 𝑎 𝑏

Obliczenia analityczne

𝑆 = ∫ 𝑓(𝑥) dx

𝑏

𝑎

𝑓(𝑥)

𝑥 𝑎 𝑏 ∆𝑥

Obliczenia numeryczne

𝑆 = 𝑆𝑖

𝑖

𝑆1 𝑆2 𝑆3 𝑆4 𝑆5 𝑆6

Page 5: TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.abm.p.lodz.pl/.../labMech_cw6_scilab_2018_instrukcja.pdf · 2018-05-23 · 5 3 Wprowadzenie do

5

3 Wprowadzenie do środowiska Scilab i budowa modelu symulacyjnego

Scilab jest darmowym środowiskiem do obliczeń naukowych rozprowadzanym

na licencji open source. Na stronie projektu www.scilab.org można znaleźć

wersje instalacyjne pakietu, dokumentację oraz wiele opracowań pomocnych

podczas nauki jego użytkowania. Scilab jest pewnego rodzaju darmowym za-

miennikiem komercyjnego pakietu MATLAB. Przykłady przedstawione w tej in-

strukcji opracowano przy użyciu Scilab 5.5.2 i zaleca się korzystać z tej wersji

oprogramowania podczas wykonywania ćwiczenia.

Rysunek 4 Okno główne programy Scilab (dla układu graficznego "Integrated")

3.1 Konsola

Po uruchomieniu środowiska zobaczymy okno główne (Rysunek 4) . W środko-

wym oknie można wpisywać bezpośrednio instrukcje w języku Scilab (podob-

nym do języka MATLAB) i uzyskiwać wyniki. Poniżej przedstawione zestawienie

kilku podstawowych komend, które mogą być przydatne podczas wykonywa-

nia ćwiczenia.

Polecenie Znaczenie

a+b a-b a*b a/b a^b 𝑎 + 𝑏 𝑎 − 𝑏 𝑎 ∙ 𝑏 𝑎𝑏⁄ 𝑎𝑏

sqrt(2) log(2) log10(2) √2 ln (2) log 2

sin(x) sind(x) sin(𝑥[rad]) sin(𝑥[°]) %pi %e 𝜋 = 3,14159 … 𝑒 = 2,71828 …

A = 5 𝐴 = 5 (przypisanie wartości do symbolu)

3.2 Xcos

Moduł Xcos uruchamia się wpisując w konsoli polecenie „xcos” lub klikając

niebieską ikonę na pasku skrótów (czerwony okrąg na Rysunek 4). W tym pro-

gramie model symulacyjny ma postać schematu blokowego, który układamy

wykorzystując gotowe bloki, dostępne w przeglądarce palet (Rysunek 5). Bloki

Przeglądarka plików

Konsola

Przeglądarka

zmiennych

Page 6: TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.abm.p.lodz.pl/.../labMech_cw6_scilab_2018_instrukcja.pdf · 2018-05-23 · 5 3 Wprowadzenie do

6

z przeglądarki po prostu przeciągamy na obszar okna projektu, gdzie później

możemy je łączyć między sobą tworząc schemat blokowy – model układu.

Rysunek 5 Program Xcos

W tabeli poniżej przedstawiono bloki, które będą wykorzystywane podczas ćwi-

czenia.

Blok Operacja Paleta

𝑦 = 𝑘 𝑥 Operacje matematyczne

𝑦 = 𝑥1 − 𝑥2

Liczba wejść (𝑥𝑖) jak i ich znak

mogą zostać zmienione.

Operacje matematyczne

𝑦 = 𝑎𝑥 Operacje matematyczne

𝑦 = 𝑥𝑎 Operacje matematyczne

𝑦 = ∫ 𝑥 dt Systemy czasu ciągłego

𝑦 = 𝐴 sin(𝜔𝑡 + 𝜑)

Parametry: 𝐴, 𝜔, 𝜑 są poda-

wane w ustawieniach bloku.

Źródła

x y k

x1 y

x2

x y

x y

x y

y

Przeglądarka palet Okno projektu

Page 7: TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.abm.p.lodz.pl/.../labMech_cw6_scilab_2018_instrukcja.pdf · 2018-05-23 · 5 3 Wprowadzenie do

7

𝑦 = 𝑡 Źródła

Blok podający czas począt-

kowy i okres odświeżania wy-

kresu Źródła

Okno z wykresem 𝑥(𝑡). Sinks

3.2.1 Budowanie symulacyjnego schematu blokowego na podstawie równania róż-niczkowego

Aby dobrze zbudować schemat symulacyjny trzeba pamiętać, że prędkość to

pochodna przemieszczenia 𝑣 = �̇�, oraz że przyspieszenie to pochodna prędko-

ści 𝑎 = �̇� = �̈�. Podczas budowania schematu bardziej użyteczne będą zależno-

ści odwrotne, tzn.: 𝑣 = ∫ 𝑎 dt oraz 𝑥 = ∫ 𝑣 dt . Oznacza to, że aby obliczyć prze-

mieszczenie należy dwukrotnie scałkować funkcję przyspieszenia, dlatego przy-

gotowanie schematu blokowego należy rozpocząć od wstawienia dwóch blo-

ków całkujących (patrz Rysunek 6). Przy dalszej budowie schematu, będziemy

korzystać z sygnału prędkości (za pierwszym blokiem całkującym) oraz z sy-

gnału przemieszczenia (za drugim) ciągnąc od nich linie odgałęzienia.

Rysunek 6 Początek budowy schematu bloko-

wego

Rysunek 7 Ustawienia bloku całkującego

Dla obu bloków całkujących należy podać warunki początkowe, z jakich roz-

pocznie się symulacja. W pierwszym bloku podajemy warunek na pręd-kość 𝑣0 = 𝑣(0), natomiast w drugim dla przemieszczenia 𝑥0 = 𝑥(0). Warunki po-

czątkowe podajemy w ustawieniach, które pojawią się po dwukrotnym kliknię-

ciu na wybrany blok (patrz Rysunek 7).

Schemat symulacyjny budujemy na podstawie równania różniczkowego opisu-

jącego modelowany układ. Do tego celu, wygodnie będzie zapisać równa-

nie(1) w postaci:

�̈� =1

𝑚(−𝑘𝑥 − 𝑐�̇� + 𝑃0 cos(𝜔𝑡)). (7)

y

x

𝑎 = �̈� 𝑣 = �̇� 𝑥

𝑣 = ∫ 𝑎 dt 𝑥 = ∫ 𝑣 dt

Page 8: TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.abm.p.lodz.pl/.../labMech_cw6_scilab_2018_instrukcja.pdf · 2018-05-23 · 5 3 Wprowadzenie do

8

Funkcję przyspieszenia należy zbudować wykorzystując prawą stronę równania

(7) – Rysunek 8. Później schemat trzeba jeszcze uzupełnić o blok tworzenia wy-

kresu, na którym możemy wyświetlić przebieg dowolnego sygnału ze sche-

matu. W naszym przypadku będzie to funkcja przemieszczenia.

Rysunek 8 Model symulacyjny zbudowany na podstawie równania (7)

Aby móc wykorzystać oznaczenia symboliczne (𝑚, 𝑘, 𝑐) w blokach budowa-

nego modelu, muszą one mieć wcześniej przypisaną wartość. Zrobić to można

przez konsolę wpisując np.: „m=2”. Wpisywane do programu wartości nie posia-

dają jednostki. Dobrą praktyką jest przyjęcie podawania wartości w odpowia-

dających jednostkach głównych układu SI.

Przed uruchomieniem symulacji, należy jeszcze ustawić jej parametry, np.: czas

trwania. Aby to zrobić należy wybrać menu Symulacja, następnie Ustawienia.

Pole odpowiadające za czas symulacji nazwane jest Ostateczny czas integracji

(Rysunek 9). Jeżeli wszystkie parametry podaliśmy w jednostkach układu SI, to

wartość w tym polu będzie odpowiadać sekundą. Aby uruchomić symulację

należy kliknąć przycisk start na pasku skrótów (Rysunek 10).

Rysunek 9 Okno ustawień symulacji

Rysunek 10 Przycisk uruchomienia symulacji

4 Przebieg ćwiczenia i sprawozdanie

Zadaniem studentów jest zbudowanie modelu układu drgającego o jednym

stopniu swobody w programie Xcos. Z wykorzystaniem stworzonego modelu

przeprowadzenie symulacji numerycznych sprawdzających wpływ zmiany pa-

rametrów na wynik symulacji zgodnie z zadaniami przewidzianymi w szablonie

sprawozdania.

Page 9: TEMAT: Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.abm.p.lodz.pl/.../labMech_cw6_scilab_2018_instrukcja.pdf · 2018-05-23 · 5 3 Wprowadzenie do

9

5 Wymagania wstępne – przykładowe pytania

1. Zobrazuj różnicę pomiędzy całką oznaczoną obliczoną analitycznie

a numerycznie.

2. Jeżeli na wejściu pierwszego bloku zadane jest przyspieszenie, to jak na-

zwiesz sygnały na wyjściach kolejnych bloków całkujących?

3. Jaki układ będzie modelowany podczas ćwiczenia?

4. Jaką komendę należy wpisać w konsoli Scilaba aby uzyskać wartość

liczby 𝜋 lub √2?

5. Jaką operację realizuje dany blok?

6. Drgania swobodne, tłumione układu o jednym stopniu swobody – nary-

suj czasowy przebieg przemieszczenia. Zaznacz okres drgań tłumionych

𝑇𝑑 oraz umowną amplitudę drgań 𝐴(𝑡).

7. W jakich jednostkach wyrażane są: współczynnik tłumienia 𝑐, współczyn-

nik sprężystości 𝑘, prędkość kątowa 𝜔 ?

8. Przelicz częstotliwość 12 [Hz] na częstość w [rads⁄ ].

9. Przelicz częstość 6[rads⁄ ] na częstotliwość w [Hz].

Literatura

1. J. Awrejcewicz: Mechanika. WNT, Warszawa 2007.

2. Z. Towarek: Mechanika ogólna. Zagadnienia wybrane. Wydawnictwo PŁ,

Łódź 2004.

3. Dokumentacja na stronie projektu Scilab: www.scilab.org/resources/docu-

mentation.

???

???

???

x y k

x1 y

x2

x y

Przyspieszenie ??? ???