2. Simulink
• O Simulink é um pacote de software para
modelar, simular e analisar sistemas dinâmicos.
• Suporta sistemas lineares e não-lineares,
modela no tempo contínuo, no tempo amostrado
ou num híbrido dos dois.
• É mais poderoso do que o ltiview, uma vez que
o Simulink pode também analisar sistemas não-
lineares e variantes no tempo.
2
4. Simulação da termodinâmica de uma casa
O modelo usa subsistemas para simplificar o
O demo modela a termodinâmica 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 contém cinco
aplicação de uma onda senoidal (Daily
subsistemas: um nomeado House, outro
Temp Variation) com amplitude de 15 graus
Thermostat, e três subsistemas conversores
numa temperatura base (Avg Outdoor
de temperatura (dois convertem Fahrenheit
Temp) de 50 graus. Isto simula as flutuações
para Celsius e um converte Celsius para
diárias de temperatura. 4
Fahrenheit)..
5. Quando a simulação terminar as temperaturas
interna e externa aparecerão no plot Indoor
vs. Outdoor Temp do osciloscópio Thermo
Plots como sinais amarelo e magenta,
respectivamente. O custo cumulativo do
aquecimento aparece no plot Heat Cost ($).
5
7. Grupo: Sources
Alguns blocos comumente usados em controle:
Chirp Signal gera uma onda senoidal cuja freqüência
aumenta numa taxa linear com tempo.
Clock determina o tempo atual da simulação para cada
etapa da simulação. Este bloco é útil para outros blocos
que necessitem do tempo da simulação.
Constant gera um valor constante real ou complexo. .
From Workspace lê dados do espaço de trabalho do
MATLAB.
Ramp gera um sinal que começa 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 níveis definíveis
num tempo especificado.
7
8. Grupo: Math Operations
Alguns blocos comumente usados em controle:
Gain multiplica a entrada por um valor constante (ganho).
Product executa a multiplicação ou a divisão de suas entradas.
Sum executa a adição ou a subtração de suas entradas.
Trigonometric Function executa numerosas funções
trigonometricas comuns. Tais como: sin, cos, tan, asin, acos, atan,
atan2, sinh, cosh, tanh, asinh, acosh, e atanh.
Nota: Muitas outras funções matemáticas estão disponíveis. Certifique-se
da descrição precisa de cada bloco antes de usá-lo.
8
9. Grupo: Sinks
Alguns blocos comumente usados em controle:
Scope indica sua entrada em função do tempo de simulação.
To Workspace escreve sua entrada no espaço de trabalho.
Nota: Ao usar-se o bloco To workspace, ajuste o “save format” à “Array” a
fim receber a variável como um vetor no workspace (espaço de trabalho).
9
10. 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
11. Grupo: Sinks
Usando-se o bloco Scope
• Setando o número de • Salvando os dados para
eixos para o Scope o espaço de trabalho
(workspace)
11
12. Usando o bloco Scope
• Setando o número de • Salvando os dados para
eixos para o scope o espaço de trabalho
(workspace)
12
13. 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 saída.
Demux extrai os componentes de um sinal de entrada e fornece os
componentes como sinais separados.
13
14. Grupo: Continuous
Alguns blocos comumente usados em controle:
Derivative aproxima a derivada de sua entrada computando
onde du é a mudança no valor da entrada e dt é a mudança do
tempo desde o passo precedente do tempo de simulação.
Integrator fornece a integral da entrada no tempo atual. A seguinte
equação representa a saída do bloco y em função de sua entrada u
de uma condição inicial y0, onde y e u são funções vetor do tempo
de simulação atual t.
State-Space Implementa um sistema linear de espaço de estados.
Transfer Fcn modela um sistema linear por uma função de
transferência no domínio s.
Transport Delay atrasa a entrada por uma quantidade de tempo
especificada.
Zero-Pole modela um sistema especificado pelos zeros, pólos e
ganho de uma função de transferência no domínio s que define o
14
relacionamento entre a entrada do sistema e as suas saídas.
15. Iniciando um novo modelo
• O Simulink Library Browser
é o toolbox para criação do
modelo.
• Inicie criando uma nova
janela de trabalho.
15
16. Iniciando um novo modelo
• O Simulink Library Browser
é o toolbox para criação do
modelo.
• Inicie criando uma nova
janela de trabalho.
16
17. 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 saída do bloco (o
pequeno triângulo á direita do
bloco) Constant e enquanto
mantém o botão do mouse
abaixado, arraste o mouse para a
entrada do bloco (a pequena seta
á esquerda do bloco) Scope e
então libere-o. Será visto uma
seta apontada sendo
desenhada.
• Dê um duplo clique no bloco
Constant para abrir sua janela de
parâmetros.
• Mude o Constant value para 5.
17
18. Iniciando um novo modelo
• Através de um duplo clique no bloco
Scope abre-se a janela do mesmo.
18
19. Iniciando um novo modelo
• Pode-se configurar os parâmetros da
simulação através do Configuration
Parameters…do menu Simulation.
• Assim, por exemplo, podemos mudar os
limites do tempo para a simulação.
19
20. Iniciando um novo modelo
• Clique Start do menu Simulation (alternativamente pressione Ctrl + T,
ou ainda clique o botão na barra de ferramentas) para iniciar a
simulação.
20
21. Iniciando um novo modelo
• Esta simulação é muito simples. O que
ela realiza é simplesmente fazer a saída
assumir o valor constante 5 o quê é
mostrada no bloco Scope (o eixo x
representa o tempo de simulação).
• Dê um clique direito na
janela Autoscale do
Scope
para obter o seguinte
resultado:
21
22. 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 obtém é
o seguinte:
22
23. 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):
Nós podemos ver que o resultado
certamente é um coseno, mas
algo está errado no começo.
23
24. Iniciando um novo modelo
• Isto acontece porque no tempo
0, o bloco Derivative não tem
nenhuma informação prévia
para o cálculo.
• Não há nenhum valor inicial
para a derivada.
• Assim para o primeiro passo, o
bloco Derivative supõe que sua
entrada tem um valor
constante, assim sua derivada
é 0, o quê justifica o início do
gráfico.
24
25. Iniciando um novo modelo
• Desenhe o diagrama abaixo e simule-o:
• Simule também o sistema supondo
modificações na condição inicial do
integrador.
25
27. Modelando Sistemas Dinâmicos
• Um diagrama de bloco Simulink é um modelo
pictórico de um sistema dinâmico.
• Cada bloco representa um sistema dinâmico
elementar que produz uma saída contínua (um
bloco contínuo) ou pontos específicos do tempo
(um bloco discreto).
• As linhas representam conexões de entradas ou
saídas do bloco.
29
28. Anotações
• Às vezes necessita-se identificar as ligações em
diagramas de bloco complexos
• Pode-se usar o formato do Latex para a
anotação
• Para usar o formato do Latex escolha Format
Enable Tex Commands
31
29. Criando-se um Subsistema
• Ajuda a reduzir o número de blocos indicados na janela
do modelo.
• Permite manter junto os blocos funcionalmente
relacionados.
• Permite estabelecer um diagrama de bloco hierárquico,
onde um bloco de subsistema esta em uma camada e
os blocos que o compõem em outro.
32
30. 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