Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

Jupyter notebook Cama elastica.ipynb

790 views
Kernel: Python 2

SALTO VERTICAL SOBRE UNA CAMA ELƁSTICA

Se trata de una conversión entre energía cinética y potencial elÔstica. Analizando tan solo la cama elÔstica, la fuerza ejercida por el saltador hace que la cama elÔstica (cuerpo elÔstico a partir de ahora) se combe hacia abajo. La energía cedida por el saltador se acumula en forma de energía potencial elÔstica del cuerpo elÔstico. A partir de este momento, la fuerza recuperadora hace que el cuerpo elÔstico tienda a recuperar su estado de equilibrio. Durante este intervalo se va produciendo una de energía potencial elÔstica en energía cinética. Llegado al punto de equilibrio, el cuerpo elÔstico tiene su valor mÔximo de energía cinética (en este instante la velocidad de vibración es mÔxima). MÔs tarde se produce la situación a la inversa, es decir, a medida que el cuerpo se aleja de su posición de equilibrio, su energía cinética disminuye, y, debido a su cada vez mayor distanciamiento respecto de la posición de equilibrio, la energía potencial gravitatoria aumenta. El valor mÔximo de EP,E se alcanza en el mÔximo estiramiento (amplitud de vibración), instante en el que, claro estÔ, la EK=0. El proceso se repetiría, al menos teóricamente, de manera indefinida, puesto que, si consideramos al sistema como aislado, no se producirían pérdidas energéticas . AdemÔs, y debido a esto último, el contenido de energía total, es decir, la energía mecÔnica, sería constante a lo largo de todo el proceso.

Función de los resortes

Los resortes de tensión estÔn unidos en ambos extremos a otros componentes. Cuando estos componentes se separan, el resorte intenta unirlos de nuevo. Los resortes de extensión absorben y almacenan energía y también crean una resistencia hacia una fuerza de tensión. La tensión inicial es la que determina qué tan juntas estÔn las espiras de un resorte de extensión. Esta extensión inicial puede manipularse para lograr los requerimientos de carga de una aplicación particular. La dirección de los Resortes de Extensión se opone a la extensión. Con frecuencia estÔn devanados de manera ajustada en la posición sin carga y tienen ganchos, ojillos, u otra geometría de interfase en los extremos para unirse a los componentes que conectan. Se utilizan frecuentemente para proporcionar fuerza de retorno a los componentes que se extienden al actuar. Por lo general, cuanto mÔs alto es el índice (DiÔmetro medio/tamaño del alambre), mÔs baja serÔ la tensión inicial, y a la inversa, los índices mÔs bajos producen una tensión inicial mÔs alta.

from IPython.display import Image Image(url='http://www.newcombspring.com/Spanish/images/extension-diagram.png')
print "Caracteristicas del trampolin" Nr=input("\nCuantos resortes tiene: ") Di=input("\nCual es el diametro interior del resorte mm: ") De=input("\nCual es el diametro externo del resorte mm: ") DA=input("\nCual es el diametro del alambre mm: ") N=input("\nCual el el numero espiras que tiene el resorte: ")
Caracteristicas del trampolin Cuantos resortes tiene: 120 Cual es el diametro interior del resorte mm: 5 Cual es el diametro externo del resorte mm: 7 Cual es el diametro del alambre mm: 1.4 Cual el el numero espiras que tiene el resorte: 15
print "Datos adicionales" r=input("\nCual es el radio del trampolin: ") h=input("\nCual es la altura del trampolin: ") p=input("\nCual es la masa del trampolin: ")
Datos adicionales Cual es el radio del trampolin: 2.1 Cual es la altura del trampolin: 1.4 Cual es la masa del trampolin: 27
m=input("\nCual es la masa de la persona: ")
Cual es la masa de la persona: 48.2
from IPython.display import Image Image(url='http://www.fullmecanica.com/images/stories/r/resorte%20helicoidal%20ok%20vdo%20load%20to%20full.jpg')
Dm=(1/2.0)*(Di+De) Dm fmax=(2060*(DA**(3-0.163)))/(5.88*(Dm+0.5*DA)) fmax print "verificando que el trampolin soporte la carga" print "la fuerza maxima permisible es " +str(fmax) fap=(m*9.8)/Nr n=fmax/fap n print "el factor de seguridad es "+str(n) if n < 1: print "habrĆ” deformacion permanente del resorte, el resorte no soportarĆ” ese peso, no puede continuar" else: C=Dm/DA C print C if 4<=C<12: T0=input("\nCual es la tension inicial: ") else: print "los datos exagerados, puede continuar pero es dificil que llege a pasar eso"
verificando que el trampolin soporte la carga la fuerza maxima permisible es 135.825192374 el factor de seguridad es 34.5055108071 4.28571428571 Cual es la tension inicial: 16.88
G =79300# puede variar segun sea el material del alambre k =(G*(DA**4))/(8*(Dm**3)*N) k
11.753043209876541
from math import sqrt, pi print "Calculando la altura mƔxima que alcanza una persona al saltar en ese trampolin" g=9.8 A= (Nr/2.0)*(((T0/k)+sqrt(r**2+h**2)-r)**2-(T0/k)**2) B= 2.0*g*((1.0/2.0)*m)+((1.0/12.0)*pi*p*(r**2)) H= (A/B)+2.45 print "La altura maxima que alcanza una persona de " + str(m) +"kg en el trampolin es", H, "m"
Calculando la altura mƔxima que alcanza una persona al saltar en ese trampolin La altura maxima que alcanza una persona de 48.2kg en el trampolin es 2.61649602975 m
A= (Nr/2.0)*(((T0/22)+sqrt(r**2+h**2)-r)**2-(T0/22)**2) B= 2.0*g*((1.0/2.0)*m)+((1.0/12.0)*pi*p*(r**2)) Hp= (A/B)+2.45 print "La altura maxima que alcanza una persona de " + str(m) +"kg en el trampolin es", Hp, "m"
La altura maxima que alcanza una persona de 48.2kg en el trampolin es 2.54891931474 m
%matplotlib inline from math import sqrt, pi import matplotlib.pyplot as plt import numpy as np
x = np.linspace(0, 20 , 100) y =((Nr/2.0)*(((T0/k)+sqrt(r**2+h**2)-r)**2-(T0/k)**2))/(2.0*g*((1.0/2.0)*x)+((1.0/12.0)*pi*p*(r**2)))+2.45 plt.figure() plt.plot(x, y, 'r') plt.xlabel('peso') plt.ylabel('altura') plt.title('Relacion entre peso y altura') plt.show()
Image in a Jupyter notebook
g=9.8 v0= sqrt((2*H)*g) ti=sqrt((8*H)/g) print "el tiempo de vuelo es "+str(ti)+"s y tiene una velocidad inicial de "+str(v0)
el tiempo de vuelo es 1.46147703585s y tiene una velocidad inicial de 7.16123747568
import numpy as np import matplotlib.pyplot as plt #Se define la funcion y(t) de la ecuacion de posicion altura def fy(t): #Se define la altura inicial en 0 mts y0 = 0 #Se define la velocidad inicial en mts/seg este caso lo que valga v0 v0y = v0 #Se define la gravedad en 9.81 mts/seg^2 g = 9.81 #Se realiza el calculo de l posicion en funcion del tiempo y = y0 + v0y*t - 0.5*g*t**2 return y
#Se define un rango desde 0 hasta el tiempo de vuelo calculado con intervalos de 0.01. tiempo = np.arange(0, ti,0.01) #Se define la figura plt.figure() #Se define la grafica. #Se despligega la grafica de la distancia en X en funcion del tiempo plt.plot(tiempo, fy(tiempo),"k") #Se Coloca un titulo a la grafica y la informacion del eje y (tiempo) plt.title("Grafica de posicion") plt.xlabel("Tiempo (s)") plt.ylabel("Altura (m)") plt.show()
Image in a Jupyter notebook
import matplotlib.pyplot as plt import numpy as np from scipy.integrate import odeint
F=(m*g)/Nr F
3.936333333333334
w_0 = np.sqrt(k / (m/Nr)) def harmonic((x, y), t): return [y, (-k * x)/(m/Nr) + (F / (m/Nr)) * np.sin(w_0 * t)] inicial = [0.0, 0.0] #Vector de condiciones iniciales x(t=0)=0.0 y(t=0)=0.0 t_output = np.arange(0, 10, 0.01) #Dominio temporal de 0 a 15 y paso de tiempo 0.01 (nuestro eje x) result = odeint(harmonic, inicial, t_output) #Resolvemos el sistema con odeint(sistema, condicion inicial # , El rango donde graficaremos) fig, ax2 = plt.subplots(ncols = 1, figsize=(7,8)) xx, yy = result.T # extraer columnas y filas plt.xlabel('tiempo') plt.plot(t_output, xx, label="Posicion") #label lo utilizamos para poner una leyenda plt.plot(t_output, yy, label="Velocidad") plt.legend() #Con esto ponemos la leyenda plt.show()
Image in a Jupyter notebook

Anexo de la tabla de tensiones iniciales y medidas de resortes

http://www.leespring.com/downloads/mx/2015/223-231.pdf

Serrato Navarrete Sabi Yolihue