Você está na página 1de 43

Exemplo

1
Considerando um sistema de controle de nvel mostrado abaixo.
O nvel de lquido medido e a sada do transmissor de nvel (LT)
enviada para um controlador feedback (LC) que controla o nvel pelo
ajuste da vazo volumtrica q
2
. A segunda vazo de fluido, q
1
, corresponde
varivel perturbao (corrente chegando de outra unidade,
no posso controlar essa corrente).
q
1

q
3

q
2

h
A
LT LC
hm
Exemplo 3 Controlando o tanque de nvel
Encontrando a funo de transferncia do tanque de nvel:
Assumindo que:
- a densidade do lquido e a rea da seo transversal do
tanque A so constantes.

- a relao entre a vazo e a carga linear:
R h q /
3
=
O modelo descrito por uma equao de balano transiente de massa no
tanque:

3 2 1
q q q
dt
dh
A + =
Substituindo a hiptese ii na equao anterior ficamos com:
R
h
q q
dt
dh
A + =
2 1
Encontrando a funo de transferncia do tanque de nvel:
Introduzindo as variveis-desvio e aplicando a Transformada
de Laplace, chegamos as funes de transferncia:
1
) (
) (
) ( '
1
'
1
+
= =
s
K
s G
s q
s h
p
t
1
) (
) (
) ( '
2
'
2
+
= =
s
K
s G
s q
s h
p
t
onde:
AR
R K
p
=
=
t
Encontrando a funo de transferncia do tanque de nvel:
Para o exemplo em questo considere um tanque de 1 m de dimetro
e uma vlvula na sada na linha atuando sob uma resistncia
linear (R) de 6.37 min/m
2
.
A = 3.1415 * (1/2)^2
A = 0.785

R = 6.37
5
37 . 6
= =
= =
AR
R K
p
t
1 5
37 . 6
1
) (
) (
) ( '
2
'
2
+
=
+
= =
s s
K
s G
s q
s h
p
t
Encontrando a funo de transferncia do tanque de nvel:
Funo de transferncia do tanque de nvel:
Considerando uma vlvula com a seguinte
funo de transferncia:

psi m K G
v v
min / 0103 . 0
3
= =
15
psi
0
psi
Linguagem
de
engenharia
0 m3/min
0.1545 m3/min
Linguagem
de
mquina
Vlvula:
Encontrando a funo de transferncia da vlvula:
Funo de transferncia da vlvula:
Considerando um medidor com a seguinte
funo de transferncia:
m psi K G
m m
/ 5 = =
15
psi
0
psi
Linguagem
de
engenharia
0 m
3 m
Linguagem
de
mquina
Sensor:
Encontrando a funo de transferncia do sensor
Funo de transferncia do sensor
Malha de Controle
Set-point
Valor medido
Erro:
(sp - valor medido)
Exemplo 3 Controlando o tanque de nvel
Controlador
Processo
Medidor
Vlvula
Ajuste de Controladores:
Na prtica o melhor ajuste para um controlador
obtido pela combinao da ao P (proporcional), I (integral),
e D (derivativa). Podemos usar o Simulink para obter uma
estimativa inicial desse ajuste.
Nem todas as combinaes de valores para P, I e D so
possveis. As vezes o processamento numrico trava.
D
I
C
A
Exemplo 3 Controlando o tanque de nvel
Ajuste de Controladores:
Na prtica o melhor ajuste para um controlador
obtido pela combinao da ao P (proporcional), I (integral),
e D (derivativa). Podemos usar o Simulink para obter uma
estimativa inicial desse ajuste.
Tente:
P = 2 2 2 2
I = 0 25 1 1
D = 0 0 0 5
Nem todas as combinaes de valores para P, I e D so
possveis. As vezes o processamento numrico trava.
D
I
C
A
Exemplo 3 Controlando o tanque de nvel
Exemplo

2
Reviso de fminsearch
Exemplo
3
Modelagem simples de um tanque de nvel
Modelagem simples de um tanque de nvel
Modelagem & Dinmica de Processos
Modelos simples - o tanque de nvel
pode-se escrever o balano de massa do sistema
1
( )
( ) F F
dt
t dm
E
=
( ) ( )
dt
t dh
A
dt
t dm
=
( )
( ) F F
A dt
t dh
E
=
1
Ainda,
e, portanto,
(2)
(3)
(4)
Modelagem simples de um tanque de nvel
Modelagem & Dinmica de Processos
Modelos simples - o tanque de nvel
Freqentemente, considera-se a vazo de sada do tanque
proporcional altura da coluna de lquido inversamente
proporcional a uma resistncia ao escoamento (R):
1
R
h
F =
( )
|
.
|

\
|
=
R
h
F
A dt
t dh
E
1
Logo,
(5)
(6)
Modelagem & Dinmica de Processos
Modelos simples - o tanque de nvel
Este modelo simples de um tanque de nvel, sem balano de
energia, possui uma soluo analtica:
1
( )
|
|
.
|

\
|
=

RA
t
E
e RF t h 1
Para simular este modelo, basta escolher os valores das
constantes R, A e F
E
, das condies iniciais h
0
e t
0
.
A simulao da soluo analtica do modelo do tanque de
nvel mostrada a seguir.
(7)
Modelagem simples de um tanque de nvel
% Definio das constantes do modelo
R = 1; % h/m2
A = 2; % m2
Fe = 10; % m3/h
% Tempo de simulao
t = 0.0 : 0.01 : 10.0; % h
% Simulao da altura de lquido
h = R*Fe*(1 - exp(-t/(R*A))); % m
% Visualizao da simulao
plot(t,h);
title('Simulao do tanque de nvel');
xlabel('Tempo (h)');
ylabel('Altura (m)');
Modelagem simples de um tanque de nvel
Verifique a consistncia do calculo: a
matriz h gerada tambm deve ser 1x1000, j que
cada instante t gerou um valor h. sempre til
conferir a dimenso das variveis, principalmente a
medida que as rotinas forem tornando-se
complexas.
Dica!
Modelagem simples de um tanque de nvel
Exemplo
4
Muitas vezes muito trabalhoso, ou mesmo impossvel,
encontrar a soluo analtica para o conjunto de
equaes diferenciais. Nesse caso temos que simular
usando soluo numrica das equaes diferenciais.
Vamos assumir que o modelo do exemplo 1 no tivesse
soluo analtica, e ento usar o Matlab para estudar o
comportamento da altura do nvel com o tempo. A
equao diferencial ser:
Modelagem & Dinmica de Processos
Modelos simples - o tanque de nvel
Freqentemente, considera-se a vazo de sada do tanque
proporcional altura da coluna de lquido inversamente
proporcional a uma resistncia ao escoamento (R):
1
R
h
F =
( )
|
.
|

\
|
=
R
h
F
A dt
t dh
E
1
Logo,
(5)
(6)
Modelagem de um tanque de nvel via ED
Modelagem de um tanque de nvel via ED
% Definio das constantes do modelo
R = 1; % h/m2
A = 2; % m2
Fe = 10; % m3/h
% Tempo de simulao
t = 0.0 : 0.01 : 10.0; % h
% Simulao da altura de lquido
[t,h] = ode45('dhdt',t, 0,[],[R A Fe]);
% Visualizao da simulao
plot(t,h);
title('Simulao do tanque de nvel');
xlabel('Tempo (h)');
ylabel('Altura (m)');
function dh = dhdt(t,h,flag,par)
R = par(1);
A = par(2);
Fe = par(3);
dh = (Fe-(h/R))/A;
Nesse caso temos uma equao diferencial, ento deveremos
usar uma funo Matlab especfica para a resoluo de eq.
diferenciais. No caso temos a ODE45. A funo ODE45
implementa um esquema de soluo de sistemas de EDOs por
mtodo de Runge-Kutta de ordem mdia (consulte o help sobre
ODE45 para maiores detalhes).

[t,h] = ode45('dhdt',t, 0,[],[R A Fe]);
Modelagem de um tanque de nvel via ED
Modelagem de um tanque de nvel via ED
Os parmetros enviados entre parnteses so aqueles que
devemos passar para a ODE45:

-1 argumento de ode45 uma string contendo o nome do arquivo .m
com as equaes diferenciais. Neste caso, o arquivo chama-se dhdt.m.

-2 argumento um vetor que pode conter (i) dois elementos: os
tempos inicial e final da integrao, ou (ii) todos os valores de tempo para
os quais deseja-se conhecer o valor da varivel integrada.

-3 argumento o vetor contendo as condies iniciais das variveis
dependentes das EDOs. Os valores dos elementos do vetor de condies
iniciais precisam estar na mesma ordem em que as variveis
correspondentes so calculadas na funo passada como 1 argumento
para ode45 (neste caso, dhdt.m). Nesse caso em particular s temos uma
varivel dependente, assim temos uma nica condio inicial.

-4 argumento o vetor de opes de ode45. H vrias opes do
mtodo que podem ser ajustadas. Entretanto, no deseja-se alterar
os valores-padro. Neste caso, passado um vetor vazio, apenas para
marcar o lugar das opes.

-5 argumento um vetor contendo parmetros de entrada para a
funo dhdt.m. Observe que a funo .m deve ler esses parmetros
na ordem correta (recebe como varivel local par).

Os resultados da simulao so obtidos nos dois parmetros
entre colchetes (t , h).

Modelagem de um tanque de nvel via ED
A codificao do arquivo .m segue o mesmo formato j explicado para
funes porm com algumas particularidades.

No caso especfico de um arquivo .m que deve ser chamado por uma
funo de soluo EDOs (todas as ODExx), a declarao deste arquivo
deve seguir a sintaxe:

function dy = nomefun(t, y, flag, arg1, ..., argN)

onde
dy o valor da(s) derivada(s) retornadas
t e y so as variveis independente e dependente, respectivamente.
Opcional: caso deseje-se receber outros parmetros, a funo deve
receber um argumento marcador de lugar chamado flag. Aps este,
ela recebe quaisquer outros parmetros.
Modelagem de um tanque de nvel via ED
Exemplo
5
Modelagem de um tanque de aquecimento
Modelagem de um tanque de aquecimento
Modelagem & Dinmica de Processos
Modelos simples - tanque de aquecimento
Como no caso anterior, o balano de massa pode ser escrito
como :
1
( )
|
.
|

\
|
=
R
h
F
A dt
t dh
E
1
(6)
O balano de energia escrito como:
( )
( ) Q FH H F
dt
VT d
C
E E p
+ = (8)
Modelagem & Dinmica de Processos
Modelos simples - tanque de aquecimento
1
( )
|
.
|

\
|
+ = + =
dt
dh
T
dt
dT
h A
dt
dV
T
dt
dT
V
dt
VT d
(9)
( ) Q FH H F
R
h
F
A
T
dt
dT
h A C
E E E p
+ =
(

|
.
|

\
|
+
(10)
(
(

|
|
.
|

\
|
+
|
|
.
|

\
|
+ =
p
E
p
h E E
C
U
A
F
T
C
UT
A
T F
h dt
dT

1
(11)
Matlab

Real

dy(1)

dh/dt

y(1)

h

dy(2)

dT/dt

y(2)

T

Modelagem de um tanque de aquecimento
Traduzindo as equaes diferenciais para o Matlab:
% Definio das constantes do modelo
R = 1; % h/m2
A = 2; % m2
Fe = 10; % m3/h
Cp = 0.75; % kJ/(kg . K)
Ro = 1000; % kg/m3
U = 150; % kJ/(m2 . s . K)
Te = 530; % K
Th = 540; % K

% Tempo de simulao
t = 0.0 : 0.01 : 10.0; % h

% Simulao do modelo
[t,y]=ode45('dydt',t,[(5/A) Th],[],[U A Ro Cp Fe R Te Th]);


Modelagem de um tanque de aquecimento
% Visualizao da simulao
figure(1);
plot(t,y(:,1));
title('Tanque de aquecimento');
xlabel('Tempo (h)');
ylabel('Altura (m)');
figure(2);
plot(t,y(:,2));
title('Tanque de aquecimento');
xlabel('Tempo (h)');
ylabel('Temperatura (K)');
Modelagem de um tanque de aquecimento
A nica modificao em relao ao exemplo anterior que
estamos passando duas condies iniciais (pois existem duas
variveis dependentes):

[t,y]=ode45('dydt',t,[(5/A) Th],[],[U A Ro Cp Fe R Te Th]);
Modelagem de um tanque de aquecimento
A funo .m tem o cdigo apresentado a seguir:


function dy = dydt(t,y,flag,par);
U = par(1);
A = par(2);
Ro = par(3);
Cp = par(4);
Fe = par(5);
R = par(6);
Te = par(7);
Th = par(8);
dy(1) = (Fe-(y(1)/R))/A;
dy(2) = (1/y(1))* ( ((Fe*Te/A)+(U*Th/(Ro*Cp)))...
- ( y(2)*((Fe/A)+(U/(Ro*Cp)))) );
dy = dy(:);
Modelagem de um tanque de aquecimento
O vetor dy criado como vetor linha (dy(1)) e
(dy(2)). Porm temos que retornar como vetor coluna.


Use o comando:
matriz coluna = matriz linha (:)
Modelagem de um tanque de aquecimento
Dica!
figure(1);
plot(t,y(:,1));
title('Tanque de aquecimento');
xlabel('Tempo (h)');
ylabel('Altura (m)');
Quando for fazer os grficos no programa principal
lembre-se que a primeira coluna de dy refere-se a h e a
segunda a T. Ento para graficar h vs. tempo faa:

Modelagem de um tanque de aquecimento
Dica!

Você também pode gostar