Buscar

Análise de Sistema de Controle

Prévia do material em texto

Nome: Gustavo 
A = 7	B = 9.	
1. Usando o Octave, calcule a função de transferência pulsada G(z) do sistema.
2. Usando o Octave, esboce o lugar geométrico das raízes de G(z).
3. Determine o valor de K para resultar em uma ultrapassagem percentual de 16,3%. Explique passo a passo como obteve o valor de K, apresentando os gráficos e resultados intermediários gerados no Octave.
O cálculo da curva de fator de amortecimento com a ultrapassagem de 16,3% foi realizado utilizando os seguintes passos no octave:
Depois, geramos a curva de fator de amortecimento e sobrepusemos a curva no lugar geométrico das raízes para conseguir ver onde eles se cruzam, e com isso conseguimos ver o ponto do plano Z.
Logo após identificar o ponto do plano Z, foi feito o cálculo da função de transferência Gz(s) no ponto Z1, e depois realizado o cálculo para determinar o valor do ganho do sistema (K).
4. Mostre a resposta do sistema em malha fechada a degrau e discuta se o objetivo foi atingido.
Após a determinação do valor do ganho K (75.74) para 16,3% de overshoot, foi recalculado a função de transferência de Gs e logo depois a função de Gz, e por fim consegue-se determinar o modelo matemático do sistema em malha fechada, conforme o código feito no octave e o gráfico a seguir.
5. Determine a faixa de K para a estabilidade. Explique passo a passo como obteve a faixa de K, apresentando os gráficos e resultados intermediários gerados no Octave.
Foi recalculado o valor do polo complexo Z1, de acordo com o valor do cruzamento do círculo unitário com o LGR (lugar geométrico das raízes). 
Após conseguir o Z1, conseguir determinar a faixa de K para a estabilidade.
Ganho para resultar em uma ultrapassagem de 16,3%.
K = 75.74 
Faixa de ganho para estabilidade 
0 < K < 455.22
Codigo do Octave:
>> clear
>> pkg load control
>> pkg load signal
>> num = 1
num = 1
>> den = poly ([-7 -9])
den =
 1 16 63
>> Gs = tf (num, den)
Transfer function 'Gs' from input 'u1' to output ...
 1
 y1: ---------------
 s^2 + 16 s + 63
Continuous-time model.
>> T = 0.1
T = 0.1000
>> Gz = c2d(Gs, T)
Transfer function 'Gz' from input 'u1' to output ...
 0.00299 z + 0.001752
 y1: -----------------------
 z^2 - 0.9032 z + 0.2019
Sampling time: 0.1 s
Discrete-time model.
>> [numGz denGz] = tfdata (Gz);
>> numGz = cell2mat (numGz);
>> denGz = cell2mat (denGz);
>> hold on;
>> rlocus(Gz);
>> warning: invalid zoom region
>> UP = 16.3
UP = 16.300
>> fa = -log(UP/100)/sqrt (pi^2 + (log(UP/100))^2)
fa = 0.5000
>> wT = linspace (0, pi, 1000);
>> rho = exp(-wT*(fa/sqrt(1-fa^2)));
>> polar (wT, rho, "k");
>> z1 = 0.338 + 0,469*i
z1 = 0.3380
ans = 0 + 469i
>> z1 = 0.338 + 0.469*i
z1 = 0.3380 + 0.4690i
>> g1 = polyval (numGz, z1) / polyval (denGz, z1);
>> K = 1/abs(g1)
K = 75.743
>> num = K
num = 75.743
>> Gs = tf (num, den)
Transfer function 'Gs' from input 'u1' to output ...
 75.74
 y1: ---------------
 s^2 + 16 s + 63
Continuous-time model.
>> Gz = c2d(Gs, T)
Transfer function 'Gz' from input 'u1' to output ...
 0.2265 z + 0.1327
 y1: -----------------------
 z^2 - 0.9032 z + 0.2019
Sampling time: 0.1 s
Discrete-time model.
>> Tz = tf(num, den)
Transfer function 'Tz' from input 'u1' to output ...
 75.74
 y1: ---------------
 s^2 + 16 s + 63
Continuous-time model.
>> Tz = feedback(Gz)
Transfer function 'Tz' from input 'u1' to output ...
 0.2265 z + 0.1327
 y1: -----------------------
 z^2 - 0.6767 z + 0.3346
Sampling time: 0.1 s
Discrete-time model.
>> step(Tz);
>> Clf;
error: 'Clf' undefined near line 1, column 1
>> clf;
>> step(Tz);
>> clf;
>> theta = linspace (0, 2*pi, 1000);
>> rho = ones (1, 1000);
>> polar (theta, rho, "r");
>> rlocus(Gz);
>> hold on;
>> rlocus(Gz);
>> polar (theta, rho, "r");
>> warning: invalid zoom region
>> z1 = -0.229 + 0973 * i
z1 = -0.2290 + 973.0000i
>> z1 = -0.229 + 0.973 * i
z1 = -0.2290 + 0.9730i
>> g1 = polyval (numGz, z1) / polyval (denGz, z1);
>> K = 1/abs(g1)
K = 455.22

Continue navegando