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


Tutorial Scicos, Notas de estudo de Engenharia Mecânica

tutorial scilab

Tipologia: Notas de estudo

2012

Compartilhado em 29/12/2012

denis-ferreira-22
denis-ferreira-22 🇧🇷

5

(5)

48 documentos

1 / 43

Toggle sidebar

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

Não perca as partes importantes!

bg1
1
Mecânica B - PME 2200
INTRODUÇÃO A PROGRAMAÇÃO NUMÉRICA
PARA SIMULAÇÃO DE SISTEMAS DINÂMICOS
UTILIZANDO O PROGRAMA SCILAB / XCOS
Autores: Prof. André L.C. Fujarra
Prof. Eduardo A. Tannuri
Prof. Roberto Spinola Barbosa
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b

Pré-visualização parcial do texto

Baixe Tutorial Scicos e outras Notas de estudo em PDF para Engenharia Mecânica, somente na Docsity!

Mecânica B - PME 2200

INTRODUÇÃO A PROGRAMAÇÃO NUMÉRICA

PARA SIMULAÇÃO DE SISTEMAS DINÂMICOS

UTILIZANDO O PROGRAMA SCILAB / XCOS

Autores: Prof. André L.C. Fujarra

Prof. Eduardo A. Tannuri

Prof. Roberto Spinola Barbosa

1. Introdução

Este material tem a finalidade de orientar os alunos das disciplinas de mecânica da Escola Politécnica da Universidade de São Paulo na utilização de ferramentas numéricas, baseada em programa de computador, para a modelagem e simulação do comportamento dinâmico de sistemas mecânicos. Está baseado no programa SCILAB distribuído pela INRIA (Institut National de Recherche en Informatique et en Automatic – www.inria.fr). O programa é uma ferramenta de cálculo para uso nos diversas áreas da ciência tendo aplicação disseminada no ensino, pesquisa e engenharia. Possui linguagem de alto nível amigável e inúmeros recursos de aplicação em pré e pós processamento ( Toolbox ). Um dos aplicativos deste programa é o XCOS , objeto deste texto.

2. O programa XCOS

O XCOS (antigo Scicos - Scilab Connected Object Simulator ) configura-se como um toolbox do software SCILAB que permite a simulação de sistemas dinâmicos tanto de natureza contínua ou discreta. Possui também recursos de pós-processamento gráfico que permite ao usuário realizar a apresentação da resposta dinâmica do sistema. Trata-se de um ambiente de programação em comandos de alto nivel onde a simulação se desenvolve através da utilização de blocos contendo rotinas numéricas, armazenados em bibliotecas do XCOS.

Em linhas gerais, a simulação do comportamento dinâmico de um sistema mecânico descrito por equações diferenciais utilizando o programa XCOS , pode ser realizada em 7 etapas principais:

  • Inicialização de um novo Diagrama de Blocos;
  • Acesso a Bibliotecas de Blocos ( palletes );
  • Seleção dos blocos de interesse para o Diagrama criado;
  • Definição dos parâmetros de cada bloco;
  • Conexão entre os blocos;
  • Compilação e Simulação do Diagrama criado;
  • Gravação do Diagrama.

Neste contexto é fornecido uma breve descrição de cada uma destas etapas básicas, buscando tornar mais familiar a utilização do XCOS como ferramenta de simulação e análise de sistemas dinâmicos. Cumpre destacar que o usuário pode criar seus próprios blocos e ou incorporar funcionalidades complementares ao diagrama neste ambiente. O usuário pode realizar ou customizar o tratamento e análise dos resultados obtidos. Descrição destas e outras funcionalidades podem ser obtidas diretamente no manual do programa SCILAB e/ou XCOS.

Figura 2 – Janela Principal do Xcos, Diagrama Vazio

2.2. Abertura da Biblioteca de blocos (palletes) Como mencionado o XCOS é provido de uma Biblioteca de Blocos subdividida em palletes e que pode ser acessada através do menu View na opção Pallete Browser.

Os blocos estão divididos em grupos, conforme apresentado na Figura 3: Janela para Acesso aos grupos de Palletes da Biblioteca de Blocos do XCOS.

Figura 3: Janela para Acesso aos grupos de Palletes da Biblioteca de Blocos do XCOS

No grupo Sources podem ser destacados os blocos: Sinusoid Generator; Clock_C. Ver a Figura 4 seguir:

Figura 4: Os Blocos da Opção Sources

No grupo Sinks deve-se destacar os blocos: Cscope e Write to Output File. Ver Figura 5

Figura 8

2.3. Diagrama de Bloco do Sistema

A forma de representação do sistema é realizada através de Blocos. Cada rotina numérica necessária para resolver o sistema de equações diferenciais é introduzida no diagrama através de Blocos. Cada Bloco corresponde a uma rotina numérica com entradas e saidas. Estes Blocos serão avaliados em função de um variável de integração (em geral o tempo). Portanto os blocos do diagrama são periodicamente avaliados segundo sua condição inicial e na seguencia das linhas que os une. Os blocos estão organizados em Palletes com aplicações específicas. Cada bloco pode ser copiado quantas vezes for necessário para o diagrama.

2.4. Cópia dos Blocos dos Palletes para o Diagrama Para copiar os blocos de seus respectivos Palletes para o Diagrama em construção inicia-se pela seleção do bloco com o botão direito do mouse e selecione a opção Add to Untitled , sendo “untitled” o nome provisório do arquivo aberto.

Figura 9: Copiando os Blocos de Interesse para o diagrama em Construção

Outra maneira de transferir os blocos para o diagrama é manter pressionado o botão esquerdo do mouse sobre o bloco desejado e em seguida arrastá-lo para a janela principal do XCOS , ou seja, onde estará sendo montado o novo Diagrama de blocos. Efetue tantas cópias quantas forem necessárias. A Figura 9 mostra um exemplo.

Se desejar mover os blocos, basta manter pressionado o botão esquerdo do mouse sobre o bloco desejado e arrastá-lo ao longo do diagrama.

É interessante que os blocos sejam alinhados e dispostos de forma a facilitar o processo de conexão. Caso necessite, clique no bloco com o botão direito, a aba format conta com as opções Flip, Mirror, Girar e Align Blocks.

2.5. Definição dos Parâmetros dos Blocos As constantes a serem utilizadas em cada bloco representativo do sistema podem ser definidas numericamente dentro do bloco ou literalmente como parâmetro.

Sempre que o sistema dinâmico em análise possuir parâmetros como, por exemplo: massa (m), rigidez (k) e o amortecimento (c), estes podem ser declarados na opção Set Context do menu Simulação. Outros parâmetros passíveis de declaração neste momento são as condições iniciais do sistema (por ex.: velocidade inicial xp0 e a posição inicial x0), conforme apresentado na Figura 10, dada a seguir.

Figura 13: Definição do Número de Entradas de um Bloco Mux

O bloco Multiplexer ou Mux recebe um conjunto de valores e os transforma num vetor coluna de valores. Ele conta com um único parâmetro editável que corresponde ao número de entradas para a formação do vetor de saída. Como padrão para este bloco o XCOS assume 2 entradas. A Figura 13 mostra a janela de diálogo para a definição deste parâmetro.

O bloco Scifunc realiza operações aritméticas válidas com os valores de entrada. O bloco Scifunc requer a definição dos seguintes parâmetros:

  1. Input ports sizes : número de variáveis na porta de entrada do bloco. No caso exemplo tem- se 2 variáveis que são a velocidade e posição.

Figura 11: Definição das Condições Iniciais dos Blocos Integradores

Figura 12: Definição das Condições Iniciais dos Blocos Integradores

  1. Output port sizes : número de variáveis na porta de saída do bloco. Neste caso tem-se uma única variável na saída, a aceleração. Os demais parâmetros geralmente não são modificados e, portanto, serão apenas citados:

  2. Input event ports sizes.

  3. Output events ports sizes.

  4. Initial continuous state.

  5. Initial discrete state.

  6. System parameters vector.

  7. Initial firing vector.

  8. Is block always active

O bloco Scifunc realiza operações aritméticas com os valores de entrada. Se a entrada for do tipo vetor (originada do MUX por exemplo) cada termo do vetor descrito por u1(n), pode ser utilizado na expressão aritmética válida. O valor calculado na expressão descrita é a saída do bloco. No exemplo apresentado, utiliza-se a função referente a um sistema massa/mola amortecido, como se pode perceber pela Figura 14.

Figura 14: Definição da Função de Cálculo da Saída do Bloco Scifunc

O bloco Event Generator produz eventos como saída. Na utilização do bloco Event Generator é necessária a definição de dois parâmetros:

  1. Period : tempo entre a geração de cada evento. No exemplo empregou-se 0.

  2. Init time : instante de início da geração dos eventos. Geralmente igual a 0.

Finalmente o bloco Scope onde são definidos parâmetros referentes ao aspecto da janela de apresentação dos resultados da simulação. Assim:

  1. Color (>0) or mark (<0) vector (8 positions) : define o aspecto das linhas de confecção dos gráficos. Quando o valor é negativo utiliza linhas descontínuas.

  2. Output window number : define o número da janela onde os resultados da simulação serão alocados.

  3. Output window position : define a posição da janela de apresentação dos resultados.

  4. Output window sizes : define o tamanho da janela de apresentação dos resultados da simulação.

  5. Ymin : define o valor mínimo do eixo vertical.

Figura 15: Processo de Conexão dos Blocos

2.8. Compilação e Simulação do Diagrama

Uma vez concluídas as etapas de Definição de Parâmetros do modelo e Conexão dos Blocos, o Diagrama construído pode ser compilado e em seguida simular o comportamento dinâmico do sistema descrito. As opções Compile e Start contidas no menu Simulação permitem estas tarefas.

Assim que a simulação se inicia, o XCOS abre uma nova janela onde os resultados de saída, definidos pela própria construção do Diagrama, são apresentados.

Para o Diagrama anterior, a Figura 16 apresenta um resultado parcial da simulação do sistema massa/mola amortecido. No gráfico mostrado tem-se o registro temporal do deslocamento do corpo rígido.

Figura 16 : Resultado Parcial da Simulação do Sistema Massa/Mola Amortecido

2.9. Gravação do Diagrama A gravação do Diagrama construído poderá ser feita clicando em file , e em seguida save. Os Diagramas gravados são por definição arquivos do tipo *.xcos, no caso da Figura 16, untitled.xcos, mas podem também ser gravados no formato ASCII *.xcosf (independente da máquina onde foram gerados, porém de maior tempo de gravação).

Uma vez gravado o Diagrama poderá ser recarregado em outra seção pela simples instrução: -->xcos(‘nome_do_diagrama’);

3. Tratamento dos dados da simulação

Este capítulo ilustra um procedimento para o armazenamento e pós-processamento dos dados gerados na simulação do sistema.

3.1. Armazenamento As variáveis relevantes da simulação devem ser gravadas em arquivos texto através do bloco Write to Output File , ligado a um relógio e à variável, conforme mostra a figura a seguir.

Figura 18: Arquivo gerado na simulação

É claro que se na entrada do bloco Write to Output File existissem duas variáveis, o arquivo de saída seria composto por 3 colunas, sendo a primeira o tempo e as duas últimas as variáveis.

3.2. Pós-processamento Deve-se carregar os dados do arquivo gerado na simulação no ambiente SCILAB. Assim, após fechar o modelo, deve-se utilizar o comando

--> var = read(‘nome arquivo.txt’,-1,numero de colunas);

sendo var o nome da variável que você quer criar (pode ser qualquer nome, não precisa ser var). Utiliza-se –1 para indicar que se quer ler todo o arquivo (todas as linhas) e em seguida o número de colunas a serem armazenadas. No caso da Figura 18, este campo valeria 2 (coluna do tempo e da única variável armazenada).

Agora, a variável var passa a ser uma matriz de 2 colunas, sendo a primeira coluna o tempo e a segunda a variável armazenada na simulação. Para fazer o gráfico basta :

--> plot(var(:,1),var(:,2)) Note que var(:,1) refere-se à 1a^ coluna de var e var(:,2) à 2a^ coluna. Os dois pontos (:) indicam que se quer considerar todas as linhas da matriz.

O gráfico gerado tem o seguinte aspecto.

Figura 19: Gráfico gerado

Para copiar o gráfico num editor de textos como o Microsoft Word, utiliza-se a opção File-> Copiar Para Área de Transferência que existe na barra de menu da figura. Em seguida é só colar no editor.

Pode-se agora acrescentar nome nos eixos e no gráfico, bem como acrescentar linhas de grade. Para tanto,basta acessar a aba Editar da janela acima , e clicar em Propriedades dos Eixos. Veja a Figura 20.

Figura 20: Editor de Eixos

4. Exemplos

Neste capítulo serão apresentados dois exemplos de simulação de sistemas dinâmicos, que poderão ser utilizados como modelos para outros sistemas.

4.1. Sistema Massa Mola Amortecedor Considere o sistema da figura a seguir, composto por uma massa m presa a uma mola de constante elástica k e um amortecedor de coeficiente de amortecimento c, sujeita a uma força de excitação F(t) senoidal.

m

c

k

x(t)

F(t)

Figura 23: Sistema massa – mola - amortecedor

A força de restituição da mola vale –k.x e a força de amortecimento vale − cx &, sendo x(t) o

deslocamento da massa com relação à posição de equilíbrio e x & ( t )a velocidade da massa. Assim, a

equação dinâmica que rege o sistema pode ser obtida facilmente:

mx &&^ + cx &+ kx = F ( t ) (1)

Para se montar o diagrama de simulação da equação acima, fica mais fácil isolar a segunda derivada (aceleração) obtendo-se:

cx kx Ft

m

x &&^ = −&− + (2)

Antes de se mostrar o diagrama de simulação, deve-se relembrar que integrando-se a aceleração

& x & ( t ) obtém-se a velocidade x & ( t ). Integrando-se a velocidade x & ( t ) obtém-se a posição x(t). Uma

representação gráfica destas relações é apresentada a seguir, lembrando-se que 1/s representa a operação de integração:

Figura 24: Representação gráfica da relação entre aceleração, velocidade e posição

O diagrama que representa a equação (1) do sistema dinâmico em estudo é mostrado a seguir:

O bloco inferior possui uma função (2) da posição ( x(t) ), da velocidade ( x &^ ( t )) e da força

externa ( F(t) ) obtida isolando-se a aceleração da equação original (1).

Para estruturar o diagrama, aplicam-se as etapas mencionadas na introdução do tutorial. Começa-se com a inicialização do diagrama ingressando no programa Scilab, e dentro dele digita-se --> xcos( ); obtendo-se a janela Untiled , ou janela principal de XCOS.

A partir da janela principal, ingressa-se nas bibliotecas dos blocos com o menu view e selecionam-se palette browser, acessando-se os grupos de blocos, selecionando-se:

  • Continuous Time Systems , então, mantendo pressionado o botão esquerdo do mouse, arraste dois blocos INTEGRAL_m para o diagrama;
  • Sources , escolhem-se os blocos CLOCK_c e o bloco GENSIN_f (Sinusoid Generator).
  • Sinks, escolhendo o bloco CSCOPE.
  • User-Defined Functions, escolhendo-se Scifunc. As figuras mostram os blocos extraídos: primeiro da janela Continuous Time Systems (Figura
  1. Sinks (Figura 27), Sources (Figura 28) e finalmente User-Defined Functions (Figura 29) Caso se cometa um erro, como o de copiar algum bloco a mais, pode-se limpar clicando no bloco, e acessando o menu Editar e acessar a opção Delete , ou, simplesmente, clicando no “delete” do teclado do computador.

s

s

& x & ( t ) x &^ ( t ) x(t)

cx kx F t

m

F(t)

Figura 25: Diagrama de Blocos do Sistema