Exercícios Resolvidos de Recursos Gráficos do Simulink

Ver Teoria

Enunciado

Considere o sistema massa-mola-amortecedor (MMA) abaixo:

No SIMULINK, use o bloco “State Space” para calcular a resposta do sistema ao degrau unitário u ( t ) , considerando o sistema de equações no espaço de estados:

x ˙ 1 x ˙ 2 = 0 1 - 2 / 5 - 1 / 5 x 1 ( t ) x 2 ( t ) + 0 1 / 5 u ( t )

y t = 1 0 x 1 ( t ) x 2 ( t )

Onde x 1 é a posição da massa m e x 2 é a velocidade (isto é, x 2 = x ˙ 1 ). Considere as condições iniciais nulas ( x 1 0 = 0   e   x ˙ 1 0 = x 2 0 = 0 ) e simule o sistema por 80   s . Gere o gráfico da resposta e faça os ajustes necessários para melhorar a resolução do gráfico.

Passo 1

Neste exercício, vamos praticar a alterar algumas propriedades de simulação, como o tempo de simulação (o padrão no SIMULINK é 10   s e o enunciado pede simulação de 80   s ) e o tamanho mínimo e máximo do passo do algoritmo da simulação, para melhorar a resolução do gráfico. De quebra, vamos aprender como resolver equações no espaço de estados no SIMULINK.

O modelo deste exercício terá três blocos:

  • A entrada do modelo será o bloco “Step”, para criar o sinal do degrau unitário u ( t ) ;
  • Um bloco “State-Space” terá as equações do enunciado;
  • A saída do modelo será um bloco “Scope”, para gerar um gráfico da solução das equações.

Após fazermos a simulação, vamos abrir o gráfico da solução e ver o que precisa ser ajustado.

Passo 2

Vamos começar construindo o modelo. Em um novo modelo, insira um bloco “Step”, indo na biblioteca “Sources” e arrastando-o para o modelo em branco.

O enunciado diz que o sinal de entrada é um degrau unitário e não especifica o instante em que ele começa. Como o “Step” por padrão é um degrau unitário, iniciando em 1 segundo, não precisamos alterar propriedade alguma.

Vamos inserir o bloco “State-Space” no modelo para entrarmos com as equações no espaço de estados. Vá à biblioteca “Continuous”, encontre o bloco “State-Space” e arraste-o para o modelo:

Para entrarmos com as equações do enunciado, dê um duplo-clique no bloco que você acabou de inserir, para ter acesso às propriedades:

Para entrar as equações do enunciado, vamos alterar os campos destacados em vermelho, que é onde entramos as matrizes do sistema de equações de estado.

Para considerar as condições iniciais dadas pelo exercício, vamos alterar o campo destacado em azul (“Initial conditions”).

No topo da janela dos parâmetros de “State-Space”, há a indicação de quais são as matrizes a serem definidas nos campos destacados em vermelho:

Considerando que x = x 1 ( t ) x 2 ( t ) e d x / d t = x ˙ 1 x ˙ 2 , comparando com as equações dadas no enunciado, temos:

A = 0 1 - 2 / 5 - 1 / 5

B = 0 1 / 5

u = u t   ( d e g r a u )

C = 1 0

D = 0

Logo, altere os campos onde entramos as matrizes para:

O enunciado diz que as condições iniciais são nulas. Isto quer dizer que:

x 1 ( 0 ) x 2 ( 0 ) = 0 0

Portanto, o campo “Initial conditions” será:

Clique em “OK” para registrar as alterações nos parâmetros e conecte o bloco “Step” ao bloco “Space-State”:

Passo 3

Vamos inserir a saída do modelo, um bloco “Scope”, e conectá-lo a “State-Space”:

O modelo está pronto, agora precisamos ajustar o tempo de simulação de 10 para 80   s . Na barra superior da janela do modelo, no campo onde podemos alterar o tempo de duração da simulação, destacado abaixo, troque 10.0 por 80 .

Execute a simulação e veja como ficou o gráfico (dê um “Autoscale” nele já, para ele ocupar toda a janela):

Passo 4

Dá pra perceber que a curva não está suave, tem umas partes pontiagudas e ela deveria ser mais “redondinha”. Para melhorar a aparência dela, vamos mudar dois parâmetros de simulação: o tamanho mínimo e máximo do passo do algoritmo da simulação.

Para acessar os parâmetros de simulação, clique sobre a engrenagem da barra superior da janela onde construímos os modelos, destacada em vermelho abaixo:

A janela “Configuration Parameters” aparecerá. Na seção “Solver”, estão os parâmetros que queremos ajustar para deixar a curva mais redonda (destacados em vermelho abaixo):

São os parâmetros “Max step size” (tamanho máximo de passo) e “Min step size” (tamanho mínimo de passo), que são calculados automaticamente por padrão. Para termos curvas com maior resolução, isto é, mais “redondinhas”, devemos usar valores de passo bem pequenos, da ordem de 0,001 . Eu adotei os valores abaixo, mas você pode usar os valores que quiser.

Clique em “OK”, feche a janela do “Scope” e rode a simulação de novo, para ver como ficou o gráfico e se não ocorreu o fenômeno de “amnésia”:

Passo 5

É, teve uma amnésia bem grande aí. Para corrigi-la, vamos mudar a propriedade “Limit data points to last” do bloco “Scope”.

Para acessar as propriedades de “Scope”, na janela do gráfico com um pedaço faltando, clique na engrenagem destacada abaixo. Uma janela chamada “Scope parameters” se abrirá. Vá na aba “History”, onde tem a propriedade “Limit data points to last”, destacada abaixo:

Devemos ser aumentar o valor do campo destacado em vermelho para corrigir o problema de faltar um pedaço da curva. Vamos mudar esse valor para 50000 , fechar a janela do “Scope” e rodar a simulação de novo.

Quando a execução do programa terminar, abra o gráfico novamente. Ele estará completinho e redondinho =D

Resposta