Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Carlos André Vaz Junior
2
Mundo Simulink Mais de 150 mil resultados
3
Ajuda ?
4
Acessando o Simulink
5
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:
6
Ambiente de Trabalho Simulink
Ambiente Simulink Ambiente de Trabalho Simulink
7
Exemplos
8
Exemplo 1
9
Exemplo 1 – Comportamento Senoidal
Biblioteca Sources Biblioteca Math
10
Ajuste automático da escala do gráfico:
Exemplo 1 – Comportamento Senoidal Ajuste automático da escala do gráfico:
11
Ajuste manual da escala do gráfico:
Exemplo 1 – Comportamento Senoidal Ajuste manual da escala do gráfico:
12
Agora quero multiplicar o resultado por -1:
Exemplo 1 – Comportamento Senoidal Agora quero multiplicar o resultado por -1: Biblioteca Math
13
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.
14
Alterando os parâmetros de simulação:
Exemplo 1 – Comportamento Senoidal Alterando os parâmetros de simulação: Tempo inicial Tempo final
15
Exemplo 1 – Comportamento Senoidal
Criando um sub-sistema: Sub-sistema
16
Exemplo 1 – Comportamento Senoidal
Editando um sub-sistema: Sub-sistema
17
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
18
Exemplo 1 – Comportamento Senoidal
Configuração do bloco “To Workspace”: Cria a variável A no workspace Formato da variável
19
Exemplo 1 – Comportamento Senoidal
No Workspace... >> plot(tout,A)
20
Exemplo 1 – Comportamento Senoidal
CTRL R Rodando um bloco:
21
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.
22
Exemplo 1 – Comportamento Senoidal
Dois ou mais gráficos:
23
Dois ou mais gráficos: Configurando...
Exemplo 1 – Comportamento Senoidal Dois ou mais gráficos: Configurando...
24
Exemplo 2
25
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
26
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
27
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:
28
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:
29
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 = * (0.5/2)^2 A = 0.196 R = 6.37
30
Exemplo 2 – Simulação de um modelo dinâmico
Corrente q1 Corrente q2
31
Exemplo 2 – Simulação de um modelo dinâmico
Biblioteca Source Biblioteca Continuous
32
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
33
Exemplo 2 – Simulação de um modelo dinâmico
A amplitude do degrau é 1
34
Exemplo 2 – Simulação de um modelo dinâmico
Resultado obtido: 1º estado estacionário 2º estado 1ª perturbação 2ª
35
Exemplo 3
36
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
37
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
38
Exemplo 3 – Controlando o tanque de nível
Erro: (sp - valor medido) Set-point Valor medido
39
Exemplo 3 – Controlando o tanque de nível
Controlador Processo Medidor Válvula
40
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.
41
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.
42
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
43
Exemplo 3 – Controlando o tanque de nível
Ajuste de Controladores: Tente: P = I = D = 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
44
Revisão de fminsearch
46
Exemplo 4 Exemplo 4
47
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
48
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)
49
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);
50
Solução encontrada para degrau unitário no SP:
Exemplo 4 Solução encontrada para degrau unitário no SP: Pmin =
51
Arquitetura Simulink usada para gerar o gráfico
Exemplo 4 Arquitetura Simulink usada para gerar o gráfico do slide anterior:
52
Exemplo 4b Exemplo 4b
53
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.
54
Exemplo 4b
55
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)
56
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
57
Resultado obtido: Pmin = 25.8333 5.3333 -0.0000 Chute inicial usado:
Exemplo 4b Resultado obtido: Pmin = Chute inicial usado:
58
Ajuste de TF
59
?
62
Ferramenta completa para treinamento...
63
Passando dados para o Simulink
64
Gerador de dados experimentais:
66
Usando os dados experimentais:
68
Exemplo 5
69
Exemplo 5 – Bloco S-function
Equações para modelar um CSTR:
70
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);
71
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 = BTU/ lbm U: coeficiente de troca térmica =150 BTU/(h.ft2.R) continua...
72
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 = BTU/lbm R: constante dos gases = 1.99 BTU/lbm.R Legenda: parâmetros freqüentemente alterados parâmetros raramente alterados parâmetros calculados
73
Exemplo 5 – Bloco S-function
74
Parâmetros raramente alterados
Exemplo 5 – Bloco S-function Biblioteca Functions & Tables Parâmetros freqüentemente alterados Parâmetros raramente alterados (máscara)
75
Exemplo 5 – Bloco S-function
Parâmetros calculados
76
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
77
Exemplo 5 – Bloco S-function
Configurando o bloco S-function: Nome do arquivo com as equações Parâmetros alterados pela máscara
78
Exemplo 5 – Bloco S-function
Criando uma máscara:
79
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!
80
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 = ; %lbm/ft3, concentração inicial no reator T = ; %R, temperatura do reator V = 200; %ft3, volume do reator x0 = [ca T V]'; continua...
81
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 = ; %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).
82
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 = ; %lbm/ft3, concentração inicial no reator T = ; %R, temperatura do reator V = 200; %ft3, volume do reator x0 = [ca T V]'; continua...
83
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 = ; %lbm/ft3, concentração inicial no reator T = ; %R, temperatura do reator V = 200; %ft3, volume do reator x0 = [ca T V]'; continua...
84
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 = ; %lbm/ft3, concentração inicial no reator T = ; %R, temperatura do reator V = 200; %ft3, volume do reator x0 = [ca T V]'; continua...
85
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...
86
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...
87
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...
88
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...
89
Exemplo 5 – Bloco S-function
case 3 % Calcula as saídas sys = [x(1) x(2) x(3)]; otherwise sys = []; end
90
Exemplo 5 Bloco Integrador
91
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.
92
Exemplo 5 – Bloco Integrador
( h-hestrela )
93
Exemplo 5 – Bloco Integrador
Bloco Fcn (Functions & Tables)
94
Exemplo 5 – Bloco Integrador
K ( h - hestrela )
95
Exemplo 5 – Bloco Integrador
Fe - K( h - hestrela )
96
Exemplo 5 – Bloco Integrador
(1/A) (Fe - K( h - hestrela ))
97
Carlos André Vaz Junior
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.