Title: Mundo Simulink
1(No Transcript)
2Mundo Simulink
3Ajuda
?
4Acessando o Simulink
5Ambiente Simulink
A programação no Simulink segue uma interface
gráfica muito mais intuitiva e fácil de usar
6Ambiente Simulink
Ambiente de Trabalho Simulink
7Exemplos
8Exemplo 1
9Exemplo 1 Comportamento Senoidal
Biblioteca Sources
Biblioteca Math
10Exemplo 1 Comportamento Senoidal
Ajuste automático da escala do gráfico
11Exemplo 1 Comportamento Senoidal
Ajuste manual da escala do gráfico
12Exemplo 1 Comportamento Senoidal
Agora quero multiplicar o resultado por -1
13Exemplo 1 Comportamento Senoidal
14Exemplo 1 Comportamento Senoidal
15Exemplo 1 Comportamento Senoidal
Criando um sub-sistema
Sub-sistema
16Exemplo 1 Comportamento Senoidal
Editando um sub-sistema
Sub-sistema
17Exemplo 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
18Exemplo 1 Comportamento Senoidal
Configuração do bloco To Workspace
19Exemplo 1 Comportamento Senoidal
No Workspace...
gtgt plot(tout,A)
20Exemplo 1 Comportamento Senoidal
Rodando um bloco
21Exemplo 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.
22Exemplo 1 Comportamento Senoidal
Dois ou mais gráficos
23Exemplo 1 Comportamento Senoidal
Dois ou mais gráficos
Configurando...
24Exemplo 2
25Exemplo 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.
26Exemplo 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
27Exemplo 2 Simulação de um modelo dinâmico
O modelo é descrito por uma equação de balanço
transiente de massa no tanque
m
g
m2
min
m3
Substituindo a hipótese ii na equação anterior
ficamos com
28Exemplo 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
29Exemplo 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
30Exemplo 2 Simulação de um modelo dinâmico
Corrente q1
Corrente q2
31Exemplo 2 Simulação de um modelo dinâmico
Biblioteca Source
Biblioteca Continuous
32Exemplo 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
33Exemplo 2 Simulação de um modelo dinâmico
A amplitude do degrau é 1
34Exemplo 2 Simulação de um modelo dinâmico
35Exemplo 3
36Exemplo 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).
37Exemplo 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
0 psi
15 psi
Linguagem de máquina
38Exemplo 3 Controlando o tanque de nível
Erro (sp - valor medido)
Set-point
Valor medido
39Exemplo 3 Controlando o tanque de nível
40Exemplo 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.
41Exemplo 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.
42Exemplo 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.
43Exemplo 3 Controlando o tanque de nível
Ajuste de Controladores
Tente P 2 2 2 2 I
0 25 1 1D 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.
44Revisão de fminsearch
45(No Transcript)
46Exemplo 4
Exemplo 4
47Exemplo 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
48Exemplo 4
Programa principal
clear all close all warning off options
optimset('display','iter') global P I D
erro Pmin fminsearch('custo', 1 5 1,options)
49Exemplo 4
Função custo
function erro custo(x) global P I D
erro Px(1) Ix(2) Dx(3) Tsim('malha',0
65) errosum(erro.2)
50Exemplo 4
Solução encontrada para degrau unitário no SP
Pmin 4.5075 2.6329 -0.0000
51Exemplo 4
Arquitetura Simulink usada para gerar o
gráfico do slide anterior
52Exemplo 4b
Exemplo 4b
53Exemplo 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.
54Exemplo 4b
55Exemplo 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)
56Exemplo 4b
Função custo
function erro custo(x) global P I D erro
tempo Px(1) Ix(2) Dx(3) Tsim('malha',0
65) errosum(erro.2) somatorio quadratico
do erro errosum((erro.tempo).2) somatorio
quadratico do erro ponderado com o tempo
57Exemplo 4b
Resultado obtido Pmin 25.8333 5.3333
-0.0000
Chute inicial usado 10 5 1
58Ajuste de TF
59?
60(No Transcript)
61(No Transcript)
62Ferramenta completa para treinamento...
63Passando dados para o Simulink
64Gerador de dados experimentais
65(No Transcript)
66Usando os dados experimentais
67(No Transcript)
68Exemplo 5
69Exemplo 5 Bloco S-function
Equações para modelar um CSTR
70Exemplo 5 Bloco S-function
Passando as equações para o formato Matlab
dCa (Fi(cai-Ca)/V) - kCa dV Fi-F dT
(FiCpro(Ti-T) DeltaHkCaV - UA(T-Tc))
/(VroCp)
71Exemplo 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
k0exp(-E/(RT)) 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...
72Exemplo 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
73Exemplo 5 Bloco S-function
74Exemplo 5 Bloco S-function
Biblioteca Functions Tables
Parâmetros freqüentemente alterados
Parâmetros raramente alterados (máscara)
75Exemplo 5 Bloco S-function
76Exemplo 5 Bloco S-function
Em resumo
77Exemplo 5 Bloco S-function
Configurando o bloco S-function
Nome do arquivo com as equações
Parâmetros alterados pela máscara
78Exemplo 5 Bloco S-function
Criando uma máscara
79Exemplo 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!
80Exemplo 5 Bloco S-function
Criando o arquivo com as equações
function sys,x0 reator(t,x,u,flag,U,A,DeltaH,r
o,Cp,E,R,k0) Simula um reator CSTR (mistura
perfeita) no qual se conduz uma reação
exotérmica (A-gtB), resfriado por
serpentina switch flag case 0
Dimensiona o sistema e inicializa os estados
sysestados,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...
81Exemplo 5 Bloco S-function
Criando o arquivo com as equações
function sys,x0 reator(t,x,u,flag,U,A,DeltaH,r
o,Cp,E,R,k0) Simula um reator CSTR (mistura
perfeita) no qual se conduz uma reação
exotérmica (A-gtB), resfriado por
serpentina switch flag case 0
Dimensiona o sistema e inicializa os estados
sysestados,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).
82Exemplo 5 Bloco S-function
Criando o arquivo com as equações
function sys,x0 reator(t,x,u,flag,U,A,DeltaH,r
o,Cp,E,R,k0) Simula um reator CSTR (mistura
perfeita) no qual se conduz uma reação
exotérmica (A-gtB), resfriado por
serpentina switch flag case 0
Dimensiona o sistema e inicializa os estados
sysestados,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...
83Exemplo 5 Bloco S-function
function sys,x0 reator(t,x,u,flag,U,A,DeltaH,r
o,Cp,E,R,k0) Simula um reator CSTR (mistura
perfeita) no qual se conduz uma reação
exotérmica (A-gtB), resfriado por
serpentina switch flag case 0
Dimensiona o sistema e inicializa os estados
sysestados,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...
84Exemplo 5 Bloco S-function
function sys,x0 reator(t,x,u,flag,U,A,DeltaH,r
o,Cp,E,R,k0) Simula um reator CSTR (mistura
perfeita) no qual se conduz uma reação
exotérmica (A-gtB), resfriado por
serpentina switch flag case 0
Dimensiona o sistema e inicializa os estados
sysestados,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'
Estimativas iniciais para o cálculo do sistema de
equações diferenciais (cálculo numérico)
continua...
85Exemplo 5 Bloco S-function
case 1 Calcula as derivadas
Atualiza entradas cai u(1)
lbm/ft3, concentração da alimentação0.5
Fi u(2) ft3/hr, vazão de
alimentação40 F u(3)
vazão de retirada40 Tc u(4)
R, temperatura do fluido de
refrigeração594.6 Ti u(5)
R, temperatura da alimentação530
Cálculo das derivadas Ca x(1) T
x(2) V x(3) k
k0exp(-E/(RT)) dCa (Fi(cai-Ca)/V) -
kCa dV Fi-F dT
(FiCpro(Ti-T) DeltaHkCaV - UA(T-Tc))
/(VroCp) sys dCa dT dV
continua...
86Exemplo 5 Bloco S-function
case 1 Calcula as derivadas
Atualiza entradas cai u(1)
lbm/ft3, concentração da alimentação0.5
Fi u(2) ft3/hr, vazão de
alimentação40 F u(3)
vazão de retirada40 Tc u(4)
R, temperatura do fluido de
refrigeração594.6 Ti u(5)
R, temperatura da alimentação530
Cálculo das derivadas Ca x(1) T
x(2) V x(3) k
k0exp(-E/(RT)) dCa (Fi(cai-Ca)/V) -
kCa dV Fi-F dT
(FiCpro(Ti-T) DeltaHkCaV - UA(T-Tc))
/(VroCp) sys dCa dT dV
continua...
87Exemplo 5 Bloco S-function
case 1 Calcula as derivadas
Atualiza entradas cai u(1)
lbm/ft3, concentração da alimentação0.5
Fi u(2) ft3/hr, vazão de
alimentação40 F u(3)
vazão de retirada40 Tc u(4)
R, temperatura do fluido de
refrigeração594.6 Ti u(5)
R, temperatura da alimentação530
Cálculo das derivadas Ca x(1) T
x(2) V x(3) k
k0exp(-E/(RT)) dCa (Fi(cai-Ca)/V) -
kCa dV Fi-F dT
(FiCpro(Ti-T) DeltaHkCaV - UA(T-Tc))
/(VroCp) sys dCa dT dV
continua...
88Exemplo 5 Bloco S-function
case 1 Calcula as derivadas
Atualiza entradas cai u(1)
lbm/ft3, concentração da alimentação0.5
Fi u(2) ft3/hr, vazão de
alimentação40 F u(3)
vazão de retirada40 Tc u(4)
R, temperatura do fluido de
refrigeração594.6 Ti u(5)
R, temperatura da alimentação530
Cálculo das derivadas Ca x(1) T
x(2) V x(3) k
k0exp(-E/(RT)) dCa (Fi(cai-Ca)/V) -
kCa dV Fi-F dT
(FiCpro(Ti-T) DeltaHkCaV - UA(T-Tc))
/(VroCp) sys dCa dT dV
continua...
89Exemplo 5 Bloco S-function
case 3 Calcula as saídas sys x(1) x(2)
x(3) otherwise sys end
90Exemplo 5 Bloco Integrador
91Exemplo 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.
92Exemplo 5 Bloco Integrador
1/A
( h-hestrela )
93Exemplo 5 Bloco Integrador
Bloco Fcn (Functions Tables)
94Exemplo 5 Bloco Integrador
K ( h - hestrela )
95Exemplo 5 Bloco Integrador
Fe - K( h - hestrela )
96Exemplo 5 Bloco Integrador
(1/A) (Fe - K( h - hestrela ))
97(No Transcript)