Sie sind auf Seite 1von 14

CENTRO UNIVERSITRIO DO LESTE DE MINAS GERAIS

Graduao em Engenharia Eltrica











PID DIGITAL









CORONEL FABRICIANO
1 semestre/ 2014


CENTRO UNIVERSITRIO DO LESTE DE MINAS GERAIS
Graduao em Engenharia Eltrica










Trabalho apresentado na
disciplina de Teoria de
Controle do Centro
Universitrio do Leste de
Minas Gerais, como
requisito parcial para
obteno do ttulo de
Graduado em Engenharia
Eltrica.

Professor: Roselito de A.
Teixeira


CORONEL FABRICIANO
1 semestre/ 2014



1 Sintonia de Controladores PID
1. Considere a resposta ao degrau de um processo e projete um sistema de controle para
o mesmo.
Um dos controladores digitais P, PI, PD ou PID devem ser selecionados e sintonizados
para a realizao do controle adequadamente.
(a) Processo 01: resposta obtida mediante aplicao de um degrau unitrio em t = 0s.





Foi proposto um modelo de resposta de um processo entrada em degrau unitrio ,
sendo realizados os clculos dos perodos de amostragem a serem utilizados nos
mesmos, discretizao das funo de transferncia, e obtida sua equao de
diferena, conforme ser demostrado a seguir.
1 PROCESSO



() ()
()



()

()


()

()




















Foi utilizado o cdigo abaixo para mostrar o sistema contnuo:

num=[0.75];
den=[0.50445 1.01185 1];
sys=tf(num,den);
step(sys)
xlabel ('Tempo em segundos')
ylabel ('Amplitude do sinal')
title (Sistema Contnuo em malha aberta')
legend('continua')


Foi utilizado o cdigo abaixo para mostrar o sistema contnuo e dicreto:
clc
clear all
hold
Ts=0.1975;
num=[0.75];
den=[0.50445 1.01185 1];
sys=tf(num,den);
Gz=c2d(sys,Ts,'zoh');
step(sys,Gz)
xlabel ('Tempo em segundos')
ylabel ('Amplitude do sinal')
title (' Sistema Contnuo e discreto em malha aberta')
legend('continua','discreta')

0 1 2 3 4 5 6
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8


Sistema Contnuo em malha aberta
Tempo em segundos (sec)
A
m
p
l
i
t
u
d
e

d
o

s
i
n
a
l
continua




Foi utilizado o cdigo abaixo para mostrar o sistema contnuo e dicreto:
Para considerar o atraso de transporte L, caso ele exista multiplicar o
numerador de

()
()
()
^
()
% Cdigo para encontrar e =round (L/T)
clc
clear all

L=0.1892
T=0.09884
=round (L/T)

Mas obteve-se
0 1 2 3 4 5 6 7
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8


Sistema Contnuo e discreto em malha aberta
Tempo em segundos (sec)
A
m
p
l
i
t
u
d
e

d
o

s
i
n
a
l
continua
discreta



Calculado o perodo de amostragem a ser utilizado para a discretizao, o
mesmo foi implementado com funo de transferncia do processo no
software Matlab junto ao comando c2d, que realiza a converso de sistemas
do domnio contnuo para o domnio discreto. O algoritmo utilizado para a
discretizao do sistema se encontra apresentado a seguir:
% Cdigo para discretizar a funo de transferncia
clear
close all

hold
s=tf('s');
T=0.09884;
G=0.75/(0.5044*s^2+1.0118*s+1);
Gz=c2d(G,T,'zoh'); % discretiza a funo de transferncia analgica G
[num, den]=tfdata(Gz);
format long % os coeficientes da funo sero exibidos com 15 casas
decimais.
num{:} % exibe coeficientes do numerador
den{:} % exibe coeficientes do denominador

Assim, a funo de transferncia no domnio discreto obtida foi a seguinte:





De posse da funo de transferncia discreta (em Z), foi obtida a equao de
diferenas do processo a ser implementada no software Matlab com o objetivo de
simular o comportamento do sistema:

()

()



()

()

()
(

)

()
(

()

()


()



()


()



Assim a equao de diferenas pde ser definida como sendo:

()
( ) ( )
( ) ( )


Definida a equao de diferenas do processo, a mesma foi implementada junto a um
controlador digital no software Matlab a fim de se obter a resposta a uma dada entrada
de referncia conforme ser demonstrado posteriormente.
SIMULAES

Dado o seguinte setpoint de referncia, foram implementadas as equaes de
diferenas dos processos obtidas junto aos controladores P, PI e PID sintonizados
anteriormente atravs dos mtodos de Ziegler e Nichols de malha fechada, Ziegler e
Nichols de malha aberta, Lambda e Cohen-Coon, sendo realizadas suas simulaes
de comportamento objetivando-se que os mesmos apresentem erro nulo a uma
entrada em degrau, e tenham seus tempos de resposta e sobressinal minimizados.
% sinal de referencia
r = (1/100)*[50*ones(1,200) 35*ones(1,200) 60*ones(1,200)
45*ones(1,200) 45*ones(1,200)];

E obteve-se o grfico abaixo:

Figura 1- Setpoint de referncia



Sintonia dos Controladores
Utilizando a equao de diferenas obtida do processo 1, foi proposta a
implementao de controladores P, PI e PID com o objetivo de se obter uma sada
satisfatria dentro dos requisitos de controle desejados. A rotina utilizada no software
Matlab para o controle do processo se encontra em anexo abaixo.
As tcnicas determinadas para o controle do processo em questo foram as
seguintes:

A) Mtodo de Ziegler Nichols em malha fechada:

0 100 200 300 400 500 600 700 800 900 1000
0.35
0.4
0.45
0.5
0.55
0.6
Conforme observado na figura abaixo, o lugar das razes do sistema no passa pelo
lado direito do plano S. Deste modo, no foi possvel a aplicao do mtodo proposto
devido o sistema no ir para a instabilidade, no sendo possvel se alcanar o ganho
crtico (Ku) que leva o sistema a oscilar indefinidamente utilizado nesta sintonia para
a obteno dos demais parmetros do controlador.

Figura 2 Lugar das razes do Processo
B) Mtodo de Ziegler Nichols em malha aberta:

No foi possvel a utilizao do mtodo de sintonizao de Ziegler Nichols em malha
aberta devido a resposta a uma entrada em degrau unitrio no ser semelhante
curva em S. Outro fator que impede a utilizao desta sintonia o fato do processo
apresentar polos complexos conjugados impedindo assim sua sintonizao.
C) Mtodo Lambda:

Foi realizada a sintonia do controlador atravs do mtodo Lambda, utilizando para
obteno dos parmetros do mesmo a seguinte tabela:
-1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2
-5
-4
-3
-2
-1
0
1
2
3
4
5
Root Locus
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s


Tabela 01 Mtodo Lambda para diferentes modelos de processos.

Tomando como base o terceiro modelo de processo apresentado na tabela, o sistema
proposto foi aproximado de modo a igualar ambos, sendo os parmetros a serem
utilizados para a sintonia do controlador obtidos, apresentados a seguir:

Fazendo:




Temos:



Conforme sugerido na literatura tomada como base para sintonizao do processo, o
valor para lambda () a ser utilizado deve ser igual a maior constante de tempo obtida
do sistema, no processo em questo 0,5773, sendo adotado o valor de lambda como
0,58.


Utilizando a tabela e os dados do sistema, foi obtido o controlador PID com os
seguintes parmetros:




Com os parmetros obtidos do controlador, o mesmo foi implementado no software
Matlab junto equao de diferenas do sistema proposto, sendo a simulao de
resposta a uma dada referncia apresentada no grfico a seguir, onde se encontram
amostrados os parmetros PV (valor de sada do processo), MV (ao de controle),
Setpoint (referncia) e erro (diferena entre a PV e o setpoint):


0 10 20 30 40 50 60 70 80 90 100
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
Tempo em segundos


MV
PV
Setpoint
Error
Figura 3 Resposta do sistema com controlador PID Grfico de sintonia pelo mtodo
Lambda PID
ndices de desempenho obtidos
IAE = 11.451619362487309
ISE = 2.626421052701319

Cdigo Utilizado.
% Cdigo Utilizado para Sintonia pelo Mtodo Lambda PID
clear
close all

T = 0.09884; % perodo de amostragem
L = 0.1892; % atraso de transporte do sistema

beta=round(L/T);

% sinal de referncia
r =(1/100)*[50*ones(1,200) 35*ones(1,200) 60*ones(1,200)
45*ones(1,200) 45*ones(1,200)];

n =(0:beta);

y(beta+1) = 0;
e(beta+1) = r(beta+1);
u(beta+1) = 0;

ui(beta+1) = 0;
up(beta+1) = 0;
ud(beta+1) = 0;

% parmetros do controlador --------------------------------
kp=1.8994
Ti= 1.01175
Td=0.4985

%-----------------------------------------------------------

% valores mximo e mnimo para a ao de controle ---------
u_max = 1;
u_min = 0;
%---------------------------------------------------------


for k=beta+2:length(r)

% equao de diferenas da planta exemplo-----------------------
y(k) =0.006795130351948*u(k-1)+0.006360414277863*u(k-
2)+1.802609406569224*y(k-1)-0.820150132742305*y(k-2)
%---------------------------------------------------------------

% clculo do erro ----------------------------------------
e(k) = r(k)-y(k);
%---------------------------------------------------------
%Integral do quadrado do erro
IAE = sum(abs(e))
%Integral da magnitude absoluta do erro
ISE = sum(e.^2)


% PID digital ---------------------------------------------

% ao proporcional
up(k) = kp*e(k);

% ao integral
ui(k) = ui(k-1) + (kp*T/Ti)*e(k);

% ao derivativa
ud(k) = ((kp*Td)/T)*(y(k-1)-y(k));
%---------------------------------------------------------
u(k)= up(k) + ui(k)+ ud(k);
%---------------------------------------------------------



% implementao do anti windup ---------------------------
if u(k) > u_max
ui(k) = ui(k-1);
u(k) = u_max;

else
if u(k) < u_min
ui(k) = ui(k-1);
u(k) = u_min;
end

end
%---------------------------------------------------------

n = [n k-1];
[X,U] = stairs(n*T,u);
plot(X,U,'r',n*T,y,'b',n*T,r(1:k),'g',n*T,e(1:k),'m-');
pause(T)
%---------------------------------------------------------
end

xlabel('Tempo em segundos')
legend('MV','PV','Setpoint','Error')
%-----------------------------------------------------------------

Foi utilizada uma ao anti-windup junto ao algoritmo com o intuito de evitar que
ocorra a saturao da ao de controle, sendo a mesma limitada no programa em um
valor mximo de 1 e mnimo de 0.
A resposta do sistema foi satisfatria e os parmetros PID do controlador foram
calculados atravs do mtodo Lambda.

Das könnte Ihnen auch gefallen