• Nie Znaleziono Wyników

Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab.

N/A
N/A
Protected

Academic year: 2021

Share "Modelowanie i symulacje numeryczne układów dynamicznych w programie Scilab."

Copied!
9
0
0

Pełen tekst

(1)

1

KATEDRA AUTOMATYKI, BIOMECHANIKI I MECHATRONIKI

Komputerowe Laboratorium Mechaniki 2M135 / 2M31

Zawartość:

OPRACOWANIE TEORETYCZNE

L a b o r a t o r i u m n r 6 M e c h a n i k i T e c h n i c z n 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

(2)

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].

(3)

3

𝒙𝟎= 𝒙(𝟎) [𝐦] 𝒙̇𝟎= 𝒙̇(𝟎) [ 𝐦/𝐬 ] warunki początkowe (przemieszczenie i prędkość)

𝝀 = √𝛼2− ℎ2 [rad s⁄ ] 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ę [rad s⁄ ]. Częstotli- wość 𝑓[Hz] przeliczamy na częstość kołową 𝜔 [rad s⁄ ] według wzoru:

𝜔 = 2𝜋𝑓. (5)

0

A eht

(4)

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

(5)

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

(6)

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

(7)

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

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

x

𝑎 = 𝑥̈ 𝑣 = 𝑥̇ 𝑥

𝑣 = ∫ 𝑎 dt 𝑥 = ∫ 𝑣 dt

(8)

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.

(9)

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 [rad s⁄ ].

9. Przelicz częstość 6[rad s⁄ ] 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 ??? ???

Cytaty

Powiązane dokumenty

Interestingly, the HT, Bunyip Pump, Globe case coaxial water turbine pump, and the High Lifter on one hand, and the MT and Vietnamese hydraulic pump on the other hand, are

Zwięzły artykuł „Kilka uwag dotyczących upadku systemu komunistycznego w Czechosłowacji w kontekście środkowowschodnioeuropejskim” (Old ichT m a, „ kolik poznamek

Uwaga adwokata mogłaby zostać odczytana jako wyraz pesymizmu kulturowego, tak rozpowszechnionego w Niemczech u schyłku XIX w. Bardziej prawdopodobne jest jed­ nak, że Sello

Jeśli jest to możliwe, z menu Renderer nad oknem widokowym należy wybrać pozycję High Quality Rendering zamiast domyślnie włączonej Default Quality Rendering, co

Zad 4 Zmodyfikuj pracę układu z zadania 4 tak aby po uruchomieniu silnika w dowolnym kierunku można było przerwać jego pracę wciskając przycisk sterowniczy dla przeciwnego

Jedna to dążenie do obiektyw nego przedstawiania działalności Frydego na szeroko zarysowanym tle krytyki i życia literackiego w latach trzydziestych oraz

Pamiętnik Literacki : czasopismo kwartalne poświęcone historii i krytyce literatury polskiej 55/4,

Przedstawiono model matematyczny i oprogramowanie do analizy stanów dyna- micznych trójfazowego silnika indukcyjnego. Parametry schematu zastępczego są wy- znaczane