Sei sulla pagina 1di 66

M

A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Carlos Andr Vaz Junior
cavazjunior@gmail.com
http://www.eq.ufrj.br/links/h2cin/carlosandre
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Mais de 150 mil resultados
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

?
http://newsreader.mathworks.com
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

A programao no Simulink segue uma interface
grfica muito mais intuitiva e fcil de usar:
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Ambiente de Trabalho Simulink
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Exemplos
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Exemplo

1
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Biblioteca
Math
Biblioteca
Sources
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Ajuste automtico da escala do grfico:
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Ajuste manual da escala do grfico:
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Agora quero multiplicar o resultado por -1:
Biblioteca
Math
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Configurao do bloco Product:
Nmero de termos
da multiplicao.
Multiplicao
de matrizes ou
termo a termo.
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Alterando os parmetros de simulao:
Tempo inicial
Tempo final
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Criando um sub-sistema:
Sub-sistema
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Editando um sub-sistema:
Sub-sistema
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Algumas vezes mais fcil tratar os dados gerados no
ambiente Matlab.

Usamos o bloco to workspace:
Cria a varivel
A no workspace
Biblioteca
Sinks
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Configurao do bloco To Workspace:
Cria a varivel
A no workspace
Formato da varivel
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

>> plot(tout,A)
No Workspace...
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Rodando um bloco:
CTRL R
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Combinando dois sinais:
Entre outras aplicaes, permite exibir duas
ou mais curvas no mesmo grfico.
Bloco MUX
Biblioteca Signals & Sys.
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Dois ou mais grficos:
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Dois ou mais grficos:
Configurando...
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Exemplo

2
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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

M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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

M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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

M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Corrente q1
Corrente q2
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Biblioteca
Source
Biblioteca
Continuous
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Degrau comea
no tempo zero
Degrau comea
no tempo dez
Bloco Funo
de Transferncia
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

A amplitude do
degrau 1
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Resultado obtido:
1 estado
estacionrio
2 estado
estacionrio
1
perturbao
2
perturbao
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Exemplo

3
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Considerando uma vlvula com a seguinte funo de transferncia:

Considerando um medidor com a seguinte funo de transferncia:
psi m K G
v v
min / 0103 . 0
3

m psi K G
m m
/ 24
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Set-point
Valor medido
Erro:
(sp - valor medido)
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Controlador
Processo
Medidor
Vlvula
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Bloco Ganho:
Quando a funo de transferncia simplesmente
uma constante, como no caso do medidor, podemos
representa-l pelo bloco Gain.
m psi K G
m m
/ 24
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Bloco PID:
O controlador representado pelo bloco
PID Controller. Podemos regular a sua ao proporcional,
integral e derivativa.
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Exemplo

4
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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:
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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...
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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:
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Parmetros
freqentemente
alterados
Parmetros raramente alterados
(mscara)
Biblioteca
Functions & Tables
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Parmetros calculados
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Fi
Cai
Ca
Ko
V
F
Cp
ro
Ti
T
DeltaH
U
A
Tc
E
R
Em resumo:
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Configurando o bloco S-function:
Nome do arquivo com as
equaes
Parmetros alterados
pela mscara
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Criando uma mscara:
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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!
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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...
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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).
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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...
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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 ]
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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)
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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...
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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...
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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...
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

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...
M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

case 3 % Calcula as sadas

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

otherwise

sys = [];

end

M
A
T
L
A
B


A
v
a
n

a
d
o

-

S
i
m
u
l
i
n
k

Carlos Andr Vaz Junior
cavazjunior@gmail.com
http://www.eq.ufrj.br/links/h2cin/carlosandre

Potrebbero piacerti anche