A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Curso MATLAB 6 Instrutor: Marcelo Escobar Simulink.

Apresentações semelhantes


Apresentação em tema: "Curso MATLAB 6 Instrutor: Marcelo Escobar Simulink."— Transcrição da apresentação:

1 Curso MATLAB 6 Instrutor: Marcelo Escobar Simulink

2 Curso MATLAB 6 Exemplo: Simulação de um Reator

3 Simulink: Referências:

4 Apresentando o Simulink: O simulink é um aplicativo do matlab que permite analisar o comportamento dinâmico de sistemas a partir da construção de um modelo matemático. 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 disponíveis para a composição do modelo. No menu file, temos a opção new model, no qual podemos criar um modelo matemático para o nosso sistema. Os ícones são inseridos no modelo com uma seleção seguida de arraste.

5 Criando Modelos: O tópico Sources nos fornece uma série de possíveis entradas dos modelos. O tópico Sink nos fornece uma série de possíveis retornos de saídas dos modelos. Um clique com o mouse na fronteira do bloco, nos permite ligar os blocos entre si.

6 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 parâmetros da simulação. Os ícones arrastados para o modelo são genéricos e podem ser editados com um duplo clique sobre o ícone. Como exemplo, o ícone sin wave.

7 Criando Modelos: Biblioteca Math Biblioteca Sources Exemplo: Adição de sinais

8 Ajuste de Escala: Um autoscale pode ser acessado para ajustar o gráfico. Se a curva parecer dentada aumente o fator de refino. Exemplo: Ajuste de Escala

9 Plotando Resultados: Dois ou mais gráficos:

10 Parâmetros de Simulação: Tempo inicial Tempo final

11 Manipulação de Blocos Simulink: No tópico Math temos uma série de blocos pelos quais os sinais podem passar, um dos mais comuns são os blocos de ganho e o bloco de soma. Soma de sinais: Math bloco sum Multiplicação do sinal por um ganho: Math bloco gain Obs: Os ícones inseridos no modelo podem ser editados na sua aparência, assim como no Word, podemos ampliar e girar o ícone como quisermos, um clique com o botão direito sobre o ícone nos permite a edição e formatação.

12 Manipulação de Blocos Simulink: No tópico Signals and Systens temos uma série de blocos pelos quais os sinais podem passar, um dos mais comuns são os blocos multiplexador e o demultiplexador. Multiplexador de sinal: combina entradas fornecendo uma saída, é como se tivéssemos dois sinais armazenados numa mesma variável pós passagem no multiplexador. Signals and Systens Mux Demultiplexador de sinal: faz o contrário, pega um sinal múltiplo e divide em sinais únicos. Signals and Systens Demux

13 Manipulação de Blocos Simulink: No tópico Functions & Tables temos uma série de blocos pelos quais os sinais podem passar.Um dos mais importantes é O matlab function, que permite que usemos qualquer função 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 tópicos de modelos contínuos e discretos que podemos utilizar, nada impede que usemos um modelo em arquivo m do matlab. Além disso temos uma série de outras ferramentas com ícones que podem ser utilizados, esses discutidos são os principais.

14 Exibição de Resultados: O ícone scope permite que mais de um gráfico seja plotado no mesmo eixo, basta usar um bloco Mux. Além disso a barra de ferramentas do scope, permite a edição de número de eixos por janela, podendo assim plotar dois gráficos no mesmo scope com eixos diferentes. Podemos enviar os dados também para o workspace com o bloco to workspace fornecendo o nome da variável na qual o sinal vai ser armazenado. Podemos simular o modelo através da Comand Window: >>sim(nome do modelo) Cada bloco permite a chamada de uma função do matlab,é só fornecer o nome da função em propriedades. A função é executada com um clique sobre o ícone.

15 Tipos de Modelos: Modelos dinâmicos são equações diferencias que nos permitem avaliar de que forma uma dada propriedade varia com o tempo. Um vez obtido o modelo do processo, a resolução da equação ou do sistema de equações diferenciais nos fornece as variáveis de saída do modelo. Se usarmos os comandos ode vistos anteriormente estamos considerando as entradas constantes. Na verdade o que queremos analisar é o comportamento da variável de saída sujeita a um sinal de entrada(dinâmica).Podemos fazer isso usando ode, mas isso vai requerer um Loop, e o cálculo de um ode a cada iteração. A vantagem do Simulink é que com a adição de blocos no modelo, podemos analisar facilmente os resultados.

16 Exemplo de Modelo: Precisamos saber então como a partir das equações diferenciais que governam o nosso processo, podemos fornecer esse modelo ao Simulink. Exemplo: Balanço de Massa em um tanque. massa específica vazão volumétrica altura gravidade Saídas: [ variáveis que queremos obter] -h Estados: [propriedades que variam com tempo nas edif]- h Entradas: [ propriedades que afetam nossas variáveis de saída] E variam com o tempo] -Fi Parâmetros: [ propriedades fixas do modelo] – A e k

17 Modelo do tanque: Os estados são identificados pela derivada em relação ao tempo. Em muitas vezes, os estados, são as nossas variáveis de saída. Os parâmetros são as propriedades que não variam com o tempo, nesse caso, a área do tanque não varia com o tempo. A vazão de entrada é uma entrada do sistema, pois esta sujeito a perturbações externas. Podemos construir o modelo, usando por exemplo a álgebra de blocos:

18 Simulando o Modelo: Precisamos fornecer os valores para as variáveis 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 variável de entrada assume um novo valor.Vamos editar um degrau no instante 2, de 10 para 12 m 2. Fi h

19 Linearização do Modelo: Uma outra forma muito comum de tratar o modelo é linearizando utilizando a expansão em série de Taylor : Modelo A B n- numero de saídas m-numero de equações p-numero de entrada s

20 Representação em Espaço de Estados: Agora as variáveis são variáveis desvio em relação ao estacionário. As matrizes jacobianos, são aplicadas no ponto estacionário de operação, assim todas os elementos das matrizes são numéricos e o nosso modelo agora é linear. C D As matrizes A,B,C e D formam a chamada representação em espaço de estados. No exemplo: A=[-k/(2A.sqrt(h)] B=[1/A] C=[1] D=[0] O simulink possui um bloco no tópico Continuous em que podemos fornecer as matrizes para simular o modelo.

21 Representação em Espaço de Estados:

22 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 função de transferência relaciona a entrada com a saída do sistema. O simulink possui um bloco no tópico Continuous em que podemos fornecer a função de transferência.

23 Funções de Transferência : A função de transferência de um sistema é a razão de dois polinômios no domínio de Laplace. Podemos criar funções de transferência na Comand Window: >>help tf O conceito de função de transferência é muito importante no estudo de controle de Processos, é uma forma simples de se representar um modelo. Cada equação diferencial linearizada pode ser representada por uma função de Transferência.Para um sistema com múltiplas entradas e múltiplas saídas, teremos uma Função de transferência que relaciona cada uma delas. Esse curso tem caráter de apenas fornecer as ferramentas necessárias para a analise de dinâmica de sistemas,com um conhecimento teórico mais aprofundado sobre controle de processos tudo ficará muito mais claro.

24 Propriedades das Transformadas:

25 Representação em Funções de Transferência :

26 Exemplo Funções de Transferência : 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. q1q1 q3q3 q2q2 h A

27 Exemplo Funções de Transferência : Deduzindo o modelo matemático que descreve o tanque: 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:

28 Exemplo Funções de Transferência : Introduzindo as variáveis-desvio e aplicando a Transformada de Laplace, chegamos as funções de transferência: onde:

29 Exemplo Funções de Transferência : 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/m 2. Serão simulados um degrau de 1 ft 3 na vazão q 1 a partir do tempo igual a 0 min (step) e um degrau de 1 ft 3 na vazão q 2 a partir do tempo igual a 10 min(step1). A = * (0.5/2)^2 A = R = 6.37

30 Exemplo Funções de Transferência : Corrente q1 Corrente q2

31 Exemplo Funções de Transferência : Degrau começa no tempo zero Degrau começa No tempo dez Bloco Função de Transferência

32 Exemplo Funções de Transferência : Resultado obtido: 1º estado estacionário 2º estado estacionário 1ª perturbação 2ª perturbação

33 S-functions: Equações para modelar um CSTR: 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:

34 Exemplo S-function: 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 reator F: vazão de saída (ft3/h) Cp: calor especifico = 0.75 btu/lbm.R ro: densidade =50 lb/ft3 Ti: temperatura de alimentação (R) T: temperatura do reator DeltaH: calor de reação = BTU/ lbm U: coeficiente de troca térmica =150 BTU/(h.ft2.R)

35 Exemplo S-function: onde: A: área de troca térmica = 250 ft2 Tc: temperatura do fluido de alimentação (R) E: energia de ativação = BTU/lbm R: constante dos gases = 1.99 BTU/lbm.R

36 Exemplo S-function: Parâmetros freqüentemente alterados Parâmetros raramente alterados (máscara) Biblioteca Functions & Tables

37 Exemplo S-function: Configurando o bloco S-function: Nome do arquivo com as equações Parâmetros alterados pela máscara

38 Exemplo S-function: Criando uma máscara:

39 Exemplo S-function: 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 = ; %lbm/ft3, concentração inicial no reator T = ; %R, temperatura do reator V = 200; %ft3, volume do reator x0 = [ca T V]';

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

41 Exemplo S-function: Criando o arquivo com as equações: 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];

42 Exemplo S-function: Criando o arquivo com as equações: case 3 % Calcula as saídas sys = [x(1) x(2) x(3)]; otherwise sys = []; end


Carregar ppt "Curso MATLAB 6 Instrutor: Marcelo Escobar Simulink."

Apresentações semelhantes


Anúncios Google