Budowa układu i kod MATLAB oraz LaTeX
Przedmiot: Matematyka
Dodane: dzisiaj o 13:05
Jasne, przedstawię kompleksowe rozwiązanie zadania 1 z instrukcji laboratoryjnej na temat analizy i projektowania regulatorów metodą Root Locus (linii pierwiastków). Skupiam się na wymaganiach: 1. Rozkład zagadnienia i obliczenie zakresu stabilności K 2. Szczegółową budowę układu do symulacji w Simulinku 3. Kod MATLAB do generacji wykresów, Root Locus i symulacji 4. Kod do LaTeX (do sprawozdania laboratoryjnego)
Przechodzimy po kolei przez wszystkie cztery przypadki transmitancji.
---
OGÓLNE ZAŁOŻENIA I JEDNOLITY PODZIAŁ
Schemat blokowy układu
Układ ma klasyczną strukturę: Wejście referencyjne r(t) → [–] —> błąd → C(s) → u(t) → G(s) → y(t).Dla uproszczenia notacji: - C(s) – regulator: tu tylko K. - G(s) – odpowiednio podany obiekt (z four podpunktów). - Zamknięta pętla: \[ G_{z}(s) = \frac{C(s)G(s)}{1+C(s)G(s)} \]
---
1. OBLICZENIE ZAKRESU K DLA STABILNOŚCI – ROOT LOCUS
Dla każdego przypadku: - Wyznaczamy transmitancję otwartej pętli (L(s) = C(s)G(s)), - Budujemy równanie charakterystyczne: \( 1 + C(s)G(s) = \) - Linię pierwiastków (Root Locus) rysujemy w MATLAB.---
A) Transmitancja: \( G(s) = \frac{(s+2)(s+6)}{s(s+8)(s+25)}, \quad C(s) = K \)
Równanie charakterystyczne:
\[ 1 + K \frac{(s+2)(s+6)}{s(s+8)(s+25)} = \] \[ s(s+8)(s+25) + K(s+2)(s+6) = \]Kod MATLAB (Root Locus, wybór K):
```matlab % Definicja transmitancji num = conv([1 2],[1 6]); % (s+2)*(s+6) den = conv([1 ],conv([1 8],[1 25])); % s*(s+8)*(s+25) sys = tf(num,den);% Root locus figure; rlocus(sys) title('A) Root locus G(s) = (s+2)(s+6)/s(s+8)(s+25)');
% Analiza zakresu K stabilności [kmin,kmax] = rlocfind(sys); % Interaktywnie wybierz na wykresie graniczny K (te kartki korzenie przechodzą do prawej półpłaszczyzny) ``` Zwykle dla tego typu obiektu \( K> \), stabilność do momentu aż jakieś pierwiastki nie przejdą na prawo; wartość K odczytujemy z wykresu, np. przez `rlocfind` w MATLAB.
Symulacja odpowiedzi układu zamkniętego (wybrany K):
Schemat Simulinka: - Source: *Step* - Block: *Gain* (wartość K) - Block: *Transfer Fcn* [numerator: `[1 8 12]`, denominator: `[1 33 200 ]` → rozwinąć] - Sumator: +, - - Block: *Scope* dla y(t) - Block: *Scope* na sygnał u(t) między K a G(s)Aby uzyskać u(t), wypuścić sygnał po Gain K do osobnego wyjścia/scopa.
---
B) \( G(s) = \frac{s^2+6}{s^2+1},\ C(s)=K \)
Równanie charakterystyczne:
\[ 1 + K \frac{s^2+6}{s^2+1} = \implies s^2+1 + K(s^2+6) = \implies (1+K)s^2 + (1+6K) = \]Typowa obliczona transmitancja: \[ sys = tf([1 6],[1 1]); \]
Kod Root Locus: ```matlab num = [1 6]; den = [1 1]; sys = tf(num,den); figure; rlocus(sys) title('B) Root locus G(s) = (s^2+6)/(s^2+1)'); ``` ---
C) \( G(s) = \frac{s^2+1}{s^2},\ C(s)=K \)
\[ L(s) = K \frac{s^2+1}{s^2} \quad 1 + K\frac{s^2+1}{s^2} = \] \[ s^2 + K(s^2+1) = \implies (1+K)s^2 + K = \]Kod: ```matlab num = [1 1]; den = [1 ]; sys = tf(num,den); figure; rlocus(sys) title('C) Root locus G(s) = (s^2+1)/s^2'); ``` ---
D) \( G(s) = \frac{1}{(s+1)^3 (s+4)},\ C(s)=K \)
\[ num = 1; den = conv([1 1 1 1],[1 4]); % (s+1)^3*(s+4) sys = tf(num,den); figure; rlocus(sys) title('D) Root locus G(s) = 1/((s+1)^3(s+4))'); ```---
2. BUDOWA UKŁADU W SIMULINK
1. Source: „Step” – sygnał wejściowy 2. Sumator: (–) 3. Gain: wartość K (według zakresu stabilności) 4. Transfer Function: Numery/den wprost jak w MATLAB 5. Scope: - Jeden Scope dla wyjścia y(t) - Drugi Scope do zanotowania sygnału sterującego u(t) (między Gain a G(s))  – przykład schematu, dostosuj do własnego SimulinkaKonfiguracja bloków: - Transfer Function – wprowadź wektor licz i mianownika (jak w kodach wyżej) - Gain – wpisz wybrane K.
---
3. KOD MATLAB: Generowanie wykresów i symulacji w Simulink
Przykład dla przypadku A:```matlab % Parametry transmitancji numG = conv([1 2],[1 6]); denG = conv([1 ], conv([1 8],[1 25])); sysG = tf(numG,denG);
% Root Locus figure; rlocus(sysG) title('Root Locus dla G(s)');
% Zakres K % [Z Root Locus wyznacz K np. poprzez kliknięcie na graniczny pierwiastek] K = 5; % Przykład; dopasuj wg analizy
% Układ zamknięty sysCL = feedback(K*sysG,1);
% Symulacja odpowiedzi na skok t = :.01:10; [y,t,x] = step(sysCL, t);
figure; plot(t, y); ylabel('Odpowiedź wyjściowa y(t)'); xlabel('Czas [s]'); title('Odpowiedź układu zamkniętego');
% Przebieg sygnału sterującego (u(t)) % r(t) - y(t) -> e(t), u(t) = K*e(t) r = ones(size(t)); % wejście skokowe 1 e = r - y'; u = K * e;
figure; plot(t, u); ylabel('Sygnał sterujący u(t)'); xlabel('Czas [s]'); title('Sygnał sterujący w czasie'); ```
---
4. KOD DO LaTeX (raport/sprawozdanie)
Przykładowy szablon do sprawozdania (dołącz jeszcze wykresy, szczegółowe opisy):```latex \documentclass[12pt]{article} \usepackage{amsmath} \usepackage{graphicx}
\begin{document} \section*{Projekt regulatora metoda Root Locus}
\subsection*{Założenia} Transmitancja obiektu: \[ G(s) = \frac{(s+2)(s+6)}{s(s+8)(s+25)} \] Regulator: wzmocnienie $K$.
\subsection*{Wyznaczenie zakresu stabilności K} Równanie charakterystyczne układu zamkniętego: \[ 1 + K \frac{(s+2)(s+6)}{s(s+8)(s+25)} = \implies s(s+8)(s+25) + K(s+2)(s+6) = \] Linia pierwiastków (Root Locus) została uzyskana w środowisku MATLAB.
\subsection*{Model układu w Simulinku} Schemat blokowy zgodnie z rysunkiem instrukcji: \begin{center} \includegraphics[width=.6\textwidth]{schemat.png} \end{center} Wejście - błąd - wzmocnienie K - G(s) - wyjście. Dodatkowo sygnał sterujący $u(t)$ rejestrujemy pomiędzy blokami $K$ oraz $G(s)$.
\subsection*{Kod MATLAB} \begin{verbatim} num = conv([1 2],[1 6]); den = conv([1 ],conv([1 8],[1 25])); sys = tf(num,den);
figure; rlocus(sys) K = 5; % wybrana wartość (dostosuj) sys_cl = feedback(K*sys,1);
t = :.01:10; [y, t] = step(sys_cl, t);
r = ones(size(t)); e = r - y'; u = K * e;
plot(t, y); % odpowiedź plot(t, u); % sygnał sterujący \end{verbatim}
\subsection*{Wyniki symulacji} Dołączyć wykresy: \\ -- Odpowiedź skokowa $y(t)$\\ -- Przebieg sygnału sterującego $u(t)$\\ -- Porównanie amplitud sygnału sterującego i wyjściowego
\end{document} ``` ---
WSKAZÓWKI
- Każdą transmitancję rozwiąż analogicznie. - W Simulinku wystarczy zmieniać odpowiednio transmitancję i K. - W MATLAB podmieniasz `num` i `den` + analizujesz zakres K poprzez Root Locus. - W LaTeX zawsze opisujesz metodę, równanie charakterystyczne, wykres RL, metodę uzyskania odpowiedzi i porównanie amplitud.---
PODSUMOWANIE
- Wszystko musisz rozrysować i obliczyć samodzielnie dla każdego podpunktu! - K dobieraj zgodnie z Root Locus – tylko dla stabilnego układu. - W Simulinku zbuduj układ wg opisu, rejestrując u(t) i y(t). - Uzupełnij sprawozdanie o kody, wykresy i opis uzyskanego rezultatu.Jeśli chcesz, przygotuję pełne listingi MATLAB oraz gotowe pliki do LaTeX dla każdego szczegółowego przypadku – daj znać, który podpunkt chcesz jako pierwszy!

Oceń:
Zaloguj się aby ocenić pracę.
Zaloguj się