RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM...
Transcript of RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM...
INSTRUTOR: Prof. Dr. Carlos Henrique Farias dos Santos
RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLAB
CURSO DE EXTENSÃO:AULA INAUGURAL
Objetivo:
Apresentar conceitos básicos do ambiente de programação MATLAB e da ferramenta SIMULINK que faz parte deste ambiente.
Engenharia de Controle e automação
Simulação e Modelagem de sistemas complexos
Aquisição e Análise de dados amostrais
Projeto e estudo de plantas (elétricas, mecânicas, químicas, etc...)
Resolução sistemática e lógica de problemas
Engenheiros de Controle e Automação
Linguagens de Programação
Fortran
Pascal
Visual Basic
C++
Java Matlab
Linguagens de Programação
Engenheiro de Controle e automação
Simulação e Modelagem de sistemas complexosAquisição e Análise de dados amostraisProjeto e estudo de plantas Resolução sistemática e lógica de problemas
Linguagens de Programação
Fortran
Pascal
Visual Basic
C++
Java Matlab
Buscando Soluções
Engenheiro de Controle e automação
Simulação e Modelagem de sistemas complexosAquisição e Análise de dados amostraisProjeto e estudo de plantas Resolução sistemática e lógica de problemas
Linguagens de Programação
Fortran
Pascal
Visual Basic
C++
Java Matlab
Matlab: Ferramenta da Engenharia
Ambiente de Trabalho
Ambiente de Trabalho
Ambiente de Trabalho
Tudo de novo!!
Ambiente de Trabalho
Arquivo de Programação: m-file
Diretório corrente
Diretório corrente
Criando uma matriz:
Tipo Matriz
Use A=0:0.5:10 para gerar matrizes com dados em seqüência.
Use “;” para evitar que o resultado apareça na tela.
Use “clear A” para apagar a variável A.
Dicas!
Use “size(A) ” para identificar as dimensões da matriz. A maiordimensão é dada pelo comando “length(A) ”
Use “clear all” para apagar todas as variáveis armazenadas.
i) Soma e subtração: soma (ou subtrai) elemento por elemento da matriz.
A+BA-B
ii) Multiplicação e Divisão de matrizes: atenção às regras da álgebra, pois as dimensões das matrizes têm que ser coerentes!A * BA / B
iii) Multiplicação e divisão elemento por elemento:A .* BA ./ B
Operações Matemáticas Simples
iv) Matriz Transposta:A’
v) Cria Matriz Identidade:eye(número de linhas, número de colunas)
vi) Cria Matriz Zeros:zeros(número de linhas, número de colunas)
vii) Cria Matriz Uns:ones(número de linhas, número de colunas)
viii) Cria Matriz Randômica (composta de números aleatórios):rand(número de linhas, número de colunas)
Operações Matemáticas Simples
A interface Simulink
A programação no Simulink segue uma interface gráfica muito intuitiva e fácil de usar:
Ambiente de Trabalho Simulink
Área de programação:
Nosso primeiro exemplo:
Exemplo – Comportamento Senoidal
Avaliar o comportamento da função senoidalao longo do tempo.
BibliotecaSources Biblioteca
Sinks
Simulando...
O parâmetro de entrada está em radianos!
E, no caso, a entrada é o próprio tempo de simulação.
DDIICCAA
Exemplo – Comportamento Senoidal
Agora quero somar 1.5 ao valor da função:
BibliotecaMath
BibliotecaSources
Exemplo – Comportamento Senoidal
Ajuste automático da escala do gráfico:
Exemplo – Comportamento Senoidal
Ajuste manual da escala do gráfico:
Exemplo – Comportamento Senoidal
Agora quero multiplicar o resultado por -1:
BibliotecaMath
Exemplo – Comportamento Senoidal
Configuração do bloco Product:
Número de termosda multiplicação.
Multiplicaçãode matrizes outermo a termo.
Exemplo – Comportamento Senoidal
Obter o módulo do resultado:
BibliotecaMath
Exemplo – Comportamento Senoidal
Alterando os parâmetros de simulação:
Tempo inicial
Tempo final
Exemplo – Comportamento Senoidal
Usando tempo inicial igual a 10 e final igual a 50:
Tempoinicial
Tempofinal
Exemplo – Comportamento Senoidal
Caso a curva esteja “dentada”, aumente o Fator de Refinamento:
Exemplo – Comportamento Senoidal
Criando um sub-sistema:
Sub-sistema
Exemplo – Comportamento Senoidal
Editando um sub-sistema:
Sub-sistema
Exemplo – Comportamento Senoidal
Algumas vezes é mais fácil tratar os dados gerados no ambiente Matlab.
Usamos o bloco “to workspace”:
Cria a variávelA no workspace
BibliotecaSinks
Exemplo – Comportamento Senoidal
Configuração do bloco “To Workspace”:
Cria a variávelA no workspace
Formato da variável
Exemplo – Comportamento Senoidal
>> plot(tout,A)
No Workspace...
Exemplo – Comportamento Senoidal
Usando uma função trigonométrica:
BibliotecaSource
BibliotecaMath
Exemplo – Comportamento Senoidal
Ganho (produto):
BibliotecaMath
Exemplo – Comportamento Senoidal
Rotacionar um bloco:
CTRL R
Exemplo – Comportamento Senoidal
Combinando dois sinais:
Entre outras aplicações, permite exibir duas ou mais curvas no mesmo gráfico.
Bloco MUXBiblioteca Signals & Sys.
Exemplo – Comportamento Senoidal
Dois ou mais gráficos:
Exemplo – Comportamento Senoidal
Dois ou mais gráficos:
Configurando...
Exemplo – Comportamento Senoidal
REPRESENTAÇÃO DE SISTEMAS DINÂMICOS NO ESPAÇO DE ESTADOS
• SISTEMAS DINÂMICOS CONTÍNUOS
• SISTEMAS DINÂMICOS DISCRETOS
]k[Du]k[Cx]k[y]k[Bu]k[Ax]1k[x
+=+=+( ) ( ) ( )
( ) ( ) ( )tDutCxtytButAxtx
+=+=&
BibliotecaContinuous
BibliotecaDiscrete
Exemplos de sistemas dinâmicos contínuos
1) Bungie Jump;
2) Massa-mola-amortecedor sobre uma carreta;
3) Sistema translacional com 3 graus deliberdade;
4) Controle azimutal de uma antena.
M
b*y’ k*y
M*g
y” = g – k/M*y – b/M*y’
1) Bungie jump
Equação dinâmica:
Representação no espaço de estados:
⎥⎦
⎤⎢⎣
⎡−−
=mbmk
10A ⎥
⎦
⎤⎢⎣
⎡=
g0
B
[ ]01C =
Onde:
y: deslocamento em relação ao ponto de fixação da corda;m: massa do corpo;g : aceleração da gravidade;k : fator de elasticidade;b : fator de tração.
[ ]0D =
[ ]Tyyx &=
M
u
y
kb
M*y” + b/M*y’ + k/M*y =b*u’ + k*u
2) Massa-mola-amortecedor sobre uma carreta;
Equação dinâmica:
Onde:
M: massa do corpo;k : constante da mola;b : coeficiente da atrito viscoso.y : deslocamento da massa;u : deslocamento da carreta.
Representação no espaço de estados:
⎥⎦
⎤⎢⎣
⎡−−
=mbmk
10A [ ]01C = [ ]0D =
( ) ⎥⎦⎤
⎢⎣
⎡−
= 2mbmkmb
B⎥⎦
⎤⎢⎣
⎡β−β−
=uxuy
x11
o
&
3) Sistema translacional com 3 graus de liberdade
M1 M2
M3
K1K2
fv1 fv2
fv3 fv4
x1 x2
x3 Onde:
• M1, M2, M3 : massas • K1, K2 : constantes das molas;• fv1, fv2, fv3, fv4 : coeficientes de atrito viscosos.• x1,x2,x3 : deslocamentos das massas;
Representação no espaço de estados:
( ) ( )
( )
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−
=
+−
+−
+−+−
3M)4fv3fv(
3M4fv
3M3fv
2M4fv
2M4fv2fv
2M2K
2M2K
1M3fv
1M2K
1M3fv1fv
1M2K1K
00000
00100000010000001000
A
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
0
0000
B
2M1
[ ]000100C = [ ]0D =⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
3x2x1x3x2x1x
x
&
&
&
Onde:
J : momento de inércia;b : amortecimento viscoso;Tc : torque do motor;
: ângulo azimutal
4) Sistema de controle azimutal de uma antena.
CTbJ =θ+θ &&&
Equação dinâmica:
Representação no espaço de estados:
⎥⎦
⎤⎢⎣
⎡−
=Jb0
10A ⎥
⎦
⎤⎢⎣
⎡=
J/10
B [ ]01C = [ ]0D =[ ]Tx θθ= &
θ
Exemplos de sistemas dinâmicos discretos
1) Sistema com uma entrada e uma saída;
2) Sistema com duas entradas e uma saída;
A = [0 1;-0.16 -1];
B = [0;1];
C = [1.16 1];
D = 0;
A=[0.9 0.7;0 0.96];
B=[1;2];
C=[1.5 2.5];
D=0;
Simulando os exemplosno SIMULINK