Você está na página 1de 33

Matlab

Simulink

Prof Jos Luiz de Oliveira


Simulink
O Simulink um pacote de software para
modelar, simular e analisar sistemas dinmicos.

Suporta sistemas lineares e no-lineares,


modela no tempo contnuo, no tempo amostrado
ou num hbrido dos dois.

mais poderoso do que o ltiview, uma vez que


o Simulink pode tambm analisar sistemas no-
lineares e variantes no tempo.

2
Exemplo de simulao de sistema
No Matlab, digite o comando thermo.

3
Simulao da termodinmica de uma casa

O modelo usa subsistemas para simplificar o


O demo modela a termodinmica de uma
modelo do diagrama e cria sistemas que
casa. O termostato ajustado para 70 graus
podem ser reutilizados. Um subsistema um
Fahrenheit pelo Set Point e afetado pela
grupo de blocos que representado por um
temperatura exterior Text, que varia pela
bloco Subsystem. Este modelo contm cinco
aplicao de uma onda senoidal (Daily
subsistemas: um nomeado House, outro
Temp Variation) com amplitude de 15 graus
Thermostat, e trs subsistemas conversores
numa temperatura base (Avg Outdoor
de temperatura (dois convertem Fahrenheit
Temp) de 50 graus. Isto simula as flutuaes
para Celsius e um converte Celsius para
dirias de temperatura. 4
Fahrenheit)..
Quando a simulao terminar as temperaturas
interna e externa aparecero no plot Indoor
vs. Outdoor Temp do osciloscpio Thermo
Plots como sinais amarelo e magenta,
respectivamente. O custo cumulativo do
aquecimento aparece no plot Heat Cost ($).

5
Simulink
Para comear a us-lo, digite o comando
simulink no Matlab ou clique no cone

6
Grupo: Sources
Alguns blocos comumente usados em controle:
Chirp Signal gera uma onda senoidal cuja freqncia
aumenta numa taxa linear com tempo.
Clock determina o tempo atual da simulao para cada
etapa da simulao. Este bloco til para outros blocos
que necessitem do tempo da simulao.

Constant gera um valor constante real ou complexo. .

From Workspace l dados do espao de trabalho do


MATLAB.
Ramp gera um sinal que comea num tempo e valor
especificados e muda segundo uma taxa especificada.

Sine Wave fornece uma senoidal. O bloco pode operar


na modalidade baseada no tempo ou baseada em
amostras.
Step fornece um degrau entre dois nveis definveis
num tempo especificado.
7
Grupo: Math Operations
Alguns blocos comumente usados em controle:
Gain multiplica a entrada por um valor constante (ganho).

Product executa a multiplicao ou a diviso de suas entradas.

Sum executa a adio ou a subtrao de suas entradas.

Trigonometric Function executa numerosas funes


trigonometricas comuns. Tais como: sin, cos, tan, asin, acos, atan,
atan2, sinh, cosh, tanh, asinh, acosh, e atanh.

Nota: Muitas outras funes matemticas esto disponveis. Certifique-se


da descrio precisa de cada bloco antes de us-lo.

8
Grupo: Sinks
Alguns blocos comumente usados em controle:

Scope indica sua entrada em funo do tempo de simulao.

To Workspace escreve sua entrada no espao de trabalho.

Nota: Ao usar-se o bloco To workspace, ajuste o save format Array a


fim receber a varivel como um vetor no workspace (espao de trabalho).

9
Grupo: Sinks

Usando-se o bloco Scope

Pode-se salvar dados do


bloco Scope no
workspace (pode-se
fazer isto com o bloco
Save to workspace no
grupo Sinks)
Pode-se visualizar mais
que um sinal no Scope
no mesmo eixo ou em
eixos separados.

10
Grupo: Sinks

Usando-se o bloco Scope

Setando o nmero de Salvando os dados para


eixos para o Scope o espao de trabalho
(workspace)
11
Usando o bloco Scope

Setando o nmero de Salvando os dados para


eixos para o scope o espao de trabalho
(workspace)

12
Grupo: Signal Routing
Alguns blocos comumente usados em controle:

Bus Creator combina um conjunto de sinais em um bus (barra-


nibus), isto , um grupo de sinais representados por uma nica
linha em um diagrama de bloco.

Bus Selector recebe sinal de um bus ou de um multiplexador e


separa-o em seus sinais originais.

Mux combina suas entradas em um nico vetor de sada.

Demux extrai os componentes de um sinal de entrada e fornece os


componentes como sinais separados.

13
Grupo: Continuous
Alguns blocos comumente usados em controle:
Derivative aproxima a derivada de sua entrada computando
onde du a mudana no valor da entrada e dt a mudana do
tempo desde o passo precedente do tempo de simulao.

Integrator fornece a integral da entrada no tempo atual. A seguinte


equao representa a sada do bloco y em funo de sua entrada u
de uma condio inicial y0, onde y e u so funes vetor do tempo
de simulao atual t.

State-Space Implementa um sistema linear de espao de estados.

Transfer Fcn modela um sistema linear por uma funo de


transferncia no domnio s.
Transport Delay atrasa a entrada por uma quantidade de tempo
especificada.
Zero-Pole modela um sistema especificado pelos zeros, plos e
ganho de uma funo de transferncia no domnio s que define o
14
relacionamento entre a entrada do sistema e as suas sadas.
Iniciando um novo modelo
O Simulink Library Browser
o toolbox para criao do
modelo.
Inicie criando uma nova
janela de trabalho.

15
Iniciando um novo modelo
O Simulink Library Browser
o toolbox para criao do
modelo.
Inicie criando uma nova
janela de trabalho.

16
Iniciando um novo modelo
Arraste o bloco Constant do grupo
Sources do Simulink para a janela
de trabalho, depois arraste o
bloco Scope do grupo Sinks.

Clique agora, na sada do bloco (o


pequeno tringulo direita do
bloco) Constant e enquanto
mantm o boto do mouse
abaixado, arraste o mouse para a
entrada do bloco (a pequena seta
esquerda do bloco) Scope e
ento libere-o. Ser visto uma
seta apontada sendo
desenhada.

D um duplo clique no bloco


Constant para abrir sua janela de
parmetros.

Mude o Constant value para 5.


17
Iniciando um novo modelo

Atravs de um duplo clique no bloco


Scope abre-se a janela do mesmo.

18
Iniciando um novo modelo

Pode-se configurar os parmetros da


simulao atravs do Configuration
Parametersdo menu Simulation.
Assim, por exemplo, podemos mudar os
limites do tempo para a simulao.

19
Iniciando um novo modelo

Clique Start do menu Simulation (alternativamente pressione Ctrl + T,


ou ainda clique o boto na barra de ferramentas) para iniciar a
simulao.

20
Iniciando um novo modelo

Esta simulao muito simples. O que


ela realiza simplesmente fazer a sada
assumir o valor constante 5 o qu
mostrada no bloco Scope (o eixo x
representa o tempo de simulao).

D um clique direito na
janela Autoscale do
Scope

para obter o seguinte


resultado:

21
Iniciando um novo modelo
Vamos incrementar um
pouco mais.
Construa o seguinte
modelo, (pode-se encontrar
o bloco Clock no grupo
Sinks.
Os blocos Trigonometric
Function e Sum ficam no
grupo Math:

O resultado que se obtm


o seguinte:

22
Iniciando um novo modelo
Agora, vamos ver se a
derivada realmente um
coseno.
Construa o seguinte sistema
(o bloco Derivative esta
localizado no grupo
Continuous):

Ns podemos ver que o resultado


certamente um coseno, mas
algo est errado no comeo.

23
Iniciando um novo modelo

Isto acontece porque no tempo


0, o bloco Derivative no tem
nenhuma informao prvia
para o clculo.
No h nenhum valor inicial
para a derivada.
Assim para o primeiro passo, o
bloco Derivative supe que sua
entrada tem um valor
constante, assim sua derivada
0, o qu justifica o incio do
grfico.

24
Iniciando um novo modelo

Desenhe o diagrama abaixo e simule-o:


Simule tambm o sistema supondo
modificaes na condio inicial do
integrador.

25
Setando preferncias

File --> Preferences\Simulink

28
Modelando Sistemas Dinmicos

Um diagrama de bloco Simulink um modelo


pictrico de um sistema dinmico.
Cada bloco representa um sistema dinmico
elementar que produz uma sada contnua (um
bloco contnuo) ou pontos especficos do tempo
(um bloco discreto).
As linhas representam conexes de entradas ou
sadas do bloco.
29
Anotaes

s vezes necessita-se identificar as ligaes em


diagramas de bloco complexos
Pode-se usar o formato do Latex para a
anotao
Para usar o formato do Latex escolha Format
Enable Tex Commands
31
Criando-se um Subsistema
Ajuda a reduzir o nmero de blocos indicados na janela
do modelo.
Permite manter junto os blocos funcionalmente
relacionados.
Permite estabelecer um diagrama de bloco hierrquico,
onde um bloco de subsistema esta em uma camada e
os blocos que o compem em outro.

32
Antes - Depois

Selecione com o browser a parte do


modelo que se quer criar como sub-
sistema na janela do Simulink
Nomeie as portas do sub-sistema

33
Ajuda pela Web
http://www.mathworks.com/access/helpdesk/help/toolbox/simulink/gs/bqea1ff-1.html

40
Ajuda pela
Literatura

41