Você está na página 1de 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 Sources

Biblioteca Math

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 bloco gain

Multiplicao do sinal por um ganho: Math

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.
m  massa


m taxa
V

 dm  ! me  m s dt

F h g

massa especfica vazo volumtrica altura gravidade

m ! V . A.h

m i ! V .Fi

! k. h

dh ! Fin  k . h dt

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

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.2m2/s; A=28m2; Fi=10m3/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 m2.

Fi

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

dsn ! f n (e, s ) dt y n ! g n (e, s )


df1 ds1 d(s df 2 ! ds dt df 1 m ds1

df1 ds2 df 2 ds2 df m ds2

df1 df1 dsn de1 df df 2 .(s  2 dsn de1 df m df m de dsn 1

df1 de2 df 2 de2 df m de2

df1 de p df 2 .(e de p df m de p

n- numero de sadas m-numero de equaes p-numero de entradas

Representao em Espao de Estados:


Agora as variveis so variveis desvio em relao ao estacionrio.

(s ! s  sest

As matrizes jacobianos, so aplicadas no ponto estacionrio de operao, assim todas os elementos das matrizes so numricos e o nosso modelo agora linear.

dg1 ds1 dg y! 2 ds dg 1 m ds1

dg1 ds2 dg 2 ds2 dg m ds2

dg1 dsn dg 2 .(s dsn dg m dsn

dg1 de1 dg 2 de 1 dg m de 1

dg1 de2 dg 2 de2 dg m de2

dg1 de p dg 2 .(e de p dg m de p

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.

Representao em Espao de Estados:

Transformada de Laplace :
Transformada de Laplace: A propriedade mais importante da transformada de Laplace: L{ a.Dny/dtn}=sn.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.

q1

q2

h q3

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:

q3 ! h / R

dh h V ! Vq1  Vq 2  V dt R

Exemplo Funes de Transferncia :


Introduzindo as variveis-desvio e aplicando a Transformada de Laplace, chegamos as funes de transferncia:

Kp h' ( s ) ! G1 ( s ) ! ' X s 1 q1 ( s )

h ( s) ! q2 (s)

2 ( s) !

X s 1

onde:

Kp ! R X ! AR

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/m2. Sero simulados um degrau de 1 ft3 na vazo q1 a partir do tempo igual a 0 min (step) e um degrau de 1 ft3 na vazo q2 a partir do tempo igual a 10 min(step1).

A = 3.1415 * (0.5/2)^2 A = 0.196 R = 6.37

K p ! R ! 6.37 X ! AR ! 1.25

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:

dV ! FA F dt
 dC A FA A ! C A  C A  k0e RT C A dt V

dT VF AC P T A  T  (HVk0e ! dt VVC P

E RT C

 UA  Tc T

Passando as equaes para o formato Matlab:


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);

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:
Biblioteca Functions & Tables

Parmetros freqentemente alterados

Parmetros raramente alterados (mscara)

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:
function [sys,x0] = reator(t,x,u,flag,U,A,DeltaH,ro,Cp,E,R,k0)

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 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

Você também pode gostar