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.

In [2]:
from IPython.display import Image
Image(url='http://www.newcombspring.com/Spanish/images/extension-diagram.png')
Out[2]:
In [154]:
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: 130

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
In [60]:
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
In [174]:
m=input("\nCual es la masa de la persona: ")
Cual es la masa de la persona: 50.0
In [62]:
from IPython.display import Image
Image(url='http://www.fullmecanica.com/images/stories/r/resorte%20helicoidal%20ok%20vdo%20load%20to%20full.jpg')
Out[62]:
In [155]:
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 36.0352551195
4.28571428571

Cual es la tension inicial: 16.88
In [156]:
G =79300# puede variar segun sea el material del alambre
k =(G*(DA**4))/(8*(Dm**3)*N)
k
Out[156]:
11.753043209876541
In [157]:
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 50kg en el trampolin es 2.62426573477 m
In [158]:
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 50kg en el trampolin es 2.55353548426 m
In [159]:
%matplotlib inline
from math import sqrt, pi

import matplotlib.pyplot as plt
import numpy as np
In [160]:
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.46364536096s y tiene una velocidad inicial de  7.17186226872
In [164]:
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()   
In [165]:
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
In [167]:
    #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()
In [168]:
import matplotlib.pyplot as plt
import numpy as np
from scipy.integrate import odeint
In [169]:
F=(m*g)/Nr
F
Out[169]:
3.7692307692307696
In [181]:
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()

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

In [ ]: