Sistemas de Controle I
Universidade Federal do Pará
Todo sistema de primeira ordem (um único polo real, sem zeros) pode ser escrito na forma padrão:
\[\boxed{G(s) = \frac{K}{\tau s + 1} = \frac{K/\tau}{s+1/\tau}}\]
Tip
Exemplos físicos: circuito RC/RL, sistema térmico de primeira ordem, motor CC desprezando a indutância de armadura (Aula 2), nível de um tanque com escoamento livre.
Pela lei de Kirchhoff das tensões e \(i(t) = C\,\dot v_2(t)\):
\[RC\,\dot v_2(t) + v_2(t) = v_1(t)\]
Aplicando Laplace (condições iniciais nulas):
\[\frac{V_2(s)}{V_1(s)} = \frac{1}{RCs + 1}\]
Forma padrão com \(K=1\) e \(\boxed{\tau = RC}\) — quanto maiores \(R\) e \(C\), mais lento o carregamento do capacitor.
Polo em \(s=-1/\tau\)
Quanto mais à esquerda o polo estiver no plano \(s\) (maior \(1/\tau\), menor \(\tau\)), mais rápida é a resposta do sistema.
Para uma entrada degrau unitário \(U(s) = 1/s\):
\[Y(s) = G(s)\,U(s) = \frac{K}{\tau s+1}\cdot\frac{1}{s} = \frac{K}{s} - \frac{K\tau}{\tau s + 1}\]
Invertendo por Laplace:
\[\boxed{y(t) = K\left(1 - e^{-t/\tau}\right), \quad t \geq 0}\]
Resposta ao degrau para diferentes constantes de tempo
Quanto menor \(\tau\), mais rapidamente a resposta se aproxima do valor final \(K\) (aqui, \(K=1\)).
Interpretação de \(\tau\)
Em \(t = \tau\), a resposta atinge 63,2% do valor final:
\[y(\tau) = K(1-e^{-1}) \approx 0{,}632\,K\]
| \(t\) | \(y(t)/K\) | % do valor final |
|---|---|---|
| \(\tau\) | \(1-e^{-1}\) | 63,2% |
| \(2\tau\) | \(1-e^{-2}\) | 86,5% |
| \(3\tau\) | \(1-e^{-3}\) | 95,0% |
| \(4\tau\) | \(1-e^{-4}\) | 98,2% |
| \(5\tau\) | \(1-e^{-5}\) | 99,3% |
Tip
Regra prática: a resposta é considerada acomodada após \(4\tau\) a \(5\tau\) (critério de 2% ou 1%).
Para um sistema de primeira ordem em resposta ao degrau, definem-se:
Note
Não há sobressinal (\(M_p = 0\)) em um sistema de primeira ordem puro — o sobressinal só aparece em sistemas de ordem 2 ou superior com polos complexos, tema da próxima aula.
Sinais de teste padrão: (a) degrau, (b) rampa, (c) parabólico (Dorf and Bishop 2018, fig. 5.2)
Entrada rampa \(u(t) = t \implies U(s) = 1/s^2\):
\[y(t) = K\left(t - \tau + \tau e^{-t/\tau}\right) \;\xrightarrow{t\to\infty}\; K(t-\tau)\]
A saída rastreia a rampa com erro de regime permanente constante igual a \(K\tau\) (ou \(\tau\), se \(K=1\)) — antecipação do que veremos na Aula 6.
Entrada impulso \(u(t)=\delta(t) \implies U(s)=1\):
\[y(t) = \frac{K}{\tau}\,e^{-t/\tau}\]
Resposta ao impulso é a derivada da resposta ao degrau — propriedade geral de sistemas LIT.
Dado um registro experimental da resposta ao degrau de amplitude \(A\):
Tip
Esse procedimento gráfico é a base de métodos de identificação de sistemas usados na prática industrial (ex.: sintonia de malhas de temperatura e vazão).
Controle de velocidade: malha aberta (\(\tau=10\) s) x malha fechada, mesma planta (Dorf and Bishop 2018, fig. 4.13)
Mesma planta de primeira ordem; a realimentação reduz drasticamente a constante de tempo efetiva — motivação central para usar controle em malha fechada (retomado na Aula 6, erro de regime).
Problema: Um sensor de temperatura tem resposta ao degrau que atinge 63,2% do valor final em 3 s e se estabiliza em 20 °C para uma entrada em degrau de 20 °C aplicada em \(t=0\).
Solução:
\[G(s) = \frac{1}{3s+1}, \qquad y(t) = 20\left(1-e^{-t/3}\right)\ °\text{C}\]
\[t_s \text{ (2\%)} = 4\tau = 12\text{ s}, \qquad t_r = 2{,}2\tau \approx 6{,}6\text{ s}\]
Mesmo problema do sensor de temperatura, usando o Control System Toolbox:
% Sensor de temperatura -- G(s) = 1/(3s+1), degrau de 20 C
K = 1; tau = 3; A = 20;
G = tf(K, [tau 1]); % G(s) = K/(tau*s + 1)
figure;
step(A*G); % resposta ao degrau de amplitude A
grid on;
xlabel('Tempo (s)'); ylabel('y(t) [°C]');
title('Resposta ao degrau -- G(s) = 1/(3s+1)');
S = stepinfo(A*G) % tr, ts, valor final, etc.Saída de stepinfo
RiseTime \(\approx 6{,}6\) s, SettlingTime \(\approx 11{,}9\) s (2%), SteadyStateValue \(=20\), Overshoot \(=0\) — consistente com os valores calculados à mão no slide anterior.
python-control)Mesmo sistema, com a biblioteca python-control (usada nas simulações desta disciplina):
import control as ct
import matplotlib.pyplot as plt
K, tau, A = 1, 3, 20 # ganho, constante de tempo, amplitude do degrau
G = ct.tf([K], [tau, 1]) # G(s) = K/(tau*s + 1)
t, y = ct.step_response(A * G)
info = ct.step_info(A * G) # RiseTime, SettlingTime, ...
plt.plot(t, y)
plt.xlabel('Tempo (s)'); plt.ylabel('y(t) [°C]')
plt.title('Resposta ao degrau -- G(s) = 1/(3s+1)')
plt.grid(True)
plt.show()Saída de ct.step_response para o exemplo do sensor de temperatura