apresentação (matlab avançado / simulink)

66
MATLAB Avançado - Simulink Carlos André Vaz Junior [email protected] http://www.eq.ufrj.br/links/h2cin/carlosandre

Upload: vuanh

Post on 04-Jan-2017

238 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k Carlos André Vaz [email protected]

http://www.eq.ufrj.br/links/h2cin/carlosandre

Page 2: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Mais de 150 mil resultados

Page 3: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k ?http://newsreader.mathworks.com

Page 4: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Page 5: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

A programação no Simulink segue uma interface gráfica muito mais intuitiva e fácil de usar:

Page 6: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Ambiente de Trabalho Simulink

Page 7: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k Exemplos

Page 8: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Exemplo1

Page 9: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Biblioteca Math

Biblioteca Sources

Page 10: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Ajuste automático da escala do gráfico:

Page 11: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Ajuste manual da escala do gráfico:

Page 12: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Agora quero multiplicar o resultado por -1:

Biblioteca Math

Page 13: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Configuração do bloco Product:

Número de termosda multiplicação.

Multiplicaçãode matrizes outermo a termo.

Page 14: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Alterando os parâmetros de simulação:

Tempo inicial

Tempo final

Page 15: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Criando um sub-sistema:

Sub-sistema

Page 16: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Editando um sub-sistema:

Sub-sistema

Page 17: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Algumas vezes é mais fácil tratar os dados gerados no ambiente Matlab.

Usamos o bloco “to workspace”:

Cria a variávelA no workspace

Biblioteca Sinks

Page 18: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Configuração do bloco “To Workspace”:

Cria a variávelA no workspace

Formato da variável

Page 19: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

>> plot(tout,A)

No Workspace...

Page 20: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Rodando um bloco:

CTRL R

Page 21: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Combinando dois sinais:Entre outras aplicações, permite exibir duas

ou mais curvas no mesmo gráfico.

Bloco MUXBiblioteca Signals & Sys.

Page 22: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Dois ou mais gráficos:

Page 23: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Dois ou mais gráficos:Configurando...

Page 24: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Exemplo2

Page 25: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Temos a simulação de um tanque de nível sob a influência de uma perturbação degrau na vazão da alimentação. A figura descreve

o sistema físico que será simulado.

q1

q3

q2

h

A

Page 26: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Assumindo que:        - a densidade do líquido e a área da seção transversal do tanque A são constantes.

- a relação entre a vazão e a carga é linear:

Deduzindo o modelo matemático que descreve o tanque:

Rhq /3

Page 27: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

O modelo é descrito por uma equação de balanço transiente de massa no tanque:

321 qqqdtdhA

Substituindo a hipótese ii na equação anterior ficamos com:

Rhqq

dtdhA 21

Page 28: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Introduzindo as variáveis-desvio e aplicando a Transformada de Laplace, chegamos as funções de

transferência:

1)(

)()('

1'1

sK

sGsqsh p

1)(

)()('

2'2

sK

sGsqsh p

onde:

AR

RK p

Page 29: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Para o exemplo em questão considere um tanque de 0.5 m de diâmetro e uma válvula na saída na linha atuando sob uma resistência

linear (R) de 6.37 min/m2.

Serão simulados um degrau de 1 ft3 na vazão q1 a partir do tempo igual a 0 min (step) e um degrau de 1 ft3 na

vazão q2 a partir do tempo igual a 10 min(step1).

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

R = 6.37 25.1

37.6

AR

RK p

Page 30: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Corrente q1

Corrente q2

Page 31: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Biblioteca Source

Biblioteca Continuous

Page 32: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Degrau começano tempo zero

Degrau começano tempo dez

Bloco Funçãode Transferência

Page 33: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

A amplitude dodegrau é 1

Page 34: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Resultado obtido:

1º estadoestacionário 2º estado

estacionário

1ª perturbação

2ª perturbação

Page 35: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Exemplo3

Page 36: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Considerando um sistema de controle de nível mostrado abaixo. O nível de líquido é medido e a saída do transmissor de nível (LT) é enviada para um controlador feedback (LC) que controla o nível pelo

ajuste da vazão volumétrica q2. A segunda vazão de fluido, q1, corresponde à variável perturbação (corrente chegando de outra unidade,

não posso controlar essa corrente).

q1

q3

q2

h

A

LT LChm

Page 37: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Considerando uma válvula com a seguinte função de transferência:

Considerando um medidor com a seguinte função de transferência:

psimKG vv min/0103.0 3

mpsiKG mm /24

Page 38: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k Set-point

Valor medido

Erro: (sp - valor medido)

Page 39: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

ControladorProcesso

Medidor

Válvula

Page 40: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Bloco Ganho:

Quando a função de transferência é simplesmenteuma constante, como no caso do medidor, podemos

representa-lá pelo bloco Gain.

mpsiKG mm /24

Page 41: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Bloco PID: O controlador é representado pelo bloco

PID Controller. Podemos regular a sua ação proporcional,integral e derivativa.

Page 42: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Ajuste de Controladores:

Na prática o melhor ajuste para um controladoré obtido pela combinação da ação P (proporcional), I (integral),

e D (derivativa). Podemos usar o Simulink para obter umaestimativa inicial desse ajuste.

Nem todas as combinações de valores para P, I e D sãopossíveis. As vezes o processamento numérico trava.

DDIICCAA

Page 43: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Ajuste de Controladores:

Na prática o melhor ajuste para um controladoré obtido pela combinação da ação P (proporcional), I (integral),

e D (derivativa). Podemos usar o Simulink para obter umaestimativa inicial desse ajuste.

Tente: P = 2 2 2 2I = 0 25 1 1D = 0 0 0 5

Nem todas as combinações de valores para P, I e D sãopossíveis. As vezes o processamento numérico trava.

DDIICCAA

Page 44: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Exemplo4

Page 45: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Equações para modelar um CSTR:

FFdtdV A

ARTE

AAA

AA CekCC

VF

dtdC

0

P

cARTE

AP

A

VCTTUACeHVkTTCF

dtdT

0

Page 46: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

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 equações para o formato Matlab:

Page 47: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

onde:

Fi: vazão de alimentação do reator (ft3/h)Cai: concentração da alimentação do reator (lbm/ft3)Ca: concentração no reator (variável)k: é dado pela equação k = k0*exp(-E/(R*T))V: volume do reatorF: vazão de saída (ft3/h)Cp: calor especifico = 0.75 btu/lbm.Rro: densidade =50 lb/ft3Ti: temperatura de alimentação (R)T: temperatura do reatorDeltaH: calor de reação = -30000 BTU/ lbmU: coeficiente de troca térmica =150 BTU/(h.ft2.R)

continua...

Page 48: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

onde:

A: área de troca térmica = 250 ft2Tc: temperatura do fluido de alimentação (R)E: energia de ativação = 30000 BTU/lbmR: constante dos gases = 1.99 BTU/lbm.R

parâmetros freqüentemente alterados

parâmetros raramente alterados

parâmetros calculados

Legenda:

Page 49: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Page 50: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Parâmetrosfreqüentementealterados

Parâmetros raramente alterados(máscara)

Biblioteca Functions & Tables

Page 51: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Parâmetros calculados

Page 52: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Fi

Cai

Ca

Ko

VFCp

ro

Ti

T

DeltaH

U

A

Tc

E

R

Em resumo:

Page 53: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Configurando o bloco S-function:

Nome do arquivo com as equações

Parâmetros alteradospela máscara

Page 54: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Criando uma máscara:

Page 55: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Localização do arquivo com as equações:

O arquivo com as equações deve estar localizado no mesmolocal dos arquivos Simulink!

O Current Directory do Matlab deve apontar para esse local!

Page 56: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Criando o arquivo com as equações:

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 % reação exotérmica (A->B), resfriado por serpentina %switch flag case 0 % Dimensiona o sistema e inicializa os estados % sys=[estados,0,saídas,entradas,0,0] sys = [3,0,3,5,0,0]; % Condições iniciais ca = 0.1315; %lbm/ft3, concentração inicial no reator T = 584.4115; %R, temperatura do reator V = 200; %ft3, volume do reator x0 = [ca T V]'; continua...

Page 57: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Criando o arquivo com as equações:

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 % reação exotérmica (A->B), resfriado por serpentina %switch flag case 0 % Dimensiona o sistema e inicializa os estados % sys=[estados,0,saídas,entradas,0,0] sys = [3,0,3,5,0,0]; % Condições iniciais ca = 0.1315; %lbm/ft3, concentração inicial no reator T = 584.4115; %R, temperatura do reator V = 200; %ft3, volume do reator x0 = [ca T V]';

• sys é a saída do modelo, cujo significado depende de flag• x0 é o vetor de condições iniciais (funciona apenas quando flag = 0 )• t é o tempo de simulação• x é o vetor de estados do modelo• u é o vetor de entradas do modelo (recebido do bloco Mux)• flag é um parâmetro que informa o tipo de informação que o integrador espera receber a cada chamado• U,...,k0 são os parâmetros adicionais que podem ser passados à função através de uma mascara (devem estar declarados na configuração do bloco S-function).

Page 58: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

Criando o arquivo com as equações:

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 % reação exotérmica (A->B), resfriado por serpentina %switch flag case 0 % Dimensiona o sistema e inicializa os estados % sys=[estados,0,saídas,entradas,0,0] sys = [3,0,3,5,0,0]; % Condições iniciais ca = 0.1315; %lbm/ft3, concentração inicial no reator T = 584.4115; %R, temperatura do reator V = 200; %ft3, volume do reator x0 = [ca T V]'; continua...

Page 59: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

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 % reação exotérmica (A->B), resfriado por serpentina %switch flag case 0 % Dimensiona o sistema e inicializa os estados % sys=[estados,0,saídas,entradas,0,0] sys = [3,0,3,5,0,0]; % Condições iniciais ca = 0.1315; %lbm/ft3, concentração inicial no reator T = 584.4115; %R, temperatura do reator V = 200; %ft3, volume do reator x0 = [ca T V]'; continua...

sys = [ número de estados contínuosnúmero de estados discretosnúmero de saídasnúmero de entradasmarcador de alimentação diretatempo de amostragem ]

Page 60: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

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 % reação exotérmica (A->B), resfriado por serpentina %switch flag case 0 % Dimensiona o sistema e inicializa os estados % sys=[estados,0,saídas,entradas,0,0] sys = [3,0,3,5,0,0]; % Condições iniciais ca = 0.1315; %lbm/ft3, concentração 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 cálculo do sistema de equações diferenciais (cálculo numérico)

Page 61: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

case 1 % Calcula as derivadas % Atualiza entradas cai = u(1); %lbm/ft3, concentração da alimentação=0.5; Fi = u(2); %ft3/hr, vazão de alimentação=40 F = u(3); %vazão de retirada=40 Tc = u(4); %R, temperatura do fluido de refrigeração=594.6 Ti = u(5); %R, temperatura da alimentação=530 % Cálculo 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...

Page 62: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

case 1 % Calcula as derivadas % Atualiza entradas cai = u(1); %lbm/ft3, concentração da alimentação=0.5; Fi = u(2); %ft3/hr, vazão de alimentação=40 F = u(3); %vazão de retirada=40 Tc = u(4); %R, temperatura do fluido de refrigeração=594.6 Ti = u(5); %R, temperatura da alimentação=530 % Cálculo 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...

Page 63: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

case 1 % Calcula as derivadas % Atualiza entradas cai = u(1); %lbm/ft3, concentração da alimentação=0.5; Fi = u(2); %ft3/hr, vazão de alimentação=40 F = u(3); %vazão de retirada=40 Tc = u(4); %R, temperatura do fluido de refrigeração=594.6 Ti = u(5); %R, temperatura da alimentação=530 % Cálculo 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...

Page 64: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

case 1 % Calcula as derivadas % Atualiza entradas cai = u(1); %lbm/ft3, concentração da alimentação=0.5; Fi = u(2); %ft3/hr, vazão de alimentação=40 F = u(3); %vazão de retirada=40 Tc = u(4); %R, temperatura do fluido de refrigeração=594.6 Ti = u(5); %R, temperatura da alimentação=530 % Cálculo 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...

Page 65: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k

case 3 % Calcula as saídas  sys = [x(1) x(2) x(3)];  otherwise  sys = []; end

Page 66: Apresentação (MATLAB Avançado / Simulink)

MA

TLA

B A

vanç

ado

- Sim

ulin

k Carlos André Vaz [email protected]

http://www.eq.ufrj.br/links/h2cin/carlosandre