Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


intro-simulink matlab, Notas de estudo de Engenharia Mecânica

intro-simulink matlab

Tipologia: Notas de estudo

2012

Compartilhado em 02/11/2012

cleuber-dias-7
cleuber-dias-7 🇧🇷

4.9

(9)

91 documentos

1 / 29

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
MANUAL DE INTRODUÇÃO
AO
MATLAB/SIMULINK
Elementos adaptados por:
Prof. Luis Filipe Baptista
ENIDH – 2008/2009
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d

Pré-visualização parcial do texto

Baixe intro-simulink matlab e outras Notas de estudo em PDF para Engenharia Mecânica, somente na Docsity!

MANUAL DE INTRODUÇÃO

AO

MATLAB/SIMULINK

Elementos adaptados por:

Prof. Luis Filipe Baptista

ENIDH – 2008/

MANUAL DE INTRODUÇÃO AO MATLAB/SIMULINK

1. OBJECTIVOS DO MANUAL

Este manual tem como objectivo familiarizar o aluno com o Matlab/Simulink, de modo a que possa ser utilizado nos trabalhos seguintes sobre controladores contínuos e digitais, nomeadamente:

  • Utilizar as ferramentas informáticas na análise dinâmica de sistemas de controlo ( Control Systems Toolbox entre outras).
  • Utilizar as ferramentas de aplicação em tempo real ( Real-time Workshop e Real- time Windows Target ), de modo a poder efectuar a aquisição e controlo de sistemas didácticos existentes no laboratório.

2. INTRODUÇÃO AO SIMULINK^1

O Simulink é um pacote de um software para modelar, simular, e analisar sistemas dinâmicos. Suporta sistemas lineares e não-lineares modelados em tempo contínuo, tempo discreto ou com uma mistura dos dois. Os sistemas também podem ter partes diferentes que são amostradas ou actualizadas com taxas diferentes.

Para modelar, o Simulink possui uma interface gráfica com utilizador ( GUI – Graphical User Interface ) para construir modelos como diagramas de blocos, usando as operações de clicar-e-arrastar do rato. Com esta interface, o aluno pode construir os modelos da mesma forma que se constroem numa folha de papel (ou como a maioria dos livros de controlo os descreve). Esta abordagem constitui um enorme avanço relativamente às soluções tradicionais que utilizam métodos numéricos. O Simulink inclui uma biblioteca de blocos pré-definidos, podendo o aluno também personalizar e criar os seus próprios blocos.

Depois de definir um modelo, é possível simulá-lo. Alguns blocos permitem que se vejam os resultados enquanto a simulação estiver ainda a ser executada. Além disso, o aluno pode modificar os parâmetros e observar imediatamente os resultados obtidos. Os resultados da simulação podem ser enviados para o workspace do MATLAB para visualização e utilização posterior.

Muitas outras ferramentas do MATLAB podem ser usadas no Simulink, sendo por esse facto que o MATLAB e o Simulink estão integrados. É possível simular, analisar, e rever os modelos em qualquer ambiente a qualquer ponto.

O Simulink permite-nos criar o modelo de qualquer tipo de artefacto, dispositivo ou aparelho que não existe fisicamente e vê-los funcionando antes que venham a ser realmente construídos.

(^1) - Estes apontamentos foram adaptados de um manual de introdução ao Simulink da autoria de Grupo PET –

Engenharia Eléctrica – UFMS, Brasil.

  • Sources library (o bloco Sine Wave)
  • Sinks library (o bloco Scope)
  • Continuous library (o bloco Integrator)
  • Signals & Systems library (o bloco Mux)

Para copiar o bloco Sine Wave do Library Browser, primeiro expanda a árvore do Library Browser para mostrar os blocos no Sources library. Faça isto clicando primeiro no sinal + do Simulink library para mostrar as outras bibliotecas, então clique no sinal + do Sources library para mostrar os seus blocos. Finalmente clique no bloco Sine Wave. Então o Library browser irá aparecer conforme representado na figura seguinte.

Seguidamente, arraste o bloco Sine Wave do Library browser até a janela do modelo. O Simulink cria uma cópia no ponto em que o colocar. Outra maneira de fazer esta operação, consiste em accionar um clique com o botão direito do rato em Sources e selecionar a opção de abrir. Irá aparecer a janela abaixo representada.

Arraste o bloco Sine Wave da janela até o modelo.

Copie os restantes blocos e arrume-os. Para mover cada bloco, clique e arraste com o rato ou clique e mova com as setas do teclado para menores distâncias. Com todos os blocos copiados para o interior do modelo, ele deverá ter o seguinte aspecto:

Termine as ligações e abra o bloco Scope com um duplo clique para ver a simulação. Entre no menu Simulation e escolha a opção Start para iniciar a simulação. Observe as curvas que vão sendo desenhadas no Scope.

Entre no menu Simulation e escolha Parameters para ajustar os parâmetros de simulação. Abra o bloco Scope para ver a evolução da simulação. Mantendo a janela do Scope aberta, ajuste o Simulink para executar a simulação em 10 segundos. Primeiro, ajuste os parâmetros da simulação, seleccionando Parameters no menu Simulation. Na caixa de diálogo que irá aparecer, nota-se que o tempo de simulação é fixado em 10.0 segundos (valor definido por defeito).

Feche a caixa de diálogo Simulation Parameters clicando no botão Ok. O Simulink aplica os parâmetros e fecha a caixa de diálogo.

Escolha Start no menu Simulation e observe as curvas no bloco Scope.

A simulação pára quando for atingido o tempo de simulação especificado em Simulation Parameters ou quando for accionado o botão de Stop no menu Simulation. Para gravar o modelo, escolha Save no menu File e escreva um nome na directoria desejada. Este arquivo contém a descrição do modelo.

Este exercício, mostra como executar algumas das tarefas de construção de modelos, geralmente utilizados no Simulink.

Zoom no Diagrama de Blocos

O Simulink permite que se aumente ou diminua a visão do diagrama de blocos. Para ajustar o zoom:

  • Selecione Zoom In do menu View (ou digite r) para aumentar.
  • Selecione Zoom Out do menu View (ou digite v) para diminuir.
  • Selecione Fit System to View do menu View (ou aperte a barra de espaço) para ajustar o zoom de acordo com o diagrama.
  • Selecione Normal do menu View para ajustar ao zoom 100%.

Por definição, o Simulink ajusta o zoom de acordo com o diagrama de blocos quando abre o diagrama.

Seleccionar Mais de Um Objecto

Pode seleccionar mais de que um objecto. Pode seleccioná-los da seguinte forma:

  • um de cada vez
  • seleccione os objectos com o rato ou com a caixa de selecção
  • Seleccione o modelo inteiro.

Seleccionar Múltiplos Objectos Um de Cada Vez

Para seleccionar mais de um objecto, seleccione cada um dos objectos, segure a tecla Shift e clique nos objectos. Para desmarcar, clique nos objectos de novo mantendo ainda o Shift pressionado.

Seleccionar Múltiplos Objectos com a Caixa de Selecção

Uma maneira fácil de seleccionar mais do que um objecto numa mesma área, desenhe uma caixa de selecção em redor dos objectos.

1 Defina o canto para começar uma caixa de selecção posicionando o ponteiro do rato. Assim, quando apertar o ponteiro este irá mudar.

Para todos os comandos acima indicados, pode também seleccionar o modelo, e digitar gcs ao invés de .

Mover os blocos de uma janela para a outra é o mesmo que copiar os blocos, excepto se manter pressionada a tecla Shift, enquanto se selecciona o bloco. Pode usar o comando Undo do menu Edit para remover um bloco que tenha adicionado.

Duplicar Blocos num Modelo

Pode duplicar blocos num modelo apertando a tecla Ctrl e seleccionando o bloco com o botão esquerdo do rato. Seguidamente, arraste para um novo local. Pode também fazer isto, arrastando o bloco com o botão direito do rato. Os blocos duplicados têm o mesmo parâmetro dos blocos originais. São acrescentados números de sucessão aos nomes dos novos blocos.

Apagar Blocos

Para apagar um ou mais blocos, seleccione os blocos a serem apagados e aperte a tecla Delete ou Backspace. Também pode escolher Clear ou Cut do menu Edit. O comando Cut recorta os blocos para o clipboard. Usando o Delete , o Backspace ou o comando Clear não será possível colar novamente o bloco. Pode usar o comando Undo do menu Edit para restituir um bloco que tenha apagado.

Mudando a Orientação de Blocos

Normalmente os sinais fluem da esquerda para a direita. As portas de entrada estão à esquerda e as portas de saída estão à direita. Pode mudar a orientação dos blocos escolhendo um destes comandos do menu Format :

  • O comando Flip Block roda o bloco de 180°.
  • O comando Rotate Block roda o bloco de 90° no sentido horário.

A figura abaixo mostra como o Simulink organiza as portas depois de mudar a orientação de um bloco usando os comandos Rotate Block e Flip Block. O texto nos blocos mostra a sua orientação.

Redimensionar os Blocos

Para mudar o tamanho de um bloco, seleccione e arraste quaisquer uma das suas marcas de selecção. Enquanto segura o botão do rato, um rectângulo pontilhado mostra o novo tamanho do bloco. Quando soltar o botão do rato, o bloco fica redimensionado. Por exemplo, a figura abaixo mostra um bloco Gerador de Sinais a ser redimensionado. A marca do lado inferior direito foi seleccionada e arrastada até à posição do cursor. Quando o botão do rato é solto, o bloco assume o novo tamanho.

Manipular os Nomes dos Blocos

Qualquer nome de um bloco de um modelo deve ser único e tem que conter pelo menos um caractere. Geralmente, os nomes aparecem debaixo dos blocos quando as portas estão na horizontal e à esquerda dos blocos quando as portas estão na vertical, conforme representado na figura.

Mudar os Nomes dos Blocos

Pode editar o nome de um bloco clicando no nome do bloco. Clique duas vezes ou arraste o cursor para seleccionar o nome inteiro. Então, escreva o novo nome. Quando clica nalgum outro lugar no modelo ou entra com alguma outra em acção, o nome será aceito ou rejeitado. Se tentar mudar o nome de um bloco por um nome que já existe ou por um nome sem caractere, o Simulink exibe uma mensagem de erro.

Pode modificar a fonte usada no nome de um bloco seleccionando o bloco, escolhendo a opção Font do menu Format. Seleccione uma fonte da caixa de diálogo. Este procedimento também muda a fonte de texto no ícone do bloco.

Pode cancelar a edição do nome de um bloco escolhendo Undo do menu Edit.

Nota

Se mudar o nome de um bloco na biblioteca, todas as ligações para aquele bloco passarão a estar erradas.

Mudar a Localização do Nome de um Bloco

Pode mudar a localização do nome de um bloco de duas formas:

  • Arraste o nome do bloco para o lado oposto do bloco.
  • Escolha o comando Flip Name do menu Format. Este comando muda a localização do nome do bloco para o lado oposto do bloco.

Blocos

Bibliotecas de Blocos do Simulink

O Simulink organiza seus blocos em bibliotecas de blocos de acordo com a aplicação. A janela do Simulink exibe os ícones e os nomes da biblioteca:

  • A biblioteca Sources contém blocos que geram sinais.
  • A biblioteca Sinks contém blocos que exibem ou escrevem os sinais.
  • A biblioteca Discrete contém blocos que descrevem componentes discretos no tempo.
  • A biblioteca Continuous contém blocos que descrevem funções lineares.
  • A biblioteca Nonlinear contém blocos que descrevem funções não-lineares.
  • A biblioteca Math contém blocos que descrevem funções matemáticas.
  • A biblioteca Functions & Tables contém blocos que descrevem funções gerais e operações de tabelas.
  • A biblioteca Signal & Systems contém blocos que permitem multiplexar e desmultiplexar, entrada/saída de sinais externos, passar dados a outras partes do modelo, criar subsistemas e executar outras funções.
  • As bibliotecas Blocksets and Toolboxes contém as bibliotecas de Blocos Suplementares Especializados.
  • A biblioteca Demos do MATLAB contém demonstrações muito úteis do Simulink.

A seguir serão feitos breves comentários a respeito de cada bloco.

Biblioteca Sources

Nome do Bloco Aplicação

Introduz ruído num sistema contínuo.

Gera uma onda sinusoidal com frequência crescente.

Fornece o tempo de simulação.

Gera um valor constante.

Gera tempo de simulação ao especificar intervalo.

Gera pulsos em intervalos regulares.

Lê dados provenientes de um arquivo (Ficheiro)

Dados provenientes de uma matriz definida no workspace.

Gera pulsos em intervalos regulares.

Gera um sinal constantemente crescente ou decrescente.

Gera números aleatórios normalmente distribuídos.

Gera um sinal repetitivo arbitrário.

Gera várias formas de onda.

Gera uma onda sinusoidal.

Gera uma função degrau.

Gera números aleatórios uniformemente distribuídos.

Biblioteca Sinks

Nome do Bloco Aplicação

Mostra o valor do sinal.

Exibe sinais gerados durante uma simulação.

Pára a simulação quando o sinal for diferente de zero.

Escreve os dados da simulação num arquivo (ficheiro).

Escreve os dados numa matriz no workspace.

Exibe um gráfico X-Y, que utiliza uma janela de figura do MATLAB.

Atrasa o sinal por uma determinada quantia de tempo.

Atrasa o sinal por uma quantia variável de tempo.

Implementa uma função de transferência especificada em termos de pólos e zeros.

Biblioteca Math

Nome do Bloco Aplicação

Produz o valor absoluto do sinal.

Determina as raízes do sinal.

Implementa uma tabela da verdade.

Calcula a fase e a amplitude de um sinal complexo.

Calcula a parte real e imaginária de um sinal complexo.

Gera o produto escalar.

Multiplica o sinal por um determinado valor (ganho).

Executa a operação lógica especificada.

Calcula um sinal complexo a partir da amplitude e fase.

Executa uma função matemática.

Multiplica o sinal por uma matriz.

Produz o mínimo ou o máximo do sinal.

Gera o produto ou quociente de sinais.

Calcula um sinal complexo a partir da parte real e imaginária.

Executa a operação especificada.

Executa uma função de arredondamento.

Indica se o sinal é positivo ou negativo.

Ganho variável.

(Soma)

Efectua a soma de sinais.

Executa uma função trigonométrica.

Biblioteca Functions & Tables

Nome do Bloco Aplicação

Aplica uma expressão especificada à entrada.

Executa uma interpolação linear da entrada.

Executa uma interpolação linear de duas entradas.

Aplica uma função do MATLAB ou expressão à entrada.

Permite o acesso a uma S-function.

Dados originados de um Data Store Memory.

Escreve dados num Data Store Memory.

Converte um sinal num outro tipo de dados.

(Demux)

Separa um sinal vectorial em sinais escalares.

Acrescenta uma porta de habilitação a um subsistema.

Recebe a entrada de um bloco de Goto.

Executa a função de chamada de um subsistema a uma determinada taxa.

Passa a entrada para o bloco From.

Define o alcance de um bloco de Goto.

Saída nula.

Descobre o ponto de cruzamento.

Fixa o valor inicial de um sinal.

Cria uma porta de entrada para um subsistema ou uma entrada externa.

Combina várias linhas de entrada numa linha de escalar.

Exibe informações de um modelo.

(Mux)

Combina várias linhas de entrada numa linha de vector.

Cria uma porta de saída para um subsistema ou uma saída externa.

Produz a largura de um sinal de entrada, o tempo de amostra, e/ou o tipo notável.

Representa um sistema dentro de outro sistema (sub-sistema).

Termina um sinal que não esteja conectado.

Acrescenta uma porta de gatilho a um subsistema.

Produz a largura do vector de entrada.

Blocos Virtuais

Ao criar modelos, é preciso estar atento ao facto de os blocos do Simulink serem de duas categorias básicas: os blocos virtuais e os não-virtuais. Os blocos não-virtuais têm um papel activo na simulação de um sistema. Se adicionar ou remover um bloco não-virtual, muda o comportamento do modelo. Os blocos virtuais, por outro lado, não têm nenhum papel activo na simulação. Simplesmente, ajudam a organizar um modelo graficamente. Alguns blocos do Simulink podem ser virtuais nalgumas circunstâncias e não-virtuais noutras. Tais blocos são chamados de blocos condicionalmente virtuais. A tabela seguinte lista os blocos virtuais e condicionalmente virtuais do Simulink.

Blocos Virtuais

Nome do Bloco Condição na qual o bloco será virtual

Bus Selector Sempre virtual.

Data Store Memory Sempre virtual.

Demux Sempre virtual.

Enable Port Sempre virtual.

From Sempre virtual.

Goto Sempre virtual.

Goto Tag Visibility Sempre virtual.

Ground Sempre virtual.

Inport Sempre virtual a menos que o bloco esteja num subsistema condicionalmente executado e tenha uma conexão directa com um bloco outport.

Mux Sempre virtual.

Outport Virtual se o bloco reside dentro de algum subsistema (condicional ou não), e não reside na raiz (nível mais alto).