Modelowanie z wykorzystaniem programu ModelQ
Kolejne elementy serwomechanizmu można zaprojektować z wykorzystaniem dostępnych komponentów. Każdy z nich zawiera standardowo dwa rodzaje wejść. Pierwsze odpowiadają za sygnały wchodzące do obiektu. Kolejne to wejścia odpowiadające za różne własności obiektów/bloków, takie jak nastawy regulatora, stałe czasowe, itp. Bloki generują na podstawie sygnałów wejściowych i nastaw sygnały wyjściowe. Informacje dotyczące parametrów poszczególnych bloków można modyfikować zaznaczając element i wybierając opcje z menu głównego View-Properties lub wciskając klawisz F2. Otwiera się wtedy oddzielne okno z informacjami o własnościach danego elementu.
Pierwszym projektowanym elementem będzie regulator typu PID. Blok analogowego regulatora PID znajduje się w zakładce Analog Filters. Ma on wejścia odpowiadające za kolejne nastawy akcji proporcjonalnej, całkującej oraz różniczkującej. W celu dobierania nastaw można wykorzystać bloki typu Live Constant z zakładki Constants, które pozwalają na zmiany wartości przez użytkownika w trakcie symulacji, w czasie rzeczywistym. Schemat regulatora z wykorzystaniem dostępnych bloków jest przedstawiony na rys. 3.
Kolejnym elementem jest konwertor, którego najprostszym modelem może być filtr dolnoprzepustowy o określonej częstotliwości minimalnej, po której następuje spadek wzmocnienia oraz tłumienie. Dla celów symulacji przyjęto częstotliwość graniczną o wartości 800Hz. Blok filtru dolnoprzepustowego 2-Pole Low-Pass Filter znajduje się w zakładce Analog Filters. Model konwertora przedstawiono na rys. 4.
Następnym modelowanym elementem jest napęd. Jego prawidłowy opis jest bardzo ważny, ponieważ od modelu matematycznego obiektu regulacji zależy w głównej mierze analiza całego układu. Silnik może być z wystarczającą dokładnością modelowany z wykorzystaniem standardowej notacji Laplace'a jako
Symulacja i prototypowanie Hardware in the Loop za darmoIstotnym elementem, który powinien być brany pod uwagę podczas modelowania, jest koszt oprogramowania służącego do symulacji. Decydując się na rozwiązanie komercyjne należy liczyć się ze stosunkowo dużym wydatkiem. Wybierając narzędzie do symulacji należy więc zwykle rozważyć, jakie problemy będą rozwiązywane z jego pomocą. Może to wymagać konsultacji z ekspertami i określenia dokładnej specyfikacji oprogramowania. Cena programu do symulacji może być bardzo różna. W przypadku komercyjnych narzędzi może wahać się od 25 dol. do ponad 20 tys. dol. Co więcej, wielu elementów nie można otrzymać w wersjach podstawowych, więc trzeba za nie dopłacać. Przykładowo cena pakietu Matlab-Simulink-RealTime Workshop firmy Mathworks do zastosowań komercyjnych wynosi 12 tys. dol, a licencja studencka 89 dol. Ponadto zakup każdej dodatkowej biblioteki funkcji, czyli tzw. toolboxa, to koszt w granicach 1000 do 1500 dolarów. Dlatego na korzystanie z tego typu oprogramowania stać tylko niektóre firmy lub ośrodki naukowe. Zaletą aplikacji komercyjnych jest ciągła współpraca dostawcy oprogramowania z klientem, która polega na szkoleniach, pomocy przy rozwiązywaniu problemów i ciągłym uaktualnianiu produktu. Istnieje szereg rozwiązań pozwalających zminimalizować koszty przeprowadzania symulacji. Powstało wiele aplikacji, które są ogólnodostępnymi odpowiednikami komercyjnego oprogramowania. Zwykle rozwijanie i stosowane są w środowisku akademickim, jednak coraz częściej mają wsparcie od różnych firm i organizacji zajmujących się badaniami i rozwojem nowych technologii. Obecnie środowisko do symulacji i prototypowania HIL składa się zazwyczaj z trzech podstawowych elementów. Pierwszym z nich jest zintegrowany system służący do obliczeń numerycznych oraz graficznej wizualizacji wyników - np. Matlab, Octave, Scilab. Dodatkowo w system wbudowany jest kompilator języka wysokiego poziomu, zwykle zaprojektowanego specjalnie dla środowiska symulacyjnego. Ułatwieniem w pracy jest szereg zaimplementowanych procedur numerycznych, takich jak operacje macierzowe lub rozwiązywanie układów równań różniczkowych. Kolejnym elementem jest system do graficznego projektowania i symulacji układów dynamicznych – zarówno z czasem ciągłym, jak i dyskretnym. Zwykle model rzeczywistego układu buduje się w postaci schematów blokowych. W bardziej rozbudowanych systemach dokonać można wizualizacji i symulacji układów na podstawie ich trójwymiarowych modeli (np. w Vissim, 20-sim). Twórcy oprogramowania zwykle udostępniają bogate biblioteki poszczególnych elementów, począwszy od prostych bloków funkcyjnych po złożone modele obiektów rzeczywistych np. napędów i sterowników popularnych firm. Ostatnim elementem jest system do generowania i uruchamiania na testowej platformie sprzętowej algorytmów zaprojektowanych w środowisku do symulacji. Przykładem mogą być środowiska Real Time Workshop i SynDEx. Zwykle generuje on, na podstawie projektu symulowanego układu, kod w języku C, który może być bezpośrednio zaimplementowany podczas szybkiego prototypowania i testowania HIL. Dodatkową zaletą jest wsparcie dla urządzeń, w których obliczenia przeprowadzane są w czasie rzeczywistym. Współpraca tych trzech systemów pozwala na łatwe projektowanie złożonych modeli rzeczywistych układów oraz ich symulację i ewentualną implementację w prototypach HIL. Należy też podkreślić, że drogi, komercyjny zestaw np. Matlab-Simulink-Real Time Workshop można w wielu przypadkach zastąpić znacznie tańszym rozwiązaniem Scilab-Scicos-HIL/RTAI/SynDEx. Zestawienie wybranych komercyjnych i ogólnodostępnych środowisk symulacyjnych zebrano w tab. 1. |
gdzie J – skupiony moment bezwładności, b – współczynnik tłumienia wiskotycznego. W celu modelowania obiektu regulacji można wykorzystać schematu blokowy z pętlą sprzężenia zwrotnego, tak jak zostało to przedstawione na rys. 5. Wykorzystano tam element całkujący Integrator z zakładki Analog, który opisany jest transformatą
Ostatnim elementem jest model przetwornika pomiarowego, którego wystarczającym przybliżeniem jest filtr dolnoprzepustowy o określonej częstotliwości, jaką dla symulacji przyjęto na poziomie 350Hz. Jego schemat zamieszczony został na rys. 6.
Po zaprojektowaniu wszystkich elementów należy połączyć je tak, jak zastało to przedstawione na rys. 7. Sygnał wejściowy o określonych parametrach zadawany jest przez generator sygnału wejściowego, który można zrealizować przy pomocy bloku Waveform Generator znajdującego się w zakładce Instruments.
Każdy z modeli definiuje zbiór równań różniczkowych rozwiązywanych w dyskretnych chwilach czasu – rzędu kilku mikrosekund. Mechanizm rozwiązujący równania różniczkowe reprezentowany jest przez odpowiedni blok Solver, który powinien znaleźć się na formularzu.
Przebiegi sygnałów podczas symulacji można wyświetlić za pomocą dwóch elementów. Pierwszy z nich to blok odczytu przebiegu sygnałów (Scope), który pozwala na przedstawienie wszystkich sygnałów procesu w czasie.
Współpracujący z nim element to blok wizualizacji zmiennej w czasie rzeczywistym tzw. LiveScope znajdujący się w zakładce Instruments. Bloki do wizualizacji należy dołączyć do linii sygnałów, których przebiegi chcemy zobrazować. W przypadku modelu serwomechanizmu z rys. 7 dołączono je do linii sygnału zadanego oraz linii sygnału wyjściowego. Przykładowe przebiegi dla różnych nastaw regulatora PID odczytane z bloków LiveScope przedstawiono na rys. 8.
Kolejnym istotnym elementem programu ModelQ jest możliwość analizy spektrum częstotliwości FFT (FFT Spectrum Analyzer), która pozwala na podgląd charakterystyk amplitudowej i fazowej badanego układu.
W tym celu należy do układu dodać kolejny blok nazywany Dynamicznym Analizatorem Sygnałów DSA (Dynamic Signal Analyzer). Po jego wybraniu pojawi się okno charakterystyk przedstawione na rys. 9, w którym należy określić sygnał wejściowy i wyjściowy, z wykorzystaniem których przeprowadzona ma zostać analiza.
Możliwy jest wybór tylko tych sygnałów, które użytkownik określił przy pomocy bloków do podglądu sygnałów Live Scope lub bloków Variable z zakładki Instruments. Pozwalają one na odczyt wartości sygnałów bez możliwości wizualizacji ich przebiegu. W przypadku układu przedstawionego na rys. 7 dodano jeden blok Variable odczytujący wartości sygnału sprzężenia zwrotnego.
Dostępne sygnały, za pomocą których można wykreślać charakterystyki znajdują się w rozwijalnych listach (1). Dodatkowo można określić skale osi wykresów przy pomocy zakładek (2). Tworzenie wykresów realizowane jest po wybraniu opcji Go która znajduje się w zbiorze przycisków (3). Są tam także opcje do zapisu charakterystyk do plików graficznych oraz zmiany wyglądu układu współrzędnych. Dodatkowo, po zaznaczeniu opcji Phase/Gain, wykreślić można charakterystykę amplitudowo-fazową.
Po zaprojektowaniu całego układu oraz dołączeniu bloków do wizualizacji należy uruchomić symulację. W tym celu trzeba skorzystać ze zbioru przycisków sterowania symulacją znajdujących się nad formularzem i przedstawionych na rys. 10. Na początku konieczna jest kompilacja projektu (przycisk 1), w celu sprawdzenia, czy nie ma w nim błędów.
Problemy mogą stanowić nieprawidłowe połączenia, niewłaściwe wartości, itp. Warto też wrócić do ustawień początkowych i wyzerować czas trwania symulacji. Symulację uruchamia się przyciskiem 3, a zatrzymuje przyciskiem 2. Na etykiecie 4 wyświetlany jest czas, jaki upłynął od momentu kompilacji i pierwszego uruchomienia symulacji.
Podczas trwania symulacji możliwa jest zmiana parametrów układu (z wykorzystaniem bloków Live Constant), podgląd zmian sygnałów przy pomocy bloków Live Scope oraz wykreślenie charakterystyk amplitudowych i fazowych – blok DSA.
Podsumowanie
Na podstawie przedstawionego przykładu pokazano że symulacja i analiza serwomechanizmu może być zrealizowana stosunkowo prosto z wykorzystaniem ogólnodostępnego i taniego oprogramowania. Rosnące możliwości i elastyczność tego typu aplikacji powodują, że możliwe jest ich wykorzystanie przez inżynierów do sprawdzania i optymalizacji układów regulacji bez potrzeby sięgania po bardziej złożone i kosztowne narzędzia.
Tabele |
Jakub Możaryn