Você está na página 1de 49

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA CELSO SUCKOW DA

FONSECA (CEFET/RJ) CAMPUS: ANGRA DOS REIS


CURSO: ENGENHARIA MECÂNICA

SEGUNDA AVALIAÇÃO DE DINÂMICA APLICADA


Trabalho de Modelagem Mecânica de um Eixo Rígido com Diferentes
Condições de Desbalanceamento

Grupo :
Dario Rodrigues Figueira de Castro
Júlia Nogueira Carraro
Juliana Santos Portugal
Luiza Florêncio Trindade Moreira
Luiz Felipe Ribeiro Mendes
Vanusa dos Santos Alcantara

Angra dos Reis


2021
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA CELSO SUCKOW DA
FONSECA (CEFET/RJ) CAMPUS: ANGRA DOS REIS
CURSO: ENGENHARIA MECÂNICA

SEGUNDA AVALIAÇÃO DE DINÂMICA APLICADA

Trabalho avaliativo apresentado ao Centro


Federal de Educação Tecnológica –
CEFET/RJ, campus Angra dos Reis, para
compor nota da Segunda avaliação do
período 2021.1 - da disciplina Dinâmica
Aplicada curso de Engenharia Mecânica.

Professor: Paulo Vitor Gomes

Angra dos Reis


2021
SUMÁRIO

RESUMO ..................................................................................................................................... 4
1 - INTRODUÇÃO ...................................................................................................................... 4
1.1 DESCRIÇÃO FÍSICA DO MECANISMO ...........................................................5
2 – OBJETIVO ............................................................................................................................ 6
3 – MODELAGEM MECÂNICA E CONDIÇÕES DE DESBALANCEAMENTO ............. 7
3.1 – PRIMEIRA ANÁLISE ....................................................................................................... 7
3.2 – SEGUNDA ANÁLISE .................................................................................................... 17
3.3 – TERCEIRA ANÁLISE .................................................................................................... 27
3.4 – QUARTA ANÁLISE ....................................................................................................... 37
4 – DISCUSSÕES E CONCLUSÕES ................................................................................... 48
RESUMO

O presente trabalho tem foco na modelagem de um eixo rígido de aço


onde é utilizado o método de Kane para produzir análises com diferentes
condições de balanceamento, com os resultados de cada alteração exibidos em
gráficos de coordenada generalizadas (q) por tempo (t), como estudado durante
a disciplina. A apresentação da estrutura e cálculos seguindo uma mesma ordem
para cada análise de desbalanceamento, partindo das posições dos pontos até
a aplicação do método de Kane. Como ferramenta de modelagem utilizada para
programação o Jupyter Notebook, baseado na linguagem Python.

1 - INTRODUÇÃO

A modelagem dinâmica pela metodologia de Kane está baseada nos


conceitos de velocidades e velocidades angulares parciais. Basicamente tais
conceitos estão relacionados com os movimentos efetivamente possíveis que o
sistema realiza obedecendo a todos os seus vínculos e basicamente trabalha
com o equilíbrio entre forças de inércia e forças ativas projetadas sobre tais
velocidades. Primeiramente o método introduz o conceito de velocidade
generalizada 𝑈𝑖 , que pode ser definida como qualquer combinação linear dentre
as derivadas temporais das coordenadas generalizadas, sendo que os
coeficientes dessa combinação podem ser quaisquer funções das coordenadas
𝑄𝑖 , (J = 1, … , n ) e do tempo t. Devem ser definidas n velocidades generalizadas
de tal forma que cada 𝑞𝑖 , possa ser escrito explicitamente como função dos 𝑢𝑖 ,
(i = 1, … , n ).

Se o particular sistema escolhido possui 𝑝 graus de liberdade, é possível,


por meio de manipulação algébrica 𝐽𝑞̇ = 0 sobre a equação, encontrar relações
entre os 𝑞̇ 𝑖 que permitam escrever os 𝑢𝑝+1 , … , 𝑢𝑛 como combinações lineares
dos 𝑢1 , … , 𝑢𝑝 , onde os coeficientes dessa combinação linear são funções dos 𝑞𝑖
e do tempo.

Parâmetros importantes no método de Kane são a velocidade parcial de


pontos e a velocidade angular parcial de corpos, que, em linhas gerais, são os
coeficientes das velocidades generalizadas em expressões de velocidade linear
de pontos e velocidade angular de corpos. As forças de inércia generalizadas
são obtidas pré-multiplicando as velocidades parciais dos centros de massa de
cada corpo pelas respectivas forças de inércia, somadas com o produto das
velocidades angulares parciais pelos torques de inércia. As equações de Kane
são obtidas somando-se todas as forças ativas generalizadas com as forças de
inércia generalizada e igualando-se a zero. A grande vantagem deste
procedimento é que as forças de vínculos que mantêm unidos um corpo ao outro
não contribuem para as forças ativas generalizadas, portanto, não entram nas
equações do movimento. Além disso, o método proporciona uma maneira de
tornar as forças de vínculo em evidência.

1.1 DESCRIÇÃO FÍSICA DO MECANISMO

O mecanismo estudado é mostrado na Fig. (1). O corpo representa o eixo


rígido de aço com dimensões de 40 mm de diâmetro e 250 mm de comprimento,
com sua linha neutra posicionada sobre o eixo y visto na Fig. (2), sendo o corpo
sustentado por duas molas em conjunto com dois amortecedores para simular
atrito, postos nos locais representados por Mancal 1 e Mancal 2, que podem ser
considerados fixos com relação ao referencial inercial que é o chão. Os pontos
P1 e P2, são referenciais para aplicação das forças, postos no centro do corpo
alinhado a linha neutra um em cada extremidade. O centro sinalizado na figura,
simboliza o centro de massa onde será aplicada a força peso. O corpo é
denominado órgão terminal do mecanismo, que é aquele cujo movimento
efetivamente é relevante de se analisar.

Figura 1: Eixo rígido


Figura 2: Linha neutra sobre eixo y

2 – OBJETIVO

Este trabalho possui o objetivo de aplicar os conhecimentos adquiridos na


disciplina dinâmica aplicada do curso de engenharia mecânica, por meio da
modelagem mecânica e da utilização da metodologia de Kane na plataforma
programação Jupyter Notebook que usa a linguagem Python, construindo uma
simulação de um eixo rígido de aço de 40 mm de diâmetro por 250 mm de
comprimento, explorando diferentes condições de desbalanceamento para o
eixo.
3 - MODELAGEM MECÂNICA E CONDIÇÕES DE
DESBALANCEAMENTO
3.1 - Primeira Análise
Foi realizada considerando apenas um eixo maciço, sem massas de desbalanceamento.
Apoioado em dois mancais. Como pode ser observado na Figura 3 a seguir, os mancais
constituem um sistema de mola - amortecedor como indicados. Outro detalhe importante é que
k=k1=k2 e c=c1=c2.

Figura 3. Modelagem do Sistema

Importando as bibliotecas:

from sympy import symbols


import sympy.physics.mechanics as me

Agora, vamos definir as coordenadas generalizadas do sistema. Neste caso, usaremos três
coordenadas generalizadas.
q1,q2,q0=me.dynamicsymbols('q1 q2 q0')
q1d,q2d=me.dynamicsymbols('q1 q2',1)
u1,u2=me.dynamicsymbols('u1 u2')

Definindo as algumas variáveis:

g,r,omega,L,k,c,M,m= symbols('g r omega L k c M m')

Listando as coordenadas generalizadas:

q_lista=[q1,q2]

Velocidades generalizadas:

u_lista=[u1,u2]

Equações diferenciais cinemáticas:

kde=[q1d-u1,q2d-u2]

Referenciando os sistemas:

N=me.ReferenceFrame('N')
A=me.ReferenceFrame('A')
B=me.ReferenceFrame('B')

Orientando o A:

A.orient(N,'Axis',[q0,N.y])
A.set_ang_vel(N,omega*N.y)

Orientando o B:

B.orient(A,'Axis',[q2,A.x])
B.set_ang_vel(A,u2*B.x)

Definindo os pontos que serão usados no código.

Ponto O:

O=me.Point('O')
O.set_vel(N,0)

Cento de massa:
CM=me.Point('CM')
RCM=q1*N.z
CM.set_pos(O,RCM)
CM.set_vel(N,RCM.dt(N))

Ponto um:

P1=me.Point('P1')
RP1=-L/2*B.y-r*B.z
P1.set_pos(O,RP1+RCM)
P1.set_vel(N,(RP1+RCM).dt(N))

Ponto dois:

P2=me.Point('P2')
RP2=L/2*B.y-r*B.z
P2.set_pos(O,RP2+RCM)
P2.set_vel(N,(RP2+RCM).dt(N))

Velocidade no ponto P1:

P1.vel(N)

Lω sin (q2 (t)) L u2 (t)


(− ^ x + r u2 (t)b
− ωr cos (q2 (t)))b ^y − ^ z + d q1 (t)^
b nz
2 2 dt
Velocidade no ponto P2:

P2.vel(N)

Lω sin (q2 (t)) L u2 (t)


( ^ x + r u2 (t)b
− ωr cos (q2 (t)))b ^y + ^ z + d q1 (t)^
b nz
2 2 dt
Ponto P1 em relação ao ponto fixo O

P1.pos_from(O).dot(N.z)

L sin (q2 (t)) cos (q0 (t))


− − r cos (q0 (t)) cos (q2 (t)) + q1 (t)
2
Ponto P2 em relação ao ponto fixo O

P2.pos_from(O).dot(N.z)

L sin (q2 (t)) cos (q0 (t))


− r cos (q0 (t)) cos (q2 (t)) + q1 (t)
2
Matriz de B de rotação ao referencial N
B.dcm(N)

⎡ cos (q0 (t)) 0 − sin (q0 (t)) ⎤


⎢ sin (q0 (t)) sin (q2 (t)) cos (q2 (t)) sin (q2 (t)) cos (q0 (t)) ⎥
⎣ sin (q (t)) cos (q (t)) − sin (q2 (t)) cos (q0 (t)) cos (q2 (t)) ⎦
0 2

Matriz de A de rotação ao referencial N

A.dcm(N)

⎡ cos (q0 (t)) 0 − sin (q0 (t)) ⎤


⎢ 0 1 0 ⎥
⎣ sin (q (t)) 0 cos (q0 (t)) ⎦
0

Momento de inércia do cilindo:

Iz=M*(3*r**2+L**2)/12
Ix=Iz
Iy=M*r**2/12
I=me.inertia(B,Ix,Iy,Iz)
I

M (L2 + 3r2 ) Mr2 ^ M (L2 + 3r2 )


^ ^
bx ⊗ bx + ^
by ⊗ by + ^z ⊗ b
b ^z
12 12 12
Definindo o eixo como corpo rígido

eixo=me.RigidBody('eixo',CM,B,M,(I,CM))

Lista do corpo rígido

C1=[eixo]

Defindo as forças que estão agindo no corpo

FCM=-M*g*N.z
Fe1= -k*(P1.pos_from(O).dot(N.z))*N.z # Força Elástica no Mancal 1
Fe2= -k*(P2.pos_from(O).dot(N.z))*N.z # Força Elástica no Mancal 2
Fa1= -c*(P1.vel(N).dot(N.z))*N.z #Força de amortecimento no Mancal 1
Fa2= -c*(P2.vel(N).dot(N.z))*N.z #Força de amortecimento no Mancal 2

Lista de forças em relação aos seus respectivos pontos

FR=[(CM,FCM),(P1,Fe1),(P2,Fe2),(P1,Fa1),(P2,Fa2)]
FR

[(CM, - M*g*N.z),
(P1, - k*(-L*sin(q2(t))*cos(q0(t))/2 - r*cos(q0(t))*cos(q2(t)) + q1(t))*N.z),
(P2, - k*(L*sin(q2(t))*cos(q0(t))/2 - r*cos(q0(t))*cos(q2(t)) + q1(t))*N.z),
(P1,
- c*(-L*u2(t)*cos(q0(t))*cos(q2(t))/2 + r*u2(t)*sin(q2(t))*cos(q0(t)) - (-L*
omega*sin(q2(t))/2 - omega*r*cos(q2(t)))*sin(q0(t)) + Derivative(q1(t), t))*N.
z),
(P2,
- c*(L*u2(t)*cos(q0(t))*cos(q2(t))/2 + r*u2(t)*sin(q2(t))*cos(q0(t)) - (L*om
ega*sin(q2(t))/2 - omega*r*cos(q2(t)))*sin(q0(t)) + Derivative(q1(t), t))*N.
z)]
Apliando o método de Kane

KM= me.KanesMethod(N,q_ind=q_lista,u_ind=u_lista,kd_eqs=kde)

(Fr,Frstar)=KM.kanes_equations(C1,FR)

Obtenção da equanção de movimento

Eq_Mov = Fr + Frstar
Eq_Mov

⎡ −Mg − M dtd u1 (t) − c (−


L u2 (t) cos (q0 (t)) cos (q2 (t))
+ r u2 (t) sin (q2 (t)) cos

2

⎢− c( + r u2 (t) sin (q2 (t)) cos (q0 (t)) − (
L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q2 (t))

− ωr cos (q2 (t))

2 2


⎢ − k(
L sin (q2 (t)) cos (q0 (t))
− r cos (q


2



L u (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q
Lc(− 2

+r u2 (t) sin (q2 (t)) cos (q0 (t))−(−


2 2


2



L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q2 (t))
Lc( +r u2 (t) sin (q2 (t)) cos (q0 (t))−( −ωr cos (q2 (t))) sin (q0 (t))+u1 (t)) cos

2 2




2


L sin (q2 (t)) cos (q0 (t))


Lk( −r cos (q0 (t)) cos (q2 (t))+q1 (t)) cos (q0 (t)) cos (q2 (t))


2 Mω2 r2 sin


− −

2


⎢ − cr (− + r u2 (t) sin (q2 (t)) cos (q0 (t)) − (−
L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω sin



2


⎢ − cr ( + r u2 (t) sin (q2 (t)) cos (q0 (t)) − (
L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q


2 2

⎣ − kr (−
L sin (q2 (t)) cos (q0 (t))
2
− r cos (q0 (t)) cos (q2 (t)) + q1 (t)) sin (q2 (t)) cos (q0 (t)) −

Definindo o número de pontos do grafico, tempo inicial e final

from numpy import linspace


num=200
t0=0
tf=50
tn=linspace(t0,tf,num)

Definindo as condições para a geração do gráfico, onde:

M é a massa do eixo;
g é a aceleração da gravidade;
r é o raio do eixo;
k é constante elástica da mola (N/m);
c é o coeficiente de amortecimento;
Omega (ω) é a velocidade angular do eixo.

Vale ressaltar que as unidades utilizadas para a plotação dos gráficos foram no SI.

constantes={M:2.5,g:9.8,L:0.250,r:0.02,k:1000,c:0.05,omega:100}

import numpy as np

cond_in={q1:0,q2:np.pi/2,u1:0,u2:1}

Importando a biblioteca pydy.system

import pydy.system as dy

C:\Users\Vanusa\anaconda3\envs\DinAp\lib\site-packages\sympy\printing\ccode.p
y:12: SymPyDeprecationWarning:

importing from sympy.printing.ccode has been deprecated since SymPy


1.7. Use Import from sympy.printing.c instead. See
https://github.com/sympy/sympy/issues/20256 for more info.

deprecated_since_version="1.7").warn()

Atribuindo o sistema

sistema= dy.System(KM,constants=constantes, initial_conditions=cond_in, times=

Integrando o sistema

Q=sistema.integrate()

Importando a biblioteca matplotlib para poder fazer o gráfico

import matplotlib.pyplot as plt

Plotando o gráfico de q1 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,0])
plt.xlabel('t[s]')
plt.ylabel('q1[m]')
plt.grid(True)
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
Plotando o gráfico de q2 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,1])
plt.xlabel('t[s]')
plt.ylabel('q2[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
Plotando o gráfico de u1 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,2])
plt.xlabel('t[s]')
plt.ylabel('u1[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
Plotando o gráfico de u2 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,3])
plt.xlabel('t[s]')
plt.ylabel('u2[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
3.2- Segunda Análise
Foi realizada considerando novamente apenas um eixo maciço, apoioado em dois mancais.
Porém, realizou-se alterações no coeficiente de amortecimento (c) e a constante elástica da mola
(k) elevando seus valores com o intuito de observar o comportamento dos gráficos. Mantendo
parecido com a primeira análise k=k1=k2 e c=c1=c2. Podendo ser observado também na Figura
3.

Importando as bibliotecas:

from sympy import symbols


import sympy.physics.mechanics as me

Agora, vamos definir as coordenadas generalizadas do sistema. Neste caso, usaremos três
coordenadas generalizadas.

q1,q2,q0=me.dynamicsymbols('q1 q2 q0')
q1d,q2d=me.dynamicsymbols('q1 q2',1)
u1,u2=me.dynamicsymbols('u1 u2')

Definindo as algumas variáveis:

g,r,omega,L,k,c,M,m= symbols('g r omega L k c M m')

Listando as coordenadas generalizadas:

q_lista=[q1,q2]

Velocidades generalizadas:

u_lista=[u1,u2]

Equações diferenciais cinemáticas:

kde=[q1d-u1,q2d-u2]

Referenciando os sistemas:

N=me.ReferenceFrame('N')
A=me.ReferenceFrame('A')
B=me.ReferenceFrame('B')

Orientando o A:

A.orient(N,'Axis',[q0,N.y])
A.set_ang_vel(N,omega*N.y)
Orientando o B:

B.orient(A,'Axis',[q2,A.x])
B.set_ang_vel(A,u2*B.x)

Definindo os pontos que serão usados no código.

Ponto O:

O=me.Point('O')
O.set_vel(N,0)

Cento de massa:

CM=me.Point('CM')
RCM=q1*N.z
CM.set_pos(O,RCM)
CM.set_vel(N,RCM.dt(N))

Ponto um:

P1=me.Point('P1')
RP1=-L/2*B.y-r*B.z
P1.set_pos(O,RP1+RCM)
P1.set_vel(N,(RP1+RCM).dt(N))

Ponto dois:

P2=me.Point('P2')
RP2=L/2*B.y-r*B.z
P2.set_pos(O,RP2+RCM)
P2.set_vel(N,(RP2+RCM).dt(N))

Velocidade no ponto P1:

P1.vel(N)

Lω sin (q2 (t)) L u2 (t)


(− ^ x + r u2 (t)b
− ωr cos (q2 (t)))b ^y − ^ z + d q1 (t)^
b nz
2 2 dt
Velocidade no ponto P2:

P2.vel(N)

Lω sin (q2 (t)) L u2 (t)


( ^ x + r u2 (t)b
− ωr cos (q2 (t)))b ^y + ^ z + d q1 (t)^
b nz
2 2 dt
Ponto P1 em relação ao ponto fixo O
P1.pos_from(O).dot(N.z)

L sin (q2 (t)) cos (q0 (t))


− − r cos (q0 (t)) cos (q2 (t)) + q1 (t)
2
Ponto P2 em relação ao ponto fixo O

P2.pos_from(O).dot(N.z)

L sin (q2 (t)) cos (q0 (t))


− r cos (q0 (t)) cos (q2 (t)) + q1 (t)
2
Matriz de B de rotação ao referencial N

B.dcm(N)

⎡ cos (q0 (t)) 0 − sin (q0 (t)) ⎤


⎢ sin (q0 (t)) sin (q2 (t)) cos (q2 (t)) sin (q2 (t)) cos (q0 (t)) ⎥
⎣ sin (q (t)) cos (q (t)) − sin (q2 (t)) cos (q0 (t)) cos (q2 (t)) ⎦
0 2

Matriz de A de rotação ao referencial N

A.dcm(N)

⎡ cos (q0 (t)) 0 − sin (q0 (t)) ⎤


⎢ 0 1 0 ⎥
⎣ sin (q (t)) 0 cos (q0 (t)) ⎦
0

Momento de inércia do cilindo:

Iz=M*(3*r**2+L**2)/12
Ix=Iz
Iy=M*r**2/12
I=me.inertia(B,Ix,Iy,Iz)
I

M (L2 + 3r2 ) Mr2 ^ M (L2 + 3r2 )


^ ^
bx ⊗ bx + ^
by ⊗ by + ^z ⊗ b
b ^z
12 12 12
Definindo o eixo como corpo rígido

eixo=me.RigidBody('eixo',CM,B,M,(I,CM))

Lista do corpo rígido

C1=[eixo]
Defindo as forças que estão agindo no corpo

FCM=-M*g*N.z
Fe1= -k*(P1.pos_from(O).dot(N.z))*N.z # Força Elástica no Mancal 1
Fe2= -k*(P2.pos_from(O).dot(N.z))*N.z # Força Elástica no Mancal 2
Fa1= -c*(P1.vel(N).dot(N.z))*N.z #Força de amortecimento no Mancal 1
Fa2= -c*(P2.vel(N).dot(N.z))*N.z #Força de amortecimento no Mancal 2

Lista de forças em relação aos seus respectivos pontos

FR=[(CM,FCM),(P1,Fe1),(P2,Fe2),(P1,Fa1),(P2,Fa2)]
FR

[(CM, - M*g*N.z),
(P1, - k*(-L*sin(q2(t))*cos(q0(t))/2 - r*cos(q0(t))*cos(q2(t)) + q1(t))*N.z),
(P2, - k*(L*sin(q2(t))*cos(q0(t))/2 - r*cos(q0(t))*cos(q2(t)) + q1(t))*N.z),
(P1,
- c*(-L*u2(t)*cos(q0(t))*cos(q2(t))/2 + r*u2(t)*sin(q2(t))*cos(q0(t)) - (-L*
omega*sin(q2(t))/2 - omega*r*cos(q2(t)))*sin(q0(t)) + Derivative(q1(t), t))*N.
z),
(P2,
- c*(L*u2(t)*cos(q0(t))*cos(q2(t))/2 + r*u2(t)*sin(q2(t))*cos(q0(t)) - (L*om
ega*sin(q2(t))/2 - omega*r*cos(q2(t)))*sin(q0(t)) + Derivative(q1(t), t))*N.
z)]

Apliando o método de Kane

KM= me.KanesMethod(N,q_ind=q_lista,u_ind=u_lista,kd_eqs=kde)

(Fr,Frstar)=KM.kanes_equations(C1,FR)

Obtenção da equanção de movimento

Eq_Mov = Fr + Frstar
Eq_Mov
⎡ −Mg − M dtd u1 (t) − c (−
L u2 (t) cos (q0 (t)) cos (q2 (t))
+ r u2 (t) sin (q2 (t)) cos

2

⎢− c( + r u2 (t) sin (q2 (t)) cos (q0 (t)) − (
L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q2 (t))

− ωr cos (q2 (t))

2 2


⎢ − k(
L sin (q2 (t)) cos (q0 (t))
− r cos (q


2



L u (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q
Lc(− 2

+r u2 (t) sin (q2 (t)) cos (q0 (t))−(−


2 2


2



L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q2 (t))
Lc( +r u2 (t) sin (q2 (t)) cos (q0 (t))−( −ωr cos (q2 (t))) sin (q0 (t))+u1 (t)) cos

2 2




2


L sin (q2 (t)) cos (q0 (t))


Lk( −r cos (q0 (t)) cos (q2 (t))+q1 (t)) cos (q0 (t)) cos (q2 (t))


2 Mω2 r2 sin


− −

2


⎢ − cr (− + r u2 (t) sin (q2 (t)) cos (q0 (t)) − (−
L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω sin



2


⎢ − cr ( + r u2 (t) sin (q2 (t)) cos (q0 (t)) − (
L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q


2 2

⎣ − kr (−
L sin (q2 (t)) cos (q0 (t))
2
− r cos (q0 (t)) cos (q2 (t)) + q1 (t)) sin (q2 (t)) cos (q0 (t)) −

Definindo o número de pontos do grafico, tempo inicial e final

from numpy import linspace


num=200
t0=0
tf=50
tn=linspace(t0,tf,num)

Definindo as condições para a geração do gráfico, onde:

M é a massa do eixo;
g é a aceleração da gravidade;
r é o raio do eixo;
k é constante elástica da mola (N/m);
c é o coeficiente de amortecimento;
Omega (ω) é a velocidade angular do eixo.

Vale ressaltar que as unidades utilizadas para a plotação dos gráficos foram no SI.

constantes={M:2.5,g:9.81,L:0.250,r:0.02,k:2500,c:0.85,omega:100}

import numpy as np

cond_in={q1:0,q2:np.pi/2,u1:0,u2:1}

Importando a biblioteca pydy.system


import pydy.system as dy

Atribuindo o sistema

sistema= dy.System(KM,constants=constantes, initial_conditions=cond_in, times=

Integrando o sistema

Q=sistema.integrate()

Importando a biblioteca matplotlib para poder fazer o gráfico

import matplotlib.pyplot as plt

Plotando o gráfico de q1 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,0])
plt.xlabel('t[s]')
plt.ylabel('q1[m]')
plt.grid(True)
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
Plotando o gráfico de q2 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,1])
plt.xlabel('t[s]')
plt.ylabel('q2[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
Plotando o gráfico de u1 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,2])
plt.xlabel('t[s]')
plt.ylabel('u1[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
Plotando o gráfico de u2 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,3])
plt.xlabel('t[s]')
plt.ylabel('u2[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
3.3 - Terceira Análise
Neste caso a análise foi realizada adicionado uma massa (m) desbalanceadora, no qual, suas
características e posição serão abordadas ao longo do código. Para melhor compreensão o
modelo para análise é apresentado na Figura 4 a seguir.

Figura 4. Modelagem do sistema com uma massa de desbalanceamento.

Importando as bibliotecas:

from sympy import symbols


import sympy.physics.mechanics as me

Agora, vamos definir as coordenadas generalizadas do sistema. Neste caso, usaremos três
coordenadas generalizadas.

q1,q2,q0=me.dynamicsymbols('q1 q2 q0')
q1d,q2d=me.dynamicsymbols('q1 q2',1)
u1,u2=me.dynamicsymbols('u1 u2')

Definindo as algumas variáveis:


g,r,omega,L,k,c,M,m= symbols('g r omega L k c M m')

Listando as coordenadas generalizadas:

q_lista=[q1,q2]

Velocidades generalizadas:

u_lista=[u1,u2]

Equações diferenciais cinemáticas:

kde=[q1d-u1,q2d-u2]

Referenciando os sistemas:

N=me.ReferenceFrame('N')
A=me.ReferenceFrame('A')
B=me.ReferenceFrame('B')

Orientando o A:

A.orient(N,'Axis',[q0,N.y])
A.set_ang_vel(N,omega*N.y)

Orientando o B:

B.orient(A,'Axis',[q2,A.x])
B.set_ang_vel(A,u2*B.x)

Definindo os pontos que serão usados no código.

Ponto O:

O=me.Point('O')
O.set_vel(N,0)

Cento de massa:

CM=me.Point('CM')
RCM=q1*N.z
CM.set_pos(O,RCM)
CM.set_vel(N,RCM.dt(N))

Ponto um:
P1=me.Point('P1')
RP1=-L/2*B.y-r*B.z
P1.set_pos(O,RP1+RCM)
P1.set_vel(N,(RP1+RCM).dt(N))

Ponto dois:

P2=me.Point('P2')
RP2=L/2*B.y-r*B.z
P2.set_pos(O,RP2+RCM)
P2.set_vel(N,(RP2+RCM).dt(N))

Neste caso, foi adicionado um ponto 'P3'. Onde está localizada a massa de desbalanceamento.

P3=me.Point('P3')
RP3=-L/5*B.y+r*B.z
P3.set_pos(O,RP3+RCM)
CM.set_vel(N,(RP3+RCM).dt(N))

Velocidade no ponto P1:

P1.vel(N)

Lω sin (q2 (t)) L u2 (t)


(− ^ x + r u2 (t)b
− ωr cos (q2 (t)))b ^y − ^ z + d q1 (t)^
b nz
2 2 dt
Velocidade no ponto P2:

P2.vel(N)

Lω sin (q2 (t)) L u2 (t)


( ^ x + r u2 (t)b
− ωr cos (q2 (t)))b ^y + ^ z + d q1 (t)^
b nz
2 2 dt
Ponto P1 em relação ao ponto fixo O

P1.pos_from(O).dot(N.z)

L sin (q2 (t)) cos (q0 (t))


− − r cos (q0 (t)) cos (q2 (t)) + q1 (t)
2
Ponto P2 em relação ao ponto fixo O

P2.pos_from(O).dot(N.z)

L sin (q2 (t)) cos (q0 (t))


− r cos (q0 (t)) cos (q2 (t)) + q1 (t)
2
Matriz de B de rotação ao referencial N
B.dcm(N)

⎡ cos (q0 (t)) 0 − sin (q0 (t)) ⎤


⎢ sin (q0 (t)) sin (q2 (t)) cos (q2 (t)) sin (q2 (t)) cos (q0 (t)) ⎥
⎣ sin (q (t)) cos (q (t)) − sin (q2 (t)) cos (q0 (t)) cos (q2 (t)) ⎦
0 2

Matriz de A de rotação ao referencial N

A.dcm(N)

⎡ cos (q0 (t)) 0 − sin (q0 (t)) ⎤


⎢ 0 1 0 ⎥
⎣ sin (q (t)) 0 cos (q0 (t)) ⎦
0

Momento de inércia do cilindo:

Ix = M*(3*r**2+L**2)/12
Iy = M*r**2/12
Iz = Ix
I = me.inertia(B,Ix,Iy,Iz)
I

M (L2 + 3r2 ) Mr2 ^ M (L2 + 3r2 )


^ ^
bx ⊗ bx + ^
by ⊗ by + ^z ⊗ b
b ^z
12 12 12
Definindo o eixo como corpo rígido

eixo=me.RigidBody('eixo',CM,B,M,(I,CM))

A massa desbalanceadora foi considerada como uma partícula. Desta forma, usaremos o
seguinte comando para identificá-la.

Ppart_d=me.Particle('Ppart_d',P3,m)

Lista do corpos presente no sistema

C=[eixo,Ppart_d]

Defindo as forças que estão agindo no corpo

FCM=-M*g*N.z
Fe1= -k*(P1.pos_from(O).dot(N.z))*N.z # Força Elástica no Mancal 1
Fe2= -k*(P2.pos_from(O).dot(N.z))*N.z # Força Elástica no Mancal 2
Fa1= -c*(P1.vel(N).dot(N.z))*N.z #Força de amortecimento no Mancal 1
Fa2= -c*(P2.vel(N).dot(N.z))*N.z #Força de amortecimento no Mancal 2
Fp_desb=-m*g*N.z #Força peso da massa de desbalanceamento
Lista de forças em relação aos seus respectivos pontos

FR=[(CM,FCM),(P1,Fe1),(P2,Fe2),(P1,Fa1),(P2,Fa2),(P3,Fp_desb)]
FR

[(CM, - M*g*N.z),
(P1, - k*(-L*sin(q2(t))*cos(q0(t))/2 - r*cos(q0(t))*cos(q2(t)) + q1(t))*N.z),
(P2, - k*(L*sin(q2(t))*cos(q0(t))/2 - r*cos(q0(t))*cos(q2(t)) + q1(t))*N.z),
(P1,
- c*(-L*u2(t)*cos(q0(t))*cos(q2(t))/2 + r*u2(t)*sin(q2(t))*cos(q0(t)) - (-L*
omega*sin(q2(t))/2 - omega*r*cos(q2(t)))*sin(q0(t)) + Derivative(q1(t), t))*N.
z),
(P2,
- c*(L*u2(t)*cos(q0(t))*cos(q2(t))/2 + r*u2(t)*sin(q2(t))*cos(q0(t)) - (L*om
ega*sin(q2(t))/2 - omega*r*cos(q2(t)))*sin(q0(t)) + Derivative(q1(t), t))*N.
z),
(P3, - g*m*N.z)]

Apliando o método de Kane

KM= me.KanesMethod(N,q_ind=q_lista,u_ind=u_lista,kd_eqs=kde)

(Fr,Frstar)=KM.kanes_equations(C,FR)

Obtenção da equanção de movimento

Eq_Mov = Fr + Frstar
Eq_Mov
⎡ −Mg − M ( 5 − ω (−
L u2 2 (t) Lω sin (q2 (t))
+ ωr cos (q2 (t))) sin (q2 (t))) sin (q2 (t)) cos (q0 (t

5

⎢ + M (− 2Lω u2 (t) cos (q2 (t)) − 2ωr u (t) sin (q (t))) sin (q (t)) − c (− L u2 (t) cos (q0 (t)) cos (q2 (t



5 2 2 0 2

⎢ − c( + r u2 (t) sin (q2 (t)) cos (q0 (t)) − (
L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q2 (t))
⎢ − ωr cos (q2 (t)

2 2


⎢ − k( (
L sin (q2 (t)) cos (q0 (t)) L u2 2 (
− cos (q (t)) cos (q (t)) + q (t)) −

r 0 2 1 m

2 5


⎢ − m (−ω (−
Lω sin (q 2 (t))
+ ωr cos (q2 (t))) cos (q2 (t)) − r u2 2 (t)) cos (q0 (t)) cos (q2
Definindo o número de pontos do grafico, tempo inicial e final

from numpy import linspace


num=350
t0=0
tf=50
tn=linspace(t0,tf,num)

Definindo as condições para a geração do gráfico

constantes={M:2.5,g:9.8,L:0.250,r:0.02,k:1000,c:0.05,omega:100, m:0.25}

Definindo as condições para a geração do gráfico, onde:

M é a massa do eixo;
g é a aceleração da gravidade;
r é o raio do eixo;
k é constante elástica da mola (N/m);
c é o coeficiente de amortecimento;
Omega (ω) é a velocidade angular do eixo;
m é massa de desbalanceamento.

Vale ressaltar que as unidades utilizadas para a plotação dos gráficos foram no SI.

import numpy as np

cond_in={q1:0,q2:np.pi/2,u1:0,u2:1}

Importando a bibliotéca pydy.system

import pydy.system as dy

Atribuindo o sistema

sistema= dy.System(KM,constants=constantes, initial_conditions=cond_in, times=

Integrando o sistema
Q=sistema.integrate()

Importando a biblioteca matplotlib para poder fazer o gráfico

import matplotlib.pyplot as plt

Plotando o gráfico de q1 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,0])
plt.xlabel('t[s]')
plt.ylabel('q1[m]')
plt.grid(True)
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()

Plotando o gráfico de q2 em relação ao tempo


plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,1])
plt.xlabel('t[s]')
plt.ylabel('q2[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()

Plotando o gráfico de u1 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,2])
plt.xlabel('t[s]')
plt.ylabel('u1[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
Plotando o gráfico de u2 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,3])
plt.xlabel('t[s]')
plt.ylabel('u2[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
3.4 - Quarta Análise
Já para esta análise foi realizada com a adicão duas massas desbalanceadoras (m1 e m2), no
qual, suas características e posição serão abordadas ao longo do código. Para melhor
compreensão o modelo para análise é apresentado na Figura 5 a seguir.

Figura 5. Modelagem do sistema com duas massas de desbalanceamento

Importando as bibliotecas:

from sympy import symbols


import sympy.physics.mechanics as me

Agora, vamos definir as coordenadas generalizadas do sistema. Neste caso, usaremos três
coordenadas generalizadas.

q1,q2,q0=me.dynamicsymbols('q1 q2 q0')
q1d,q2d=me.dynamicsymbols('q1 q2',1)
u1,u2=me.dynamicsymbols('u1 u2')

Definindo as algumas variáveis:


g,r,omega,L,k,c,M,m1, m2= symbols('g r omega L k c M m1 m2')

Listando as coordenadas generalizadas:

q_lista=[q1,q2]

Velocidades generalizadas:

u_lista=[u1,u2]

Equações diferenciais cinemáticas:

kde=[q1d-u1,q2d-u2]

Referenciando os sistemas:

N=me.ReferenceFrame('N')
A=me.ReferenceFrame('A')
B=me.ReferenceFrame('B')

Orientando o A:

A.orient(N,'Axis',[q0,N.y])
A.set_ang_vel(N,omega*N.y)

Orientando o B:

B.orient(A,'Axis',[q2,A.x])
B.set_ang_vel(A,u2*B.x)

Definindo os pontos que serão usados no código.

Ponto O:

O=me.Point('O')
O.set_vel(N,0)

Cento de massa:

CM=me.Point('CM')
RCM=q1*N.z
CM.set_pos(O,RCM)
CM.set_vel(N,RCM.dt(N))

Ponto um:
P1=me.Point('P1')
RP1=-L/2*B.y-r*B.z
P1.set_pos(O,RP1+RCM)
P1.set_vel(N,(RP1+RCM).dt(N))

Ponto dois:

P2=me.Point('P2')
RP2=L/2*B.y-r*B.z
P2.set_pos(O,RP2+RCM)
P2.set_vel(N,(RP2+RCM).dt(N))

Neste caso, foi adicionado um ponto 'P3' e 'P4'. Onde está localizada a massa de
desbalanceamento.

P3=me.Point('P3')
RP3=-L/5*B.y+r*B.z
P3.set_pos(O,RP3+RCM)
CM.set_vel(N,(RP3+RCM).dt(N))

P4=me.Point('P3')
RP4=L/3*B.y+r*B.z
P4.set_pos(O,RP4+RCM)
CM.set_vel(N,(RP4+RCM).dt(N))

Velocidade no ponto P1:

P1.vel(N)

Lω sin (q2 (t)) L u2 (t)


(− ^ x + r u2 (t)b
− ωr cos (q2 (t)))b ^y − ^ z + d q1 (t)^
b nz
2 2 dt
Velocidade no ponto P2:

P2.vel(N)

Lω sin (q2 (t)) L u2 (t)


( ^ x + r u2 (t)b
− ωr cos (q2 (t)))b ^y + ^ z + d q1 (t)^
b nz
2 2 dt
Ponto P1 em relação ao ponto fixo O

P1.pos_from(O).dot(N.z)

L sin (q2 (t)) cos (q0 (t))


− − r cos (q0 (t)) cos (q2 (t)) + q1 (t)
2
Ponto P2 em relação ao ponto fixo O
P2.pos_from(O).dot(N.z)

L sin (q2 (t)) cos (q0 (t))


− r cos (q0 (t)) cos (q2 (t)) + q1 (t)
2
Matriz de B de rotação ao referencial N

B.dcm(N)

⎡ cos (q0 (t)) 0 − sin (q0 (t)) ⎤


⎢ sin (q0 (t)) sin (q2 (t)) cos (q2 (t)) sin (q2 (t)) cos (q0 (t)) ⎥
⎣ sin (q (t)) cos (q (t)) − sin (q2 (t)) cos (q0 (t)) cos (q2 (t)) ⎦
0 2

Matriz de A de rotação ao referencial N

A.dcm(N)

⎡ cos (q0 (t)) 0 − sin (q0 (t)) ⎤


⎢ 0 1 0 ⎥
⎣ sin (q (t)) 0 cos (q0 (t)) ⎦
0

Momento de inercia do cilindo:

Ix = M*(3*r**2+L**2)/12
Iy = M*r**2/12
Iz = Ix
I = me.inertia(B,Ix,Iy,Iz)
I

M (L2 + 3r2 ) 2 M (L2 + 3r2 )


b ^ x + Mr b
^x ⊗ b ^y ⊗ b
^y + ^z ⊗ b
b ^z
12 12 12
Definindo o eixo como corpo rígido

eixo=me.RigidBody('eixo',CM,B,M,(I,CM))

A massa desbalanceadora foi considerada como uma partícula. Desta forma, usaremos o
seguinte comando para identificá-la.

Ppart_d1=me.Particle('Ppart_d',P3,m1)

Ppart_d2=me.Particle('Ppart_d',P4,m2)

Lista do corpos presente no sistema


C=[eixo,Ppart_d1,Ppart_d2]

Defindo as forças que estão agindo no corpo

FCM=-M*g*N.z
Fe1= -k*(P1.pos_from(O).dot(N.z))*N.z # Força Elástica no Mancal 1
Fe2= -k*(P2.pos_from(O).dot(N.z))*N.z # Força Elástica no Mancal 2
Fa1= -c*(P1.vel(N).dot(N.z))*N.z #Força de amortecimento no Mancal 1
Fa2= -c*(P2.vel(N).dot(N.z))*N.z #Força de amortecimento no Mancal 2
Fp_desb1=-m1*g*N.z #Força peso da massa 1 de desbalanceamento
Fp_desb2=-m2*g*N.z #Força peso da massa 2 de desbalanceamento

Lista de forças em relação aos seus respectivos pontos

FR=[(CM,FCM),(P1,Fe1),(P2,Fe2),(P1,Fa1),(P2,Fa2),(P3,Fp_desb1),(P4,Fp_desb2)]
FR

[(CM, - M*g*N.z),
(P1, - k*(-L*sin(q2(t))*cos(q0(t))/2 - r*cos(q0(t))*cos(q2(t)) + q1(t))*N.z),
(P2, - k*(L*sin(q2(t))*cos(q0(t))/2 - r*cos(q0(t))*cos(q2(t)) + q1(t))*N.z),
(P1,
- c*(-L*u2(t)*cos(q0(t))*cos(q2(t))/2 + r*u2(t)*sin(q2(t))*cos(q0(t)) - (-L*
omega*sin(q2(t))/2 - omega*r*cos(q2(t)))*sin(q0(t)) + Derivative(q1(t), t))*N.
z),
(P2,
- c*(L*u2(t)*cos(q0(t))*cos(q2(t))/2 + r*u2(t)*sin(q2(t))*cos(q0(t)) - (L*om
ega*sin(q2(t))/2 - omega*r*cos(q2(t)))*sin(q0(t)) + Derivative(q1(t), t))*N.
z),
(P3, - g*m1*N.z),
(P3, - g*m2*N.z)]

Apliando o método de Kane

KM= me.KanesMethod(N,q_ind=q_lista,u_ind=u_lista,kd_eqs=kde)

(Fr,Frstar)=KM.kanes_equations(C,FR)

Obtenção da equanção de movimento

Eq_Mov = Fr + Frstar
Eq_Mov
⎡ −Mg − M (− 3 − ω (
L u2 2 (t) Lω sin (q2 (t))
+ ωr cos (q2 (t))) sin (q2 (t))) sin (q2 (t)) cos (q0 (t)

3

⎢ + M ( 2Lω u2 (t) cos (q2 (t)) − 2ωr u2 (t) sin (q2 (t))) sin (q0 (t)) − c (− L u2 (t) cos (q0 (t)) cos (q2 (t)) +



3 2


⎢ − c( + r u2 (t) sin (q2 (t)) cos (q0 (t)) − (
L u (t) cos (q (t)) cos (q (t)) L

2 0 2


2

⎢ (−
L sin (q2 (t)) cos (q0 (t))
⎢ − − r cos (q0 (t)) cos (q2 (t)) + q1 (t))

k 2

⎢ − m1 ( L u2 (t) − ω (− Lω sin (q2 (t)) + ωr cos (q2 (t))) sin (q2 (t))) sin (q2 (t)) cos (q0 (t)) −

2



5 5


⎢ + m1 (− − 2ωr u2 (t) sin (q2 (t))) sin (q0 (t)) − m2 (− 3
2Lω u2 (t) cos (q2 (t)) L u2 2


5

⎢ − m2 (−ω (
Lω sin (q2 (t))

+ ωr cos (q2 (t))) cos (q2 (t)) − r u2 2 (t)) cos (q0 (t)) cos (q2 (t)) +

3

⎢ − (M ( − r sin (q2 (t)) cos (q0 (t))) + m1 (−

L cos (q0 (t)) cos (q2 (t)) L cos (q0 (t)) cos (q2 (t))
− r sin


3 5



Lω sin (q2 (t)) L u (t) cos (q0 (
+ωr cos (q2 (t))) cos (q2 (t))−r u2 2 (t)) Lc(− 2

LM(−ω(
LMg cos (q (t)) cos (q (t)) 3 2


0 2
− − +

3 3


L u (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q2 (t))


Lc( 2 +r u2 (t) sin (q2 (t)) cos (q0 (t))−( −ωr cos (q2 (t))) sin (q0 (t


2 2



2



L sin (q2 (t)) cos (q0 (t)) L sin (q2 (t)) cos (q0 (t))
−r cos (q0 (t)) cos (q2 (t))+q1 (t)) cos (q0 (t)) cos (q2 (t)) −r cos (

Lk(− 2
Lk( 2


+ −

2

⎢ Lm2 (−ω(
Lω sin (q2 (t))


+ωr cos (q2 (t))) cos (q2 (t))−r u2 2 (t))

3


− + Mgr sin (q2 (t)) cos

3


⎢ + Mr (− 3 − ω (
2 Lω sin (q2 (t))
L u2 (t)



3


⎢ − cr (− + r u2 (t) sin (q2 (t)) cos (q0 (t)) − (−
L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω


2

⎢ − cr ( + r u2 (t) sin (q2 (t)) cos (q0 (t)) − (
L u2 (t) cos (q0 (t)) cos (q2 (t)) Lω sin (q2 (t))

− ωr cos (q2 (t

2 2

⎢ (q2 (t)) cos (q0 (t)) − kr (−

L sin (q2 (t)) cos (q0 (t))
− r cos (q0 (t)) cos (q2 (t)) + q1 (t)) sin (q2 (t)


2


⎢ ( − ω (−
L u2 2 (t) Lω sin (q2 (t))


(q 0 (t)) + m 1 r + ωr cos (q2 (t))) sin (q2 (t)

5 5


⎢ − (M ( − r sin (q2 (t)) cos (q0 (t))) + m1 (−
L cos (q0 (t)) cos (q2 (t)) L cos (q0 (t)) cos (q2 (t))

− r sin

3 5

⎣ − (M ( L9 + r2 ) +
M(L2 +3r2 )
+ m1 (
2

12

Definindo o número de pontos do grafico, tempo inicial e final

from numpy import linspace


num=300
t0=0
tf=50
tn=linspace(t0,tf,num)

Definindo as condições para a geração do gráfico, onde:


M é a massa do eixo;
g é a aceleração da gravidade;
r é o raio do eixo;
k é constante elástica da mola (N/m);
c é o coeficiente de amortecimento;
Omega (ω) é a velocidade angular do eixo;
m1 é massa 1 de desbalanceamento;
m2 é massa 2 de desbalanceamento.
constantes={M:2.5,g:9.8,L:0.250,r:0.02,k:1000,c:0.05,omega:100, m1:0.25, m2:0.30

import numpy as np

cond_in={q1:0,q2:np.pi/2,u1:0,u2:1}

Importando a bibliotéca pydy.system

import pydy.system as dy

Atribuindo o sistema

sistema= dy.System(KM,constants=constantes, initial_conditions=cond_in, times=

Integrando o sistema

Q=sistema.integrate()

Importando a biblioteca matplotlib para poder fazer o gráfico

import matplotlib.pyplot as plt

Plotando o gráfico de q1 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,0])
plt.xlabel('t[s]')
plt.ylabel('q1[m]')
plt.grid(True)
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
Plotando o gráfico de q2 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,1])
plt.xlabel('t[s]')
plt.ylabel('q2[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
Plotando o gráfico de u1 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,2])
plt.xlabel('t[s]')
plt.ylabel('u1[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
Plotando o gráfico de u2 em relação ao tempo

plt.figure(figsize=(10,8))
plt.plot(tn,Q[:,3])
plt.xlabel('t[s]')
plt.ylabel('u2[m]')
plt.grid()
plt.title('Variação do Centro de Massa em relação ao tempo')
plt.show()
4 – DISCUSSÕES E CONCLUSÕES

Ao final deste trabalho, por meio das distintas análises do eixo maciço,
com diâmetro de 40mm e um comprimento de 250mm, apoiado em dois mancais
e aplicando variados desbalanceamentos, permitiu -se comparar os resultados
de cada um destes, utilizando como parâmetro os gráficos de variação de massa
por tempo.
A primeira análise foi realizada considerando apenas o eixo maciço, como
indicado na figura 3. Pelo gráfico desta análise nota-se que o eixo sem
desbalanceamento possui uma propagação das curvas mais regular quando
comparadas aos eixos em que desbalanceamentos foram aplicados, devido aos
valores menos acentuados do coeficiente de amortecimento (c) e da constante
elástica da mola (k) observa-se que as vibrações do eixo são pouco
amenizadas.
Em relação a segunda análise o diferencial comparado a primeira foi
alterações no coeficiente de amortecimento (c) e a constante elástica da mola
(k) elevando seus valores com o intuito de observar o comportamento dos
gráficos. Ao observar o gráfico desta análise a variação do centro de massa
tende a zero em resposta ao alto valor do amortecimento. E, com o aumento da
constante elástica (k) ocorreu aumento na frequência natural do sistema e,
consequentemente, na diminuição do período.
Na terceira análise foi considerado as mesmas configurações da primeira
análise e foi acrescentado uma massa de desbalanceamento no ponto P.desb
indicado na Figura 4. Com isto pode-se ver no gráfico desta análise uma
elevação considerável das vibrações do eixo.
Na quarta análise foi adicionado duas massas (m1 e m2) representadas
por P.desb1 e P.desb2 apresentada na Figura 5 localizadas nos pontos P3 e P4,
no código, para provocar um novo desbalanceamento. Como resultado os
gráficos, oscilam por muito mais tempo que nas análises anteriores que logo
tendem ao regime permanente, mesmo assim os gráficos mantiveram o seu
comportamento decrescente de oscilações.
Contudo, para todas as análises o sistema é dito como oscilatório pois
suas variáveis de entrada e de saída dependem do tempo. Através da junção de
molas e o amortecedor ao corpo temos um sistema vibratório amortecido, sendo
assim a energia é dissipada durante a oscilação por conta da força de
amortecimento que o amortecedor aplica sobre o corpo. Com os resultados
apresentados nos gráficos verifica-se, de forma clara, a queda dos níveis
vibratórios. De acordo com os conceitos de vibrações mecânicas foi possível
identificar que os gráficos predominantes são o de regime transiente que sofre o
amortecimento completo passando do movimento oscilatório até o regime
permanente ao decorrer do tempo

Você também pode gostar