Carlos André Vaz Junior

Slides:



Advertisements
Apresentações semelhantes
Carlos André Vaz Junior
Advertisements

Carlos André Vaz Junior
Carlos André Vaz Junior
Carlos André Vaz Junior
Instrumentação de Sistemas - INS
Métodos Computacionais
Controle Digital Prof. Cesar da Costa 1.a Aula – Variável de Processo.
AJUSTE DE CURVAS 6.1 Introdução 6.2 Método dos quadrados mínimos
Controle Digital - CDG Prof. Cesar da Costa
Análise Energética para Sistemas Abertos (Volumes de Controles)
I. DESCRIÇÃO DO ESCOAMENTO DOS FLUIDOS:
Amintas engenharia.
Análise de Resposta Transitória e de Regime Estacionário. 5. 4
Integração Numérica – Áreas e Equações
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
Sinais e Sistemas – Capítulo 2
Sinais e Sistemas – Capítulo 4
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Exemplo 1.
EQ/UFRJ Carlos André Vaz Junior
Exemplo 1. 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.
Sistemas não-lineares no Simulink
Carlos André Vaz Junior
1.1. VARIÁVEIS DE ESTADO SISTEMAS III
Análise do comportamento dinâmico de processos químicos
Instrutor: Marcelo Escobar
Revisão de Controle e Servomecanismos
Conservação de Massa Esvaziamento de um tanque de água
Controle de processos Apontamentos de aula 2.
Métodos de Ajuste de Controladores
Ação de controle proporcional + integral + derivativa
Sistemas de medição - TM-247
Sistemas e Sinais (LEIC) – Maquinas de estados em Tempo Real
Realimentação de estados Estimadores de estados (C. T
Cálculo Numérico / Métodos Numéricos
MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB
1 - Equações Diferenciais Ordinárias
Instrumentação 5ª. aula.
Controle Linear II.
AT: Esquemas especiais de controle
Prof.Celso J. Munaro (DEL-CT-UFES)
Aula 6 Disciplina: Sistemas de Controle 1 - ET76H
Introdução e conceitos fundamentais de sistemas multivariaveis.
Introdução aos Sistemas Dinâmicos
Regressão Linear.
Formas de calibração 1º - Padrões externos É a forma mais utilizada de calibração. São utilizadas soluções contendo concentrações conhecidas do analito.
Aula 14 Disciplina: Sistemas de Controle 1 - ET76H
MÚLTIPLOS GRAUS DE LIBERDADE
Aula 5 Disciplina: Sistemas de Controle 1 - ET76H
Introdução Disciplina: Sistemas de Controle (Laboratório) - ET76H
SISTEMAS DE CONTROLE Definição:
2. Modelagem no Domínio da Freqüência
Solução das equações de estado
Aula Teorica 4: Diagrama de Blocos
Aula 4 Disciplina: Sistemas de Controle 1 - ET76H
Conteudo: Sistemas com resposta inversa
2.3 Experimentos Fatoriais 22 Efeitos das Interações
Introdução ao MATLAB 5.3 para Hidrólogos
Unidades de Operações Lógicas em Simuladores de Processos
Modelagem e Simulação de Processos – Equações Diferenciais
Modelagem e Simulação de Processos - Introdução
Controle de Processos por Computador
Automação e Controle IPT 2008
Sistemas de Controle III N8SC3
Sistemas de Controle III N8SC3
Computação Científica e Equações Diferenciais Geovan Tavares e Hélio Lopes PUC-Rio – Departamento de Matemática Laboratório Matmidia
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO DE ENGENHARIA MECÂNICA LABORATÓRIO DE MECÂNICA DOS FLUIDOS ME36L – TRANSMISSÃO DE CALOR I PROF.
PC - Semana61 MODELANDO SISTEMAS LTI NO DOMÍNIO DA FREQUÊNCIA.
Controle de Sistemas Dinâmicos Sistemas de Controle - Implementação analógica Fevereiro Departamento de Eletrotécnica MA9 - Análise pelo método.
Como construir modelos empíricos. Nos modelos estudados, cada fator foi fixado em dois níveis Por esta razão temos que nos contentar com uma visão limitada.
Transcrição da apresentação:

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

Mundo Simulink Mais de 150 mil resultados

Ajuda http://newsreader.mathworks.com ?

Acessando o Simulink

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

Ambiente de Trabalho Simulink Ambiente Simulink Ambiente de Trabalho Simulink

Exemplos

Exemplo 1

Exemplo 1 – Comportamento Senoidal Biblioteca Sources Biblioteca Math

Ajuste automático da escala do gráfico: Exemplo 1 – Comportamento Senoidal Ajuste automático da escala do gráfico:

Ajuste manual da escala do gráfico: Exemplo 1 – Comportamento Senoidal Ajuste manual da escala do gráfico:

Agora quero multiplicar o resultado por -1: Exemplo 1 – Comportamento Senoidal Agora quero multiplicar o resultado por -1: Biblioteca Math

Configuração do bloco Product: Exemplo 1 – Comportamento Senoidal Configuração do bloco Product: Número de termos da multiplicação. Multiplicação de matrizes ou termo a termo.

Alterando os parâmetros de simulação: Exemplo 1 – Comportamento Senoidal Alterando os parâmetros de simulação: Tempo inicial Tempo final

Exemplo 1 – Comportamento Senoidal Criando um sub-sistema: Sub-sistema

Exemplo 1 – Comportamento Senoidal Editando um sub-sistema: Sub-sistema

Exemplo 1 – Comportamento Senoidal Algumas vezes é mais fácil tratar os dados gerados no ambiente Matlab. Usamos o bloco “to workspace”: Biblioteca Sinks Cria a variável A no workspace

Exemplo 1 – Comportamento Senoidal Configuração do bloco “To Workspace”: Cria a variável A no workspace Formato da variável

Exemplo 1 – Comportamento Senoidal No Workspace... >> plot(tout,A)

Exemplo 1 – Comportamento Senoidal CTRL R Rodando um bloco:

Combinando dois sinais: Exemplo 1 – Comportamento Senoidal Combinando dois sinais: Entre outras aplicações, permite exibir duas ou mais curvas no mesmo gráfico. Bloco MUX Biblioteca Signals & Sys.

Exemplo 1 – Comportamento Senoidal Dois ou mais gráficos:

Dois ou mais gráficos: Configurando... Exemplo 1 – Comportamento Senoidal Dois ou mais gráficos: Configurando...

Exemplo 2

Exemplo 2 – Simulação de um modelo dinâmico 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

m m3 = min min m2 Exemplo 2 – Simulação de um modelo dinâmico 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: m m3 = min min m2

g m2 m m3 min g m3 min Exemplo 2 – Simulação de um modelo dinâmico O modelo é descrito por uma equação de balanço transiente de massa no tanque: g m2 m m3 min g m3 min Substituindo a hipótese ii na equação anterior ficamos com:

Exemplo 2 – Simulação de um modelo dinâmico Introduzindo as variáveis-desvio e aplicando a Transformada de Laplace, chegamos as funções de transferência: onde:

Exemplo 2 – Simulação de um modelo dinâmico 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)^2 A = 0.196 R = 6.37

Exemplo 2 – Simulação de um modelo dinâmico Corrente q1 Corrente q2

Exemplo 2 – Simulação de um modelo dinâmico Biblioteca Source Biblioteca Continuous

Exemplo 2 – Simulação de um modelo dinâmico Degrau começa no tempo zero Degrau começa no tempo dez Bloco Função de Transferência

Exemplo 2 – Simulação de um modelo dinâmico A amplitude do degrau é 1

Exemplo 2 – Simulação de um modelo dinâmico Resultado obtido: 1º estado estacionário 2º estado 1ª perturbação 2ª

Exemplo 3

Exemplo 3 – Controlando o tanque de nível 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 LC hm

Exemplo 3 – Controlando o tanque de nível Considerando uma válvula com a seguinte função de transferência: Considerando um medidor com a seguinte função de transferência: 3,60 m Linguagem de engenharia 0 m psi 15 psi Linguagem de máquina

Exemplo 3 – Controlando o tanque de nível Erro: (sp - valor medido) Set-point Valor medido

Exemplo 3 – Controlando o tanque de nível Controlador Processo Medidor Válvula

Exemplo 3 – Controlando o tanque de nível Bloco Ganho: Quando a função de transferência é simplesmente uma constante, como no caso do medidor, podemos representa-lá pelo bloco Gain.

Exemplo 3 – Controlando o tanque de nível Bloco PID: O controlador é representado pelo bloco PID Controller. Podemos regular a sua ação proporcional, integral e derivativa.

Exemplo 3 – Controlando o tanque de nível 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 uma estimativa inicial desse ajuste. Nem todas as combinações de valores para P, I e D são possíveis. As vezes o processamento numérico trava. D I C A

Exemplo 3 – Controlando o tanque de nível Ajuste de Controladores: Tente: P = 2 2 2 2 I = 0 25 1 1 D = 0 0 0 5 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 uma estimativa inicial desse ajuste. Nem todas as combinações de valores para P, I e D são possíveis. As vezes o processamento numérico trava. D I C A

Revisão de fminsearch

Exemplo 4 Exemplo 4

A seguinte malha de controle foi elaborada no Simulink. Exemplo 4 A seguinte malha de controle foi elaborada no Simulink. Usar o Matlab para ajustar o controlador. degrau unitário no instante 5 P I D

Programa principal: Exemplo 4 clear all close all warning off options = optimset('display','iter'); global P I D erro Pmin = fminsearch('custo', [1 5 1],options)

Função “custo”: Exemplo 4 function [erro] = custo(x) global P I D erro P=x(1); I=x(2); D=x(3); [T]=sim('malha',[0 65]); erro=sum(erro.^2);

Solução encontrada para degrau unitário no SP: Exemplo 4 Solução encontrada para degrau unitário no SP: Pmin = 4.5075 2.6329 -0.0000

Arquitetura Simulink usada para gerar o gráfico Exemplo 4 Arquitetura Simulink usada para gerar o gráfico do slide anterior:

Exemplo 4b Exemplo 4b

Ao invés de minimizar o somatório quadrático do erro, Exemplo 4b Ao invés de minimizar o somatório quadrático do erro, posso minimizar o somatório quadrático ponderado com o tempo. Ou seja, erros em tempos mais elevados são mais significativos.

Exemplo 4b

options = optimset('display','iter'); global P I D erro tempo Exemplo 4b Programa principal: clear all close all warning off options = optimset('display','iter'); global P I D erro tempo Pmin = fminsearch('custo', [10 5 1],options)

function [erro] = custo(x) global P I D erro tempo P=x(1); I=x(2); Exemplo 4b Função custo: function [erro] = custo(x) global P I D erro tempo P=x(1); I=x(2); D=x(3); [T]=sim('malha',[0 65]); %erro=sum(erro.^2); % somatorio quadratico do erro erro=sum((erro.*tempo).^2); % somatorio quadratico do erro ponderado com o tempo

Resultado obtido: Pmin = 25.8333 5.3333 -0.0000 Chute inicial usado: Exemplo 4b Resultado obtido: Pmin = 25.8333 5.3333 -0.0000 Chute inicial usado: 10 5 1

Ajuste de TF

?

Ferramenta completa para treinamento...

Passando dados para o Simulink

Gerador de dados experimentais:

Usando os dados experimentais:

Exemplo 5

Exemplo 5 – Bloco S-function Equações para modelar um CSTR:

Exemplo 5 – Bloco S-function Passando as equações 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 5 – Bloco 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 = -30000 BTU/ lbm U: coeficiente de troca térmica =150 BTU/(h.ft2.R) continua...

Exemplo 5 – Bloco S-function onde: A: área de troca térmica = 250 ft2 Tc: temperatura do fluido de alimentação (R) E: energia de ativação = 30000 BTU/lbm R: constante dos gases = 1.99 BTU/lbm.R Legenda: parâmetros freqüentemente alterados parâmetros raramente alterados parâmetros calculados

Exemplo 5 – Bloco S-function

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

Exemplo 5 – Bloco S-function Parâmetros calculados

Fi Cai Ca Ko V F Cp ro Ti T DeltaH U A Tc E R Exemplo 5 – Bloco S-function Em resumo: Fi Cai Ca Ko V F Cp ro Ti T DeltaH U A Tc E R

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

Exemplo 5 – Bloco S-function Criando uma máscara:

Exemplo 5 – Bloco S-function Localização do arquivo com as equações: O arquivo com as equações deve estar localizado no mesmo local dos arquivos Simulink! O Current Directory do Matlab deve apontar para esse local!

Exemplo 5 – Bloco 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 = 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...

Exemplo 5 – Bloco 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 = 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).

Exemplo 5 – Bloco 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 = 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...

Exemplo 5 – Bloco S-function sys = [ número de estados contínuos número de estados discretos número de saídas número de entradas marcador de alimentação direta tempo de amostragem ] 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...

Exemplo 5 – Bloco S-function Estimativas iniciais para o cálculo do sistema de equações diferenciais (cálculo numérico) 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...

Exemplo 5 – Bloco S-function 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...

Exemplo 5 – Bloco S-function 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...

Exemplo 5 – Bloco S-function 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...

Exemplo 5 – Bloco S-function 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...

Exemplo 5 – Bloco S-function case 3 % Calcula as saídas   sys = [x(1) x(2) x(3)]; otherwise sys = []; end

Exemplo 5 Bloco Integrador

Exemplo 5 – Bloco Integrador A outra técnica para resolver sistemas de equações diferenciais no Simulink é utilizando o bloco Integrator. A vantagem dessa técnica é que podemos construir a equação de modo totalmente intuitivo, como veremos abaixo. Por simplicidade vamos trabalhar com uma única equação diferencial, mas a técnica pode ser estendida para sistemas de equações.

Exemplo 5 – Bloco Integrador ( h-hestrela )

Exemplo 5 – Bloco Integrador Bloco Fcn (Functions & Tables)

Exemplo 5 – Bloco Integrador K ( h - hestrela )

Exemplo 5 – Bloco Integrador Fe - K( h - hestrela )

Exemplo 5 – Bloco Integrador (1/A) (Fe - K( h - hestrela ))

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