Escolar Documentos
Profissional Documentos
Cultura Documentos
Exercicio 1
G=
2.5
-----------------
s^2 + 5.5 s + 2.5
>> %Pata
>> %para verificar o valor final da planta para entrada em degrau com regime
permanente
>> dcgain(G)
ans =
ans =
>> %gráfico
>> %método 1 para obter os parâmetros L, T.
>> %criação do vetor e plotagem da figura
>> t=0:0.01:5;
>> %vetor t entre 0 e 5s com incremento 0,01
>> [y, t]=step(G,t);
>> figure; plot(t,y)
Warning: MATLAB has disabled some advanced graphics rendering
features by switching to software OpenGL. For more information,
click here.
>> grid;
A partir da criação do vetor, gero o seguinte gráfico:
Aplico agora os passos do “basic fitting” no matlab gerando um gráfico com dois sinais
sobrepostos que mal se destacam, são as curvas “data 1” e “8th degree”.
fit7 =
p=
Columns 1 through 6
Columns 7 through 8
0.1595 -0.0084
dd_p =
Columns 1 through 6
0.0079 -0.1314 0.8716 -2.9282 5.2078 -4.5490
Column 7
1.3543
ans =
4.7180 + 0.0000i
3.8041 + 0.5699i
3.8041 - 0.5699i
1.8756 + 0.9113i
1.8756 - 0.9113i
0.5649 + 0.0000i
>> %segundo o gráfico anterior vemos que o ponto de inflexão ocorre em:
>> x=6
x=
>> x = ans(6)
x=
0.5649
>> %onde este sera o ponto de inicio onde a reta ira sobrepor a curva
>> a = polyval(d_p, x)
a=
0.3860
y_aux =
0.1672
b=
-0.0508
>> %equaçaõ da reta tangente do polinomio
>> reta=[a b];
>> %gráfico da reta sobreposta a curva anterior
>> y_reta = a.*t + b;
>> figure;
>> plot(t,y,'k-', t,y_reta,'b--')
>> plot(t,y,'k-', t,y_reta,'b--')
>> grid
>> legend('curva original', 'reta tangente')
>> %grafico 4
>> axis([0 5 -3 12])
>> %gráfico 5
>> %deste gráfico será extraido os parâmetros L e T
>> %L onde a reta cruza o eixo quando y=0
>> % y=a*t+b
% 0=a*t+b
% t=(-b/a)
>> L=-b/a
L=
0.1317
>>
% T pode ser determinado, onde t1=L+T.
>> t1 = (10-b)/a
t1 =
26.0367
>> %assim
>> T=t1-L
T=
25.9050
15.543 (s+7.596)^2
------------------
s
>> zpk(C_PI1)
ans =
38.858 (s+7.596)^2
------------------
s (s+5) (s+0.5)
ans =
3.8858 (s-1.231)^2
------------------
s (s+5) (s+0.5)
ans =
-22.2158
-15.7234
-6.4184
ans =
Questão 2
Aplicar os últimos 2 métodos de sintonia de um PID à seguinte planta:
G=
18.38
--------------------------------------------
s^4 + 12.5 s^3 + 46.25 s^2 + 56.88 s + 18.38
>> zpk(G)
ans =
18.375
-----------------------------
(s+7) (s+3.5) (s+1.5) (s+0.5)
>> dcgain(G)
ans =
Percebe-se que para este ku, o sistema fica instável, portanto após mais alguns testes, o
melhor valor para ku adotado foi de 9.3.
>> Ku=9.3;
>> ftmf=feedback(Ku*G,1);
>> figure; step(ftmf)
>> %quando ku=9.3 o sistema esta de forma estável
>> %logo ku=9.3
Tu =
2.9533
Assim TU obtido tem o valor de TU=2.9533
>> % através dos cálculos no Matlab (considerando o “PID clássico”)
>> Kp=0.6*Ku
Kp =
5.5800
>> Ki=1.2*(Ku/Tu)
Ki =
3.7788
>> Kd=0.075*Ku*Tu
Kd =
2.0600
A partir dos valores obtidos considerando as sugestões propostas por
Ziegler-Nichols, simularemos esses valores no simulink
>> Kp=0.4*Ku
Kp =
3.7200
>> Ki=0.6*(Ku/Tu)
Ki =
1.8894
>> Kd=0.2*Ku*Tu
Kd =
5.4932
>> Kd=0.1*Ku*Tu
Kd =
2.7466
Kp =
3.7200
>> Ki=0.6*(Ku/Tu)
Ki =
1.8894
>> Kd=0.12*Ku*Tu
Kd =
3.2959
Pode-se perceber que o Overshoot ficou dentro da faixa desejada, abaixo de 5%.
G=
18.38
--------------------------------------------
s^4 + 12.5 s^3 + 46.25 s^2 + 56.88 s + 18.38
>> zpk(G)
ans =
18.375
-----------------------------
(s+7) (s+3.5) (s+1.5) (s+0.5)
>>
>>
>> dcgain(G)
ans =
>> dcgain(G)*2
ans =
>> t=2
t=
2
A partir da planta disponibilizada na simulação em aula, realizo as devidas
adaptações para ajustar aos parâmetros estabelecidos
a=
0.2667
>> d=2
d=
>> ku=(4*d)/(pi*a)
ku =
9.5463
>> tu=3.247
tu =
3.2470
>> Kp=.6*ku
Kp =
5.7278
>> Ki=1.2*(ku/Tu)
Ki =
3.8789
>> Kd=0.074*ku*Tu
Kd =
2.0863
Tendo em vista que a questão possui requisitos de %OS e %TS, preciso melhorar
meu PID, portanto utilizo a tabela a seguir fornecida em aula, para buscar o melhor
ajuste
>> Kp=0.40*ku
Kp =
3.8185
>> Ki=0.60*(ku/Tu)
Ki =
1.9394
>> Kd=0.110*ku*Tu
Kd =
3.1013