Sistemas de Controle I
Universidade Federal do Pará
Nesta aula praticamos o fluxo inteiro de análise, das Aulas 2–4, num único exemplo — e depois em 10 exercícios (5 de 1ª ordem, 5 de 2ª ordem):
Tip
Em cada etapa, o MATLAB confirma a conta feita à mão — é assim que você audita seu próprio resultado.
Massa-mola-amortecedor horizontal: força de entrada \(F(t)\) aplicada à massa; saída é o deslocamento \(x(t)\) em relação ao equilíbrio (a mesma planta animada em Python na pasta Animes/).
Note
Sistema massa-mola-amortecedor sem integrador puro — é o protótipo físico de um sistema de 2ª ordem padrão, o mesmo usado na Aula 4.
Pela 2ª Lei de Newton, somando as forças sobre a massa (mola, amortecedor, força aplicada):
\[m\ddot{x}(t) + b\dot{x}(t) + kx(t) = F(t)\]
Substituindo os valores numéricos:
\[\ddot{x}(t) + 2\dot{x}(t) + 25x(t) = F(t)\]
Condições iniciais nulas (\(x(0)=0\), \(\dot x(0)=0\)) — sistema parte do repouso, em equilíbrio.
Aplicando a transformada de Laplace (condições iniciais nulas):
\[ms^2X(s) + bsX(s) + kX(s) = F(s) \quad\implies\quad \frac{X(s)}{F(s)} = \frac{1}{ms^2+bs+k}\]
\[G(s) = \frac{X(s)}{F(s)} = \frac{1}{s^2+2s+25}\]
Dividindo numerador e denominador por \(k\) para isolar o ganho estático \(K=1/k\):
\[G(s) = \frac{1/k}{\frac{m}{k}s^2+\frac{b}{k}s+1} = \frac{K\,\omega_n^2}{s^2+2\zeta\omega_n s+\omega_n^2}\]
com \(\omega_n = \sqrt{k/m}\), \(\zeta = \dfrac{b}{2\sqrt{mk}}\), \(K=1/k\). Para os valores dados:
\[\boxed{\omega_n = \sqrt{25} = 5\text{ rad/s} \qquad \zeta = \frac{2}{2\sqrt{25}} = 0{,}2 \qquad K = \frac{1}{25} = 0{,}04}\]
Com \(\zeta = 0{,}2 < 1\): sistema subamortecido. Polos:
\[s_{1,2} = -\zeta\omega_n \pm j\omega_n\sqrt{1-\zeta^2} = -1 \pm j4{,}90\]
Especificações da resposta ao degrau (fórmulas da Aula 4): \[M_p = e^{-\zeta\pi/\sqrt{1-\zeta^2}} \approx 52{,}7\% \qquad t_p = \frac{\pi}{\omega_d} \approx 0{,}641\text{ s} \qquad t_s \approx \frac{4}{\zeta\omega_n} = 4\text{ s (2\%)}\]
Warning
\(\zeta=0{,}2\) é pouco amortecido — sobressinal grande (52,7%). Na prática, ajustaríamos \(b\) (mais atrito) para reduzir \(M_p\).
Para um degrau de força \(F(t) = F_0\,u(t)\), o valor final é \(x_{ss} = K F_0 = F_0/k\) (Lei de Hooke em regime: a mola sozinha sustenta a força aplicada). Com \(F_0=1\,\)N:
\[x(t) = 0{,}04\left[1 - \frac{e^{-t}}{\sqrt{1-0{,}2^2}}\sin(4{,}90\,t+\phi)\right], \qquad \phi=\cos^{-1}(0{,}2)\]
Tip
Confira: \(x(\infty) = 0{,}04\,\)m \(= 1/k\) — a massa se desloca até a mola equilibrar a força de 1 N aplicada.
% Sistema massa-mola-amortecedor: m*x'' + b*x' + k*x = F(t)
m = 1; b = 2; k = 25;
G = tf(1, [m b k]); % X(s)/F(s) = 1 / (m s^2 + b s + k)
[wn, zeta] = damp(G) % confere wn = 5 rad/s, zeta = 0.2
figure;
step(G);
grid on;
title('Resposta ao degrau unitário de força');
S = stepinfo(G) % SettlingTime, Overshoot, PeakTime, RiseTime
xss = dcgain(G) % ganho estático: deve ser 1/k = 0.04Note
stepinfo usa por padrão o critério de acomodação de 2% — compare S.SettlingTime com o \(t_s\approx4\,\)s calculado à mão.
tf, step e stepinfo no MATLAB.step(G).step e stepinfo.Tip
Nos exercícios de identificação e projeto (2ª ordem, itens 4 e 5), use as fórmulas de \(M_p\leftrightarrow\zeta\) e \(t_s=4/(\zeta\omega_n)\) da Aula 4 antes de simular — o MATLAB confirma sua conta, não a substitui.