O Controle Automatico
Por: 139508 • 28/9/2020 • Trabalho acadêmico • 996 Palavras (4 Páginas) • 187 Visualizações
Serão realizados os projetos para os seguintes controladores:
1. Controlador Proporcional;
2. Controlador PI “puro”;
3. Controlador PI + Zero;
4. Controlador por Atraso de Fase;
5. Controlador por Avanço de Fase;
6. Controlador PD c/filtro derivativo;
7. Controlador por Avanço-Atraso de fase;
8. Controlador PID.
Os controladores serão elaborados para a planta: [pic 1][pic 2]
Os projetos serão elaborados buscando os seguintes critérios:
- Período de amostragem, T = 0, 1 (segundos);
- Overshoot máximo tolerável, < 20%;
- Valores limites suportados na entrada da planta: −1, 3 ≤ u(t) ≤ 5, 4;
- Tempo de resposta desejável, t s < 1, 1 (segundos).
1. CONTROLADOR PROPORCIONAL
O controlador proporcional se resume a uma variação de ganho na entrada de uma planta, quanto maior o ganho, maior será o overshoot e menor será o tempo de assentamento e vice-versa, ganhos muito elevados podem tornar o sistema instável.
>> num=([2 5]);
den=poly([-6 -0.2 -1]);
planta = tf(num,den);
zpk(planta)
[pic 3]
ans =
2 (s+2.5)
-------------------
(s+6) (s+1) (s+0.2)
Continuous-time zero/pole/gain model.
>> zeta=(-log (20/100)) / (sqrt(pi^2+(log(20/100)^2)))
zeta =
0.4559
>> T = 0.1;
>> planta_digital = c2d(planta,T);
zpk(planta_digital)
[pic 4]
ans =
0.0086299(z+0.8557)(z-0.7788)
--------------------------------
(z-0.9802)(z-0.9048)(z-0.5488)
Sample time: 0.1 seconds
Discrete-time zero/pole/gain model.
>> rlocus(planta_digital)
>> hold on
>> zgrid(zeta,0)
[pic 5]
>> [K1, polos_MF1] = rlocfind(planta_digital)
[pic 6][pic 7][pic 8]
Select a point in the graphics window
selected_point =
0.8607 + 0.2110i
K1 =
5.8276
polos_MF1 =
0.8598 + 0.2105i
0.8598 - 0.2105i
0.6640 + 0.0000i
>> FTMF1 = feedback(Kp*planta_digital,1);
>> dcgain(FTMF1)
ans =
0.9604
>> K1_degrau = 1/ans
>>K1_degrau =
1.0412
>> figure; step(K1_degrau*FTMF1)
>> hold on
>> step(Kp*(1- FTMF1))
[pic 9]
Podemos perceber que o overshoot passou do especificado (20%) mesmo usando o comando rlocfind, isso se deve ao sistema ser de 3ª ordem e estarmos fazendo aproximação para um sistema de 2ª ordem. Portanto vamos baixar o ganho de 5.7579 para 3.1, assim obteremos o overshoot dentro do arbitrado, porém o tempo de assentamento será ainda maior.
>> Kp=3.1;
FTMF1 = feedback(planta_digital*Kp,1);
dcgain(FTMF1)
ans =
0.9281
>> K1_degrau = 1/ans
>>K1_degrau =
1.0774
>> figure; step(K1_degrau*FTMF1)
>> hold on
>> step(Kp*(1- FTMF1))
[pic 10]
Com Kp=3,1 conseguimos obter um overshoot de 20% porém o tempo de assentamento ficou em 4,28s, muito além do solicitado de 1,1s. U[Kt] permaneceu dentro dos parâmetros solicitados.
2. CONTROLADOR PROPORCIONAL INTEGRAL “PURO”
Esse controlador é caracterizado por ser lento e por possuir erro estacionário nulo.
>> num_c2 = 1;
>> den_c2=poly([1]);
>> c2 = tf(num_c2,den_c2,T);
>> zpk(c2)
ans =
1
-----
(z-1)
Sample time: 0.1 seconds
Discrete-time zero/pole/gain model.
>> FTMA2 = c2*planta_digital;
>> rlocus(FTMA2)
>> hold on
>> zgrid(zeta,0)
[pic 11]
>> [K2,polos_MF2]=rlocfind(FTMA2)
[pic 12][pic 13][pic 14]
Select a point in the graphics window
selected_point =
0.9916 + 0.0157i
K2 =
0.0040
polos_MF2 =
0.9916 + 0.0157i
0.9916 - 0.0157i
0.9021 + 0.0000i
0.5487 + 0.0000i
>> FTMF2=feedback(FTMA2*K2,1);
>> dcgain(FTMF2)
ans =
1.0000
>> figure; step(FTMF2)
>> hold on
>> step(K2*(1- FTMF2))
[pic 15]
Podemos verificar que com o uso do PI puro apesar do overshoot ficar dentro do solicitado, não conseguimos manter o tempo de assentamento que só ocorreu aos 47 segundos, o resultado já era esperado visto que o uso desse controlador deixa o sistema lento. U[Kt] permaneceu dentro dos parâmetros solicitados.
CONTROLADOR PROPORCIONAL INTEGRAL + ZERO
Caracteriza-se por diminuir o tempo de resposta de um PI adicionando-se um zero no controlador.
...