Podstawy automatyki
Sprawozdanie z Laboratorium nr 2
Ćwiczenie polegało na utworzeniu modeli silnika elektrycznego w postaci: równań różniczkowych, równań stanu i wyjścia, schematu blokowego i transmitancji operatorowej,
-wyznaczenie odpowiedzi skokowej silnika w Matlabie/Simulinku,
-wyznaczenie odpowiedzi silnika na sygnały prostokątne w Matlabie/Simulinku.
Rozwiązanie ćwiczeń:
6.5).
$$\left\{ \begin{matrix}
\mathrm{L}\mathrm{w}\frac{\mathrm{\text{di}}\mathrm{w}}{\mathrm{\text{dt}}}\mathrm{+ \ R}\mathrm{w}\mathrm{i}\mathrm{\text{w\ }}\mathrm{= \ U}\mathrm{z}\mathrm{\ - \ k}\mathrm{e}\mathrm{\omega}\mathrm{s} \\
\mathrm{J}\frac{\mathrm{\text{dω}}\mathrm{s}}{\mathrm{\text{dt}}}\mathrm{+ \ B\omega}\mathrm{\text{s\ \ }}\mathrm{= \ k}\mathrm{m}\mathrm{i}\mathrm{\text{w\ }}\mathrm{- \ M}\mathrm{\text{obc}} \\
\end{matrix} \right.\ $$
Dokonane podstawienia:
x1 = iw
x2 = 𝜔s
u1 = Uz
u2 = Mobc
y = 𝜔s
6.6)
$\left\{ \begin{matrix} \mathrm{L}\mathrm{w}\dot{x1} + \ \mathrm{R}\mathrm{w}\mathrm{x}\mathrm{1} = \mathrm{u}\mathrm{1} - \mathrm{k}\mathrm{e}\mathrm{\omega}\mathrm{s} \\ J\dot{x2} + \ B\mathrm{x}\mathrm{2} = \mathrm{k}\mathrm{m}\mathrm{i}\mathrm{w} - \mathrm{u}\mathrm{2} \\ \mathrm{y}\mathrm{1 =}\mathrm{x}\mathrm{1} \\ \mathrm{y}\mathrm{2 =}\mathrm{x}\mathrm{2} \\ \end{matrix} \right.\ $
6.7).
$\begin{bmatrix} \dot{\mathrm{x}\mathrm{1}} \\ \dot{\mathrm{x}\mathrm{1}} \\ \end{bmatrix}$ = $\begin{bmatrix} \frac{- \mathrm{R}\mathrm{w}}{\mathrm{L}\mathrm{w}} & \frac{- \mathrm{k}\mathrm{e}}{\mathrm{L}\mathrm{w}} \\ \frac{\mathrm{k}\mathrm{m}}{J} & \frac{- B}{J} \\ \end{bmatrix}$ ∙ $\begin{bmatrix} \mathrm{x}\mathrm{1} \\ \mathrm{x}\mathrm{2} \\ \end{bmatrix}$ + $\begin{bmatrix} \frac{1}{\mathrm{L}\mathrm{w}} & 0 \\ 0 & \frac{- 1}{\mathrm{L}\mathrm{w}} \\ \end{bmatrix}$ ∙ $\begin{bmatrix} \mathrm{u}\mathrm{1} \\ \mathrm{u}\mathrm{2} \\ \end{bmatrix}$
Przekształcenie Laplace’a do równania 6.5:
$$\left\{ \begin{matrix}
\mathrm{L}\mathrm{w}\mathrm{\ (sI}\mathrm{w}\mathrm{(s)\ - \ I}\mathrm{w}(0)) + \mathrm{R}\mathrm{w}\mathrm{i}\mathrm{w}\mathrm{(s)\ = \ U}\mathrm{z}\mathrm{(s)\ - \ k}\mathrm{e}\mathrm{\mathrm{\Omega}}\mathrm{s}\mathrm{(s)\ }\ \\
J(s\mathrm{\mathrm{\Omega}}\mathrm{s}\mathrm{(s)\ - \ \mathrm{\Omega}}\mathrm{s}\mathrm{(0))\ + \ B\mathrm{\Omega}}\mathrm{s}\mathrm{(s)\ = \ k}\mathrm{m}\mathrm{I}\mathrm{w}\mathrm{(s)\ - \ M}\mathrm{\text{obc}}\mathrm{(s)} \\
\end{matrix} \right.\ $$
Przekształcenie przy założeniu zerowych warunków początkowych:
$$\left\{ \begin{matrix}
\mathrm{I}\mathrm{w}\mathrm{(s)\ = \ }\frac{\mathrm{U}\mathrm{z}\mathrm{(s)\ - \ k}\mathrm{e}\mathrm{\mathrm{\Omega}}\mathrm{s}\mathrm{(s)}}{\mathrm{L}\mathrm{w}\mathrm{s\ + \ R}\mathrm{w}} \\
\mathrm{\mathrm{\Omega}}\mathrm{s}\mathrm{(s)\ = \ }\frac{\mathrm{k}\mathrm{m}\mathrm{I}\mathrm{w}\mathrm{(s)\ - \ M}\mathrm{\text{obc}}\mathrm{(s)}}{Js + B} \\
\end{matrix} \right.\ $$
Uzupełniony schemat blokowy:
Schemat po uproszczeniu:
Wyznaczenie odpowiedzi skokowej silnika w Matlabie/Simulinku
Przyjęte parametry silnika:
Rw = 2 [Ω]
Lw = 0.1 [H]
ke = 0.1 $\lbrack\frac{\text{Vs}}{\text{rad}}\rbrack$
J = 0.1$\lbrack\frac{kg*m\mathrm{2}}{s\mathrm{2}}$]
B = 0.5 $\lbrack\frac{\text{Nms}}{\text{rad}}$]
km = 0.1$\lbrack\frac{\text{Nm}}{A}$]
Program napisany w Matlab:
Rw = 2; Lw = 0.1; ke = 0.1;
J = 0.1; B = 0.5; km = 0.1;
licz = km;
mian = [J*Lw Rw*J + B*Lw Rw*B + km*ke];
system = tf(licz,mian);
t = 0:0.02:1.4;
odp = step(system,t);
plot(t,odp,'r'); grid
xlabel('czas (s)'),ylabel('predkosc katowa ws (rad/s)')
title('Odpowiedz skokowa silnika pradu stałego')
Schemat blokowy silnika zbudowany w Simulinku:
Wyznaczenie odpowiedzi na sygnały prostokątne silnika w Simulinku
Schemat blokowy silnika zbudowany w Simulinku:
Na wykresach otrzymujemy przebiegi:
napięcia zasilającego wirnik (Uz), prądu płynącego przez wirnik (iw), momentu obciążenia silnika (Mobc) oraz prędkości kątowej wirnika (ωs) w funkcji czasu.
Wyznaczenie odpowiedzi silnika na sygnały prostokątne w Matlabie (metodą równań stanu we/wy)
Schemat blokowy silnika zbudowany w Simulinku:
na wykresach, otrzymujemy przebiegi:
napięcia zasilającego wirnik (Uz) oraz prędkości kątowej wirnika (ωs) w funkcji czasu
Wnioski:
Za pomocą programu Matlab/Simulink wyznaczyliśmy odpowiedź skokową silnika. Model silnika mogliśmy zapisać za pomocą równań stanu jak i transmitancją operatorową. Niezależnie od sposobu zapisu, wyniki otrzymywaliśmy równoważne. Zadanie momentu obciążającego powoduje spadek prędkości obrotowej i wzrost natężenia pobieranego prądu.