Вы находитесь на странице: 1из 24

Universidad Nacional Experimental

De Los Llanos Occidentales


Ezequiel Zamora
Vice-Rectorado De Planificacin Y Desarrollo Social
Programa Ingeniera, Arquitectura Y Tecnologa
UNELLEZ-Barinas





































Barinas, Enero de 2013.
Sistema de Simulacin Digital de un
Pndulo Simple
Integrantes:
Espinoza Yomaly
C.I.:19.517.173
Quintero Robert
C.I.:19.070.394
Roa Nelson
C.I.:19.070.968

Autores:
Roa Nelson










2

NDICE
PG.

INTRODUCCION..
OBJETIVOS
PLANTEAMIENTO DEL PROBLEMA
ANALISIS DE LA SITUACION
Marco Terico
DEFINICION DE VARIABLES.
MEDICION..
REQUERIMIENTOS DEL SISTEMA.
Requerimientos de Hardware
Requerimientos de Software
DESARROLLO..
Metodologa
Realizacin e Implementacin del sistema..
Variables utilizadas en el cdigo fuente..
Libreras utilizadas.
Clases y Mtodos Principales del programa.
CONCLUSION
PANTALLAS DEL SISTEMA DE SIMULACION DIGITAL DE
PENDULO SIMPLE..







3
4
5
6
6
9
10
13
13
13
15
15
15
16
17
17
23

24


3

INTRODUCCION

Una de las reas de la informtica que ms est creciendo en los ltimos
tiempos es la de la simulacin fsicamente, el pndulo simple es un sistema de
sencilla funcionalidad y que consta de una masa colgada a un extremo de un
hilo muy fino, el cual est sujeto a una superficie inmvil. La fundamentacin de
este aparato radica principalmente en la capacidad de relacionar sus
componentes fsicos con los factores de interaccin externa, como lo es la
gravedad.

Este tipo de mecanismo es de mucha aplicabilidad en la vida del ser
humano, entre ellos es importante destacar: un reloj de pndulo, una gra de
demolicin, un pendiente, etc. Aunque su estructura y condiciones de ejecucin
no son exactamente iguales a las de un pndulo simple, son tal vez los
ejemplos ms ilustrados de este fundamento fsico.

Pndulo, dispositivo formado por un objeto suspendido de un punto fijo y
que oscila de un lado a otro bajo la influencia de la gravedad. Los pndulos se
emplean en varios mecanismos, como por ejemplo algunos relojes. En el
pndulo ms sencillo, el llamado pndulo simple, puede considerarse que toda
la masa del dispositivo est concentrada en un punto del objeto oscilante, y
dicho punto solo se mueve en un plano. El movimiento del pndulo de un reloj
se aproxima bastante al de un pndulo simple. El pndulo esfrico, en cambio,
no est limitado a oscilar en un nico plano, por lo que su movimiento es mucho
ms complejo.




4

OBJETIVOS

General:

Desarrollar un Sistema de simulacin Digital en tiempo real considerando al
sistema pndulo simple.

Especficos:

Analizar que es un pndulo simple y como es su funcionamiento.

Comprender que es el movimiento de un pndulo.

Investigar el porqu de los diversos casos que presenta este movimiento.

Estudiar cada uno de sus componentes.













5

PLANTEAMIENTO DEL PROBLEMA


El control de un sistema no lineal (usando cualquier tcnica) a travs de
un Sistema Digital en tiempo real, requiere de la seleccin del mejor tiempo de
muestreo y del mejor resultado en calidad de respuesta respecto a una funcin
de convergencia previamente establecida, para asegurar la estabilidad del
sistema. Si se tiene en inters en emplear un sistema no lineal para probar
nuevas tcnicas de control a nivel de simulacin en un Sistema Digital de
tiempo real, se deben tomar en cuenta los tiempos de muestreo y de ejecucin
tanto del propio sistema como de la ley de control, esto nos lleva a la siguiente
pregunta, Cmo simular un sistema no lineal, en particular un sistema de
pndulo simple, en un sistema digital de tiempo real?
















6

ANALISIS DE LA SITUACION
MARCO TEORICO

Llamamos pndulo simple a un ente ideal constituido por una masa
puntual suspendido de un hilo inextensible y sin peso, capaz de oscilar
libremente en el vaco y sin rozamiento.

Al separar la masa de su posicin de equilibrio, oscila a ambos lados de
dicha posicin, realizando un movimiento armnico simple. En la posicin de
uno de los extremos se produce un equilibrio de fuerzas.

El movimiento pendular es una forma de desplazamiento que presentan
algunos sistemas fiscos como aplicacin prctica al movimiento armnico
simple. A continuacin definiciones y caractersticas del movimiento pendular
simple.

Pndulo: Llamamos pndulo a todo cuerpo que puede oscilar con respecto de
un eje fijo.

Pndulo simple: El sistema fsico llamado pndulo simple est constituido por
una masa puntual m suspendida de un hilo inextensible y sin peso que oscila en
el vaci en ausencia de fuerza de rozamientos. Dicha masa se desplaza sobre
un arco circular con movimiento peridico. Esta definicin corresponde a un
sistema terico que en la prctica se sustituye por una esfera de masa reducida
suspendida de un filamento ligero.

El periodo del pndulo resulta independiente de la masa del cuerpo
suspendido, es directamente proporcional a la raz cuadrada de su longitud e
inversamente proporcional a la aceleracin de la gravedad.
7

Otra definicin, es llamado as porque consta de un cuerpo de masa m,
suspendido de un hilo largo de longitud l, que cumple las condiciones
siguientes:

el hilo es inextensible
su masa es despreciable comparada con la masa del cuerpo
el ngulo de desplazamiento que llamaremos 0 debe ser pequeo

Como funciona: con un hilo inextensible su masa es despreciada comparada
con la masa del cuerpo el ngulo de desplazamiento debe ser pequeo.

El pndulo simple, es decir, el movimiento de un grave atado a una
cuerda y sometido a un campo gravitatorio constante, es uno de ellos. Al
colocar un peso de un hilo colgado e inextensible y desplazar ligeramente el hilo
se produce una oscilacin peridica.

El movimiento de un pndulo corresponde al tipo de movimiento llamado
M. A. S., o sea, Movimiento vibratorio Armnico Simple.

Movimiento vibratorio armnico simple: es un movimiento vibratorio con
aceleracin variable, producido por una fuerza que se origina cuando el cuerpo
se separa de su posicin de equilibrio.

Oscilacin simple: es la trayectoria descrita entre dos posiciones extremas
(arco AB).

Oscilacin completa o doble oscilacin: es la trayectoria realizada desde una
posicin extrema hasta volver a ella, pasando por la otra extrema (arco ABA).
8

Angulo de amplitud o amplitud (alfa) es el ngulo formado por la posicin de
reposo (equilibrio) y una de las posiciones extremas.

Elongacin (e): Distancia entre la posicin de reposo OR y cualquier otra
posicin.

Mxima elongacin: distancia entre la posicin de reposo y la posicin
extrema o de mxima amplitud.





















9

DEFINICIN DE VARIABLES

Longitud del pndulo (l): es la distancia entre el punto de suspensin y el
centro de gravedad del pndulo.

Masa (m): es la cantidad de materia de un cuerpo.

Tiempo de oscilacin simple (t): es el tiempo que emplea el pndulo en
efectuar una oscilacin simple.

Perodo o tiempo de oscilacin doble (T): es el tiempo que emplea el pndulo
en efectuar una oscilacin doble.

Frecuencia (f): Es el nmero de oscilaciones en cada unidad de tiempo.
f=nmero de oscilaciones/tiempo.

Angulo: es la parte del plano comprendida entre dos semirrectas que tienen el
mismo punto de origen.

Aceleracin de la gravedad (g):es la aceleracin con la cual se mueven los
cuerpos al caer.








10

MEDICIN

Tomando en consideracin las variables anteriormente mencionadas, se
puede realizar la medicin en el proceso del pndulo simple.
Desde la posicin vertical en reposo (posicin de equilibrio), desplazar
ligeramente la masa (m), dando origen tiempo de oscilaciones (t), lo cual se
toma como referencia el tiempo que tarda desde el punto A al punto B; en
cambio el periodo de oscilacin (T), se toma cuando el pndulo vuelve a ocupar
la misma posicin de origen, es decir, se inicia en un punto A que se dirige a B
y este vuelva a origen A.


A partir de estos procesos, ocurren otros sistemticamente, de manera
integrada, que se especifica a continuacin:

La longitud del pndulo simple queda expresada:

El periodo del movimiento armnico de un pndulo simple (en aproximacin de
pequeas oscilaciones) es:

La Aceleracin de gravedad, se expresa de la siguiente manera:

11

De manera terica el pndulo de longitud l y masa m=1, sin disipacin ni
forzamiento satisface la siguiente ecuacin diferencial:


Tambin conocida como la ecuacin de Mathieu. Esta puede ser derivada de la
conservacin de la energa mecnica. De la velocidad de la energa cintica se
puede calcular la primera derivacin:


Esto nos da la velocidad en trminos del ngulo. Adems incluye el trmino del
desplazamiento inicial como una constante.


El mtodo de Euler Semi-implcito es el que utilizaremos para resolver las
ecuaciones anteriores. Este es una modificacin del mtodo de Euler para
resolver la ecuacin de Hamilton, un sistema de ecuaciones diferenciales
ordinarias que surgen en la mecnica clsica.
El mtodo de Euler Semi-implcito puede ser aplicado a un par de ecuaciones
de la forma:

Donde f, g son funciones dadas y x,v pueden ser vectores, o escalares.Estas
ecuaciones diferenciales tienen que ser resueltas con la condicion inicial:


12

El metodo de Euler Semi-implcito produce una aproximacion discreta que se
soluciona iterando


Donde t es la diferencia del tiempo (paso del tiempo) y tn = to + nt es el
tiempo despues de n pasos.
La diferencia con el metodo estandar de Euler es que el metodo Semi-implcito
usa Vn + 1 en la ecuacion para Xn + 1, mientras que el estandra usa solamente
Vn.
Aplicando est mtodo con el paso del tiempo negativo para el calculo de (Xn,
Vn) para (Xn +1, Vn + 1) y reorganizando, nos conduce a la segunda variante
del metodo de Euler semi-implcito

que tiene propiedades similares.


El mtodo de Euler Semi-implcito es un integrador de primer orden, as como el
mtodo estndar de Euler. Esto significa que se comete un error global del
orden de t. Sim embargo, el metodo Semi-implcito es un integrador implcito a
diferencia del metodo estndar. Como consecuencia, el metodo de Euler
implcito casi semi-conserva la energa (cuando el hamiltoniano es
independiente del tiempo.




13

REQUERIMIENTO DEL SISTEMA

Para el Sistema de Simulacin Digital de Pndulo Simple, se debe tomar en
cuenta ciertos requerimientos tanto de Hardware como de Software, para
poder ejecutar dicho sistema:


Requerimientos de Hardware:

Memoria RAM: minino 256 Mb, recomendado 512 Mb o ms.
Espacio en Disco: Para la instalacin de la mquina virtual, se requieren
98 Mb de espacio libre en Disco Duro.
Procesador: Como mnimo un procesar x86 a 370 MHz.


Requerimientos de Software:

Sistema Operativo:

Microsoft Windows 2000, XP (x86, x64), Server 2003 (x86, x64),
Vista (x86, x64), Server 2008 (x86, x64), 7 (x86, x64).

Linux x86 o x64.

Mac OS V8 o superior.

Solaris x86 o x64.

14

Para ejecutar el programa es necesario tener instalado el entorno de
ejecucin JAVA (JRE), para visualizar y modificar el cdigo fuente es
necesario instalar el JAVA de Development Kit (JDK), junto con un
entorno de desarrollo integrado (IDE, se recomienda ECLIPSE)

























15

DESARROLLO
METODOLOGA.

Este trabajo consisti en realizar un programa en Java para simular el
funcionamiento de un pndulo simple. El mismo cuenta con una configuracin
inicial, que puede ser modificada arrastrando con el puntero del ratn el
pndulo. Dicho programa mostrara el movimiento oscilatorio armnico simple
que se produce con variables como el ngulo, longitud del pndulo y
aceleracin de la gravedad y a su vez mostrara tambin el periodo de oscilacin
y tiempo de oscilacin.



REALIZACION E IMPLEMENTACION DEL SISTEMA

Para la realizacin del sistema se opt por el uso del lenguaje de
programacin JAVA, el cual es un lenguaje de programacin orientado a
objetos, muy robusto y multiplataforma, lo cual actualmente es una ventaja para
la ejecucin de aplicaciones ya que cuenta con un gran soporte y puede ser
ejecutado en cualquier sistema operativo.

Para hacer ms cmoda la realizacin del proyecto, tambin se utiliz
ECLIPSE un entorno de desarrollo integrado (IDE), el cual es un proyecto de
cdigo abierto que permite realizar todo tipo de proyectos utilizando el lenguaje
de programacin antes mencionado.

A continuacin de proceder a dar una explicacin detallada de cmo se realiz
la programacin del sistema de simulacin digital de un Pndulo simple:


16

Variables utilizadas en el cdigo fuente:

x, y: Variables que almacenan las coordenadas de posicin para dibujar en
pantalla el pndulo.

longitud: almacena la distancia existente entre el punto de suspensin y el
centro de gravedad del pndulo.

periodor: almacena el valor del clculo de un periodo de oscilacin completo
del pndulo simple.

theta, thetapunto: variables utilizadas para calcular el ngulo de inclinacin del
pndulo.

runing: utilizada para determinar el estado de ejecucin de nuestra simulacin.

starTime, stopTime: utilizadas para almacenar el tiempo de oscilacin del
pndulo.

delta: utilizada para el clculo de los ngulos en la ecuacin diferencial.

bimg: almacena el buffer de la imagen que se dibujara en pantalla.

G: esta contiene el valor de la aceleracin de la gravedad, necesario para
realizar algunos clculos.

ESCALA: escala en la cual dibujaremos nuestro pndulo 400:1.







17

Libreras Utilizadas: se utilizaron clases de la librera AWT de java que nos
permiten trabajar con grficos 2D en pantalla basadas principalmente en
componentes y contenedores. Tambin utilizamos algunas clases de la librera
SWING que est diseada para trabajar con ventanas.

Import java.awt.Color;
Import java.awt.Font;
Import java.awt.Graphics;
Import java.awt.Graphics2D;
Import java.awt.Image;
Import java.awt.event.ActionEvent;
Import java.awt.event.ActionListener;
Import java.awt.event.MouseEvent;
Import java.awt.event.MouseListener;
Import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;
import javax.swing.Timer;



Clases y Mtodos principales del programa:


1. Clase principal: Esta clase contiene las variables globales iniciales, el
mtodo main que ejecuta el programa, y todos los dems mtodos
implementados.

La clase principal denominada Pendulo hereda todas las caractersticas
del mtodo Jframe e implementa los mtodos MouseListener,
MouseMotionListener, ActionListener que utilizaremos para determinar las
acciones realizadas con el puntero del ratn y poder variar el funcionamiento de
la simulacin.

public class Pendulo extends JFrame implements MouseListener,
MouseMotionListener, ActionListener {
/**Autores: Robert Quintero, Yomaly Espinosa, Nelson Roa
* Simulacion de un pendulo simple utilizando el metodo numerico de euler
*/
18

private double x, y, longitud = 0.4, theta = 0.28, thetapunto = 0, delta =
0.033, angulor, periodor;
private boolean runing = false;
private long startTime= 0;
private long stopTime= 0;

private Image bimg;

private Timer t = new Timer(33, this);
private static final double G = 0.8182;
private static final int ESCALA = 400;

public static void main(String[] args) {
new Pendulo();
}

2. Mtodo Pndulo: Crea la ventana del programa con tamao de 800x600
pixeles y nombre Pendulo Simple, calcula la posicin inicial de la punta del
pndulo y agrega los mtodos que permiten capturar el comportamiento del
mouse dentro de la ventana. Adems cuando el mtodo main hace uso de
este mtodo cambia el estado de la variable runing a verdadero y comienza a
almacenar en la variable starTime el tiempo que lleva en movimiento el
pndulo.

public Pendulo() {

x = longitud * ESCALA * Math.sin(theta) + 400;
y = longitud * ESCALA * Math.cos(theta) + 200;

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addMouseListener(this);
addMouseMotionListener(this);
setTitle("Pendulo Simple");
setSize(800, 600);
setVisible(true);
t.setRepeats(true);
t.start();
this.runing= true;
this.startTime=System.currentTimeMillis();
}
19

3. Mtodo paint: este mtodo hace uso del objeto Graphics, incluido en la
clase AWT de Java que nos permite dibujar en pantalla todo lo necesario para
visualizar el pndulo, as como los dems datos de salida. Primeramente
realizamos un condicional, si la variable bimg est vaca, creamos la imagen a
mostrar en pantalla utilizando las variables de coordenadas anteriormente
capturadas, asignndole los atributos necesarios.

Adems calculamos el periodo de oscilacin completo y el ngulo del
pndulo, mediante el uso de las ecuaciones anteriormente descritas. Como el
movimiento oscilatorio armnico simple es vlido para ngulos no tan amplios,
creamos una condicional que nos limita el movimiento del pndulo a ngulos no
mayores de 70.

public void paint(Graphics gComponent) {
if (bimg == null) {
bimg = createImage(getWidth(), getHeight());
}

Graphics2D g = (Graphics2D) bimg.getGraphics();

g.setColor(Color.lightGray);
g.fillRect(0, 0, bimg.getWidth(null), bimg.getHeight(null));
g.setColor(Color.BLUE);
Font letra = new Font("SansSerif", Font.ITALIC, 14);
g.setFont(letra);
g.drawLine(400, 200, (int) x, (int) y);
g.drawLine(200, 200, 600, 200);
g.fillOval((int) x - 15, (int) y - 15, 30, 30);
g.fillOval(397, 197, 6, 6);

angulor = theta * 180 / Math.PI ;

if (angulor > 70 | angulor < -70) {

g.drawString("La Simulacion es Valida para angulos de menor Grado",
250, 290);
}



20

periodor = 2*Math.PI *(Math.sqrt(longitud / G));
g.drawString("Angulo: " + Redondear(angulor) +"", 10, 70);
g.drawString("Longitud: " + Redondear(longitud) + " m", 10, 90);

g.drawString("Periodo de Oscilacion: "+ Redondear(periodor) +" Seg." ,10, 110);
g.drawString("Tiempo de Oscilacion "+ this.TiempoSegundos() + "." +
this.Tiempocentesimas()%10 +" Segundos.", 10, 130);
g.drawString("Simulacion Virtual--Investigacion de Operaciones", 270,
50);
gComponent.drawImage(bimg, 0, 0, null);
g.dispose();
}


4. Mtodo mover: este mtodo hace uso de las ecuaciones diferenciales de
Euler para simular el movimiento del pndulo. Calculando el nuevo ngulo y la
nueva longitud de la cuerda cuando varan las coordenadas X, Y al mover el
pndulo con el mouse. Dibuja en pantalla dicho movimiento.

public void mover(int a, int b) {
longitud = Math.sqrt(Math.pow(a - 400, 2.0) + Math.pow(b - 200, 2.0)) /
ESCALA;
theta = Math.asin((a - 400) / (longitud * ESCALA));
thetapunto = 0;

if (b < 200) {
if (a < 400)
theta = -Math.PI - theta;
else
theta = Math.PI - theta;
}
repaint(0, 0, 800, 600);
}


5. Mtodo MouseClicked: Con este mtodo el programa captura las
pulsaciones del mouse y genera un evento, cuando se hace click captura las
coordenadas del puntero, si se est ejecutando el programa lo detiene y con las
nuevas coordenadas, tomando en cuenta la condicional del ngulo.

21

public void mouseClicked(MouseEvent e) {
if (angulor > 70 | angulor < -70) {
t.stop();
}
else {

this.runing= false;
this.stopTime=System.currentTimeMillis();
t.stop();
x = e.getX();
y = e.getY();
mover((int) x, (int) y);
t.start();
}
}


6. Mtodo MouseReleased: Al soltar el click del ratn inicia el movimiento del
pndulo y cambia el estado de las variables runing y startTime.

public void mouseReleased(MouseEvent e) {
if (angulor > 70 | angulor < -70) {
t.stop();
}
else {

t.start();
this.runing= true;
this.startTime=System.currentTimeMillis();
}
}


7. Mtodo MouseDragged: al mover el mouse dibuja en pantalla la nueva
posicin del pndulo.

public void mouseDragged(MouseEvent e) {
t.stop();
x = e.getX();
y = e.getY();
mover((int) x, (int) y);
}
22

8. Mtodo actionPerformed: Este mtodo Realiza los clculos del movimiento
del pndulo para el movimiento que se genera en cada clock del timer
establecido cada 33 milisegundos y repinta la imagen en pantalla con la
posicin nueva.

public void actionPerformed(ActionEvent e) {
thetapunto = thetapunto - delta * Math.sin(theta) * G / longitud;
theta = theta + delta * thetapunto;
x = longitud * ESCALA * Math.sin(theta) + 400;
y = longitud * ESCALA * Math.cos(theta) + 200;
repaint(0, 0, 800, 600);
}




















23

CONCLUSIN

El pndulo simple es un sistema ideal, formado por una masa puntual,
que cuelga de un hilo de masa despreciable, sujeto a un soporte sin
rozamiento. Si separamos el pndulo ligeramente de su posicin de equilibrio,
ste comienza a oscilar con movimiento armnico simple (MAS).

El movimiento armnico simple es peridico, es decir, el pndulo ocupa
posiciones idnticas a intervalos de tiempo iguales. Cuando el pndulo vuelve a
ocupar la misma posicin se dice que ha realizado una oscilacin completa, y
se llama perodoT al intervalo de tiempo que emplea en realizar cada oscilacin.

La simulacin virtual elaborada puede ser de utilidad para el estudio del
comportamiento del pndulo simple en el rea de la fsica y las matemticas.















24

Pantalla del Sistema de Simulacin Digital de Pndulo Simple