EQ/UFRJ 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
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.
Controle Digital - CDG Prof. Cesar da Costa
Análise Energética para Sistemas Abertos (Volumes de Controles)
I. DESCRIÇÃO DO ESCOAMENTO DOS FLUIDOS:
Controle de Processos por Computador
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
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Exemplo 1.
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.
Temperatura Calor 1º. Lei da Termodinâmica
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
Exercício: Qual o tipo do sistema abaixo
MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB
Instrumentação 5ª. aula.
Controle Linear II.
Prof. Victor Física | 2ª Série | Ensino Médio
AT: Esquemas especiais de controle
Prof.Celso J. Munaro (DEL-CT-UFES)
Aula 6 Disciplina: Sistemas de Controle 1 - ET76H
Modelagem de Sistemas Dinâmicos
Introdução e conceitos fundamentais de sistemas multivariaveis.
Introdução aos Sistemas Dinâmicos
Regressão Linear.
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
Propagação de Cheias em Reservatório
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
Sistemas de Controle III N8SC3
Automação e Controle IPT 2008
Sistemas de Controle III N8SC3
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.
CENTRO DE MASSA E MOMENTO LINEAR
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:

EQ/UFRJ Carlos André Vaz Junior

EQ/UFRJ Mais de 150 mil resultados Mundo Simulink

EQ/UFRJ ? Ajuda

EQ/UFRJ Acessando o Simulink

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

EQ/UFRJ Ambiente de Trabalho Simulink Ambiente Simulink

EQ/UFRJ Exemplos

EQ/UFRJ Exemplo 1

EQ/UFRJ Biblioteca Math Biblioteca Sources Exemplo 1 – Comportamento Senoidal

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

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

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

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

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

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

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

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

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

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

EQ/UFRJ Rodando um bloco: CTRL R Exemplo 1 – Comportamento Senoidal

EQ/UFRJ 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

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

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

EQ/UFRJ Exemplo 2

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

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

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

EQ/UFRJ 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

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

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

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

EQ/UFRJ 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

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

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

EQ/UFRJ Exemplo 3

EQ/UFRJ 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 q 2. A segunda vazão de fluido, q 1, corresponde à variável perturbação (corrente chegando de outra unidade, não posso controlar essa corrente). q1q1 q3q3 q2q2 h A LTLC hm Exemplo 3 – Controlando o tanque de nível

EQ/UFRJ Considerando uma válvula com a seguinte função de transferência: Considerando um medidor com a seguinte função de transferência: Exemplo 3 – Controlando o tanque de nível

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

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

EQ/UFRJ 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

EQ/UFRJ 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

EQ/UFRJ 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. DICADICADICADICA Exemplo 3 – Controlando o tanque de nível

EQ/UFRJ 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. Tente: P = I = D = Nem todas as combinações de valores para P, I e D são possíveis. As vezes o processamento numérico trava. DICADICADICADICA Exemplo 3 – Controlando o tanque de nível

EQ/UFRJ Exemplo 4

EQ/UFRJ A seguinte malha de controle foi elaborada no Simulink. Usar o Matlab para ajustar o controlador. PIDPID degrau unitário no instante 5 Exemplo 4

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

EQ/UFRJ 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); Função custo: Exemplo 4

EQ/UFRJ Solução encontrada para degrau unitário no SP: Pmin = Exemplo 4

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

EQ/UFRJ Exemplo 4b

EQ/UFRJ 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

EQ/UFRJ Exemplo 4b

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

EQ/UFRJ 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 Função custo: Exemplo 4b

EQ/UFRJ Resultado obtido: Pmin = Chute inicial usado: Exemplo 4b

EQ/UFRJ Exemplo 5

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

EQ/UFRJ 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: Exemplo 5 – Bloco S-function

EQ/UFRJ 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) continua... Exemplo 5 – Bloco S-function

EQ/UFRJ 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 parâmetros freqüentemente alterados parâmetros raramente alterados parâmetros calculados Legenda: Exemplo 5 – Bloco S-function

EQ/UFRJ Exemplo 5 – Bloco S-function

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

EQ/UFRJ Parâmetros calculados Exemplo 5 – Bloco S-function

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

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

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

EQ/UFRJ 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

EQ/UFRJ 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]'; continua... Exemplo 5 – Bloco S-function

EQ/UFRJ 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]'; 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

EQ/UFRJ 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]'; continua... Exemplo 5 – Bloco S-function

EQ/UFRJ 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]'; continua... 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 ] Exemplo 5 – Bloco S-function

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

EQ/UFRJ 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

EQ/UFRJ 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

EQ/UFRJ 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

EQ/UFRJ 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

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

EQ/UFRJ Carlos André Vaz Junior