Movimiento de un disco que gira y desliza sobre una superficie plana y horizontal

prev.gif (1231 bytes)home.gif (1232 bytes)next.gif (1211 bytes)

Sólido rígido

Movimiento general
de un sólido rígido
Movimiento de una 
esfera en una 
plataforma giratoria
Caja sobre un
plano inclinado
Comportamiento
oscilatorio
marca.gif (847 bytes)Un disco que gira y 
desliza
Disco impulsado por
fuerza constante
Partícula en el borde
de un aro que rueda
Cuerpo que rueda 
sobre una superficie
 cóncava
Curvas cicloidales
La rueda cuadrada

Ecuaciones del movimiento del aro

Ecuaciones del movimiento del disco

Actividades

Referencias

Procedimientos numéricos de cálculo

 

En esta página, se analiza el movimiento de un disco que desliza sobre una superficie plana y horizontal y que a la vez gira alrededor de su eje.

Vamos a estudiar el papel de la fuerza de rozamiento entre la superficie del disco y el plano sobre el que desliza, se observa que:

  1. Cuando el disco no gira, continúa su movimiento rectilíneo de traslación hasta que se detiene.

  2. Cuando el disco solamente gira, continua su movimiento de rotación con su centro de masa en reposo, hasta que se para.

  3. El tiempo que tarda en detenerse el disco depende de su velocidad inicial y del coeficiente de rozamiento.

  4. Cuando el disco tiene ambos tipos de movimiento, el centro del disco continúa su movimiento rectilíneo de traslación y el disco gira alrededor del eje perpendicular al disco y que pasa por su centro, hasta que ambos movimientos se detienen simultáneamente, independientemente de las velocidades iniciales.

Esta última propiedad parece sorprendente, pero vamos a demostrar que los movimientos de traslación y de rotación del disco no son independientes, sino que están fuertemente acoplados.

Este ejemplo, aunque sencillo en su formulación no tiene una solución analítica. Para describir la posición y la velocidad del disco en función del tiempo hay que resolver, aplicando procedimientos numéricos, las ecuaciones del movimiento. Al final de esta página, se proporciona el código fuente en lenguaje Java de los procedimientos numéricos empleados.

 

Ecuaciones del movimiento del aro

Recordaremos que

Un bloque de masa m que se mueve sobre una superficie horizontal. La fuerza de rozamiento que se opone al movimiento es F=μN, con N=mg

Comenzamos nuestro estudio con un aro de masa ma y de radio R, como etapa previa antes de abordar el disco. El centro del aro se mueve con velocidad v, y gira alrededor de un eje perpendicular al plano del aro y que pasa por el centro, con velocidad angular ω.

El vector velocidad de un punto P cuya posición angular es θ,

vp=(v-ωRsenθ)i+(ωRcosθ)j

La fuerza de rozamiento dF que actúa sobre un elemento de masa dm se opone al movimiento de dicho elemento, su dirección es la misma que la velocidad v, y de sentido contrario.

Si ma es la masa del aro, la masa dm del elemento de longitud R·dθ, es dm=ma·dθ/(2π)

Resultantes de las fuerzas que actúan sobre el aro

Las componentes del vector fuerza dF sobre dicho elemento son

Las componentes de la fuerza resultante sobre el aro son

Por simetría Fy=0, lo que se confirma resolviendo la segunda integral.

Ecuación del movimiento del centro de masas del aro

 ma·(dv/dt)=Fx

Momento de las fuerzas sobre los elementos del aro, respecto de su centro.

El momento total de las fuerzas sobre los elementos del aro, respecto del centro es

Su dirección es la del eje de rotación (ejeZ), y su sentido es contrario al de la velocidad angular ωdel aro.

Ecuación de la dinámica de rotación I(dω/dt)=M. Donde I=ma·R2 es el momento de inercia del aro.

Para calcular la posición x y la velocidad v del centro del aro, el ángulo girado φ, y velocidad angular ω de rotación en función del tiempo t, se ha de resolver, empleando procedimientos numéricos, un sistema de dos ecuaciones diferenciales de segundo orden.

Previamente, hemos de obtener los valores de las funciones f(v, ω) y g(v, ω) calculando numéricamente las dos integrales para cada valor de v y ω.

Casos particulares

  • Solamente hay movimiento de traslación, ω=0

El centro del aro sigue una trayectoria rectilínea. Parte con velocidad inicial v0, va disminuyendo con el tiempo hasta que se para.

v=v0-μg·t
x=v0·t-
μg·t2/
2

El tiempo t que tarda en parase y su desplazamiento x son, respectivamente

  • Solamente hay movimiento de rotación, v=0

El centro del aro permanece en reposo. Gira alrededor del eje perpendicular al plano del aro y que pasa por su centro, con velocidad inicial ω0, que va disminuyendo con el tiempo, hasta que se para.

ω=ω0-μg·t/R
φ
=ω0·t- μg·t2/
(2R)

El tiempo t que tarda en parase y su desplazamiento angular φ son, respectivamente

 

Ecuaciones del movimiento del disco

Sea un disco de masa md y de radio R. El centro del disco se mueve con velocidad v, y gira alrededor de un eje perpendicular al plano del disco y que pasa por el centro, con velocidad angular ω.

El vector velocidad de un punto P que dista r del centro y cuya posición angular es θ, es

vp=(v-ωrsenθ)i+(ωrcosθ)j

La fuerza de rozamiento dF que actúa sobre el elemento de masa dm se opone al movimiento de dicho elemento, su dirección es la misma que la velocidad v, y de sentido contrario.

Si md es la masa del disco, la masa dm contenida en el elemento de área (r·dθ)dr, es dm=md·r·dθ·dr/(πR2)

Resultante de las fuerzas que actúan sobre el disco

Las componentes del vector dF sobre dicho elemento son

Las componentes de la fuerza resultante sobre el disco son

Por simetría Fy=0.

Ecuación del movimiento del centro de masas del disco

 md·(dv/dt)=Fx

Momento de las fuerzas sobre los elementos del disco, respecto de su centro.

El momento total de las fuerzas sobre los elementos del disco, respecto del centro es

Ecuación de la dinámica de rotación I(dω/dt)=M. Donde I=(1/2)md·R2 es el momento de inercia del disco.

Para calcular la posición x y la velocidad v del centro del disco, el ángulo girado φ, y velocidad angular ω de rotación en función del tiempo t, se ha de resolver, empleando procedimientos numéricos, un sistema de dos ecuaciones diferenciales de segundo orden.

Previamente, hemos de obtener los valores de las funciones f(v, ω) y g(v, ω) calculando numéricamente las dos integrales dobles para cada valor de v y ω.

Casos particulares

  • Solamente hay movimiento de traslación, ω=0

El centro del disco sigue una trayectoria rectilínea. Parte con velocidad inicial v0, va disminuyendo con el tiempo, hasta que se para.

v=v0-μg·t
x=v0·t-
μg·t2/
2

El tiempo t que tarda en parase y su desplazamiento x son, respectivamente

  • Solamente hay movimiento de rotación, v=0

El centro del disco permanece en reposo. Gira alrededor del eje perpendicular al plano del disco y que pasa por su centro, con velocidad inicial ω0, que va disminuyendo con el tiempo, hasta que se para.

ω=ω0-4μg·t/(3R)
φ=ω0·t-
4μg·t2/(6R)

El tiempo t que tarda en parase y su desplazamiento angular φ son, respectivamente

 

Ejemplo

  • Coeficiente de rozamiento μ=0.3 entre el aro o disco y el plano horizontal sobre el que deslizan.

  • El radio del aro o del disco es R=1 m.

Aro

  • Velocidad inicial de traslación del c.m. v0=5 m/s

  • Velocidad inicial de rotación ω0=0

La aceleración constante es – μ·g=-2.94 m/s2

El tiempo que tarda en parase es t=5/2.94=1.70 s

El desplazamiento del centro del aro en este tiempo es x=4.25 m

Disco

Para el disco se obtienen los mismos resultados

Aro

  • Velocidad inicial de traslación del c.m.,v0=0

  • Velocidad inicial de rotación, ω0=1 rad/s

La aceleración angular constante es – μ·g/R=-2.94 m/s2

El tiempo que tarda en parase es t=1.0/2.94=0.34 s

El ángulo girado por el aro en este tiempo es φ=0.17 rad

Disco

La aceleración angular constante es – 4μ·g/(3R)=-3.92 m/s2

El tiempo que tarda en parase es t=1/3.92=0.26 s

El ángulo girado por el disco en este tiempo es φ=0.13 rad

Aro

  • Velocidad inicial de traslación del c.m., v0=5 m/s

  • Velocidad inicial de rotación, ω0=1 rad/s

El tiempo que tarda en parase es t=1.78 s

El ángulo girado por el aro en este tiempo es φ=1.15 rad

El desplazamiento del centro del aro en este tiempo es x=4.34 m

  • Velocidad inicial de traslación del c.m., v0=1 m/s

  • Velocidad inicial de rotación, ω0=5 rad/s

El tiempo que tarda en parase es t=1.78 s

El ángulo girado por el aro en este tiempo es φ=4.34 rad

El desplazamiento del centro del aro en este tiempo es x=1.15 m

 

Actividades

Se introduce

  • El cuerpo que desliza: aro o disco, activando el botón de radio correspondiente

  • La velocidad inicial de traslación v0 del c.m., en el control de edición titulado V. traslación

  • La velocidad inicial rotación ω0, en el control de edición titulado V. rotación

  • El coeficiente de rozamiento μ, actuando en la barra de desplazamiento titulada Coef. rozamiento.

  • El radio del aro o del disco se ha fijado en R=1 m

Se pulsa el botón titulado Empieza

Cuando la velocidad inicial v0 de traslación del c.m. y la velocidad inicial de rotación ω0, son distintas de cero, el programa interactivo realiza un cálculo numérico intensivo, que aunque ha sido verificado, no está libre de inexactitudes. En el caso del disco, las operaciones a realizar son más de cuatro veces las que se efectúan con el aro, por lo que la animación puede resultar deficiente en los ordenadores con menor capacidad de procesamiento.

 
stokesApplet aparecerá en un explorador compatible con JDK 1.1.

 

Referencias

Voyenli K., Eriksen E. On the motion of an ice puck. Am. J. Phys. 53 (12) December 1985, pp. 1149-1153

 

Procedimientos numéricos de cálculo

public abstract class Simpson {
	int n;
	final double a=0.0;
	final double b=2*Math.PI;

public Simpson(int n){
	if(n%2==1) n++; //hace que el número de divisiones sea par
	this.n=n;
}
public double integral(){
	double h=(b-a)/n;
	double suma=f(a)+f(b);
	for(int i=1; i<n; i+=2){
		suma+=4*f(a+i*h);
	}
	for(int i=2; i<n; i+=2){
		suma+=2*f(a+i*h);
	}
	return (suma*h/3);
}
abstract public double f(double x);
}
public class Aro_Vcm extends Simpson{
	double v, w;
public Aro_Vcm(int n, double v, double w){
	super(n);
	this.v=v;
	this.w=w;
}
void setVelocidades(double v, double w){
	this.v=v;
	this.w=w;
}
public double f(double ang){ //radio R=unidad
	double num=(v-w*Math.sin(ang));
	double den=Math.sqrt(v*v+w*w-2*v*w*Math.sin(ang));
	return (num/den);
}
}
public class Aro_Vangular extends Simpson{
	double v, w;
public Aro_Vangular(int n, double v, double w){
	super(n);
	this.v=v;
	this.w=w;
}
void setVelocidades(double v, double w){
	this.v=v;
	this.w=w;
}
public double f(double ang){ //radio R=unidad
	double num=(w-v*Math.sin(ang));
	double den=Math.sqrt(v*v+w*w-2*v*w*Math.sin(ang));
	return (num/den);
}
}
public class Aro extends RungeKutta2{
	double mu;
	Aro_Vcm cm=null;
	Aro_Vangular angular=null;
Aro(double mu, double v0, double w0, double h){
	super(h);
	this.mu=mu;
	cm=new Aro_Vcm(90, v0, w0);
	angular=new Aro_Vangular(90, v0, w0);
}
public double f(double x, double y, double v, double w, double t){
	cm.setVelocidades(v, w);
	double temp=-mu*9.8*cm.integral()/(2*Math.PI);
	return temp;
}
public double g(double x, double y, double v, double w, double t){
	angular.setVelocidades(v, w);
	double temp=-mu*9.8*angular.integral()/(2*Math.PI);
	return temp;
}
}
public abstract class SimpsonDoble {
	private int n; //número de divisiones del intervalo a, b (integral interior)
	private int m; //número de divisiones del intervalo c, d (integral exterior)
	final double x1=0.0;
	final double x2=1.0;
	final double y1=0.0;
	final double y2=2*Math.PI;
public SimpsonDoble(int n1, int m1){
	if(n1%2==1) n1++; //hace que el número de divisiones sea par
	if(m1%2==1) m1++; //hace que el número de divisiones sea par
	this.n=n1;
	this.m=m1;
}
protected double integralPrimera(double p){
	double h=(x2-x1)/n;
	double suma=f(x1, p)+f(x2, p);
	for(int i=1; i<n; i+=2){
		suma+=4*f(x1+i*h, p);
	}
	for(int i=2; i<n; i+=2){
		suma+=2*f(x1+i*h, p);
	}
	return (suma*h/3);
}
public double integral(){
	double h=(y2-y1)/m;
	double suma=g(y1)+g(y2);
	for(int i=1; i<m; i+=2){
		suma+=4*g(y1+i*h);
	}
	for(int i=2; i<m; i+=2){
		suma+=2*g(y1+i*h);
	}
	return (suma*h/3);
}
abstract public double f(double x, double y);
abstract public double g(double x);
}
public class Disco_Vcm extends SimpsonDoble{
	double v, w;
public Disco_Vcm(int n, int m, double v, double w){ //d/a separación dividido radio
	super(n, m);
	this.v=v;
	this.w=w;
}
void setVelocidades(double v, double w){
	this.v=v;
	this.w=w;
}
public double f(double r, double ang){
	double num=r*(v-w*r*Math.sin(ang));
	double den=Math.sqrt(v*v+w*r*w*r-2*v*w*r*Math.sin(ang));
	return (num/den);
}
public double g(double ang){
	return (integralPrimera(ang));
}
}
public class Disco_Vangular extends SimpsonDoble{
	double v, w;
public Disco_Vangular(int n, int m, double v, double w){ //d/a separación dividido radio
	super(n, m);
	this.v=v;
	this.w=w;
}
void setVelocidades(double v, double w){
	this.v=v;
	this.w=w;
}
public double f(double r, double ang){
	double num=r*r*(w*r-v*Math.sin(ang));
	double den=Math.sqrt(v*v+w*r*w*r-2*v*w*r*Math.sin(ang));
	return (num/den);
}
public double g(double ang){
	return (integralPrimera(ang));
}
}
public abstract class RungeKutta2 {
	double h=0.01;
RungeKutta2(double h){
	this.h=h;
}
public void setPaso(double h){
	this.h=h;
}
public void resolver(Estado e){
//variables auxiliares
	double k1, k2, k3, k4;
	double l1, l2, l3, l4;
	double q1, q2, q3, q4;
	double m1, m2, m3, m4;
//condiciones iniciales
	double x=e.x;
	double y=e.y;
	double vx=e.v;
	double vy=e.w;
	double t=e.t;

	k1=h*vx;
	l1=h*f(x, y, vx, vy, t);
	q1=h*vy;
	m1=h*g(x, y, vx, vy, t);

	k2=h*(vx+l1/2);
	l2=h*f(x+k1/2, y+q1/2, vx+l1/2, vy+m1/2, t+h/2);
	q2=h*(vy+m1/2);
	m2=h*g(x+k1/2, y+q1/2, vx+l1/2, vy+m1/2, t+h/2);

	k3=h*(vx+l2/2);
	l3=h*f(x+k2/2, y+q2/2, vx+l2/2, vy+m2/2, t+h/2);
	q3=h*(vy+m2/2);
	m3=h*g(x+k2/2, y+q2/2, vx+l2/2, vy+m2/2, t+h/2);

	k4=h*(vx+l3);
	l4=h*f(x+k3, y+q3, vx+l3, vy+m3, t+h);
	q4=h*(vy+m3);
	m4=h*g(x+k3, y+q3, vx+l3, vy+m3, t+h);
//nuevo estado del sistema
	x+=(k1+2*k2+2*k3+k4)/6;
	vx+=(l1+2*l2+2*l3+l4)/6;
	y+=(q1+2*q2+2*q3+q4)/6;
	vy+=(m1+2*m2+2*m3+m4)/6;

//cambia el estado de la partícula
	e.x=x;
	e.y=y;
	e.v=vx;
	e.w=vy;
	e.t=t+h;
}
abstract public double f(double x, double y, double vx, double vy, double t);
abstract public double g(double x, double y, double vx, double vy, double t);
}
public class Estado {
	double t;
	double x;
	double y;
	double v;
	double w;
public Estado(double t, double x, double y, double v, double w) {
	this.t=t;
	this.x=x;
	this.y=y;
	this.v=v;
	this.w=w;
}
}
//creación de objetos
//v0 y w0 son las velocidades iniciales

Estado estado=new Estado(0.0, 0.0, 0.0, v0, w0);
RungeKutta2 objeto=new Disco(mu, v0, w0, dt);    //polimorfismo
if(bAro){
	objeto=new Aro(mu, v0, w0, dt);
}
//calcula la posición y la velocidad del disco o del aro en función del tiempo
objeto.resolver(estado);