Modelado y Simulación de un Péndulo

De ISAwiki
Revisión a fecha de 14:06 10 nov 2008; Cuadrado (Discusión)

(dif) ← Revisión anterior | Ver revisión actual (dif) | Revisión siguiente → (dif)

Tabla de contenidos

Resumen

(thumbnail)
Sistema físico a modelar

El objetivo de la práctica es modelar el comportamiento dinámico de un péndulo, determinando a partir de las ecuaciones físicas un modelo no lineal que lo describe con precisión en todos sus puntos. Asimismo, se obtendrán mediante el procedimiento de linealización por Taylor, dos modelos lineales que lo aproximan en torno a sendos puntos de equilibrio. Tanto el modelo no lineal como los dos modelos linealizados se simularán mediante Simulink en distintos escenarios, comprobando la validez de las aproximaciones. Asimismo, se realizará una animación del péndulo que permitirá corroborar visualmente el sentido físico de los modelos obtenidos.


Descripción física del sistema

El sistema se compone de una bola de masa m situada en el extremo de una barra de masa despreciable con una longitud l. Además, se sabe que el momento de inercia del péndulo respecto a su punto de giro es J, el coeficiente de fricción viscosa es B y el par aplicado es T. El ángulo girado θ, que será la variable de salida y, se toma según indica la figura adjunta


Modelado matemático

Ecuación física del sistema

El ángulo θ queda determinado por la ecuación (1). El par T aplicado sobre el péndulo se invierte en incrementar la aceleración angular, en vencer la fricción viscosa y en compensar el par generado por el peso del sistema.

T  =  J \cdot \frac{d^2 \theta(t)}{dt^2} + B \cdot \frac{d\theta(t)}{dt} + m \cdot g \cdot l \cdot \mbox{sen } \theta(t) (1)

Esta ecuación diferencial no lineal de segundo orden describe el comportamiento dinámico del péndulo.

Ecuaciones del espacio de estados

Una representación alternativa a la ecuación diferencial (1) es la representación interna o de espacio de estados. En muchos sistemas físicos una elección adecuada consiste en tomar como variables de estado la salida y sus derivadas. En este caso tomaremos el ángulo girado θ y la velocidad angular, según:

x1 = θ(t), x_2  =  \dot{\theta}(t)

Las ecuaciones del espacio de estados serán:

\dot{x}_1  =  x_2

\dot{x}_2  =   \frac{1}{J} \cdot \left[-B\cdot x_2 - m \cdot g \cdot l \cdot \mbox{sen } x_1    + T\right]

y = x1

Diagrama de bloques del sistema

A partir de las ecuaciones anteriores se puede obtener fácilmente el diagrama de bloques de la figura adjunta que define la variable de salida θ ante una entrada de par T.

DiagramaBloques.png


Simulación del modelo

Los valores de las constantes que definen al sistema son:

 l = 1;          % longitud en metros
 B = 2;          % coef. de fricción viscosa en N.m / (rads/s)
 g = 9.8;        % aceleración de la gravedad  m.s^2
 m = 3;          % masa en kg
 J = m*l^2;      % momento de inercia en kg.m^2


Para proceder a la simulación del péndulo se usa la herramienta Simulink de MATLAB. La implementación tiene el aspecto mostrado en la figura. Hay que tener en cuenta que las condiciones iniciales quedan determinadas por las valores iniciales de los integradores. Asimismo, la presencia de integradores simplifica la obtención de las derivadas y la elección de las variables de estado.

Diagrama de Simulink para la animación


Además, se puede simular de una forma más visual la evolución del péndulo ejecutando el siguiente script.

figure(1); for k=1:length(t.signals.values);
    plot([0,l*exp(j*(theta.signals.values(k)-(pi/2)))],'o-');
    axis equal;
    axis(1.2*[-1 1 -1 1]);
    grid on;
    drawnow;
end


Obsérvese que se ha introducido el elemento clock en el esquema de Simulink para generar el vector de tiempos almacenándolo en el workspace. Además, para una correcta animación mediante ejecución del código anterior es necesario ajustar los parámetros de simulación a un periodo fijo de cálculo eligiendo como algoritmo ode4 (que permite definir un paso de simulación constante) tal cómo se indica en la figura siguiente.

(thumbnail)
Parámetros de simulación recomendados para la animación

Objetivos

El alumno deberá realizar las siguientes tareas:

  1. Determinar mediante Simulink la evolución del sistema cuando se introduce durante 2 segundos un par de T=10 Nm (condiciones iniciales nulas). Obtener una representación gráfica de la evolución a lo largo del tiempo del ángulo girado θ.
  2. Simular la evolución del péndulo cuando se deja en movimiento libre (T=0), partiendo las condiciones iniciales, θ(0) = π / 2 y \dot \theta(0) =  5 \, \rm rad/s
  3. Realizar la animación gráfica del péndulo mediante un script de MATLAB similar al descrito en el enunciado.
  4. Variar los parámetros m, l, g y B. Obsérvese su influencia en la frecuencia de oscilación y en la respuesta θ. Probar con distintos valores para las condiciones iniciales.
  5. Obtener mediante el procedimiento de linealización por Taylor, modelos lineales en torno a los puntos de equilibrio definidos por θ(0) = 0 y θ(0) = π / 2 e introducirlos en Simulink como funciones de transferencia. Comparar la simulación de los modelos linealizados con la del modelo original para zonas de trabajo próximas y para zonas alejadas de los respectivos puntos de equilibrio.
Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Tipos de páginas
Bloques temáticos
Herramientas