Você está na página 1de 12

UNIVERSIDADE FEDERAL DO ABC

EN 2710 - SISTEMAS DE CONTROLE II

RELATÓRIO DA PRÁTICA 04

PROFESSOR: ALAIN SEGUNDO POTTS

SANTO ANDRÉ - SP
2017
Introdução e Objetivos

Em uma planta de sistema real, muitas vezes o atuador não executa sozinho
o papel de estabelecer as especificações de projeto, sendo necessário projetar
controladores que garantam o bom funcionamento em malha fechada. Além de
corrigir a instabilidade do sistema, o controlador também garante que as
especificações de projeto sejam cumpridas.
Um controlador PID possui o seguinte formato:
GC (s) = Kp + KI/s + Kds
Este tipo de controlador permite que se variem 3 parâmetros para que o
controle do sistema seja efetuado. Isso permite que ele seja bastante robusto na
garantia de que as especificações de projeto sejam atingidas.
O objetivo da prática foi implementar um controlador PID para um sistema
estabelecido, garantido que as especificações de erro estático, margem de ganho e
de fase fossem satisfeitas. Para comprovar a estabilidade, também foi traçada a
curva de Nyquist, além da resposta ao degrau e à rampa. Também foi verificada a
necessidade da aplicação de um pré-filtro no sistema em malha fechada, sendo
verificado posteriormente o seu efeito na resposta em frequência do mesmo.

Metodologia

Resultados

O objetivo da implementação do controlador PID era obter um sistema com


margem de fase 50° e erro de velocidade estático 4s-1. Para isso, foi inicialmente
determinado o valor de K para o controlador baseado em Kv = 4s-1. O Gc(s) foi
𝐾(𝑎𝑠+1)(𝑏𝑠+1)
inicialmente considerado como Gc(s) = 𝑠
.

Utilizando a equação:
𝐾𝑣 = lim 𝑠 . 𝐺𝑐(𝑠) . 𝐺(𝑠)
𝑠→0

Foi obtido K = 40.

Partindo disso, o sistema inicial em malha aberta obtido foi:

40(𝑠 + 0.1)
𝐿(𝑠) = 𝑠 (𝑠 + 1)

O diagrama de bode indicando margens de ganho e de fase desse sistema é


mostrado na figura 1:

Figura 1: Diagrama de bode em malha aberta sem controlador

O sistema do controlador foi pensado como se fosse um compensador. Como


o sistema em malha aberta já tem um zero, foi acrescentado apenas mais um zero.
Deste modo, o que se obtém é na verdade um controlador do tipo PI.
O valor desse zero foi obtido a fim de compensar a margem de fase
insuficiente, obtendo-se, então, os 50 graus desejados.
O sistema sem o zero do controlador PID já possuía -180 graus de fase
(MF~0) na frequência de cruzamento de 6,4 rad/s. Portanto, foi necessário adicionar
50 graus de margem de fase para que a especificação de projeto fosse cumprida.
Logo:

𝐺𝑐(𝑗ω)𝐺(𝑗ω) =− 130° ⇒ − 180° + 𝑎𝑟𝑐𝑡𝑎𝑛(𝑎ω) =− 130° ⇒ 𝑎𝑟𝑐𝑡𝑎𝑛(𝑎ω) = 50°
𝑡𝑎𝑛(50)
⇒𝑎 = ω
, sendo ω a frequência de cruzamento de 6,4 rad/s.

Por meio de testes no MATLAB, chegou-se ao valor de a = 0,16 para que a


especificação de margem de fase fosse igual a 50 graus. No controlador PID não foi
necessário dimensionar o parâmetro b (b = 0), pois a margem de fase requerida já
seria obtida com apenas um zero no controlador.
Logo o compensador é da forma PI, sendo:
0,16𝑠+1
𝐺𝑐(𝑠) = 𝑠

E o sistema em malha aberta assume a forma:


40 (𝑠 + 0,1)(0,16𝑠 + 1)
𝐺𝑐(𝑠)𝐺(𝑠) = 2
𝑠(𝑠 + 1)

Figura 2: Diagrama de bode em malha aberta com controlador

O valor de margem de ganho é maior que os 10 dB desejados, bem como a


margem de fase do sistema é de 50 graus.

O diagrama de nyquist é mostrado abaixo:


Figura 3: Diagrama de Nyquist do sistema controlado
Com o controlador, o sistema em malha fechada assume a forma:
(𝑠+0,1)(0,16𝑠+1)
𝐿(𝑠) = 40 2
𝑠(𝑠 +1)+4(𝑠+0,1)(0,16𝑠+1)

O sistema em malha fechada possui a seguinte resposta à rampa:

Figura 4: Resposta a rampa do sistema controlado


E a seguinte resposta ao degrau:

Figura 5: Resposta ao degrau do sistema controlado

A resposta ao degrau do sistema em malha fechada não é muito boa pois


possui um valor de sobressinal de 28,3%, o que é devido à ação do controlador e
que não é desejado. Para tratar essa resposta, foi implementado um pré-filtro:

Figura 6: Sistema em malha fechada com pré-filtro.

Para resolver este problema, foi implementado um pré-filtro de ganho unitário


em estado estacionário (baixas frequências), e que cancelasse o zero adicionado
pelo controlador. Logo:
6,25
𝐺𝑝(𝑠) = 𝑠+6,25

Portanto, o sistema em malha fechada com o pré-filtro é tal que:


(𝑠+0,1)
𝐺𝑐𝑜𝑚 𝑓𝑖𝑙𝑡𝑟𝑜(𝑠) = 250 2
𝑠(𝑠 +1)+4(𝑠+0,1)(0,16𝑠+1)

A resposta ao degrau do sistema com pré filtro é:

Figura 7: Resposta ao degrau com sistema de pré-filtro


O sistema agora possui um overshoot de 14,09% e um tempo de
acomodação de 2.53 segundos, o que torna a resposta mais desejável.

Conclusões

O controle de um sistema por meio de um controlador PID é bastante robusto,


já que torna-se possível obter, de acordo com as especificações, a margem de fase
e ganho necessárias para o projeto sem alterar a estabilidade, por conta do
integrador.
No caso do projeto realizado, não foi necessário dimensionar um dos
parâmetros do PID, já que o sistema já possuía um zero em malha aberta, o que
implica que o controlador necessário seria apenas um PI.
Além disso, pela adição do zero (pelo compensador), foi possível obter uma
resposta adequada em malha fechada pela adição de um pré-filtro, que não modifica
a dinâmica do sistema em malha aberta mas que coloca a resposta em malha
fechada em valores mais adequados de sobressinal e tempo de acomodação.
Referências Bibliográficas

DORF, R. C.; BISHOP, R. H.; "Sistemas de controle modernos", LTC Editora, 8a Ed.,
2001.
OGATA, K.; "Engenharia de controle moderno", Pearson/Prentice Hall, 4 a Ed., 2003.
NISE, N. S.; ”Engenharia de Sistemas de Controle”, LTC Editora, 3a Ed., 2002.
Apêndices

Código do Matlab
Sem pré filtro:
%Controlador PID para a função (s+0.1)/(s^2+1)
clear;
clc;
close all;

%calculado K = 40
numsist = [40 4]; %já multiplicado 40*[s + 0.1]
densist = [1 0 1 0]; % s^3 + s

sistinicio = tf(numsist,densist);
bode (sistinicio);
margin(sistinicio);
grid;
title('Diagrama de bode sem compensador');
figure

%como o sistema já tem 1 zero, só precisa de mais 1 zero, que é associado ao


%"a"

a = 0.16;
b = 0;

numsist_a = conv(numsist,conv([a 1],[b 1])); % [40s + 4]*[as + 1]*[bs + 1]


densist_a = [1 0 1 0];

sist_a=tf(numsist_a, densist_a)
bode(sist_a);
margin(sist_a);
grid;
title ('Diagrama de bode com compensador');
figure
nyquist(sist_a)
grid;
figure

sysfechado = feedback(sist_a,1);
step(sysfechado);
grid
figure
stepinfo(sysfechado)

%resposta a rampa
integrador = tf(1,[1 0]);
sistema = series(integrador,sysfechado);
y = step(sistema,[0:0.01:10]);
plot([0:0.01:10],[0:0.01:10],[0:0.01:10],y)

Com pré-filtro
%Controlador PID para a função (s+0.1)/(s^2+1)
clear;
clc;
close all;

%pré-filtro
numfiltro = 6.25;
denfiltro = [1 6.25];
sysfiltro = tf(numfiltro, denfiltro);

%calculado K = 40
numsist = [40 4]; %já multiplicado 40*[s + 0.1]
densist = [1 0 1 0]; % s^3 + s

sistinicio = tf(numsist,densist);
bode (sistinicio);
margin(sistinicio);
grid;
title('Diagrama de bode sem compensador');
figure

%como o sistema já tem 1 zero, só precisa de mais 1 zero, que é associado ao


%"a"

a = 0.16;
b = 0;

numsist_a = conv(numsist,conv([a 1],[b 1])); % [40s + 4]*[as + 1]*[bs + 1]


densist_a = [1 0 1 0];

sist_a=tf(numsist_a, densist_a)
bode(sist_a);
margin(sist_a);
grid;
title ('Diagrama de bode com compensador');
figure
nyquist(sist_a)
grid;
figure

sysfechado = feedback(sist_a,1)
step(sysfechado);
grid
figure
stepinfo(sysfechado)

sist_filtrado= sysfiltro*sysfechado
bode(sist_filtrado);
margin(sist_filtrado);
grid;
title ('Diagrama com filtro');
figure
step(sist_filtrado);
grid
figure
stepinfo(sist_filtrado)

%resposta a rampa
integrador = tf(1,[1 0]);
sistema = series(integrador,sysfechado);
y = step(sistema,[0:0.01:10]);
plot([0:0.01:10],[0:0.01:10],[0:0.01:10],y)

Você também pode gostar