Scilab
Rozdział 10 XCOS-Wejścia i wyjścia czyli generatory i oscyloskopy
Rozdział 10.1 Wstęp
Każdy technolog projektujący instalację przemysłową lub elektronik wzmacniacz musi wiedzieć, jaka jest reakcja tego co projektuje na wejście. Modelowanie w Xcosie polega na pobieraniu z tzw. palet odpowiednich bloków i ich rysowaniu połączeń między nimi.
Generatory i oscyloskopy należą do tych bloków i są ujęte:
Generatory-w palecie Źródła
Oscyloskopy-w palecie Sinks
Rozdział 10.2 Wejście-skok jednostkowy, Wyjście oscyloskop jednokanałowy
Rys.10-1
Wejście-skok jednostkowy, wyjście-oscyloskop jednokanałowy
Ciekawe jak będzie wyglądał skok na oscyloskopie. Ale najpierw musisz zamodelować ww. schemat w Xcosie
Rys.10-2
Budowa schematu z Rys.10-1 w Xcosie i jego rejestracja na oscyloskopie jednokanałowym.
Rysunek przedstawia końcowy stan animacji, czyli stan oscyloskopu.
Animacja przedstawia:
1. Pobranie bloku skoku jednostkowego z palety Źródła
2. Pobranie bloku CSCOPE (oscyloskop jednokanałowy) z palety Źródła
3. Pobranie bloku CLOCK_c (zegar) z palety Obsługa zdarzeń*
4. Rysowanie połączeń
5. Kliknięcie trójkąta “Start”. Pojawi się małe okno wykresu.
Efektem jest skok jednostkowy zarejestrowany na oscyloskopie.
Małe okno możesz oczywiście powiększyć do maksimum, klikając odpowiedni przycisk Windowsa.
Radzę gdzieś zapisać schemat. Przyda się później np. przy Rys. 10-8
Rozdział 10.3 Zmiana parametrów zegara, oscyloskopu i skoku jednostkowego
Przebieg skoku oscyloskopie Rys.10-2 nie jest optymalny.
Co mi się nie podoba?
– Skok ma zakres 0…1 a zakres na oscyloskopie jest -15…+15
– Skok niezbyt idealny bo narasta liniowo, dlaczego?
– Zakresem czasowym przebiegu skoku jest 0…30sek. Wystarczy 0…5sek. W tym czasie wszystko się ustaliło!
Pomajstrujmy przy nastawach klikając prawą myszą odpowiednie bloki wg. Rys.10-3.
Rys.10-3
Nastawa parametrów zegara, oscyloskopu i skoku jednostkowego.
Clock_c (Zegar)
Zegar słuzy do kwantowania czasu który w klasycznym pojęciu jest ciągły. A w XCOSie zmienia się co dowolny kwant-okres. Nic prostszego. Tym lepiej im okres mniejszy np. milionowa część sekundy. Ale wtedy zwiększa się liczba obliczeń. A ponieważ często występuje tzw. rekurencja, to błędy się kumulują. Nie dość że obliczenia trwają dłużej, ale są mniej wiarygodne. Pewien okres, nie za duży i nie za mały jest optymalny. Jaki? Nie jestem matematykiem i stosuję intuicję. Gdy widzę, że przebiegi zmieniają się w miarę równomiernie w czasie np.5 sek, to wstępnie spróbuję dać okres np. 0.1sek. Gdy widzę, że Xcos obliczył ewidentnie źle, to zmniejszę go na 0.01sek i sprawdzę “czy się poprawiło”. Przeważnie tak, ale nie zawsze.
Wróćmy do nastawy. Klikam prawą myszą blok zegara i w chodzę w okno wyboru. Tu klikam Blok Ustawień–>Set CLOCK_c. Ustawiam okres tu 0.1sek oraz stan początkowy 0. Tak był ustawiony na Rys.10-1 okres 0.1sek. Jest chyba za duży, bo skok przypomina trapez. W następnym doświadczeniu dam 0.01sek.
CSCOPE (oscyloskop jednokanałowy)
Klikam prawą myszą blok oscyloskopu i w chodzę w okno wyboru. Tu klikam Blok Ustawień–>Set CSCOPE block parameters i mogę między innymi ustawić:
– kolor linii różnych przebiegów-Użyteczne gdy w oscyloskopie jednokanałowym jest kilka przebiegów. Dziwne, w jednokanałowym kilka przebiegów? Nie wnikam w nazwę , najważniejsze, że działa.
– Wymiary okna przebiegów
– Ymax
– Ymin
– Okres odświeżania ekranu
STEP_FUNCTION (skok)
Nastawy
– Opóźnienie (tu 1sek)
– Wartość początkowa (tu 0)
– Wartość końcowa (tu 1)
No to zmieńmy nastawy, żeby było ładniej.
Rys.10-4
Wykres po zmianie parametrów bloków.
Zobacz w animacji jak to zrobiłem. Przyda się ściąga Rys. 10-3
1. Zmiana okresu kwantowania w zegarze z 0.1sec* to 00.1sec. Powinna poprawić się stromość skoku
2. Zmiana zakresu ekranu oscyloskopu z -15…+15 na -1…+2. Powiększenie, czyli widać więcej szczegółów.
3. Zmiana opóźnienia w skoku jednostkowym z 1sek na 1.5sek, wartości początkowej z 0 na 0.5 i wartości końcowej z 1 na 1.5.
Czyli nowym skokiem będzie 0.5…1.5. Po co, skoro skok jednostkowy 0…1 jest najbardziej naturalny? Po to byś pobawił się oknem nastaw.
*Początkowe stany zegara i inne mogą być oczywiście inne.
Wniosek
Zmiany, które wprowadziłem klikając prawą myszą bloki, są takie jakich oczekiwałem.
Do szczęścia brakuje mi jeszcze długość eksperymentu. Trwa od 0…30sek. Po co tak długo, skoro od 2 sekundy nic się nie dzieje?
Czas eksperymentu zmienimy klikając prawą myszą zakładkę “Symulacja” okna XCOS. Można zmienić także inne parametry.
Rys.10-5
Okno Symulacji
Bardzo ważne okno w którym ustawiamy najważniejsze parametry obliczeniowe XCOSa związane głównie z całkowaniem.
Możesz ustawić 7 parametrów w 7 okienkach. Do 6-ciu wpisujemy liczbę dziesiętną która automatycznie zmieni się w notację naukową.
Najważniejszymi są:
1. Ostateczny czas integracji.
Prościej–>czas eksperymentu. Tu 30 sek inaczej 3.0E01 w wersji naukowej.
2. Skalowanie czasu
0=0.0E00-Wykres pojawia się “natychmiast”. Ściślej natychmiast po obliczeniach symulacyjnych.
1=1.0E00-Wykres w czasie rzeczywistym. Np. Gdy kondensator w układzie RC ładuje się 5 sek, to wykres na ekranie też trwa 5 sek.
Tak jakbyśmy obserwowali prawdziwy układ RC! Prawie zawsze stosuję tą metodę.
3. Solver kind
Nie wnikając w szczegóły, XCOS rozwiązuje równania różniczkowe numerycznie, opierając się głównie na obliczeniu całki, czyli polu pod funkcją np. czasu. Im dokładniej ją obliczymy, tym dokładniej rozwiążemy równanie różniczkowe. W tym okienku wybieramy metodę całkowania. Tu jest jest ich 8. To którą wybrać? Odpowiem krótko i na temat. Nie wiem, ale wybieram RK-Runge-Kutta 4(5). Ludzie często ją używają, a poza tym fajna nazwa. Coś jak bunga-bunga. Trochę bardziej serio. Gdybyś podejrzewał, że otrzymany przebieg symulacji nie jest z krainy marzeń, to spróbuj pozostałych metod.
Rys.10-6
Wykres po ostatecznej zmianie parametrów bloków
1. Zmiana okresu odświeżania ekranu (refresh period) z 30sek na 5sek
2. Zmiana opóźnienia w skoku jednostkowym z 1.5sek na 1sek oraz zakresu amplitud z 0.5…1.5 na 0…1. Czyli powrót do typowego skoku jednostkowego.
3. Zmiana Ostatecznego Czasu Integracji z 30sek na 5sek po kliknięciu prawą myszą zakładki Symulacja. Jest oczywiste, że powinien być taki sam jak Okres odświeżania ekranu z p.1 czyli 5.
4. W tym samym okienku ustawiłem Skalowanie czasu rzeczywistego z 0 na 1. Ten rozwijający się na naszych oczach przebieg, bardziej oddaje dynamikę procesu niż “natychmiastowy” wykres jak w książce. Tę zasadę stosowałem w tym kursie oraz w innych, w tym Podstaw Automatyki.
W efekcie otrzymaliśmy piękny, prawie prostokątny wykres o zakresie “poziomym” 0…5sek i “pionowym” -1…+2.
Rozdział 10.4Wejścia-fala prostokątna, skok jednostkowy i sinusoida, Wyjście oscyloskop jednokanałowy
Rys. 10-7
Wejścia-fala prostokątna, skok jednostkowy i sinusoida, Wyjście oscyloskop jednokanałowy.
Generator fali prostokątnej, skoku i sinusoidy są oczywiste. Oscyloskop jednokanałowy też. Roli bloku MUX możemy się domyślać. Nowością są też bloki tekstowe x1, x2 i x3. Stwórzmy i sprawdźmy ten schemat.
Rys.10-8
Budowa schematu z 3 sygnałami wejściowymi x1, x2 i x3 na wspólnym ekranie oscyloskopu 1-kanałowego
1. Pobranie schematu najbardziej podobny do Rys.10-7. U mnie jest to schemat z Rys.10-1, który wcześniej zapisałem w folderze jako …xcos/Scilab10-1. Jeżeli nie masz przodka, to zbuduj schemat od zera. Projektant domu umarłby z głodu, gdyby każdy projekt zaczynał od zera.
2. Pobranie bloków generatora fali prostokątnej i sinusoidalnej
3. Usunięcie niepotrzebnego połączenia
4. Pobranie mulitpleksera MUX i zmiana liczby wejść z 2 na 3
5. Połączenie bloków liniami
6. Zmiana “prawą myszą” parametrów poszczególnych bloków–>patrz *Uwaga
7. Pobranie bloków tekstowych z palety Adnotacje (paleta ma tylko 1 blok!–> TEKST_f). Poprzez dwukrotne kliknięcie lewą myszą zaznaczasz i zmieniasz tekst. Umieszczenie tekstów x1, x2 i x3 przy odpowiednich generatorach.
*Uwaga
Będzie tu trochę nudnego tekstu, ale przetraw to. Przyda się przy ustawianiu parametrów XCOSa.
Zależy mi na tym, żeby w czasie 5 sekund wyświetlone było 5 okresów generatora fali prostokątnej, 1 skok i 1 okres sinusoidy.
Dlatego:
1. Oscyloskop ma już wcześniej nastawiony czas odświeżania 5 sek oraz nastawy Ymin=-1 i Ymax=+2. W zakładce Symulacja czas integracji też jest 5 sek i skalowanie czasu rzeczywistego=1. Czyli wykres będzie się rozwijał przez 5 sek. Tak jakbyś w laboratorium obserwował prawdziwe doświadczenie!
2. Nastawy generatora fali prostokątnej
-Opóźnienie 0
-Wypełnienie impulsu 50%
-Okres 1 sek
-Amplituda 1
3. Nastawy generatora skoku jednostkowego
– Opóźnienie 1sek
– Wartość początkowa skoku 0
– Wartość końcowa skoku 1
4. Nastawy generatora sinusoidalnego
– Amplituda A 0.75
– Pulsacja ω w rad/sek 1.257–>Odpowiada okresowi T=2π/ω=5sek
Kolory przebiegów x1, x2 i x3 odpowiadają kolorom 1,3,5 kolorom linii przebiegów z Rys. 10-3 z nastawy oscyloskopu–>czarny, zielony, czerwony.
Rozdział 10.5 Wejścia-fala prostokątna, skok jednostkowy i sinusoida, Wyjście oscyloskop wielokanałowy
Rys.10-9
Wejścia-fala prostokątna, skok jednostkowy i sinusoida, Wyjście oscyloskop wielokanałowy.
Czyli modyfikacja Rys.10-7 w którym oscyloskop jednokanałowy zastąpiliśmy wielokanałowym. Mutiplekser MUX nie jest potrzebny.
Klikając prawą myszą otrzymamy blok nastaw podobny do tego z Rys. 10-3. A jakie różnice?
– Dodano okienko Input ports sizes. Tu 3 jedynki oznaczają 3 wejścia oscyloskopu dla wejść x1,x2 i x3
– Ymin vector (-1,-1,-1) to dolne zakresy x1min=-1, x2min=-1, x3min=-1
– Ymax vector (1,5, 1.5, 1,4) to górne zakresy x1max=+1.5, x2max=+1.5, x3max=+1.5
– Refresh periods (5,5,5) to czasy po 5sek dla przebiegów x1,x2,3
Te nastawy będą użyte w poniższej animacji Rys. 10-10
Rys.10-10
Budowa schematu z 3 sygnałami wejściowymi x1, x2 i x3 na wspólnym ekranie oscyloskopu 3-kanałowego
1. Pobranie schematu najbardziej podobny do Rys.10-9. U mnie jest to schemat z Rys.10-7 który wcześniej zapisałem w folderze jako ..xcos/Scilab10-8.
2. Usunięcie multipleksera MUX. Znikły także połączenia. Super, mniej roboty!
3. Pobranie z palety Sinks oscyloskopu wielokanałowego CMSCOPE
4. Usunięcie “starego” oscyloskopu jednokanałowego CSCOPE
5. Kliknięcie prawą myszą oscyloskopu i wpisanie danych z Rys. 10-9.
6. Narysowanie połączeń
7. Kliknięcie trójkącika “Start” w górnej zakładce
Zobaczysz 3 przebiegi Porównaj z oscyloskopem jednokanałowym z Rys. 10-8.
Przebiegi są takie same, tylko na osobnych wykresach.
Po przeczytaniu rozdz. 9, 10 masz już wystarczające narzędzia do budowania dużych i skomplikowanych schematów. Dla mnie automatyka są to Układy Regulacji Automatycznej. Mechanicy, elektrycy, chemicy… też znajdą coś dla siebie. Wypłyńmy więc na szerokie wody oceanu modelowania zjawisk fizycznych.