Blog (16)
Komentarze (1.1k)
Recenzje (0)

XCOS: W praktyce

@revcoreyXCOS: W praktyce02.04.2012 01:15

XCOS W Praktyce. XCOS to darmowa alternatywa(tak naprawdę w niektórych dziedzinach tylko) dla matlabowskiego Simulinka. Dla nowych w tej dziedzinie ujmę to tak, program ten służy do graficznego zapisu różnego równań ponadto udostępnia różne elementy takie jak kondensatory,różnego rodzaju źródła sygnału itd. Wszystko wyjaśni się dalej. W przeciwieństwie do swojego dużego brata udostępnia tylko podstawowe bloki mimo to jednak można stosować go z powodzeniem, bo tu warto zauważyć że w zasadzie bloki w simulinku opisujące jakąś strukturę to nic innego jak równania matematyczne zamknięte w subsystem, czyli de facto można zaimplementować w XCOS podobnie działający blok jednak wymaga to nakładu pracy, ponadto posiada on mniej opcji jeśli idzie o same ustawienia obliczeń. I o dziwo nie wieszał mi się dziś w ogóle :)

Ten tekst kieruję raczej do studentów 1 roku kierunków automatyka i robotyka czy mechatronika, niemniej jednak uczniowie techników elektrycznych mogą uznać go za interesujący.

Obiekt inercyjny 1-rzędu

Aby zapoznać się z programem zaczniemy od prostego modelu pierwszego rzędu opisanego transmitancją: 1/(1+x*s) x- dowolna liczba(my przyjmiemy 0.5) Transmitancja otrzymywana jest za pomocą przekształcenia Laplaca. Stosuje się ją w celu ułatwienia rozwiązywania równań różniczkowo-całkowych, jest to odwzorowanie funkcji f(t) w funkcję F(s) czyli w dziedzinie s(przykładowo 1/s to całkowanie a mnożenie przez s to różniczkowanie)Dla zainteresowanych KLIK.

Zbadamy odpowiedź na skok jednostkowy czyli w czasie t=0 na wejście podawana jest jedynka. Uprzedzę nieco fakty i powiem że to człon opóźniający czyli jedynka na wyjściu pojawi się dopiero po pewnym czasie. Ktoś mógłby zadać pytanie 'dobrze a po co taka struktura?', posłużę się przykładem. W przyrodzie nic nie dzieje się natychmiast, istnieją opóźnienia, powiedzmy , rura doprowadzająca parę do turbogeneratora. Zmiana przepływu pary po zmianie otwarcia zaworów nie zmienia się skokowo tylko reakcja jest stopniowa. Ale przejdźmy do symulacji.

Obiekt inercyjny
Obiekt inercyjny

Teraz przerzuć elementy i połącz je tak jak na rysunku. Obiekt w czarnej ramce to tak zwany STEP_FUNCTION czyli skok jednostkowy(w zakładce źródła) po kliknięciu na niego lpm otworzą się opcje: STEP TIME- czas po którym sygnał ma być podany na wyjście bloku domyślnie 1 czyli po 1 sekundzie na wyjściu pojawi się wartość, my dajemy 0 INITIAL VALUE- wartość początkowa zanim minie STEP TIME FINAL VALUE- odpowiedź jaka pojawi się po upłynięciu STEP TIME często jest to 1 ale może być to dowolna wartość, my zostawiamy 1. Blok w ramce czerwonej to CLR(szukaj w systemy czasu ciągłego) czyli transmitancja, klikamy lpm i w oknie: Numerator- czyli licznik ustawiamy 1 Denominator-Mianownik zgodnie z transmitancją ustawiamy 1+0.5*s W ramce żółtej znajduje się CSCOPE(szukaj w sinks), służy on do szybkiego podglądu sygnałów wyjściowych, ma dwa wejścia, sygnał wyjściowy układu(czarny) i czas(czerwone wejście). Czas zostanie dostarczony z zewnętrznego bloku CLOCK, czas działania bloku jest równy czasowi symulacji. Klikamy na CSCOPE lpm, tu potrzebne jest parę zmian.

Outoput window number- czyli numer okna na wyjściu, można nie zmieniać Ymin,Ymax- wartości w osi Y, ustawiamy 0 i 1 Refresh Perion- czas po którym wykres zostanie odświeżony z nowym czasem np. gdy symulacja ma 4 sekundy a my ustawiliśmy 2 to po 2 sekundach symulacji oś x zacznie być numerowana od wartości 2 do 4. Ustawiamy 2. Buffer size- Bardzo ważna opcja, mówi ona ile CSCOPE może wyświetlić punktów, ja ustawiam dużą wartość(100000) abym widział wszystko. Name of Scope- nazwa okna, pokaże się w belce okna po wyświetleniu.

Kliknijmy teraz na CLOCK, w otwartym oknie ustawiamy wartości 0.0001, 0.0001. Dodałem jeszcze blok To workspace, pozwala on z interpretatora scilaba operować zmienną np. można ją wyświetlić ale o tym za chwilę, kliknijmy na blok lpm. Size Buffer- jak poprzednio dość duży potrzebny Scilab varible name- nazwa jaka będzie widoczna w workspace ja dałem odp Po symulacji można w scilab wpisać: plot(odp.time,odp.values) i zostanie wyświetlony wykres z wartością skoku jednostkowego czyli ciągle 1. Przejdźmy teraz do parametrów symulacji(symulacja=>ustawienia):

Ostateczny czas integracji- Jest to czas symulacji, ustawienie 2.0E00 oznacza że ustawiamy czas 2 sekundy, zapis 2.0E01 oznacza 20 sekund ponieważ operujemy tu na potęgach 10 czyli zapis 4.5E05 oznacza 4.5 * 10^5. My ustawmy 2 sekundy. Resztę możemy zostawić. Symulujmy, a odpowiedź naszego układu to:

Odpowiedź na skok jednostkowy obiektu I rzędu
Odpowiedź na skok jednostkowy obiektu I rzędu

Silnik Prądu Stałego

Za modelujmy silnik prądu stałego, a konkretniej silnik obcowzbudny. Model przydatny szczególnie dla studentów/uczniów mających przedmiot maszyny elektryczne, zabawy takim modelem pomagają w zapamiętywaniu charakterystyk maszyn. Teoria: KLIK Implementacji takiego silnika w programach typu xcos/simulink może być parę np. w postaci równań różniczkowych KLIK Ja użyję tu jednak rachunku operatorowego, a jak się okazało w internecie znajduje się instrukcja laboratoryjna także ona zostanie wykorzystana(można by rzec przerżnięta :) ale spokojnie tylko mam stamtąd parametry resztę sam wydedukowałem :P ) jako podstawa, później zbadamy rozruch. Instrukcja do SPS W XCOS model przedstawia się następująco.

Silnik
Silnik

W czerwonej ramce znajduje się sumator , klikamy lpm Number of inputs...- czyli liczba wejść, podawana jako wektor czyli postać [1;1;-1] powoduje że sumator ma trzy wejścia z czego dwa pierwsze to dodawanie a trzeci odejmowanie. My ustawiamy [1;-1] Przed sumatorem znajduje się blok CONST czyli stała, 24 oznacza że podajemy na silnik 24 V.

W pierwszym bloku transmitancji znajduje się wartość 1/(1+0.02*s), jest to opis obwodu elektrycznego, cechuje on się pewną inercją(wyprowadzenia znajdują się w podanej wyżej instrukcji) czyli obiekt I rzędu opisany wcześniej, z kolei drugi blok(żółta ramka) to opis części mechanicznej silnika o postaci, 1/(0.003*s). Blok niebieski to step opisujący obciążenie na wale silnika o Step Time równym 1 czyli po jednej sekundzie podajemy obciążenie równe 1(można podać inną wartość). Mnożenie wyniku przez 9.55 jest potrzebne aby przejść z rad/s na obr/min. Jeśli idzie o CSCOPE to od lewej, prąd pobierany przez silnik,moment rozwijany przez silnik i prędkość. Ustawienia CSCOPE(ustawić sobie tylko nazwy w bloku aby wiadomo było co jest co),CLOCK i symulacji takie same jak wcześniej. A oto wyniki.

Prędkość obrotowa
Prędkość obrotowa
Prąd
Prąd
Moment elektromagnetyczny
Moment elektromagnetyczny

Jak widać prąd pobierany przez silnik podczas rozruch jest dość duży(pomimo krótkiego czasu jest to szkodliwe), istnieje parę sposobów zmniejszenia go. My spróbujmy regulować go za pomocą zmiany napięcia zasilania. Tzn. ustawimy 6 stopni zasilania od 4 V do 24 V skacząc do góry o 4 V co 0.020 sekundy. W tym celu użyjemy sumatora i paru bloków STEP, które będą się załączały z opóźnieniem co 0.020 sekundy. Oczywiście można by też posłużyć się członem opóźniającym pokazanym wcześniej, proszę poeksperymentować :D

Silnik z regulacją rozruchu
Silnik z regulacją rozruchu

Dodałem jednego CSCOPE aby było widać przełaczenia.Jak widać wartość prądu podczas rozruchu nieco spadła jednak czas rozruchu się wydłużył. Wyniki:

Prędkość z regulacją rozruchu
Prędkość z regulacją rozruchu
Prąd z regulacją rozruchu
Prąd z regulacją rozruchu
Moment z regulacją rozruchu
Moment z regulacją rozruchu

Proponuje także aby prąd,moment i prędkość wyprowadzić do workspace po czym zrobić sobie wykres prądu od prędkości itd. Ponieważ na egzaminach pytają o takie rzeczy :D Co więcej warto sobie to zrobić dla różnych wartości napięć czy obciążeń, po czym zamieścić na jednym wykresie.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.