Вы находитесь на странице: 1из 42

Curso MATLAB 6

Instrutor: Marcelo Escobar


Simulink
Curso MATLAB 6
Exemplo: Simulao de um Reator
Simulink:
Referncias:
Apresentando o Simulink:

O simulink um aplicativo do matlab que permite analisar o
comportamento dinmico de sistemas a partir da construo de
um modelo matemtico.
Como Acessar:
>>simulink na Comand Window.
Ou no cone colorido na barra de ferramentas.
Ao abrir o simulink temos acesso ao Simulink Library Browser,
no qual ficam exibidos os cones dos diagramas de blocos
disponveis para a composio do modelo.
No menu file, temos a opo new model, no qual podemos criar
um modelo matemtico para o nosso sistema.
Os cones so inseridos no modelo com uma seleo seguida de
arraste.





Criando Modelos:

O tpico Sources nos fornece uma srie de possveis entradas
dos modelos.
O tpico Sink nos fornece uma srie de possveis retornos de
sadas dos modelos.

Um clique com o
mouse na fronteira
do bloco, nos permite
ligar os blocos entre si.





Criando Modelos:

Na barra de ferramentas do modelo, possui um cone de play
que simula o modelo.
Na barra de ferramentas, no menu Simulation, podemos
acessar e editar os parmetros da simulao.
Os cones arrastados para o modelo so genricos e podem ser
editados com um duplo clique sobre o cone.
Como exemplo, o cone
sin wave.



Criando Modelos:

Biblioteca
Math
Biblioteca
Sources
Exemplo: Adio de sinais
Ajuste de Escala:

Um autoscale pode ser acessado para ajustar o grfico.
Se a curva parecer dentada aumente o fator de refino.
Exemplo: Ajuste de Escala
Plotando Resultados:
Dois ou mais grficos:
Parmetros de Simulao:
Tempo inicial
Tempo final
Manipulao de Blocos Simulink:
No tpico Math temos uma srie de blocos pelos quais os
sinais podem passar, um dos mais comuns so os blocos de
ganho e o bloco de soma.

Soma de sinais: Math bloco sum

Multiplicao do sinal por um ganho: Math bloco gain

Obs: Os cones inseridos no modelo podem ser editados na
sua aparncia, assim como no Word, podemos ampliar e girar
o cone como quisermos, um clique com o boto direito sobre
o cone nos permite a edio e formatao.




Manipulao de Blocos Simulink:
No tpico Signals and Systens temos uma srie de blocos
pelos quais os sinais podem passar, um dos mais comuns so
os blocos multiplexador e o demultiplexador.


Multiplexador de sinal: combina entradas fornecendo uma
sada, como se tivssemos dois sinais armazenados numa
mesma varivel ps passagem no multiplexador.

Signals and Systens Mux

Demultiplexador de sinal: faz o contrrio, pega um sinal
mltiplo e divide em sinais nicos.

Signals and Systens Demux

Manipulao de Blocos Simulink:
No tpico Functions & Tables temos uma srie de blocos
pelos quais os sinais podem passar.Um dos mais importantes
O matlab function, que permite que usemos qualquer funo
do matlab ou mesmo uma que criamos. Com isso somos
capazes de gerar qualquer sinal.

O bloco S-function ser visto com mais detalhes mais
adiante.

Por fim temos os tpicos de modelos contnuos e discretos
que podemos utilizar, nada impede que usemos um modelo em
arquivo m do matlab. Alm disso temos uma srie de outras
ferramentas com cones que podem ser utilizados, esses
discutidos so os principais.

Exibio de Resultados:
O cone scope permite que mais de um grfico seja plotado no
mesmo eixo, basta usar um bloco Mux.

Alm disso a barra de ferramentas do scope , permite a
edio de nmero de eixos por janela, podendo assim plotar
dois grficos no mesmo scope com eixos diferentes.

Podemos enviar os dados tambm para o workspace com o
bloco to workspace fornecendo o nome da varivel na qual o
sinal vai ser armazenado.

Podemos simular o modelo atravs da Comand Window:
>>sim(nome do modelo)

Cada bloco permite a chamada de uma funo do matlab, s
fornecer o nome da funo em propriedades. A funo
executada com um clique sobre o cone.

Tipos de Modelos:
Modelos dinmicos so equaes diferencias que nos permitem
avaliar de que forma uma dada propriedade varia com o tempo.

Um vez obtido o modelo do processo, a resoluo da equao ou do
sistema de equaes diferenciais nos fornece as variveis de sada
do modelo.
Se usarmos os comandos ode vistos anteriormente estamos
considerando as entradas constantes. Na verdade o que queremos
analisar o comportamento da varivel de sada sujeita a um sinal
de entrada(dinmica).Podemos fazer isso usando ode, mas isso vai
requerer um Loop, e o clculo de um ode a cada iterao.

A vantagem do Simulink que com a adio de blocos no modelo
, podemos analisar facilmente os resultados.


Exemplo de Modelo:
Precisamos saber ento como a partir das equaes diferenciais
que governam o nosso processo, podemos fornecer esse modelo ao
Simulink.
Exemplo: Balano de Massa em um tanque.





massa especfica
vazo volumtrica
altura
gravidade

Sadas: [ variveis que queremos obter] -h
Estados: [propriedades que variam com tempo nas edif]- h
Entradas: [ propriedades que afetam nossas variveis de sada]
E variam com o tempo] -Fi
Parmetros: [ propriedades fixas do modelo] A e k
h A m . . =
s e m m
dt
dm

=
taxa m
massa m

g
h
F

i
i
F m . =

h k F
s
. =
h k F
dt
dh
A
in
. =
Modelo do tanque:
Os estados so identificados pela derivada em relao ao tempo.
Em muitas vezes, os estados, so as nossas variveis de sada.
Os parmetros so as propriedades que no variam com o tempo, nesse
caso, a rea do tanque no varia com o tempo.
A vazo de entrada uma entrada do sistema, pois esta sujeito a
perturbaes externas.
Podemos construir o modelo, usando por exemplo a lgebra de blocos:




Simulando o Modelo:
Precisamos fornecer os valores para as variveis Fi, k e A.
K=1.2m
2
/s; A=28m
2
; Fi=10m
3
/s;
O bloco utilizado para Fi um bloco degrau, uma entrada muito
comum, na qual em um dado instante,a varivel de entrada assume um
novo valor.Vamos editar um degrau no instante 2, de 10 para 12 m
2.

Fi h
Linearizao do Modelo:


Uma outra forma muito comum de tratar o modelo linearizando
utilizando a expanso em srie de Taylor :

Modelo





A B
n- numero de sadas
m-numero de equaes
p-numero de entradas
e
de
df
de
df
de
df
de
df
de
df
de
df
de
df
de
df
de
df
s
ds
df
ds
df
ds
df
ds
df
ds
df
ds
df
ds
df
ds
df
ds
df
dt
s d
p
m m m
p
p
n
m m m
n
n
A
(
(
(
(
(
(
(

+ A
(
(
(
(
(
(
(

=
A
. .
2 1
2
2
2
1
2
1
2
1
1
1
2 1
2
2
2
1
2
1
2
1
1
1
) , (
) , (
s e g y
s e f
dt
ds
n n
n
n
=
=
Representao em Espao de Estados:


Agora as variveis so variveis desvio em relao ao estacionrio.
As matrizes jacobianos, so aplicadas no ponto estacionrio de operao,
assim todas os elementos das matrizes so numricos e o nosso modelo
agora linear.



C D
As matrizes A,B,C e D formam a chamada representao em espao de
estados. No exemplo: A=[-k/(2A.sqrt(h)] B=[1/A] C=[1] D=[0]
O simulink possui um bloco no tpico Continuous em que podemos
fornecer as matrizes para simular o modelo.
est
s s s = A
e
de
dg
de
dg
de
dg
de
dg
de
dg
de
dg
de
dg
de
dg
de
dg
s
ds
dg
ds
dg
ds
dg
ds
dg
ds
dg
ds
dg
ds
dg
ds
dg
ds
dg
y
p
m m m
p
p
n
m m m
n
n
A
(
(
(
(
(
(
(

+ A
(
(
(
(
(
(
(

= . .
2 1
2
2
2
1
2
1
2
1
1
1
2 1
2
2
2
1
2
1
2
1
1
1
Representao em Espao de Estados:


Transformada de Laplace :
Transformada de Laplace:

A propriedade mais importante da transformada de Laplace:

L{ a.D
n
y/dt
n
}=s
n
.Y(s)

Podemos obter a transformada de laplace usando o symbolic toolbox:
>>help laplace

Aplicando a transformada de laplace no nosso exemplo linearizado:

A.s.Y(s)-k.Y(s)=Fi Fi=U(s) Y(s)/U(s)= Fi/(A .s k)

Ou seja a funo de transferncia relaciona a entrada com a sada do sistema.
O simulink possui um bloco no tpico Continuous em que podemos fornecer
a funo de transferncia.
Funes de Transferncia :
A funo de transferncia de um sistema a razo de dois polinmios no domnio de
Laplace.

Podemos criar funes de transferncia na Comand Window:

>>help tf

O conceito de funo de transferncia muito importante no estudo de controle de
Processos, uma forma simples de se representar um modelo.

Cada equao diferencial linearizada pode ser representada por uma funo de
Transferncia.Para um sistema com mltiplas entradas e mltiplas sadas, teremos
uma Funo de transferncia que relaciona cada uma delas.


Esse curso tem carter de apenas fornecer as ferramentas necessrias para a analise
de dinmica de sistemas,com um conhecimento terico mais aprofundado sobre
controle de processos tudo ficar muito mais claro.

Propriedades das Transformadas:
Representao em Funes de Transferncia :
Exemplo Funes de Transferncia :
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 Funes de Transferncia :
Deduzindo o modelo matemtico que descreve o tanque:
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
=
R
h
q q
dt
dh
A + =
2 1
Exemplo Funes de Transferncia :
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
AR
R K
p
=
=
t
onde:
Exemplo Funes de Transferncia :
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
t
Exemplo Funes de Transferncia :
Corrente q1
Corrente q2
Exemplo Funes de Transferncia :
Degrau comea
no tempo zero
Degrau comea
No tempo dez
Bloco Funo
de Transferncia
Exemplo Funes de Transferncia :
Resultado obtido:
1 estado
estacionrio
2 estado
estacionrio
1
perturbao
2
perturbao
S-functions:
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

A +
=

0
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 S-function:
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)
Exemplo S-function:
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
Exemplo S-function:
Parmetros
freqentemente
alterados
Parmetros raramente alterados
(mscara)
Biblioteca
Functions & Tables
Exemplo S-function:
Configurando o bloco S-function:
Nome do arquivo com as
equaes
Parmetros alterados
pela mscara
Exemplo S-function:
Criando uma mscara:

Exemplo S-function:


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]';


Exemplo S-function:


Criando o arquivo com as equaes:
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).
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)
Exemplo S-function:


Criando o arquivo com as equaes:
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];

Exemplo S-function:


Criando o arquivo com as equaes:
case 3 % Calcula as sadas

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

otherwise

sys = [];

end

Вам также может понравиться