• Nenhum resultado encontrado

Desenvolvimento e simulação de sistemas dinâmicos através do SIMULINK

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento e simulação de sistemas dinâmicos através do SIMULINK"

Copied!
10
0
0

Texto

(1)

Desenvolvimento e simulação de sistemas dinâmicos através do SIMULINK

Autor: Luciano Endrigo Seravo Professor Orientador: Ms. Valmir Tadeu Fernades*

Faculdade Politécnica de Jundiaí

Resumo

Introdução ao SIMULINK

MATLAB é um software de computação técnico-científico criado para o desenvolvimento de sistemas sofisticados, sendo fundamental para a criação, análise e simulação de modelos matemáticos aplicados às mais diversas áreas.

Inserido no software MATLAB encontra- se uma ferramenta de simulação de gráficos, chamada Simulink, a qual permite visualizar os diferentes elementos que compõem um sistema dinâmico.

Com o software SIMULINK pode-se verificar diferentes aplicações na área de engenharia. Um exemplo de um sistema dinâmico

é o sistema massa - mola utilizado na suspensão do carro. Podemos através de equações diferencias de segunda ordem fazer o modelo matemático deste tipo de sistema e utiliza-lo para simular graficamente no SIMULINK. Este estudo visa aprofundar o estudo do SIMULINK já que esta ferramenta permite simular e analisar sistemas dinâmicos na área de Engenharia de Controle e Automação.

Palavras-chaves: Matlab, simulink, modelagem, simulação.

* Bolsista FUNADESP

Afim de estudar a ferramenta SIMULINK, apresenta-se abaixo alguns exemplos de como construir uma forma de onda senoidal e plotá-la no osciloscópio (scope):

Exemplo 1:

Exemplo 2:

A figura abaixo representa duas formas de

onda e seus respectivos gráficos, além da soma

das mesmas, cada etapa separada em um

osciloscópio diferente:

(2)

Exemplo 3:

A figura abaixo representa o mesmo modelo do exemplo 2 porém, através do bloco MUX, pode-se representar todas as etapas em

um mesmo osciloscópio:

Exemplo 4:

O mesmo modelo é representado abaixo

porém mostrado em um osciloscópio composto

por três etapas, representação da curva 1, curva

2 e a soma das mesmas:

(3)

Estudo teórico

Ajuste de curvas e aproximação de valores

Devido às diversas dificuldades da Engenharia em determinar exatamente as coordenadas de pontos de uma função qualquer que exprima um experimento ou fenômeno físico analisado, são criadas estimativas a fim de demonstrar, da melhor forma possível, o comportamento de tal função. Para que as estimativas minimizem os erros de aproximação com a verdadeira função e estejam o mais próximas possíveis de seus valores reais, são propostas duas soluções: a Interpolação e a Regressão.

• Interpolação

A interpolação é uma forma de estimar valores de funções através de um conjunto de pontos dados. É uma forma interessante de resolver problemas onde a função analisada não possui pontos intermediários os quais são essenciais para o cálculo comportamental da função. É o que acontece com as medições experimentais e os procedimentos computacionais demorados.

A interpolação pode considerar que os pontos intermediários faltantes se ajustem através de uma linha reta entre os pontos dados, sendo esta a interpolação linear. Quanto mais próximos forem os valores dados e quanto maior for o número da amostra, mais precisa será a interpolação.

Usando o programa MATLAB, pode-se determinar o comportamento da função em qualquer lugar na intermediação dos pontos dados através da ferramenta ‘interp1’.

Outra forma de interpolar seria através da utilização de uma curva suave, interpolação spline, que se ajusta aos pontos dados pressupondo que a intermediação entre os mesmos seja preenchida por modelos polinomiais de terceira ordem.

Exemplo 5:

Supondo que queiramos determinar o aquecimento de um forno de indução em relação ao tempo, tem-se os seguintes dados abaixo:

Utilizando o comando MATLAB pode- se calcular a interpolação acima através dos seguintes comandos:

• Determinam-se os valores de x e y ordenados de forma crescente ou decrescente:

>> x=[0,1,2,3,4,5];

>> y=[0,150,188,416,743,850];

• Para determinar graficamente a curva de interpolação cúbica dos pontos acima, cria- se x1 e y1usando o comando Spline do MATLAB:

>> x1=0:0.1:5;

>> y1=spline(x,y,x1);

• Para a visualização gráfica dos pontos iniciais e de sua interpolação, devemos plotar os valores:

>> plot(x,y,x1,y1,x,y,’o’);

• Intitulando os eixos e a forma de cálculo, tem-se;

>> title(‘Interpolaçao Spline’);

(4)

>> xlabel(‘Tempo,h’);

>> ylabel(‘Temperatura,C’);

>> grid;

As linhas azuis interligam os pontos iniciais e a curva verde representa a interpolação dos mesmos, a qual deve necessariamente passar por todos eles.

Exemplo 6:

Aplicando a teoria acima analisada pode- se pensar em um sistema de manipulação de vários tipos de robôs, como por exemplo no controle do trajeto de um braço robótico.

Através deste sistema, pode-se controlar suavemente o caminho percorrido pelo braço via interpolação cúbica, evitando assim possíveis

“trancos” durante o percurso.

Dessa forma assumi-se que os pontos nos quais o braço irá passar serão: posição inicial, posição intermediária, posição para pegar o objeto e posição para colocar o objeto no local desejado. Alem disso, existe uma terceira coordenada que diz o código da respectiva posição. Vide tabela abaixo:

Resolvendo através do MATLAB tem-se:

>> x=[0,1,2,3];

>> y=[0,1,3,2];

>> plot(x,y)

>> x1=0:0.1:3;

>> y1=spline(x,y,x1);

>> plot(x,y,x1,y1,x,y,’o’);

>> title(‘Interpolaçao Spline’);

>> xlabel(‘Coordenada x’);

>> ylabel(‘Coordenada y’);

>> grid;

Através do gráfico acima, nota-se a trajetória interpolada do braço mecânico representada pela curva em verde.

• Regressão

Com o mesmo objetivo acima definido pela interpolação, o método da regressão visa traçar uma reta que se aproxime de todos os pontos originados de um experimento. A fim de minimizar os erros dessa aproximação, a regressão é aplicada através do Método dos mínimos quadrados. Mesmo usando essa forma de aproximação, bastante realista, pode ser que a reta não passe efetivamente por nenhum dos pontos reais. Essa é a característica que difere a interpolação da regressão, já que a primeira passará por todos os pontos necessariamente.

Exemplo 7:

Seguindo os dados do exemplo 1,

(5)

determinaremos a função mais aproximada do comportamento dos pontos, desta vez calculada através de uma regressão pelo método da soma dos mínimos quadrados das distâncias entre a reta encontrada e os pontos iniciais. Segue abaixo a resolução pelo MATLAB:

• Os valores de x e y foram determinados no exemplo 1:

>> x=[0,1,2,3,4,5];

>> y=[0,76,188,357,601,798];

• Sabendo que o formato da função analisada é linear, escreve-se a equação geral da reta como: y=mx+b, utilizando-se o comando polyfit do MATLAB.

>> coef=polyfit(x,y,1);

>> m=coef(1);

>> b=coef(2);

• Aplicando o método dos mínimos quadrados das distâncias tem-se:

>> ybest=m*x+b;

>> somadist=sum((y-ybest).^2);

>> plot(x,ybest,x,y,’o’);

>> title(‘Regressao linear’);

>> xlabel(‘Tempo,h’);

>> ylabel(‘Temperatura,C’);

>> grid;

O gráfico a seguir representa a reta que minimiza as distâncias entre os pontos dados demonstrando o menor erro possível entre os pares de tempo e temperatura acima analisados.

Análise polinomial

Sabendo-se das diversas aplicações que os polinômios apresentam na Engenharia e na Ciência em geral, já que constituem bons modelos para representar sistemas físicos, este estudo visa dar uma visão geral de como o programa MATLAB pode calculá-los.

Exemplo 8:

Supondo que queiramos saber a velocidade e a altitude em metros de um balão meteorológico que, durante o dia, toma altitude devido a expansão do gás Hélio aquecido e durante a noite, o resfriamento do gás causa sua descida.

As funções de altitude em metros durante as primeiras 48 horas, e da velocidade em metros por hora, são dadas abaixo:

y(t) = -0.12t

4

+ 12t

3

- 380t

2

+ 4100t + 220

v(t) = -0.48t

3

+ 36t

2

– 760t + 4100 Resolvendo através do programa MATLAB os valores da altura nas primeiras 48 horas, tem-se;

>> t=0:1:48;

>> a=[-0.12,12,-380,4100,220];

Utiliza-se para isto, a ferramenta polyval

do MATLAB que determina os valores da altura

para cada valor de t:

(6)

>> y=polyval(a,t) y =

1.0e+004 *

Columns 1 through 14

0.0220 0.3952 0.6994 0.9414 1.1277 1.2645 1.3576 1.4128 1.4352 1.4301 1.4020 1.3555 1.2948 1.2237

Columns 15 through 28

1.1458 1.0645 0.9828 0.9033 0.8287 0.7609 0.7020 0.6534 0.6165 0.5923 0.5815 0.5845 0.6015 0.6323

Columns 29 through 42

0.6765 0.7334 0.8020 0.8809 0.9687 1.0633 1.1628 1.2645 1.3658 1.4637 1.5548 1.6355 1.7020 1.7501

Columns 43 through 49

1.7752 1.7728 1.7376 1.6645 1.5477 1.3814 1.1594

>> plot(t,y)

>> title(‘Analise Polinomial’);

>> xlabel(‘Tempo,h’);

>> ylabel(‘Altura,m’);

>> grid;

O gráfico abaixo mostra o comportamento esperado onde o balão sobe durante o dia e perde altitude durante a noite.

A altura máxima atingida pelo balão meteorológico pode ser determinada pelo comando max do MATLAB:

>> max(y) ans =

1.7752e+004

Encontrando a velocidade do balão tem- se:

>> x=0:1:48;

>> a=[-0.48,36,760,4100];

>> y=polyval(a,x) y =

1.0e+004 *

Columns 1 through 14

0.4100 0.4896 0.5760 0.6691 0.7685 0.8740 0.9852 1.1019 1.2238 1.3506 1.4820 1.6177 1.7575 1.9009

Columns 15 through 28

2.0479 2.1980 2.3510 2.5066 2.6645 2.8244 2.9860 3.1491 3.3133 3.4784 3.6440 3.8100 3.9760 4.1416

Columns 29 through 42

4.3067 4.4709 4.6340 4.7956 4.9555 5.1134 5.2690 5.4220 5.5721 5.7191 5.8625 6.0023 6.1380 6.2694

Columns 43 through 49

6.3962 6.5181 6.6348 6.7460 6.8515 6.9509 7.0440

Raízes polinomiais

A fim de estudar as aplicações das raízes

polinomiais, mostram-se abaixo as ferramentas

apresentadas pelo MATLAB que resolvem de

(7)

forma rápida as mesmas. Esta ferramenta é útil no caso de equações que regem o desempenho de um sistema de controle de um braço mecânico, que demonstram a arrancada ou freada brusca de um carro, ou ainda a estabilidade de um filtro digital.

Exemplo 9:

Analisando as raízes da equação abaixo através do comando roots do MATLAB tem- se:

f(x) = x

3

– 5x

2

+ 2x + 8

Encontram-se as raízes da equação:

>> p=[1,-5,1,8];

>> r=roots(p) r =

4.3465 1.7222 -1.0687

Plotando os valores encontrados:

>> x=-2:0.0001:5;

>> y=[x.^3-5*x.^2+2*x+8];

>> plot(x,y)

>> grid;

>> title(‘Analise Polinomial’);

>> xlabel(‘Coordenada x’);

>> ylabel(‘Coordenada y’);

Exemplo 10:

Modelar um “bungie jump”.

A modelação de um “bungie jump” pode ser representada através de uma equação diferencial de segunda ordem através de forças que agem em um corpo em queda livre preso por uma corda.

Onde:

y = deslocamento do corpo em relação à base de fixação da corda;

m = massa do corpo;

g = aceleração da gravidade;

k = coeficiente de elasticidade dependente do deslocamento “y”;

b = coeficiente de tração dependente da velocidade y’.

Para analisar este modelo matemático utiliza-se o SIMULINK utilizando os seguintes blocos:

• Bloco ‘Constant’, bloco que emite sinal constante, localizado no item ‘Sources’;

• Bloco ‘Sum’, realiza soma/subtração dos dados de entrada, localizado no item ‘Math Operations’;

• Bloco ‘integrator’, gera a integração de um sinal, localizado no item ‘Continuous’;

• Bloco ‘Gain’, ganho de um sinal,

localizado no item ‘Math Operations’;

(8)

• Bloco ‘Scope’, recebe um sinal e exibe um gráfico correspondente, localizado no item

‘Sinks’;

• Bloco ‘To Workspace’, exporta o conteúdo de um sinal para uma variável no workspace do MATLAB, localizado no item

‘Sinks’.

O modelo matemático é mostrado no SIMULINK como mostrado na montagem abaixo:

O bloco ‘Constant’ está nomeado como

‘Gravidade’ e configurado com o valor -9,8m/s

2

. Este bloco gera a aceleração da gravidade.

O bloco ‘Sum’ é configurado com o formato retangular e os operadores ‘+--’, este bloco implementa as operações matemáticas de soma e subtração da equação diferencial de segunda ordem.

O bloco ‘Gain’ nomeado como ‘t = tração’ representa o valor do coeficiente de tração divido pela massa do corpo (-b/m) e multiplicado pelo valor y’, sinal este resultante da primeira integração do sinal.

O bloco ‘Gain’ nomeado como ‘k = elast’

representa o valor do coeficiente de elasticidade dividido pela massa do corpo (-k/m) e multiplicado pelo valor de y que é o sinal da resultante da segunda integração.

Um modelo é criado para a implementação dos valores de massa, coeficiente de elasticidade e coeficiente de tração.

Para a simulação no SIMULINK, representa-se um corpo de massa de 60kg, um coeficiente de elasticidade 10 e um coeficiente de tração 5.

Executando a simulação verifica-se o gráfico de Espaço e Velocidade no bloco

‘Scope’.

A análise do modelo matemático pode ser feita através do gráfico. Um corpo de massa 60kg, coeficiente de elasticidade 10 e coeficiente de tração 5, observa-se que o deslocamento máximo em módulo e aproximadamente 100m, a velocidade máxima em módulo é 20m/s e a altura de estabilização em módulo é aproximadamente 60m.

Para inúmeros corpos de massas

diferentes, coeficientes elásticos diferentes e

(9)

coeficientes de tração diferentes, pode-se verificar o comportamento do sistema através do gráfico.

Exemplo 11:

Considere o sistema amortecido de segunda ordem.

Admite-se que o coeficiente de amortecimento c = 1.0, a constante da mola k = 2N/m e a massa do carro m = 5Kg. Não há entradas no sistema. Considerando-se a deflexão inicial igual 1m da posição de equilíbrio.

Para modelar o sistema deve-se primeiro escrever a equação diferencial de segunda ordem do movimento.

mx’’ + cx’ + kx = 0

Sendo um sistema de segunda ordem, necessita-se então de dois integradores para modelar seu comportamento, nomeando-os de velocidade e posição.

A saída do integrador Velocidade é x’, já que sua entrada é x’’.

Acrescenta-se um bloco de soma para calcular o valor de x’’, configurando-o com dois sinais de menos (--).

Deve-se acrescentar dois blocos de ganho para calcular a taxa em que ocorre o amortecimento e a taxa com que a mola exerce força sobre a massa.

Configura-se a condição inicial do bloco integrador que corresponde à velocidade para 0 e a condição inicial que corresponde à posição da massa para 1.

Falta ainda um dispositivo de saída para que se possa obter a resposta do sistema.

Acrescenta-se então um osciloscópio. O modelo final deve ficar da seguinte forma:

A resposta pode ser visualizada na tela do osciloscópio após iniciar a simulação.

Verifica-se assim o comportamento de um amortecimento modelado a partir de uma equação diferencial de segunda ordem.

Referências Bibliográficas

MATLAB 6.5 - Fundamentos de programação; Élia Yathie Matsumoto.

SIMULINK 5 - Fundamentos; Élia Yathie Matsumoto.

Chapman J.,Stephen , Programação em MATLAB para

Engenheiros, São Paulo, Pioneira Thomson Learning,

(10)

2003.

Curso de MATLAB 5.1 - Introdução à solução de

problemas de engenharia Universidade do Estado do

Rio de Janeiro.

Referências

Documentos relacionados

O gerenciamento é realizado pelos sócios ou por pessoas ligadas aos mesmos por vinculo de parentesco ou amizade, ou seja, raramente possuem um gerenciamento profissional e eficaz,

Espécies de Calliphoridae Diptera associadas a carcaças de Sus scrofa L., nas estações seca e chuvosa de 2010, em Campina Grande, PB... Lucilia

Os autores descrevem ainda, que a ideia de que os problemas atuais e os que vierem a surgir serão automaticamente resolvidos com o desenvolvimento cada vez maior

Entendemos ser as imagens simbólicas , bem como os silêncios postos por meio da palavra poética, um subterfúgio usado por Adélia para falar livremente sobre temas

Além desta Introdução, o capítulo 2 apresenta a revisão da literatura nas quais são descritas as pesquisas mais recentes dos assuntos relevantes para este trabalho incluindo

Usando a técnica de litografia de nanoesferas, redes porosas de PPy/Cl de alta qualidade e espessura homogênea foram (foto)eletropolimerizadas em substratos de silício tipo-p

(1993) estudaram a remoção de nutrientes, nitrogênio e fósforo, de águas residuárias, através de lagoas de alta taxa, e notaram que durante o dia, com a radiação solar, há

um segundo momento, o ente federativo sinaliza para o mercado que o seu foco de compras mudou, deixando para trás produtos tradicionais e investindo em produtos com baixo