KOMPUTEROWA SYMULACJA UKŁADÓW AUTOMATYCZNEJ REGULACJI W ŚRODOWISKU MATLAB/Simulink. Barbara ŁYSAKOWSKA, Grzegorz MZYK



Podobne dokumenty
INSTRUKCJA DO ĆWICZEŃ LABORATORYJNYCH Z PODSTAW AUTOMATYKI W PROGRAMIE MATLAB dr inż. GRZEGORZ MZYK

KOMPUTEROWA SYMULACJA UKŁADÓW AUTOMATYCZNEJ REGULACJI W ŚRODOWISKU MATLAB/Simulink. Barbara ŁYSAKOWSKA, Grzegorz MZYK

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

Podstawy środowiska Matlab

Transmitancje układów ciągłych

Tematyka egzaminu z Podstaw sterowania

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 6 AUTOMATYKA

Katedra Automatyzacji Laboratorium Podstaw Automatyzacji Produkcji Laboratorium Podstaw Automatyzacji

przy warunkach początkowych: 0 = 0, 0 = 0

Podstawy Automatyki. Wykład 2 - podstawy matematyczne. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Ćwiczenie nr 1 Odpowiedzi czasowe układów dynamicznych

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie

Podstawy Automatyki. Wykład 7 - obiekty regulacji. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Systemy. Krzysztof Patan

Ćwiczenie 3 Badanie własności podstawowych liniowych członów automatyki opartych na biernych elementach elektrycznych

Teoria sterowania - studia niestacjonarne AiR 2 stopień

Sposoby modelowania układów dynamicznych. Pytania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Podstawy Automatyki

Technika regulacji automatycznej

UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia:

PODSTAWY AUTOMATYKI. Analiza w dziedzinie czasu i częstotliwości dla elementarnych obiektów automatyki.

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

1. POJĘCIA PODSTAWOWE I RODZAJE UKŁADÓW AUTOMATYKI

4. Właściwości eksploatacyjne układów regulacji Wprowadzenie. Hs () Ys () Ws () Es () Go () s. Vs ()

Podstawy Automatyki. Wykład 5 - stabilność liniowych układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Laboratorium nr 3. Projektowanie układów automatyki z wykorzystaniem Matlaba i Simulinka

Podstawy Automatyki. Wykład 5 - stabilność liniowych układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Automatyka i robotyka ETP2005L. Laboratorium semestr zimowy

Podstawy Automatyki. Wykład 5 - stabilność liniowych układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

1. Transformata Laplace a przypomnienie

Procedura modelowania matematycznego

Ćwiczenie nr 6 Charakterystyki częstotliwościowe

Podstawy Automatyki. Wykład 2 - modelowanie matematyczne układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

Podstawy Automatyki. Wykład 2 - modelowanie matematyczne układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy Automatyki. Wykład 2 - matematyczne modelowanie układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Macierz A nazywamy macierzą systemu, a B macierzą wejścia.

Plan wykładu. Własności statyczne i dynamiczne elementów automatyki:

PRZEWODNIK PO PRZEDMIOCIE

POLITECHNIKA ŚLĄSKA WYDZIAŁ GÓRNICTWA I GEOLOGII. Roman Kaula

POMIARY WIELKOŚCI NIEELEKTRYCZNYCH

Statyczne badanie wzmacniacza operacyjnego - ćwiczenie 7

UWAGA. Program i przebieg ćwiczenia:

Laboratorium elementów automatyki i pomiarów w technologii chemicznej

PRZEWODNIK PO PRZEDMIOCIE

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Teoria obwodów / Stanisław Osowski, Krzysztof Siwek, Michał Śmiałek. wyd. 2. Warszawa, Spis treści

Metody i analiza danych

Przekształcanie schematów blokowych. Podczas ćwiczenia poruszane będą następujące zagadnienia:

Obiekt. Obiekt sterowania obiekt, który realizuje proces (zaplanowany).

Badanie właściwości dynamicznych obiektów I rzędu i korekcja dynamiczna

1. Regulatory ciągłe liniowe.

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Badanie wpływu parametrów korektora na własności dynamiczne układu regulacji automatycznej Ćwiczenia Laboratoryjne Podstawy Automatyki i Automatyzacji

Wstęp do Programowania Lista 1

Politechnika Warszawska Wydział Samochodów i Maszyn Roboczych Instytut Podstaw Budowy Maszyn Zakład Mechaniki

Wprowadzenie do technik regulacji automatycznej. prof nzw. dr hab. inż. Krzysztof Patan

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy SIMULINKA

Wzmacniacze operacyjne

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa TECHNIKI REGULACJI AUTOMATYCZNEJ

ĆWICZENIE 6 Transmitancje operatorowe, charakterystyki częstotliwościowe układów aktywnych pierwszego, drugiego i wyższych rzędów

1. Rejestracja odpowiedzi skokowej obiektu rzeczywistego i wyznaczenie podstawowych parametrów dynamicznych obiektu

Stabilność. Krzysztof Patan

Ćwiczenie: "Obwody prądu sinusoidalnego jednofazowego"

Automatyka i Regulacja Automatyczna Laboratorium Zagadnienia Seria II

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie

A-2. Filtry bierne. wersja

Automatyka i robotyka

TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

analogowego regulatora PID doboru jego nastaw i przetransformowanie go na cyfrowy regulator PID, postępując według następujących podpunktów:

CHARAKTERYSTYKI CZĘSTOTLIWOŚCIOWE

PRZEWODNIK PO PRZEDMIOCIE

Podstawowe człony dynamiczne

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Politechnika Warszawska Wydział Samochodów i Maszyn Roboczych Instytut Podstaw Budowy Maszyn Zakład Mechaniki

Rok akademicki: 2016/2017 Kod: EEL s Punkty ECTS: 6. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Wykład z Technologii Informacyjnych. Piotr Mika

Politechnika Warszawska Wydział Samochodów i Maszyn Roboczych Instytut Podstaw Budowy Maszyn Zakład Mechaniki

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Podstawy Automatyki. wykład 1 ( ) mgr inż. Łukasz Dworzak. Politechnika Wrocławska. Instytut Technologii Maszyn i Automatyzacji (I-24)

Laboratorium z podstaw automatyki

Rys 1 Schemat modelu masa- sprężyna- tłumik

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Dyskretne układy liniowe. Funkcja splotu. Równania różnicowe. Transform

Regulacja dwupołożeniowa.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Celem dwiczenia jest poznanie budowy i właściwości czwórników liniowych, a mianowicie : układu różniczkującego i całkującego.

Politechnika Warszawska Wydział Samochodów i Maszyn Roboczych Instytut Podstaw Budowy Maszyn Zakład Mechaniki

Podstawy Automatyki. Wykład 7 - Jakość układu regulacji. Dobór nastaw regulatorów PID. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

WYDZIAŁ PPT / KATEDRA INŻYNIERII BIOMEDYCZNEJ D-1 LABORATORIUM Z MIERNICTWA I AUTOMATYKI Ćwiczenie nr 7. Badanie jakości regulacji dwupołożeniowej.

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0,

Sterowaniem nazywamy celowe oddziaływanie na przebieg procesów. Można wyróżnid ręczne oraz automatyczne.

Część 1. Transmitancje i stabilność

Regulator PID w sterownikach programowalnych GE Fanuc

Przyjmuje się umowę, że:

Transkrypt:

KOMPUTEROWA SYMULACJA UKŁADÓW AUTOMATYCZNEJ REGULACJI W ŚRODOWISKU MATLAB/Simulink Barbara ŁYSAKOWSKA, Grzegorz MZYK WROCŁAW 2005

Opiniodawcy Stanisław Bańka Danuta Rutkowska Korekta Alina Kaczak Opracowanie komputerowe w systemie LaTeX Grzegorz Mzyk Oficyna Wydawnicza Politechniki Wrocławskiej Wybrzeże Wyspiańskiego 27, 50-370 Wrocław

3 Spis rzeczy 1. Wprowadzenie 7 1.1. Zawartość istrukturapodręcznika... 7 1.2. Istotaicelesymulacjikomputerowej... 8 2. Środowisko programowe MATLAB podstawy 11 2.1. Informacje wstępne... 11 2.2. ŚrodowiskopakietuMATLAB... 11 2.2.1. Linia poleceń,komunikacjazsystememoperacyjnym... 12 2.2.2. Definiowanie i modyfikacjazmiennych,obszarroboczy... 12 2.2.3. Operacjenamacierzach... 13 2.2.4. FunkcjealgebrynumerycznejwprogramieMATLAB... 13 2.3. Tworzenie i uruchamianie M -skryptów... 14 2.4. Funkcje pakietu Control System Toolbox... 15 2.5. Nakładka graficzna Simulink... 16 2.5.1. Edytor graficzny... 17 2.5.2. Źródła sygnałów (Sources)... 20 2.5.3. Rejestratory sygnałów (Sinks)... 21 2.5.4. Elementy i bloki liniowe z czasem ciagłym (Linear)... 21 2.5.5. Elementy nieliniowe (Nonlinear)... 22 2.5.6. Systemy z czasem dyskretnym (Discrete)... 23 2.5.7. Widoczność danychwprogramiematlab... 24 2.6. KorzystaniezfunkcjiHELP... 24 3. Charakterystyki czasowe obiektów z czasem ciagłym 25 3.1. Wprowadzenie... 25 3.2. Zakres tematyczny ćwiczenia... 26 3.2.1. Liniowe równanie różniczkowe,transformacjalaplace a... 26 3.2.2. Opis liniowego systemu dynamicznego z czasem ciagłym w przestrzenistanów,systemywielowymiarowe... 27 3.2.3. Sterowalność, osiagalność i obserwowalność... 29 3.3. Badaniakomputerowe... 30 3.3.1. Wyznaczaniecharakterystykczasowych... 30

4 3.3.2. Identyfikacja parametrów typowych członówliniowych... 31 3.3.3. Numeryczny rozkład funkcji wymiernej na ułamkiproste... 33 3.3.4. Testowanie sterowalności i obserwowalnościsystemu... 33 3.3.5. Przykładoweodpowiedziskokowe... 33 3.4. Przykładypraktyczne... 36 3.4.1. Ładowanie kondensatora w układachrcicr... 36 3.4.2. Zbiornik z ciecza... 38 3.4.3. Termometr jako układ inercyjny pierwszego rzędu... 39 3.5. Podsumowanie... 40 4. Systemy o złożonej strukturze i ich stabilność 41 4.1. Wprowadzenie... 41 4.2. Zarys tematyczny ćwiczenia... 42 4.2.1. Strukturaszeregowa... 42 4.2.2. Struktura równoległa... 43 4.2.3. Struktura szeregowo-równoległa... 44 4.2.4. Struktura ze sprzężeniemzwrotnym... 45 4.2.5. Badanie stabilności systemów ze sprzężeniemzwrotnym... 48 4.2.6. Określanie stabilności systemów za pomocamatlab... 51 4.3. Badaniakomputerowe... 53 4.3.1. Detekcja rzędu inercyjności... 53 4.3.2. Detekcja rzęduastatyzmu... 54 4.3.3. Badanie stabilności układów złożonych... 55 4.3.4. StrukturyregulatorówP,PIiPID... 58 4.3.5. FunkcjepakietuMATLABdobudowaniastruktur... 59 4.4. Przykładpraktyczny wzmacniaczoperacyjny... 59 4.5. Podsumowanie... 61 5. Charakterystyki częstotliwościowe obiektów dynamicznych 63 5.1. Wprowadzenie... 63 5.2. Zakres tematyczny ćwiczenia... 63 5.2.1. Odpowiedź systemu liniowego na pobudzenie sinusoidalne... 63 5.2.2. Transmitancjawidmowa... 65 5.2.3. Charakterystyki częstotliwościowe... 66 5.2.4. Zapasamplitudyizapasfazy... 67 5.3. Program ćwiczenia... 68 5.4. Komputerowebadaniecharakterystyk... 68 5.4.1. Wyznaczaniecharakterystykamplitudowo-fazowych... 68 5.4.2. WyznaczaniecharakterystykBodego... 70 5.4.3. Wyznaczanie gęstości widmowej mocy sygnału... 70 5.5. Przykład praktyczny głowicaradiowa... 72

5 6. Liniowe układy automatycznej regulacji z czasem ciagłym 75 6.1. Wprowadzenie... 75 6.2. WłasnościUARwstanieustalonym... 78 6.2.1. Wprowadzenie... 78 6.2.2. Program ćwiczenia...... 82 6.2.3. Badaniakomputerowe... 87 6.3. Kryteria jakościregulacji dobórnastaw... 93 6.3.1. Wprowadzenie... 93 6.3.2. Program ćwiczenia...... 97 6.3.3. Badaniakomputerowe... 99 6.3.4. Przybliżona analiza układównieliniowych... 102 6.4. Przykładypraktyczne... 108 6.4.1. Sterowanie ręczne napełnianiemzbiornika... 108 6.4.2. Układ Automatycznej Regulacji Częstotliwości... 109 7. Układy automatyki z czasem dyskretnym 111 7.1. Wprowadzenie... 111 7.1.1. Równanie różnicowe... 111 7.1.2. Transformacja Z... 112 7.1.3. Transmitancjasystemuzczasemdyskretnym... 113 7.1.4. Transmitancjawidmowa... 114 7.1.5. Standardowepobudzeniadyskretne... 114 7.1.6. Stabilność układówzczasemdyskretnym... 115 7.1.7. Ekstrapolatoriimpulsator... 117 7.1.8. Systempobudzanyprocesemlosowym... 118 7.1.9. Identyfikacja liniowych systemów dynamicznych z czasem dyskretnym... 119 7.2. Program ćwiczenia... 123 7.3. Badaniakomputerowe... 124 7.3.1. Wyznaczanie odpowiedzi impulsowych, transformacja Z... 124 7.3.2. Identyfikacja... 124 7.3.3. Przykładowewynikisymulacjikomputerowej... 126 7.3.4. Badanie stabilności... 126 7.3.5. Systemy złożone... 126 7.3.6. Analiza korelacyjna procesu wyjściowego... 129 7.4. Przykład praktyczny filtracja dźwięku... 129 7.5. Podsumowanie... 129 Literatura 131 Indeks 133

6

7 1. Wprowadzenie 1.1. Zawartość istrukturapodręcznika Podręcznik jest adresowany do osób studiujacych na kierunkach politechnicznych zwiazanych z automatykairobotyk a, elektronika i telekomunikacja oraz informatyka. Od czytelnika wymaga się znajomości podstaw automatyki w zakresie: transformacji Laplace a, charakterystyk czasowych i częstotliwościowych liniowych członów dynamicznych, kryteriów stabilności systemów liniowych, analizy układów ze sprzężeniem zwrotnym, właściwości układów regulacji typu P, PI i PID, a także transformacji Z oraz opisu i analizy systemów z czasem dyskretnym. W celu uzupełnienia wiedzy teoretycznej ze wskazanego zakresu, szczególnie polecana jest monografia [5]. Celem podręcznika jest pomoc w rozwinięciu umiejętności w zakresie zastosowania teoretycznych podstaw automatyki w zagadnieniach praktycznych przez komputerowa symulację wybranych procesów dynamicznych. Aby rozważania nie byłypro- wadzone w oderwaniu od zjawisk rzeczywistych, zagadnienia teoretyczne sa przeplatane mniej formalnymi przykładami zastosowania teorii systemów liniowych. Ksiażka składa się zsześciu rozdziałów. Każdy z nich może być traktowany jako materiał dydaktyczny do jednego lub kilku ćwiczeń komputerowych (laboratoryjnych). Rozdział 2 jest krótkim kursem obsługi środowiska programowego MATLAB, w zakresie analizy, symulacji i graficznej reprezentacji prostych systemów automatyki. Pakiet ten wybrano ze względu na prostotę obsługi oraz powszechne zastosowanie w inżynierskich badaniach Układów Automatycznej Regulacji (UAR). Rozdziały 3 6 poświęcone sa analizie systemów liniowych z czasem ciagłym, badaniu charakterystyk, analizie stabilności, nastawianiu regulatorów. Rozdział 7 dotyczy opisu i analizy stabilności liniowych prostych izłożonych systemów z czasem dyskretnym. Rozpatruje się także zagadnienie

8 1. Wprowadzenie przejścia procesu losowego przez liniowy system dynamiczny oraz identyfikację jego parametrów metoda najmniejszych kwadratów. Materiał do każdego ćwiczenia rozpoczyna się odobszernegowstępu teoretycznego. Następnie przedstawiony jest plan badań, sposób ich realizacji komputerowej i przykładowe wyniki eksperymentów. Podane sa również ćwiczenia symulacyjne i obliczeniowe oraz proste przykłady praktyczne z różnych dziedzin, np. fizyki, elektroniki, mechaniki. Autorzy pragna serdecznie podziękować Panu prof. dr hab. inż. Zygmuntowi Hasiewiczowi, autorowi pierwszego zestawu ćwiczeń laboratoryjnych z Podstaw Automatyki, na bazie którego mogli rozwinać i udoskonalić ich zakres tematyczny, wprowadzajac jednocześnie komputerowa implementację w środowisku MATLAB. 1.2. Istota i cele symulacji komputerowej Wcelupodkreślenia znaczenia symulacji komputerowej rzeczywistych zjawisk dynamicznych omówiono kolejne fazy projektowania układu automatycznej regulacji na przykładzie sterowania poziomem wody w jeziorze. Pierwszym krokiem jest zdefiniowanie obiektu sterowania i ustalenie sygnału wyjściowego y(t) obiektu, jako celu sterowania, czyli takiej jego cechy fizycznej, którana- leży sterować. Określa się równieżsygnał wejściowy u(t) wielkość fizyczna majac a zasadniczy wpływ na y(t), np. obiekt jezioro z zapora na rzece, y(t) poziom wody w jeziorze w chwili t, u(t) położenie zasuwy w zaporze wchwilit. z(t) u (t) y(t) OBIEKT Rys. 1.1. Graficzna reprezentacja obiektu regulacji Na obiekt oddziałuja również inne wielkości z(t) zwanezakłóceniami, trudne lub zbyt kosztowne w analizie, często o charakterze przypadkowym (np. opady deszczu, parowanie). Dla obiektu z rysunku 1.1 poszukuje się możliwie najlepszej formuły matematycznej F (wzoru, funkcjonału) opisujacej zależność y(t) od u(t) y(t) F(u(t τ)), gdzie τ =0,...,

1.2. Istota i cele symulacji komputerowej 9 Tabela 1.1. Wyniki do rankingu Liczba dni: τ 7 14 21 Liczba punktów zawodnika A: u A 1 2 1 Liczba punktów zawodnika B: u B 1 1 2 Obiekt identyfikuje się, korzystajac z teoretycznych praw fizyki oraz zgromadzonych eksperymentalnie wartości pomiarów u(t) i y(t). W pracy ograniczamy się do obiektów liniowych (spełniajacych zasadę superpozycji), działajacych bez zakłóceń z(t). Zasada superpozycji mówi, że w systemie liniowym odpowiedź nasumę dwóch dowolnych pobudzeń jest zawsze taka sama, jak suma odpowiedzi na każde z tych pobudzeń z osobna, tzn. jeżeli system liniowy przetwarza u 1 (t) y 1 (t) oraz u 2 (t) y 2 (t), to u 1 (t)+u 2 (t) y 1 (t)+y 2 (t). Przykładowo, system całkujacy sygnał wejściowy: y(t) = R t 0 u(t)dt jest liniowy (liniowość całki) i dynamiczny (wyjście zależy od historii wejścia), system natomiast opisany równaniem y(t) = u(t) jest nieliniowy (kontrprzykład: dla u 1 (t) =1(t) i u 2 (t) = 1(t), u 1 (t)+u 2 (t) =0,a u 1 (t) + u 2 (t) =2 1(t)) i statyczny. W systemach liniowych F jest splotem sygnału wejściowego u(t) zpewn a funkcja wagowa k(t) charakterystyk aczasow a obiektu, którawtoku dalszych rozważań nad opisem układów automatyki nazwiemy odpowiedzia impulsowa y(t) = Z 0 u(t τ)k(τ)dτ. Splot jest pojęciem kluczowym, a jego zrozumienie jest niezbędne w dalszych badaniach. Wytłumaczymy jego dyskretnawersjęnapodstawiepro- stego systemu rankingu zawodników sportowych. Celem jest określenie, który z dwóch zawodników (A czy B) jest aktualnie w lepszej formie, na podstawie ostatnio zdobytych wyników w zawodach. W tym celu ustala się pewna funkcję wagow a k(τ), preferujac a ostatnio zdobyte wyniki, np. k(τ) = 1 τ, gdzie τ oznacza liczbę (całkowita) dni, które upłynęły od zdobycia punktów przez danego zawodnika. Następnie dla każdego zawodnika splata się procesy zdobytych przez nich punktów u A i u B (patrz tabela) z wagami k(τ), tzn. y A =1 1 7 +2 1 14 +1 1 21, y B =1 1 7 +1 1 14 +2 1 21. Ponieważ y A >y B,przyjmujesię, że zawodnik A jest aktualnie lepszy.

10 1. Wprowadzenie u (t) MODEL y(t) OBIEKTU - y zad ε(t) A Rys. 1.2. Symulowany Układ Automatycznej Regulacji (UAR) Celem identyfikacji jest znalezienie charakterystyki k(τ) obiektu. Dalsze badania prowadzi się nie na obiekcie rzeczywistym, lecz na modelu komputerowym otrzymanym w wyniku identyfikacji. Umożliwia to obniżenie kosztów, podnosi poziom bezpieczeństwa, przyspiesza badania. Sterowanie w układzie zamkniętym ma na celu takie ustawianie wejścia obiektu u(t), abyjegowyjście y(t) możliwie szybko i dokładnie przyjmowało żadan aprzeznaswartość y zad. Regulacjaautomatycznapoleganawprowadzeniuelementurealizuj acego algorytm A, który na podstawie różnicy ε(t) =y zad y(t) wyznaczy odpowiednie sterowanie u(t) (tzw. sygnał regulacji). Element realizujacy algorytm sterowania A będziemy nazywać regulatorem, a cały zamknięty układ Układem Automatycznej Regulacji (UAR). Wszystkie kolejne etapy wdrożenia stanowia całościowy proces symulacji komputerowej UAR, za pomoca przydatnego w obliczeniach technicznych środowiska MATLAB. Układ Automatycznej Regulacji nazywamy liniowym, gdy zarówno obiekt, jak i regulator saliniowe. Ostatni etap projektu (wdrożenie) wiaże się z zainstalowaniem czujników, przetworników, odpowiednio zaprogramowanych sterowników mikroprocesorowych i elementów wykonawczych (np. siłowników) na rzeczywistym obiekcie.

11 2. Środowisko programowe MATLAB podstawy 2.1. Informacje wstępne Niniejszy rozdział jest wprowadzeniem do programu MATLAB, w zakresie potrzebnym do symulacji liniowych systemów dynamicznych z czasem ciagłym i z czasem dyskretnym. Jest niezbędna instrukcja, umożliwiajac a przeprowadzenie ćwiczeń laboratoryjnych z zakresu teoretycznych podstaw automatyki na uczelniach technicznych. Proponowany plan ćwiczeń oraz dodatkowe informacje sa udostępnione na stronie WWW http://diuna.ict.pwr.wroc.pl/grmz. Zakłada się następujace minimalne wymagania dotyczace sprzętu i oprogramowania komputerowego: pamięć RAM:64MBlubwiększa; system operacyjny: Windows 95/98 lub nowszy; zainstalowany MATLAB w wersji 5.2 (lub nowszej), z pakietem Control System Toolbox oraz nakładkagraficzn a Simulink. Działanie wszystkich symulacji i skryptów zostało także przetestowane w programie MATLAB w wersji 6.5. 2.2. Środowisko pakietu MATLAB Pełna instalacja programu MATLAB (ł acznie z Control System Toolbox i Simulink) znajduje się w folderze c:\matlab i zajmuje około 400 MB pamięci dyskowej dla wersji 5.2 oraz około 1 GB dla wersji 6.5. Plikiem uruchomieniowym jest c:\matlab\bin\matlab.exe (ikona na pulpicie).

12 2. Środowisko programowe MATLAB podstawy 2.2.1. Linia poleceń, komunikacja z systemem operacyjnym Uruchomienie c:\matlab\bin\matlab.exe powoduje otwarcie okna z linia poleceń (ang. command line), pokazanego na rysunku 2.1. Każde polecenie jest wykonywane po jego wpisaniu za znakiem zachęty >> inaciśnięciu klawisza ENTER. Rys. 2.1. Okno poleceń Do przykładowych poleceń należa: pwd wyświetla aktualny katalog (ang. print working directory); cd nowykat zmieniabieżacy katalog na nowykat; who wyświetla listę wszystkichzmiennychzdefiniowanych w przestrzeni roboczej; clear czyści przestrzeńrobocz a(wartości i etykiety wszystkich zmiennych zostaja wykasowane). Przestrzeń robocz a (wszystkie zmienne i ich wartości, ang. WorkSpace) można zapisać w pliku z rozszerzeniem *.mat, wydajaczmenu/file polecenie /SaveWorkspaceAs. Analogicznie, możliwe jest otwarcie zapamiętanego środowiska poprzez wydanie polecenia /File/LoadWorkspace. 2.2.2. Definiowanie i modyfikacja zmiennych, obszar roboczy Zdefiniowanie nowej zmiennej, lub modyfikacja już istniejacej następuje przez proste przypisanie jej wartości, np. polecenie x=8; definiuje zmienna onazwiex (jeśli wcześniej taka nie istniała) inadajejejwartość 8, średnik na końcu wyłacza tzw. echo. Aktualna wartość zmiennej można odczytać wpisujac jej nazwę (bezśred- nika), czyli polecenie x powoduje wyświetlenie wartości 8. Dla skalarów dostępne saoperatory:*,/,+, i^(potęgowanie).

2.2. Środowisko pakietu MATLAB 13 2.2.3. Operacje na macierzach Należy mieć świadomość, że środowisko MATLAB (skrót od ang. Matrix Laboratory)wcałości jest oparty na macierzach. Wszelkie sygnały (ichdys- kretne odpowiedniki) sa przechowywane właśnie jako macierze (ewentualnie wektory jako macierze jednokolumnowe). Macierz definiuje się korzystajac z nawiasów kwadratowych [], znaku przecinka lub spacji, jako separatora elementówwdanymwierszuoraz średnika jako separatora wierszy, np. polecenie 1 2 definiujace macierz A postaci wyglada następujaco 3 4 A=[1,2;3,4] Do poszczególnych elementów macierzy odwołujemy się przeznawiasyokra- głe, np. A(i,j) oznacza element w i-tym wierszu i j-tej kolumnie macierzy A, może on stanowić tzw. lvalue, czyli oprócz wyświetlenia zawartości komórki macierzy dopuszczalne jest przypisanie jej określonej wartości, np. A(1,2)=8 Macierz można także definiować blokami, np. polecenie B=[A,A] 1 2 1 2 utworzy macierz B postaci. 3 4 3 4 Sekwencje uporzadkowane (np. kolejne elementy ciagu arytmetycznego) uzyskuje się przez konwencję zapisuwyrażenia macierzowego min:[krok]:max, np. symbol 1:3:10 oznacza wektor 1 4 7 10,apolecenie 1 2 3 C=[1:3;1:2:5] definiuje macierz C postaci. 1 3 5 W rozumieniu operacji macierzowych według Cauchy ego dostępne saope- ratory *, +, oraz ^. Natomiast mnożenie i dzielenie tablic (ang. array)wyko- nuje się zużyciem operatorów tablicowych.* (kropka-gwiazdka) i./ (kropkaslash). 2.2.4. Funkcje algebry numerycznej w programie MATLAB Przedstawiono nazwy najczęściej używanych procedur numerycznej algebry liniowej: eye(n) definiowanie macierzy jednostkowej o rozmiarach n n; zeros(n,m) definiowanie macierzy zerowej o rozmiarach n m; ones(n,m) definiowanie macierzy o rozmiarach n m zbudowanej z samych jedynek;

14 2. Środowisko programowe MATLAB podstawy det(a) obliczanie wyznacznika macierzy kwadratowej A; inv(a) wyznaczanie macierzy odwrotnej do A: A 1 ;równoważna postać polecenia to: A^(-1); trace(a) obliczanie śladu macierzy A (sumy elementów na głównej przekatnej); lu(a) wyznaczanie rozkładu LU (na iloczyn dwóch macierzy trójkatnych) macierzy A; chol(a) wyznaczanie rozkładu Cholesky ego macierzy A (patrz np. [9]); svd(a) wyznaczanie rozkładu względem wartości szczególnych macierzy A (tzw. rozkład SVD, [9]); eig(a) wyznaczanie wartości własnych macierzy A; rand(n,m) generacja macierzy losowej o rozmiarach n m ielementach zrozkładu jednostajnego U[0, 1]; randn(n,m) generacja macierzy losowej o rozmiarach n m ielementach zrozkładu normalnego N(0, 1); plot() rysowanie wykresów na płaszczyźnie; plot3 () rysowanie wykresów trójwymiarowych; stem() rysowanie przebiegów z czasem dyskretnym; roots() numeryczne znajdowanie pierwiastków wielomianu; residue() rozkład funkcji wymiernej na ułamki proste; rlocus() znajdowanie pierwiastków układu zamkniętego. 2.3. Tworzenie i uruchamianie M -skryptów Ciag poleceń programu MATLAB można umieścić w osobnym pliku tekstowym (skrypcie) z rozszerzeniem *.m. W tym celu należy wybrać zmenu /File polecenie /New/M-file, co spowoduje otwarcie okna edytora pokazanego na rysunku 2.2. Dostępne sa oczywiście instrukcje warunkowe (if...) oraz iteracyjne (while, for). Przykładowy skrypt może mieć postać: %Sekwencyjne wypełnienie wektora liczbami losowymi for i=1:10 W(i)=i^2 end Znak % służy do wstawiania komentarzy. Uruchomienie skryptu polega na wybraniu z menu edytora /Tools, polecenia /Run. Gdy istnieje plik z rozszerzeniem *.mdl o tej samej nazwie, wówczas następuje jego otwarcie. Możliwe jest również uruchomienie przez wpisanie nazwy M-skryptu w linii poleceń MATLAB. Wymaga to ustawienia odpowiedniej ścieżki dostępu do zbioru

2.4. Funkcje pakietu Control System Toolbox 15 Rys. 2.2. Edytor skryptów tekstowych dyskowego. Możnatouczynić na dwa sposoby: korzystajac z polecenia cd, lub zapisujac ścieżkę wzbiorzedostępnych lokalizacji (menu /File/SetPath). 2.4. Funkcje pakietu Control System Toolbox Specjalistyczne zestawy dodatkowych funkcji systemu MATLAB umieszczone sa w tzw. Toolbox -ach (ang. pudełka z narzędziami, nazywane przybornikami) sa dodatkowymi, specjalistycznymi zestawami funkcji MATLAB a. Niektóre z nich nie sa zawarte w licencji podstawowej oprogramowania i należy je zakupić. Pakiet Control System Toolbox to dodatkowy, tematyczny przybornik funkcji, dotyczacy analizy i sterowania systemów dynamicznych. Jego obsługa nie wymaga żadnych dodatkowych umiejętności od użytkownika w zakresie obsługi oprogramowania. Definiowanie systemu liniowego, którego transmitancja jest funkcjawymiern a zmiennej zespolonej s, opiera się na utworzeniu dwóch wektorów wierszowych, zawierajacych odpowiednio współczynniki wielomianu licznika i mianownika transmitancji. Definicję rozpoczyna się odwpółczyn- nika przy najwyższej potędze do wyrazu wolnego, np. systemowi całkujacemu o transmitancji 1/s odpowiadaja wektory [1] (licznik) i [1, 0] (mianownik). Odsyłamy także do wzoru (3.10). Istnieje zestaw funkcji, które, na podstawie wspomnianych wektorów, komputerowo symuluja działanie systemu. Przykładem może być funkcja tf () (ang. transfer function funkcjaprzejścia). Do najczęściej wykorzystywanych funkcji zawartych w pakiecie Control System Toolbox należa: bode(sys) wyznaczanie charakterystyk Bodego systemu sys; feedback(sys1,sys2 ) tworzeniesystemuzłożonego (sys1 zujemnym(do- myślnie) sprzężeniem zwrotnym sys2 );

16 2. Środowisko programowe MATLAB podstawy freqresp(sys,w) wyznaczanie odpowiedzi systemu sys w dziedzinie częstotliwości (Re(K(jω)),Im(K(jω))) dlawartości pulsacji zadanych w wektorze w; gensig(typ,okres) generacja standardowych sygnałów, np. dla ustawień typ= sin, okres=1 funkcja generuje falę sinusoidalnaookresie1s; impulse(sys) wyznaczanie odpowiedzi impulsowej systemu sys; kalman() projektowanie filtru Kalmana; lsim(sys,u,t) symulacja liniowego systemu sys przy dowolnym pobudzeniu zawartym w wektorze u, (t wektor czasu); ltiview(typ,sys) wykreślanie charakterystyki typu typ (np. step, impulse, nyquist ) systemusys; parallel (sys1,sys2 ) połaczenie równoległe systemówsys1 i sys2 ; step(sys) wyznaczanie odpowiedzi systemu sys na skok jednostkowy; series(sys1,sys2 ) połaczenie szeregowe systemów sys1 i sys2 ; ss(a,b,c,d) tworzenie systemu liniowego na podstawie opisu w przestrzeni stanów (ang. state space): x 0 = Ax + Bu, y = Cx + Du; ss2tf (L,M ) konwersja w kierunku odwrotnym do funkcji ss(); tf (L,M ) tworzenie systemu na podstawie wektorów współczynników transmitancji, licznika L imianownikam transmitancji operatorowej K(s); rlocus(l,m ) przedstawienie na płaszczyźnie (Re K(jω), Im K(jω)) pierwiastków układu zamkniętego. Inne ważne polecenia MATLAB będa sukcesywnie podawane wraz z koniecznościa ich zastosowania w kolejnych M -plikach w dalszych rozdziałach podręcznika. 2.5. Nakładka graficzna Simulink Nakładka Simulink ułatwia tworzenie schematów graficznych połaczeń modeli i ich reprezentacji graficznych oraz zwalnia użytkownika w znacznym stopniu ze znajomości składni funkcji pakietu Control System Toolbox. Uruchomienie nakładki odbywa się poleceniem simulink, co powoduje otwarcie okna zawierajacego zbiór przyborników (rys. 2.3). Oprócz niego otwiera się także czyste okno edytora graficznego modeli (rys. 2.4). Dostępne w Simulink umodelegraficzne sa pogrupowane następujaco: Sources modeleźródeł sygnałów (generatory); Sinks modele odbiorników sygnałów i urzadzeń pomiarowych (rejestratorów); Discrete modele liniowych obiektów dynamicznych z czasem dyskretnym;

2.5. Nakładka graficzna Simulink 17 Rys. 2.3. Przyborniki nakładki graficznej Simulink Linear modele liniowych obiektów dynamicznych z czasem ciagłym; Nonlinear statyczne elementy o charakterystykach nieliniowych (również z histereza); Connections bloki wspomagajace konstruowanie skomplikowanych struktur połaczeń; Blocksets&Toolboxes dodatkowe bloki i biblioteki, ich zawartośćzależy od zainstalowanej wersji programu. 2.5.1. Edytor graficzny Budowa graficznych schematów blokowych odbywa się na zasadzie przeciagania myszka bloków z zasobników do okna edytora graficznego (rys. 2.4). Schemat (zbiór odpowiednio połaczonych generatorów, modeli obiektów i re- Rys. 2.4. Graficzny edytor modeli (schematów blokowych symulacji)

18 2. Środowisko programowe MATLAB podstawy jestratorów) można zapisać w pliku z rozszerzeniem *.mdl. Połaczenia między poszczególnymi blokami następuja również przez przeciaganie. Węzły połaczeniowe uzyskujemy, przytrzymujac klawisz Ctrl. Symulację gotowego modelu dynamicznego uruchamia się poleceniem Ctrl+T (/Start wmenu/si- mulation). Okno ustawień parametrów symulacji (rys. 2.5) wywołuje się poleceniem Ctrl+E (/Parameters wmenu/simulation). Rys. 2.5. Parametry symulacji komputerowej Właściwości i parametry elementów zawartych w schemacie zmienia się po dwukrotnym kliknięciu na poszczególne obiekty schematu symulacji (patrz przykłady na rys. 2.6 2.8). Na rysunku 2.6 przedstawiono okno ustawień parametrów sygnału skokowego. Znaczenie ustawień jestnastępujace: Step time =1 moment, w którym następuje skok wartości wyjściowej bloku Step; Initial value =0 wartość pocz atkowa (przed skokiem); Final value =1 wartość końcowa (po skoku). Takie ustawienia powoduja zatem symulację sygnału wejściowego typu 1(t 1), tzn. skoku jednostkowego z opóźnieniem τ =1. Na rysunku 2.7 parametrami sa współczynniki wielomianów licznika i mianownika transmitancji symulowanego systemu z czasem ciagłym:

2.5. Nakładka graficzna Simulink 19 Rys. 2.6. Właściwości bloku źródłowego sygnału skoku jednostkowego STEP Rys. 2.7. Właściwości bloku liniowego Transfer Function Numerator =[1] licznik transmitancji, o postaci: 1; Denominator =[1 2] mianownik transmitancji, o postaci: s +2. Sygnał wyjściowy obiektu trafia do bloku typu TO FILE (rys. 2.8), wktórym: Filename oznacza nazwę pliku dyskowego, do którego zostanie on skierowany; Variablename nazwa zmiennej, za pomocaktórejbędzie on w danym pliku identyfikowany; Sample time czaspróbkowania( 1: ustawieniedomyślne). Zmienne zawarte w tym zbiorze (*.mat) można potem załadować doob- szaru roboczego środowiska MATLAB (patrz punkt 2.2.1.).

20 2. Środowisko programowe MATLAB podstawy Rys. 2.8. Właściwości rejestratora To File 2.5.2. Źródła sygnałów (Sources) Ze względu na ćwiczenia laboratoryjne z podstaw automatyki najbardziej przydatne sanastępuj ace bloki generujace sygnały (rys. 2.9): Rys. 2.9. Bloki generujace sygnaływejściowe

2.5. Nakładka graficzna Simulink 21 pulse impulsy Diraca [5]; step skok jednostkowy; ramp sygnał liniowo narastajacy; sine wave sinusoida o stałej amplitudzie i częstotliwości; from file sygnał (wektor) zawarty w wyspecyfikowanym pliku; random number generator liczb pseudolosowych; from workspace źródło danych oparte na zmiennej obszaru roboczego. 2.5.3. Rejestratory sygnałów (Sinks) Wśród bloków rejestrujacych (rys. 2.10) wykorzystywać będziemy następujace: scope rejestrator jednowymiarowy (w dziedzinie czasu); xy graph rejestrator dwuwymiarowy na płaszczyźnie XY; display urz adzenie pomiarowe z wyświetlaczem cyfrowym; to file zapis do pliku dyskowego; to workspace zapis do nazwanej zmiennej w przestrzeni roboczej. Rys. 2.10. Bloki odbiorcze rejestrujace sygnały 2.5.4. Elementy i bloki liniowe z czasem ciagłym (Linear) Spośród modeli zasobnika Linear (rys. 2.11), podstawowym układem automatyki jest blok Tranfer Function opisany już szczegółowo w punkcie 2.5.1, a także bloki:

22 2. Środowisko programowe MATLAB podstawy Gain wzmacniacz liniowy (bezinercyjny), którego parametrem jest wzmocnienie; Sum węzeł sumacyjny o dowolnej liczbie wejść i dowolnej kombinacji znaków (np. ustawienie +++ oznacza sumator czterowejściowy z jednym wejściem ujemnym (negatywnym)); Integrator idealny (bezinercyjny) element całkujacy o transmitancji 1/s, (przypadek szczególny bloku Transfer Fcn); State-Space system liniowy o opisie w przestrzeni stanów; Derivative idealny element różniczkujacy (o transmitancji s). Rys. 2.11. Modele liniowe z czasem ciagłym 2.5.5. Elementy nieliniowe (Nonlinear) Mimo że podręcznik opisuje systemy liniowe, to jednak ich analiza komputerowa może w pewnych wypadkach wymagać znajomości bloków o charakterystyce nieliniowej (np. technika kreślenia charakterystyk częstotliwościowych, obiekty liniowe z regulatorami typu przekaźnik dwupołożeniowy). W szczególności zasobnik Nonlinear (rys. 2.12) zawiera następujace bloki: Transport Delay opóźnienie w dziedzinie czasu, z możliwościaustawienia warunku poczatkowego;

2.5. Nakładka graficzna Simulink 23 Fcn realizacja dowolnej formuły matematycznej (domyślna nazwa sygnału wejściowego: u); Matlab Fcn realizacja dowolnej funkcji (skryptu) MATLAB a. Rys. 2.12. Modele nieliniowe 2.5.6. Systemy z czasem dyskretnym (Discrete) Na rysunku 2.13 przedstawiono dostępne symulatory obiektów z czasem dyskretnym. Wśród nich należy wyróżnić: Unit Delay dyskretny element opóźniajacy; Discrete-Time Integrator dyskretny element całkujacy; Discrete Filter liniowyfiltr autoregresyjny; Discrete Transfer Fcn element opisany za pomoca dowolnej transmitancji dyskretnej.

24 2. Środowisko programowe MATLAB podstawy Rys. 2.13. Modele z czasem dyskretnym 2.5.7. Widoczność danych w programie MATLAB Wartości wszystkich zmiennych załadowanych do środowiska MATLAB sa widoczne w Simulink u, wartości zaś wszystkich zmiennych Simulink asawi- doczne w oknie ścieżki poleceńmatlab. 2.6. Korzystanie z funkcji HELP W przypadku nieznajomości działania instrukcji, można uzyskać pomoc, przez wydanie w oknie głównym MATLAB polecenia help nazwa_funkcji lub korzystać z lokalnych zbiorów w formacie HTML, wybierajac polecenie /Help- Desk zmenu/help.

25 3. Charakterystyki czasowe obiektów z czasem ciagłym 3.1. Wprowadzenie W ćwiczeniu bada się odpowiedzi czasowe typowych pojedynczych lub szeregowo połaczonych, liniowych układów dynamicznych z czasem ciagłym, na standardowe pobudzenia typu: funkcja impulsowa (wywodzaca się z impulsu Diraca), skok jednostkowy i sinusoida. Dla ustalonego typu funkcji wejścia (np. funkcji impulsowej) należy wyznaczyć odpowiedzi dla układów o transmitancjach ogólnej postaci K(s) = L(s) M(s), (3.1) gdzie licznik i mianownik sa wielomianami zmiennej zespolonej s = α + jβ o stopniach odpowiednio l i m (zakłada się, że l 6 m) L(s) =b l s l +... + b 1 s + b 0, M(s) =a m s m +... + a 1 s + a 0. Taki iloraz dwóch wielomianów nazywa się funkcjawymiern a zmiennej s. Wyznaczenie odpowiedzi impulsowej będzie polegało narozkładzie Y (s) na sumę ułamków prostych i obliczeniu odwrotnej transformaty Laplace a. Otrzymane wyniki należy porównać zuzyskanymizużyciem pakietu MATLAB, a wyznaczone odpowiedzi impulsowe k(t), odpowiadajace różnym K(s) zilustrować graficznie. Na podstawie wykresów szacuje się założone w symulacji komputerowej parametry (zakładajac ich nieznajomość), takie jak: stałe czasowe T, wzmocnienia k, opóźnienia τ, wartości pulsacji ω itp. Dla wejścia typu u(t) =sinωt można wyznaczyć wzmocnienie amplitudy i przesunięcie fazowe w stanie ustalonym. Wyniki badań komputerowych porównuje się zwynikami analizy teoretycznej.

26 3. Charakterystyki czasowe obiektów z czasem ciagłym 3.2. Zakres tematyczny ćwiczenia 3.2.1. Liniowe równanie różniczkowe, transformacja Laplace a Jak powiedziano we wprowadzeniu, system liniowy splata sygnał wejściowy z funkcja wagowa k(t) (odpowiedzia impulsowa). Jest ona odpowiedzianaim- puls Diraca, przy zerowych warunkach poczatkowych. Funkcja k(t) wpełni charakteryzuje właściwości systemu liniowego. Jest to konsekwencja bogactwa informacji, jaka dajenieskończenie strome zbocze (skok wartości) pobudzenia (i w konsewencji nieograniczone pasmo częstotliwości sygnału). Sygnały takie nazywa się ustawicznie pobudzajacymi dowolnego rzędu. Należy do nich również skok jednostkowy [15], [16]. Stacjonarne, liniowe układy dynamiczne z czasem ciagłym majaswoj areprezentację matematyczna w postaci liniowego równania różniczkowego typu wejście u wyjście y (SISO single input single output) a m d m y(t) dt m = b l d l u(t) dt l + a d m 1 y(t) dy(t) m 1 dt m 1 +... + a 1 + a 0 y(t) (3.2) dt + b l 1 d l 1 u(t) dt l 1 +... + b 1 du(t) dt + b 0 u(t), gdzie l 6 m. Liczbę m nazywa się rzędem równania różniczkowego (3.2) przy założeniu, że a m 6=0.Wćwiczeniu zakłada się, że u(0 ) = du(t) / dt t=(0 ) =... = dl 1 u(t) dt l 1 / t=(0 ) =0. Wartości wyjścia systemu i jego kolejnych pochodnych w chwili t =0nazywa się warunkiem poczatkowym. Mówimy, że jest on zerowy (ozn. WP =0)jeśli y(0 ) = dy(t) / dt t=(0 ) =... = dm 1 y(t) dt m 1 / t=(0 ) =0. (3.3) W teorii podstaw automatyki stosuje się opisliniowegosystemudyna- micznego, reprezentujacy jego strukturę, oparty na transmitancji operatorowej K(s). Opis ten (patrz rys. 3.1) otrzymuje się przez zastosowanie transformaty Laplace a do obu stron równania (3.2), zakładajac zerowy warunek poczat- kowy. Transmitancja K(s) jest funkcja zmiennej zespolonej s = α + jβ ima postać K(s), Y (s) U(s) = b ls l + b l 1 s l 1 +... + b 1 s + b 0 a m s m + b m 1 s m 1 +... + a 1 s + a 0. (3.4)

3.2. Zakres tematyczny ćwiczenia 27 ut () = ˆ U( s) Y( s) = ˆ y( t) K ( s) Rys. 3.1. Reprezentacja struktury układu automatyki Transmitancja (3.4) umożliwia otrzymanie dynamicznego przebiegu wyjścia y(t) b=y (s) =K(s)U(s), jeżeli znany jest przebieg sygnału wejściowego u(t). Uwaga. Oznaczenie b= jest uproszczonym zapisem zarówno przejścia do transformaty Laplace a, jak również przejścia do odwrotnej transformaty Laplace a, np. u(t)b=u(s) oznacza, że U(s) =${u(t)} oraz U(s)b=u(t), że u(t) = $ 1 {U(s)}. 3.2.2. Opis liniowego systemu dynamicznego z czasem ciagłym w przestrzeni stanów, systemy wielowymiarowe Zarówno sygnał wejściowy, jak i wyjściowy układu liniowego mogabyć wielowymiarowe (MIMO multiple input multiple output) u(t) = u 1 (t) u 2 (t)... u p (t), y(t) = y 1 (t) y 2 (t)... y q (t) Duże znaczenie ma opis zachowania się systemu liniowego z użyciem tzw. zmiennych stanu x 1 (t),...,x r (t) zawartych w wektorze stanu [5], [7], [14] x(t) = x 1 (t) x 2 (t)... x r (t) Wielkości x 1 (t),...,x r (t) maja najczęściej konkretne znaczenie fizyczne określajace stan, w którym system się znajduje (np. systemem może być lecacy samolot, x 1 (t) wysokościa, na jakiej się znajduje, x 2 (t) jegoprędkościa, x 3 (t) azymutem, x 4 (t) poziomem paliwa w chwili t itp.)...

28 3. Charakterystyki czasowe obiektów z czasem ciagłym System liniowy opisuje w przestrzeni stanów (ang. state space) układ równań ½ 0 x (t) =Ax(t)+Bu(t) (3.5) y(t) =Cx(t)+Du(t) gdzie A jest stałamacierz a o wymiarach r r, B i D macierzami o wymiarach r p, ac macierz a o wymiarach q r. Dla uproszczenia ograniczymy się doukładów ściśle właściwych, czyli takich, w których D =0. Systemopisanyukładem równań (3.5) jest asymptotycznie stabilny wtedy i tylko wtedy, gdy wszystkie wartości własne macierzy A leżawewn atrz okręgu jednostkowego. Wtedy wektor Ax(t) jest w sensie euklidesowym krótszy od wektora x(t) [9]. W przypadku skalarnym oznacza to A ( 1, 1). Po zastosowaniu przekształcenialaplace adorównań(3.5), przy zerowych warunkach poczatkowych, otrzymuje się zwiazek między macierza transmitancji K(s) systemu liniowego a macierzami A, B i C wopisie w przestrzeni stanów K(s) =C(sI A) 1 B. Macierz K(s) ma wymiary q p, ajejelementamis a funkcje wymierne zmiennej zespolonej s K(s) = K 1,1 (s) K 1,2 (s)... K 1,p (s) K 2,1 (s) K 2,2 (s).................. K q,1 (s)...... K q,p (s) Przy zerowych warunkach poczatkowych zachodzazależności. (3.6) px Y(s) =K(s)U(s); Y i (s) = K i,j (s)u j (s); j=1 i =1, 2,...,q, gdzie U(s) = U 1 (s) U 2 (s)... U p (s) oraz Y(s) = Y 1 (s) Y 2 (s)... Y q (s). (3.7) Funkcja przejścia K i,j (s) jest zatem transmitancja, określajac a wpływ j-tego wejścia układu na i-te wyjście.

3.2. Zakres tematyczny ćwiczenia 29 3.2.3. Sterowalność, osiagalność iobserwowalność Ze względu na zachowanie się układów dynamicznych w układach regulacji automatycznej najistotniejsze sa właściwości sterowalności i obserwowalności. Definicja 1. Układ nazywamy sterowalnym, jeżeli istnieje ograniczone przedziałami ciagłe sterowanieu(t) przeprowadzajace ten układ z dowolnego stanu poczatkowego x(t 0 ) do dowolnego stanu końcowego x(t k ) w chwili t = t k, wskończonym czasie, 0 6 t k t 0 6 [15]. Definicja 2. Układ nazywamy obserwowalnym, jeżeli przy dowolnym sterowaniu u(t) istnieje skończona chwila t k, po której, na podstawie sygnałów (wektorowych) u(t) i y(t) w przedziale czasu od t 0 do t k,można wyznaczyć stan układu x(t 0 ) w dowolnej chwili poczatkowej t 0 [15]. Definicja 3. Układ nazywamy osiagalnym, jeżeli dla dowolnego stanu docelowego x f istnieje skończona chwila t f > 0 oraz sterowanie u(t) wprzedziale [0,t f ] takie, że gdy x(0) = 0, wówczas x(t f )=x f [7]. Dane właściwości maja zasadnicze znaczenie w teorii sterowania. Jeżeli stwierdzimy, że system jest sterowalny, oznacza to, iż można skutecznie doprowadzić gowskończonym czasie do dowolnego stanu zadanego; sensowne jest wówczas projektowanie układu sterowania. Jeśli natomiast system jest obserwowalny, to na podstawie obserwacji jego sygnałuwejściowego i wyjścia wskończonym czasie, można ustalić jegostanpoczatkowy, co z kolei decyduje ojegoidentyfikowalności. O sterowalności i obserwowalności systemu liniowego rozstrzygaja twierdzenia. Twierdzenie 1. Układ jest sterowalny wtedy i tylko wtedy, gdy macierz jest pełnego rzędu [15]. S =[B, AB, A 2 B,... A n 1 B] (3.8) Twierdzenie 2. Układ jest obserwowalny wtedy i tylko wtedy, gdy macierz jest pełnego rzędu [15]. W =[C T, C T A T, C T A 2T,... C T A n 1T ] (3.9)

30 3. Charakterystyki czasowe obiektów z czasem ciagłym 3.3. Badania komputerowe 3.3.1. Wyznaczanie charakterystyk czasowych W ćwiczeniu należy obliczyć analitycznie, a następnie wyznaczyć komputerowo odpowiedzi impulsowe k(t), odpowiedzi skokowe λ(t) i (dodatkowo) na pobudzenie typu u(t) =sinωt dla układów o transmitancjach: K 1 (s) =k proporcjonalny (bezinercyjny); K 2 (s) = k inercyjny pierwszego rzędu; Ts+1 k K 3 (s) = inercyjny drugiego rzędu; (T 1 s +1)(T 2 s +1) k K 4 (s) = s 2 oscylacyjny drugiego rzędu; + as + b k K 5 (s) = s(ts+1) całkuj acy z inercj a; K 6 (s) = ks Ts+1 różniczkuj acy z inercj a; K 7 (s) =e sτ opóźniajacy; K 8 (s) = ke sτ Ts+1 opóźniaj acy z inercj a. Przykładowy schemat do wykonania badań wsimulink u, przy pobudzeniu u(t) =1(t), przedstawia rysunek 3.2. W celu uzyskania charakterystyk czasowych nie w formie graficznej, lecz w formie ciagów liczbowych, należy zamienić elementy rejestrujace typu Scope na rejestratory zmiennych do pliku (To File) lub do zmiennych w przestrzeni roboczej (To Workspace). Dla każdego z symulowanych układów należy powtórzyć badanie przy zmianie jednego z parametrów (np. k, T, P, a...) w stosunku do układu oryginalnego oraz zaobserwować wpływ poszczególnych parametrów na postać odpowiedzi skokowych. Całość badańnależy powtórzyć dla pobudzenia u(t) =δ(t). W tym celu należy zamienić blokstep na układ przybliżajacy deltę Diraca, przedstawiony na rys. 3.3, stosujac układ różniczkujacy i inercję omałej stałej czasowej d. Istnieje również gotowa funkcja MATLAB o nazwie impulse(). Przy wyznaczaniu odpowiedzi układów na pobudzenie sinusoidalne należy użyć blokuźródłowego o nazwie SineWave, dostępnego w grupie Sources.

3.3. Badania komputerowe 31 Rys. 3.2. Badanie odpowiedzi różnych układów dynamicznych na skok jednostkowy 3.3.2. Identyfikacja parametrów typowych członów liniowych Gdy mamy do dyspozycji komplet charakterystyk wyznaczonych w punkcie 3.3.1, wówczas zakładamy, że parametry systemów sa nieznane (np. uznajemy, że charakterystyki pochodza z badań nad rzeczywistymi systemami). Znamy jedynie: postać odpowiedzi skokowej λ(t) lub impulsowej k(t); strukturę transmitancji, np. K(s) =k/(ts+1); należy wówczas wyznaczyć (zidentyfikować) nieznane parametry systemu (np. k i T rys.3.4). Identyfikacja parametrów polega na znalezieniu charakterystycznych punktów w odpowiedzi skokowej i impulsowej. Może to często wymagać określenia stycznej do danej charakterystyki. Proponuje się następujacedwiemetody:

32 3. Charakterystyki czasowe obiektów z czasem ciagłym Rys. 3.3. Generator impulsu Diraca Rys. 3.4. Wyznaczanie parametrów elementu inercyjnego pierwszego rzędu metoda graficzna polegajaca na wykreśleniu charakterystyki w dużej skali, ręcznemu wykreśleniu stycznej i znalezieniu odpowiednich punktów; metoda numeryczna aby wyznaczyć styczna, np. do charakterystyki skokowej λ(t) w punkcie t 0, odczytujemy z charakterystyki wyznaczonej w postaci numerycznej wartości w dwóch punktach: t 0 i t 0 + t. Następnie obliczamy parametry m i c linii prostej y = mt + c przechodzacej przez punkty (t 0, λ(t 0 )) i (t 0 + t, λ(t 0 + t)). Ze względu na definicję pochodnej, wartość t powinna być możliwie mała, bliska zeru. W praktyce musi ona jednak przekraczać wartość dokładności reprezentacji liczb w komputerze. W przypadku niektórych systemów wyższego rzędu istnieje potrzeba znalezienia tzw. punktu przegięcia charakterystyki, należy w tym celu numerycznie zróżniczkować tę charakterystykę poczasieiznaleźć chwilę t 0,wktórejnastępuje zmiana znaku pochodnej.

3.3. Badania komputerowe 33 3.3.3. Numeryczny rozkład funkcji wymiernej na ułamki proste Środowisko MATLAB umożliwia rozkład funkcji wymiernej na ułamki proste (znajdowanie residuów). Niech w naszym przypadku K(s) = 2s3 +5s 2 +3s +6 s 3 +6s 2 +11s +6. (3.10) Skrypt dokonujacy rozkładu ma następujac apostać: licznik=[2536]; mianownik=[16116]; [r,p,k]=residue(licznik,mianownik) Wynikami działania skryptu sa r = 6 4 3 co interpretuje się następujaco K(s) = p = 3 2 1 k =2; 6 s +3 + 4 s +2 + 3 s +1 +2. Umożliwia to natychmiastowe obliczenie odpowiedzi impulsowej k(t) = 6e 3t + 4e 2t +3e t +2δ(t). 3.3.4. Testowanie sterowalności i obserwowalności systemu Należy zdefiniować systemliniowyzczasemciagłym na podstawie współczynników znanej transmitancji K(s) i korzytajac z funkcji ss() przekształcić go do opisu w przestrzeni stanów. Zbudować odpowiednie macierze sterowalności i obserwowalności podane w twierdzeniach 1 i 2. Za pomoca funkcji det() lub rank() określićichrzędy. 3.3.5. Przykładowe odpowiedzi skokowe Na rysunkach 3.5 i 3.6 przedstawiono uzyskana w MATLAB odpowiedź 1 skokowa układu o transmitancji K(s) = dla parametru a równego s 2 +as+1 odpowiednio 1 i 0, 1.

34 3. Charakterystyki czasowe obiektów z czasem ciagłym Rys. 3.5. Odpowiedź skokowa dla a =1 Rys. 3.6. Odpowiedź skokowa dla a = 0, 1

3.3. Badania komputerowe 35 Rys. 3.7. Odpowiedź skokowa układu o transmitancji K I (s) Rys. 3.8. Odpowiedź skokowa układu o transmitancji K D (s)

36 3. Charakterystyki czasowe obiektów z czasem ciagłym Z kolei na rysunkach 3.7 i 3.8 przedstawiono odpowiedzi skokowe układu całkujacego z inercja K I (s) = oraz układu różniczkujacego z inercja K D (s) = 3.4. Przykłady praktyczne 1 s(3s +1) ; s s +1. 3.4.1. Ładowanie kondensatora w układach RC i CR Jako przykład praktyczny opiszemy zjawisko ładowania kondensatora o pojemności C, ze źródła napięcia stałego U, przez rezystor R (rys. 3.9). R u(t) C y(t) Rys. 3.9. Czwórnik RC jako układ inercyjny pierwszego rzędu Zakładamy, że podanie napięcia wejściowego U następuje w chwili t =0 u(t) =U 1(t) oraz zerowy warunek poczatkowy, tzn. wchwilit =0ma wartość że napięcie na kondensatorze y(t) y(0) = 0. Opierajac się na podstawowych prawach elektrotechniki (prad ładowania kondensatora jest równy pradowi płynacemy przez rezystor I prawo Kirchhoffa), otrzymujemy następujacy opis układu dynamicznego C d dt y(t) y(t) =u(t), (3.11) R

3.4. Przykłady praktyczne 37 który jest liniowym równaniem różniczkowym pierwszego rzędu. Po przekształceniu wzoru (3.11) do postaci RC d y(t)+y(t) =u(t) (3.12) dt i zastosowaniu do (3.12) obustronnej transformacji Laplace a otrzymujemy transmitancję systemu Y (s)(rcs +1)=U(s), K(s) = Y (s) U(s) = 1 Ts+1, gdzie T = RC. Układ z rysunku 3.9 zachowuje się zatemjakczłon inercyjny pierwszego rzędu, o stałej czasowej zależnej od przyjętych wartości rezystancji i pojemności. Jego charakterystyki czasowe można zatem z powodzeniem badać nie na rzeczywistym układzie elektrycznym, lecz na modelu (patrz punkt 3.3.1) 1 Y (s) = Ts+1 U(s) Na podstawie przebiegu napięcia na kondensatorze nie można zidentyfikować wartości pojemności C irezystancjir, można jedynie określić ichilo- czyn RC = T. Wzmocnienie układu w stanie ustalonym wynosi K(0) = 1, co oznacza, iż lim y(t) =U. t W układzie przedstawionym na rysunku 3.10, sygnałem wyjściowym jest napięcie na rezystorze. C u(t) R y(t) Rys. 3.10. Czwórnik CR jako rzeczywisty układ różniczkujacy

38 3. Charakterystyki czasowe obiektów z czasem ciagłym Układ opisuje równanie C d dt u c(t) = y(t) R, gdzie u c (t) jest napięciem na kondensatorze, równym u c (t) =u(t) y(t). St ad µ d C dt u(t) d dt y(t) = y(t) R i po zastosowaniu obustronnej transformacji Laplace a RC(sU(s) sy (s)) = Y (s), jego transmitancja ma postać 1 K(s) =RCs RCs +1. Czwórnik CR z rysunku 3.10 realizuje różniczkowanie z inercja. Model układu jest następujacy (patrz symulacje w 3.3.1.) Y (s) = 1 1 T i s Ts+1 U(s), gdziet i = T = RC. 3.4.2. Zbiornik z ciecza Na rysunku 3.11 przedstawiono wyidealizowany układ napełniania pojemnika o stałym przekroju poziomym p. Jako sygnał wejściowy u(t) traktujemy przepływ przez zawór. Jego jednostkaniechbędzie [u max m 3 /s], który w istocie określa położenie kurka, gdzie u max jest parametrem określajacym przepływ przez zawór przy jego całkowitym otwarciu, np. u max =0, 001 oznacza maksymalny przepływ 1[dm 3 /s]. Sygnałem wyjściowym jest wysokość poziomu cieczy. Warunkiem poczatko- wym jest poziom cieczy w zbiorniku w chwili t =0. Niech będzie on zerowy, tzn. y(0) = 0 (zbiornik pusty). Jest oczywiste, że ilość cieczy znajdujaca się w zbiorniku w chwili t jest równa ilości cieczy, która przepłynęła przezzawór od chwili poczatkowej do chwili t, czyli a zatem py(t) = Z t 0 u(t)dt, py (s) = 1 s U(s).

3.4. Przykłady praktyczne 39 u(t) p y(t) Rys. 3.11. Zbiornik z cieczajakoukład całkujacy Stad K(s) = Y (s) U(s) = 1 ps = 1 T i s,gdziet i = p iukład ten jest układem całkujacym, gdzie p decyduje o szybkości całkowania, tzn. im większy przekrój zbiornika, tym wolniejsze narastanie poziomu cieczy. Liniowość systemu rozpatrywanego w powyższym przykładzie wynika z tego, że p = const. Nie należy jednak nabrać przekonania, iż rzeczywiste procesy przepływu i gromadzenia cieczy przy prostej geometrii zbiorników sa procesami liniowymi. Nieliniowe zachowanie się procesumoże wynikać choćby zwystępowania odpływów (skończona objętość zbiorników). 3.4.3. Termometr jako układ inercyjny pierwszego rzędu Niech wielkościa wyjściowa będzie długość słupka rtęci y(t) wtradycyjnym termometrze lekarskim. Jest ona proporcjonalna z pewnym współczynnikiem w (w ograniczonym zakresie) do temperatury rtęci ϑ Hg (t) y(t) =wϑ Hg (t). Wchwilit =0rtęć znajduje się w temperaturze pokojowej (np. ϑ Hg (0) = ϑ pok =20 C). Pobudzenie układu polega na umieszczeniu bańki termometru w temperaturze ciała, np. ϑ c = 36, 6 C. Rtęć nagrzewasięzgodniezzasada, iż szybkość zmianϑ Hg (t) jest proporcjonalna do różnicy temperatur ϑ c i

40 3. Charakterystyki czasowe obiektów z czasem ciagłym ϑ Hg (t) (poczatkowo szybko, później coraz wolniej), co opisuje liniowe równanie różniczkowe pierwszego rzędu zatem dϑ Hg (t) dt = T (ϑ c ϑ Hg (t)). y(t) =y c (1 e t/t ), gdzie y c jest wskazaniem termometru w temperaturze rtęci ϑ Hg (t) =ϑ c ( koniec pomiaru ), a stała czasowa T zależy od konstrukcji termometru (np. objętości bańki, grubości szkła). Typowe wartości stałej czasowej T termometrów lekarskich zawieraja się w granicach od kilku do kilkudziesięciu sekund. 3.5. Podsumowanie Celem badań przeprowadzonychwćwiczeniu było poznanie komputerowych technik w zagadnieniach: identyfikacji struktury i parametrów liniowych systemów dynamicznych z czasem ciagłym na podstawie jego odpowiedzi czasowych (impulsowej k(t), skokowej λ(t) i na pobudzenie sinusoidalne); metod komputerowej symulacji systemów o zadanym opisie; komputerowej weryfikacji właściwości obserwowalności, sterowalności iosi agalności systemów; numerycznego rozkładu funkcji wymiernych na ułamki proste; wyznaczania standardowych odpowiedzi czasowych obiektów.

41 4. Systemy o złożonej strukturze i ich stabilność 4.1. Wprowadzenie Rzeczywiste systemy często składajasię z mniejszych, połaczonych i przez to współzależnych, prostych obiektów. Dlatego istotna jest ich reprezentacja za pomoca modeli odzwierciedlajacych rzeczywiste struktury połaczeń. Pojedyncze układy dynamiczne moga tworzyćstrukturyoróżnym stopniu złożoności. Najbardziej powszechne sapoł aczenia szeregowe, równoległe, szeregowo-równoległe izesprzężeniem zwrotnym, majace podstawowe znaczenie przy tworzeniu bardziej złożonych struktur systemów. Stad wywodzi się, fundamentalny w automatyce, złożony system dynamiczny zwany Układem Automatycznej Regulacji (UAR). Jest on złożona struktura szeregowa(najczęściej składajac a się z dwóch pojedynczych układów), zawierajac adodatkowopętlę ujemnego sprzężenia zwrotnego. Przez pojęcie regulacja określa się sterowanie w układzie zamkniętym, który jest zdolny automatycznie kontrolować swoje zachowanie i utrzymywać sięwokreślonym stanie, zwanym celem sterowania. Najczęściej celem sterowania jest utrzymywanie (regulacja) wartości wyjścia obiektu (sygnału y(t)) na tym samym poziomie jak sygnał zadajacy y 0 (t), zwanywejściem odniesienia. Intuicyjny opis struktury Układu Automatycznej Regulacji i funkcji pełnionych przez jego elementy wprowadzono już w rozdziale 1. Zainteresowanym polecane sa szczególnie prace [1] i [15]. Matematycznym opisem złożonej struktury systemu dynamicznego z czasem ciagłym jest transmitancja operatorowa, zwana transmitancja systemu złożonego lub transmitancjawypadkow a (zastępcza).

42 4. Systemy o złożonej strukturze i ich stabilność 4.2. Zarys tematyczny ćwiczenia Rozważmy pojedynczy liniowy układ dynamiczny (rys. 3.1), opisany transmitancja operatorowa K(s), Y (s) U(s) = L(s) (przy założeniu realizowalności stl(s) 6 stm(s)) M(s) Z pojedynczych układów składa się połaczenia szeregowe, równoległe oraz szeregowo-równoległe. 4.2.1. Struktura szeregowa Transmitancja szeregowego systemu złożonego (rys. 4.1) o wejściu u(t) oraz wyjściu y(t) przy zerowym warunku poczatkowym y(0 ) = dy(t) / dt t=(0 ) =... = dp y(t) dt p / t=(0 ) =0, gdzie p = stm 1 (s)+stm 2 (s) 1 jest następujaca: K(s), Y (s) U(s) = K 1(s) K 2 (s) ut () = ˆ U( s) yt () = ˆ Y( s) K1( s) K2( s) Rys. 4.1. Połaczenie szeregowe systemów Przykład Pojedyncze systemy inercyjne wyższego rzędu (m > 3) często aproksymuje się struktura szeregowego połaczenia układu inercyjnego pierwszego rzędu zukładem opóźniajacym o τ > 0 (rys. 4.2), czyli można aproksymować K(s) = k (st 1 +1)(sT 2 +1)...(sT m +1) k Ts+1 e sτ, gdzie opóźnienie τ oraz stała czasowa T,wyrażajace inercję układu, sadobie- rane w sposób najlepiej przybliżajacy przebieg odpowiedzi układu inercyjnego m-tego rzędu (np. według reguły Padé[3]).

4.2. Zarys tematyczny ćwiczenia 43 ut () k y() t s e τ st + 1 Rys. 4.2. Układ przybliżajacy strukturę elementu wieloinercyjnego modelem inercyjnym pierwszego rzędu z opóźnieniem 4.2.2. Struktura równoległa Transmitancja równoległego systemu złożonego (rys. 4.3) o wejściu u(t) oraz wyjściu y(t) jest następujaca: K(s), Y (s) U(s) = K 1(s)+K 2 (s). K1( s) y () t 1 + ut () yt () = y1() t + y2() t K2( s) + y2( t) Rys. 4.3. Połaczenie równoległe systemów Przykład Transmitancja opisujaca strukturę idealnego regulatora PID ma postać K PID(s) =k 1 + k 2 s + k 3s. Jest to zapis matematyczny nie uwzględniajacy w sposób jawny współczynnika proporcjonalności k p,stałych T i oraz T d,atakże inercyjności działania rzeczywistych elementów różniczkujacych i całkujacych w regulatorach PID (patrz przykł. w punkcie 4.2.3). Przez to uproszczenie transmitancja KPID (s) reprezentuje strukturę równoległa (bez interakcji nastaw), przedstawionana rysunku 4.4.