Você está na página 1de 10

primeira análise (1) file:///C:/Users/Vanusa/AppData/Local/Temp/primeira análise (1).

html

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.

1 of 10 31/05/2021 16:15
primeira análise (1) file:///C:/Users/Vanusa/AppData/Local/Temp/primeira análise (1).html

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:

2 of 10 31/05/2021 16:15
primeira análise (1) file:///C:/Users/Vanusa/AppData/Local/Temp/primeira análise (1).html

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
Matris de B de rotação ao referencial N

3 of 10 31/05/2021 16:15
primeira análise (1) file:///C:/Users/Vanusa/AppData/Local/Temp/primeira análise (1).html

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

Matris 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:

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),

4 of 10 31/05/2021 16:15
primeira análise (1) file:///C:/Users/Vanusa/AppData/Local/Temp/primeira análise (1).html

(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)

Obitençã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;

5 of 10 31/05/2021 16:15
primeira análise (1) file:///C:/Users/Vanusa/AppData/Local/Temp/primeira análise (1).html

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()

6 of 10 31/05/2021 16:15
primeira análise (1) file:///C:/Users/Vanusa/AppData/Local/Temp/primeira análise (1).html

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()

7 of 10 31/05/2021 16:15
primeira análise (1) file:///C:/Users/Vanusa/AppData/Local/Temp/primeira análise (1).html

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()

8 of 10 31/05/2021 16:15
primeira análise (1) file:///C:/Users/Vanusa/AppData/Local/Temp/primeira análise (1).html

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()

9 of 10 31/05/2021 16:15
primeira análise (1) file:///C:/Users/Vanusa/AppData/Local/Temp/primeira análise (1).html

10 of 10 31/05/2021 16:15

Você também pode gostar