Considere um circuito RLC série para o qual a FT é apresentada abaixo;
Com os seguintes valores:
Gere um script no MATLAB que:
a) gere a resposta no tempo para um degrau de 5 V na entrada, para um tempo de 10 ms de simulação
Gere um script no MATLAB que:
a) gere a resposta no tempo para um degrau de 5 V na entrada, para um tempo de 10 ms de simulação
Passo 1
Vou deixar claro o que o enunciado pede e quais dados foram fornecidos.
- O enunciado pede: gerar um script no MATLAB que gere a resposta no tempo para um degrau de
na entrada, simulando por . - Dados fornecidos:
-
. -
. -
.
-
- A função de transferência dada é:
- Objetivo prático: construir no MATLAB a TF numérica com os valores acima e obter a resposta ao degrau de amplitude
para tempo total de simulação .
Passo 2
Entendendo a TF e os parâmetros numéricos (passo didático curto e obrigatório).
- A TF em termos de coeficientes polinomiais tem numerador
e denominador com coeficientes . Ou seja, numericamente: - Calculemos os produtos (usar estes valores no MATLAB também):
- É útil conhecer a forma padrão de um segundo-ordem para interpretar a resposta:
Assim a frequência natural é e a razão de amortecimento é Calculando: Como , o sistema é subamortecido: a resposta ao degrau será oscilatória com amortecimento (exponencial decrescente) — isso explica o comportamento que se verá no gráfico.
Passo 3
Escolha do método de simulação no MATLAB (por que e como).
- Método simples e direto: usar a função Control System Toolbox
tfpara construir a TF esteppara obter a resposta ao degrau. A funçãosteppor padrão calcula a resposta a um degrau unitário; para um degrau debasta multiplicar a TF por ou multiplicar a resposta por . - Alternativa (equivalente): usar
lsimcom um vetor de entradaconstantes; eu uso step(G*5,t)por ser curto e direto. - Escolha do vetor de tempo: o enunciado pede
. Para capturar bem a oscilação com (frequência aproximadamente ), um passo de tempo em torno de a s é adequado. Vou usar s (isto dá 1001 pontos em ), que é suficiente para um gráfico nítido e não muito pesado.
Passo 4
Explicação linha a linha do que o script MATLAB fará (didática para aplicar na prova ou prática).
- Primeiro definimos os valores numéricos
com os dados do enunciado. - Em seguida calculamos os coeficientes do denominador
. - Construímos a TF com
tf(num,den);tfrecebe vetores de coeficientes em ordem decrescente de potência de. - Definimos o vetor de tempo
t = 0:dt:Tsim;. - Chamamos
step(G*5,t)para obter a resposta ao degrau de. - Plotamos com rótulos e grade; adicionamos título e leve formatação para leitura.
Passo 5
Observações práticas e verificação rápida (como checar estabilidade/polos no MATLAB).
- Para verificar os polos (e confirmar
e comportamento), no MATLAB pode-se usar p = pole(G)edamp(G)para obter polos e damping/frequência natural. Com os números dados espera-se polos complexos conjugados com parte real negativa (sistema estável e subamortecido). - Se preferir usar
lsimem vez destep, criaru = 5*ones(size(t)); y = lsim(G,u,t);e plotartvsy.
Resposta
% Script MATLAB para resposta ao degrau de 5 V em um RLC série
% Dados do problema
L = 2e-3; % H
C = 20e-6; % F
R = 8; % ohm
% Dados do problema
L = 2e-3; % H
C = 20e-6; % F
R = 8; % ohm
% Coeficientes da função de transferência G(s) = 1/(LCs^2 + RCs + 1)
num = 1;
den = [LC, RC, 1];
num = 1;
den = [LC, RC, 1];
% Criar a função de transferência
G = tf(num, den);
G = tf(num, den);
% Parâmetros de simulação
Tsim = 10e-3; % tempo total de simulação: 10 ms
dt = 1e-5; % passo de tempo (ajustável)
t = 0:dt:Tsim;
Tsim = 10e-3; % tempo total de simulação: 10 ms
dt = 1e-5; % passo de tempo (ajustável)
t = 0:dt:Tsim;
% Resposta ao degrau de amplitude 5 V
Amp = 5; % amplitude do degrau (V)
[y, tt] = step(G*Amp, t); % passo com amplitude
Amp = 5; % amplitude do degrau (V)
[y, tt] = step(G*Amp, t); % passo com amplitude
% Plotar resultado
figure;
plot(tt*1e3, y, ‘LineWidth’, 1.5); % eixo em ms
grid on;
xlabel(‘Tempo (ms)’);
ylabel(‘Saída E_o (V)’);
title(‘Resposta ao degrau de 5 V do circuito RLC série’);
% opcional: mostrar polos e damping no console
p = pole(G);
disp(‘Polos do sistema:’);
disp§;
damp(G);
figure;
plot(tt*1e3, y, ‘LineWidth’, 1.5); % eixo em ms
grid on;
xlabel(‘Tempo (ms)’);
ylabel(‘Saída E_o (V)’);
title(‘Resposta ao degrau de 5 V do circuito RLC série’);
% opcional: mostrar polos e damping no console
p = pole(G);
disp(‘Polos do sistema:’);
disp§;
damp(G);