Você está na página 1de 57

EQ/UFRJ

Fonte Carlos Andr Vaz Junior


cavazjunior@gmail.com
http://www.eq.ufrj.br/links/h2cin/carlosandre
EQ/UFRJ
Mais de 150 mil resultados
Mundo Simulink
EQ/UFRJ
?
http://newsreader.mathworks.com
Ajuda
EQ/UFRJ
Acessando o Simulink
EQ/UFRJ
A programao no Simulink segue uma interface
grfica muito mais intuitiva e fcil de usar:
Ambiente Simulink
EQ/UFRJ
Ambiente de Trabalho Simulink
Ambiente Simulink
EQ/UFRJ
Exemplos
EQ/UFRJ
Exemplo

1
EQ/UFRJ
Biblioteca
Math
Biblioteca
Sources
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Ajuste automtico da escala do grfico:
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Ajuste manual da escala do grfico:
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Agora quero multiplicar o resultado por -1:
Biblioteca
Math
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Configurao do bloco Product:
Nmero de termos
da multiplicao.
Multiplicao
de matrizes ou
termo a termo.
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Alterando os parmetros de simulao:
Tempo inicial
Tempo final
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Criando um sub-sistema:
Sub-sistema
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Editando um sub-sistema:
Sub-sistema
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Algumas vezes mais fcil tratar os dados gerados no
ambiente Matlab.

Usamos o bloco to workspace:
Cria a varivel
A no workspace
Biblioteca
Sinks
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Configurao do bloco To Workspace:
Cria a varivel
A no workspace
Formato da varivel
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
>> plot(tout,A)
No Workspace...
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Rodando um bloco:
CTRL R
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Combinando dois sinais:
Entre outras aplicaes, permite exibir duas
ou mais curvas no mesmo grfico.
Bloco MUX
Biblioteca Signals & Sys.
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Dois ou mais grficos:
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Dois ou mais grficos:
Configurando...
Exemplo 1 Comportamento Senoidal
EQ/UFRJ
Exemplo

2
EQ/UFRJ
Temos a simulao de um tanque de nvel sob a influncia de uma
perturbao degrau na vazo da alimentao. A figura descreve
o sistema fsico que ser simulado.

q
1

q
3

q
2

h
A
Exemplo 2 Simulao de um modelo dinmico
EQ/UFRJ
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:
Deduzindo o modelo matemtico que descreve o tanque:
R h q /
3

Exemplo 2 Simulao de um modelo dinmico
EQ/UFRJ
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
Exemplo 2 Simulao de um modelo dinmico
EQ/UFRJ
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

1
) (
) (
) ( '
2
'
2


s
K
s G
s q
s h
p

onde:
AR
R K
p

Exemplo 2 Simulao de um modelo dinmico


EQ/UFRJ
Para o exemplo em questo considere um tanque de 0.5 m de dimetro
e uma vlvula na sada na linha atuando sob uma resistncia
linear (R) de 6.37 min/m
2
.
Sero simulados um degrau de 1 ft
3
na vazo q
1
a partir do
tempo igual a 0 min (step) e um degrau de 1 ft
3
na vazo q
2
a
partir do tempo igual a 10 min(step1).
A = 3.1415 * (0.5/2)^2
A = 0.196

R = 6.37
25 . 1
37 . 6


AR
R K
p

Exemplo 2 Simulao de um modelo dinmico


EQ/UFRJ
Corrente q1
Corrente q2
Exemplo 2 Simulao de um modelo dinmico
EQ/UFRJ
Biblioteca
Source
Biblioteca
Continuous
Exemplo 2 Simulao de um modelo dinmico
EQ/UFRJ
Degrau comea
no tempo zero
Degrau comea
No tempo dez
Bloco Funo
de Transferncia
Exemplo 2 Simulao de um modelo dinmico
EQ/UFRJ
A amplitude do
degrau 1
Exemplo 2 Simulao de um modelo dinmico
EQ/UFRJ
Resultado obtido:
1 estado
estacionrio
2 estado
estacionrio
1
perturbao
2
perturbao
Exemplo 2 Simulao de um modelo dinmico
EQ/UFRJ
Exemplo

3
EQ/UFRJ
Equaes para modelar um CSTR:
F F
dt
dV
A


A
RT
E
A
A
A
A
A
C e k C C
V
F
dt
dC


0

P
c A
RT
E
A
P
A
VC
T T UA C e HVk T T C F
dt
dT


0
Exemplo 3 Bloco S-function
EQ/UFRJ
dCa = (Fi*(cai-Ca)/V) - k*Ca;

dV = Fi-F;

dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);
Passando as equaes para o formato Matlab:
Exemplo 3 Bloco S-function
EQ/UFRJ
onde:

Fi: vazo de alimentao do reator (ft3/h)
Cai: concentrao da alimentao do reator (lbm/ft3)
Ca: concentrao no reator (varivel)
k: dado pela equao k = k0*exp(-E/(R*T))
V: volume do reator
F: vazo de sada (ft3/h)
Cp: calor especifico = 0.75 btu/lbm.R
ro: densidade =50 lb/ft3
Ti: temperatura de alimentao (R)
T: temperatura do reator
DeltaH: calor de reao = -30000 BTU/ lbm
U: coeficiente de troca trmica =150 BTU/(h.ft2.R)
continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
onde:

A: rea de troca trmica = 250 ft2
Tc: temperatura do fluido de alimentao (R)
E: energia de ativao = 30000 BTU/lbm
R: constante dos gases = 1.99 BTU/lbm.R
parmetros freqentemente alterados
parmetros raramente alterados
parmetros calculados
Legenda:
Exemplo 3 Bloco S-function
EQ/UFRJ
Exemplo 3 Bloco S-function
EQ/UFRJ
Parmetros
freqentemente
alterados
Parmetros raramente alterados
(mscara)
Biblioteca
Functions & Tables
Exemplo 3 Bloco S-function
EQ/UFRJ
Parmetros calculados
Exemplo 3 Bloco S-function
EQ/UFRJ
Fi
Cai
Ca
Ko
V
F
Cp
ro
Ti
T
DeltaH
U
A
Tc
E
R
Em resumo:
Exemplo 3 Bloco S-function
EQ/UFRJ
Configurando o bloco S-function:
Nome do arquivo com as
equaes
Parmetros alterados
pela mscara
Exemplo 3 Bloco S-function
EQ/UFRJ
Criando uma mscara:
Exemplo 3 Bloco S-function
EQ/UFRJ
Localizao do arquivo com as equaes:
O arquivo com as equaes deve estar localizado no mesmo
local dos arquivos Simulink!
O Current Directory do Matlab deve apontar para
esse local!
Exemplo 3 Bloco S-function
EQ/UFRJ
Criando o arquivo com as equaes:
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
%
% Simula um reator CSTR (mistura perfeita) no qual se conduz uma
% reao exotrmica (A->B), resfriado por serpentina

%
switch flag

case 0 % Dimensiona o sistema e inicializa os estados

% sys=[estados,0,sadas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condies iniciais
ca = 0.1315; %lbm/ft3, concentrao inicial no reator
T = 584.4115; %R, temperatura do reator
V = 200; %ft3, volume do reator
x0 = [ca T V]';


continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
Criando o arquivo com as equaes:
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
%
% Simula um reator CSTR (mistura perfeita) no qual se conduz uma
% reao exotrmica (A->B), resfriado por serpentina

%
switch flag

case 0 % Dimensiona o sistema e inicializa os estados

% sys=[estados,0,sadas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condies iniciais
ca = 0.1315; %lbm/ft3, concentrao inicial no reator
T = 584.4115; %R, temperatura do reator
V = 200; %ft3, volume do reator
x0 = [ca T V]';


sys a sada do modelo, cujo significado depende de flag
x0 o vetor de condies iniciais (funciona apenas quando flag = 0 )
t o tempo de simulao
x o vetor de estados do modelo
u o vetor de entradas do modelo (recebido do bloco Mux)
flag um parmetro que informa o tipo de informao que o integrador
espera receber a cada chamado
U,...,k0 so os parmetros adicionais que podem ser passados funo
atravs de uma mascara (devem estar declarados na configurao
do bloco S-function).
Exemplo 3 Bloco S-function
EQ/UFRJ
Criando o arquivo com as equaes:
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
%
% Simula um reator CSTR (mistura perfeita) no qual se conduz uma
% reao exotrmica (A->B), resfriado por serpentina

%
switch flag

case 0 % Dimensiona o sistema e inicializa os estados

% sys=[estados,0,sadas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condies iniciais
ca = 0.1315; %lbm/ft3, concentrao inicial no reator
T = 584.4115; %R, temperatura do reator
V = 200; %ft3, volume do reator
x0 = [ca T V]';


continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
%
% Simula um reator CSTR (mistura perfeita) no qual se conduz uma
% reao exotrmica (A->B), resfriado por serpentina

%
switch flag

case 0 % Dimensiona o sistema e inicializa os estados

% sys=[estados,0,sadas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condies iniciais
ca = 0.1315; %lbm/ft3, concentrao inicial no reator
T = 584.4115; %R, temperatura do reator
V = 200; %ft3, volume do reator
x0 = [ca T V]';


continua...
sys = [ nmero de estados contnuos
nmero de estados discretos
nmero de sadas
nmero de entradas
marcador de alimentao direta
tempo de amostragem ]
Exemplo 3 Bloco S-function
EQ/UFRJ
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
%
% Simula um reator CSTR (mistura perfeita) no qual se conduz uma
% reao exotrmica (A->B), resfriado por serpentina

%
switch flag

case 0 % Dimensiona o sistema e inicializa os estados

% sys=[estados,0,sadas,entradas,0,0]
sys = [3,0,3,5,0,0];
% Condies iniciais
ca = 0.1315; %lbm/ft3, concentrao inicial no reator
T = 584.4115; %R, temperatura do reator
V = 200; %ft3, volume do reator
x0 = [ca T V]';


continua...
Estimativas iniciais para o clculo do sistema de equaes diferenciais
(clculo numrico)
Exemplo 3 Bloco S-function
EQ/UFRJ
case 1 % Calcula as derivadas

% Atualiza entradas
cai = u(1); %lbm/ft3, concentrao da alimentao=0.5;
Fi = u(2); %ft3/hr, vazo de alimentao=40
F = u(3); %vazo de retirada=40
Tc = u(4); %R, temperatura do fluido de refrigerao=594.6
Ti = u(5); %R, temperatura da alimentao=530
% Clculo das derivadas

Ca = x(1);
T = x(2);
V = x(3);

k = k0*exp(-E/(R*T));

dCa = (Fi*(cai-Ca)/V) - k*Ca;
dV = Fi-F;
dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);

sys = [dCa; dT; dV];

continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
case 1 % Calcula as derivadas

% Atualiza entradas
cai = u(1); %lbm/ft3, concentrao da alimentao=0.5;
Fi = u(2); %ft3/hr, vazo de alimentao=40
F = u(3); %vazo de retirada=40
Tc = u(4); %R, temperatura do fluido de refrigerao=594.6
Ti = u(5); %R, temperatura da alimentao=530
% Clculo das derivadas

Ca = x(1);
T = x(2);
V = x(3);

k = k0*exp(-E/(R*T));

dCa = (Fi*(cai-Ca)/V) - k*Ca;
dV = Fi-F;
dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);

sys = [dCa; dT; dV];

continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
case 1 % Calcula as derivadas

% Atualiza entradas
cai = u(1); %lbm/ft3, concentrao da alimentao=0.5;
Fi = u(2); %ft3/hr, vazo de alimentao=40
F = u(3); %vazo de retirada=40
Tc = u(4); %R, temperatura do fluido de refrigerao=594.6
Ti = u(5); %R, temperatura da alimentao=530
% Clculo das derivadas

Ca = x(1);
T = x(2);
V = x(3);

k = k0*exp(-E/(R*T));

dCa = (Fi*(cai-Ca)/V) - k*Ca;
dV = Fi-F;
dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);

sys = [dCa; dT; dV];

continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
case 1 % Calcula as derivadas

% Atualiza entradas
cai = u(1); %lbm/ft3, concentrao da alimentao=0.5;
Fi = u(2); %ft3/hr, vazo de alimentao=40
F = u(3); %vazo de retirada=40
Tc = u(4); %R, temperatura do fluido de refrigerao=594.6
Ti = u(5); %R, temperatura da alimentao=530
% Clculo das derivadas

Ca = x(1);
T = x(2);
V = x(3);

k = k0*exp(-E/(R*T));

dCa = (Fi*(cai-Ca)/V) - k*Ca;
dV = Fi-F;
dT = (Fi*Cp*ro*(Ti-T) + DeltaH*k*Ca*V - U*A*(T-Tc)) /(V*ro*Cp);

sys = [dCa; dT; dV];

continua...
Exemplo 3 Bloco S-function
EQ/UFRJ
case 3 % Calcula as sadas

sys = [x(1) x(2) x(3)];

otherwise

sys = [];

end

Exemplo 3 Bloco S-function
EQ/UFRJ
Carlos Andr Vaz Junior
cavazjunior@gmail.com
http://www.eq.ufrj.br/h2cin/carlosandre

Você também pode gostar