Baixe o app para aproveitar ainda mais
Prévia do material em texto
3.3 - Terceira Análise Esta análise foi realizada considerando, também, um eixo maciço, com diâmedro de 40 mm um comprimento de 250 mm, apoioado emm dois mancais. Entretanto, foi 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: Agora, vamos definir as coordenadas generalizadas do sistema. Neste caso, usaremos três coordenadas generalizadas. Definindo as algumas variáveis: from sympy import symbols import sympy.physics.mechanics as me q1,q2,q0=me.dynamicsymbols('q1 q2 q0') q1d,q2d=me.dynamicsymbols('q1 q2',1) u1,u2=me.dynamicsymbols('u1 u2') terceira analise file:///C:/Users/Vanusa/AppData/Local/Temp/terceira analise.html 1 of 10 31/05/2021 16:38 Listando as coordenadas generalizadas: Velocidades generalizadas: Equações diferenciais cinemáticas: Referenciando os sistemas: Orientando o A: Orientando o B: Definindo os pontos que serão usados no código. Ponto O: Cento de massa: Ponto um: g,r,omega,L,k,c,M,m= symbols('g r omega L k c M m') q_lista=[q1,q2] u_lista=[u1,u2] kde=[q1d-u1,q2d-u2] N=me.ReferenceFrame('N') A=me.ReferenceFrame('A') B=me.ReferenceFrame('B') A.orient(N,'Axis',[q0,N.y]) A.set_ang_vel(N,omega*N.y) B.orient(A,'Axis',[q2,A.x]) B.set_ang_vel(A,u2*B.x) O=me.Point('O') O.set_vel(N,0) CM=me.Point('CM') RCM=q1*N.z CM.set_pos(O,RCM) CM.set_vel(N,RCM.dt(N)) terceira analise file:///C:/Users/Vanusa/AppData/Local/Temp/terceira analise.html 2 of 10 31/05/2021 16:38 Ponto dois: Neste caso, foi adicionado um ponto 'P3'. Onde está localizada a massa de desbalanceamento. Velocidade no ponto P1: Velocidade no ponto P2: Ponto P1 em relação ao ponto fixo O Ponto P2 em relação ao ponto fixo O Matris de B de rotação ao referencial N 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)) 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)) 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)) P1.vel(N) (− − ωr cos (q2 (t)))b̂x + r u2 (t)b̂y − b̂z + q1 (t)n̂z Lω sin (q2 (t)) 2 L u2 (t) 2 d dt P2.vel(N) ( − ωr cos (q2 (t)))b̂x + r u2 (t)b̂y + b̂z + q1 (t)n̂z Lω sin (q2 (t)) 2 L u2 (t) 2 d dt P1.pos_from(O).dot(N.z) − − r cos (q0 (t)) cos (q2 (t)) + q1 (t) L sin (q2 (t)) cos (q0 (t)) 2 P2.pos_from(O).dot(N.z) − r cos (q0 (t)) cos (q2 (t)) + q1 (t) L sin (q2 (t)) cos (q0 (t)) 2 terceira analise file:///C:/Users/Vanusa/AppData/Local/Temp/terceira analise.html 3 of 10 31/05/2021 16:38 Matris de A de rotação ao referencial N Momento de inercia do cilindo: Definindo o eixo como corpo rígido A massa desbalanceadora foi considerada como uma partícula. Desta forma, usaremos o seguinte comando para identificá-la. Lista do corpos presente no sistema Defindo as forças que estão agindo no corpo 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 (q0 (t)) cos (q2 (t)) − sin (q2 (t)) cos (q0 (t)) cos (q2 (t)) ⎤⎥⎦ A.dcm(N) ⎡⎢⎣ cos (q0 (t)) 0 − sin (q0 (t)) 0 1 0 sin (q0 (t)) 0 cos (q0 (t)) ⎤⎥⎦ Ix = M*(3*r**2+L**2)/12 Iy = M*r**2/12 Iz = Ix I = me.inertia(B,Ix,Iy,Iz) I b̂x ⊗ b̂x + b̂y ⊗ b̂y + b̂z ⊗ b̂z M (L2 + 3r2) 12 Mr2 12 M (L2 + 3r2) 12 eixo=me.RigidBody('eixo',CM,B,M,(I,CM)) Ppart_d=me.Particle('Ppart_d',P3,m) C=[eixo,Ppart_d] 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 terceira analise file:///C:/Users/Vanusa/AppData/Local/Temp/terceira analise.html 4 of 10 31/05/2021 16:38 Lista de forças em relação aos seus respectivos pontos [(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 Obitenção da equanção de movimento FR=[(CM,FCM),(P1,Fe1),(P2,Fe2),(P1,Fa1),(P2,Fa2),(P3,Fp_desb)] FR KM= me.KanesMethod(N,q_ind=q_lista,u_ind=u_lista,kd_eqs=kde) (Fr,Frstar)=KM.kanes_equations(C,FR) Eq_Mov = Fr + Frstar Eq_Mov terceira analise file:///C:/Users/Vanusa/AppData/Local/Temp/terceira analise.html 5 of 10 31/05/2021 16:38 Definindo o número de pontos do grafico, tempo inicial e final Definindo as condições para a geração do gráfico 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. Importando a bibliotéca pydy.system Atribuindo o sistema Integrando o sistema ⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ −Mg − M ( − ω (− + ωr cos (q2 (t))) sin (q2 (t))) sin (q2 (t)) cos (q0 (t + M (− − 2ωr u2 (t) sin (q2 (t))) sin (q0 (t)) − c (− − c ( + r u2 (t) sin (q2 (t)) cos (q0 (t)) − ( − ωr cos (q2 (t) − k ( − r cos (q0 (t)) cos (q2 (t)) + q1 (t)) − m ( − m (−ω (− + ωr cos (q2 (t))) cos (q2 (t)) − r u22 (t)) cos (q0 (t)) cos (q2 L u22 (t) 5 Lω sin (q2 (t)) 5 2Lω u2 (t) cos (q2 (t)) 5 L u2 (t) cos (q0 (t)) cos (q2 (t 2 L u2 (t) cos (q0 (t)) cos (q2 (t)) 2 Lω sin (q2 (t)) 2 L sin (q2 (t)) cos (q0 (t)) 2 L u22 ( 5 Lω sin (q2 (t)) from numpy import linspace num=350 t0=0 tf=50 tn=linspace(t0,tf,num) constantes={M:2.5,g:9.8,L:0.250,r:0.02,k:1000,c:0.05,omega:100, m:0.25} import numpy as np cond_in={q1:0,q2:np.pi/2,u1:0,u2:1} import pydy.system as dy sistema= dy.System(KM,constants=constantes, initial_conditions=cond_in, times= terceira analise file:///C:/Users/Vanusa/AppData/Local/Temp/terceira analise.html 6 of 10 31/05/2021 16:38 Importando a biblioteca matplotlib para poder fazer o gráfico Plotando o gráfico de q1 em relação ao tempo Plotando o gráfico de q2 em relação ao tempo Q=sistema.integrate() import matplotlib.pyplot as plt 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() terceira analise file:///C:/Users/Vanusa/AppData/Local/Temp/terceira analise.html 7 of 10 31/05/2021 16:38 Plotando o gráfico de u1 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() 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() terceira analise file:///C:/Users/Vanusa/AppData/Local/Temp/terceira analise.html 8 of 10 31/05/2021 16:38 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() terceira analise file:///C:/Users/Vanusa/AppData/Local/Temp/terceira analise.html 9 of 10 31/05/2021 16:38 terceira analise file:///C:/Users/Vanusa/AppData/Local/Temp/terceira analise.html 10 of 10 31/05/2021 16:38
Compartilhar