lunes, enero 01, 2007

Animación del Motor Radial en Matlab

Se muestra a continuación una animación de un Motor Radial de una estrella (véase wikipedia).

Esta se ve así(En versión pequeña):

Todos los archivos para correr esto están en un zip: Todas las funciones más el programa.

La animación mostrada es simplemente una sucesión de imágenes que van cambiando,  cada una permanece un período de tiempo muy pequeño.

El cálculo de la dinámica, más abajo, se plantea para varias posiciones, en este caso las mayas tiene como variable de entrada t que es el ángulo de la manivela (cigüeñal).
Luego se calcula la posición de los pasadores de la biela principal.
Posteriormente la posición de los pistones. Para ello se necesitan como entradas un t inicial y los valores tentativos respectivos.
Como son cinco pistones se cálcula la posición de cada uno de ellos en una función independiente, la idea era hacer una para todos, pero se me complicó el asunto en sun momento y al final hice 5 :D.

Para hacer todo esto hay dos partes

A) Programa principal
B) Funciones de Cálculo.



Código del Programa Principal



En la función principal aquí abajo se ve: La parte de los valores iniciales. Un ciclo For en el que se calcula para cada t la posición de todos los pistones.Obviamente va variando el t, en esta parte se llaman a las funciones que calculan toda la imagen. Y por último la parte que hace el gráfico, que son puros plot más la parte que usa el comando pause.

Notar las tres partes indicadas:



Nótese las tres partes del programa, en la primera se declaran los valores iniciales para las funciones, y junto con ello se determinan para cuantos instantes se realizarán los cálculos, es decir, para cuantas posiciones de la biela principal se hacen los cálculos.
En la segunda para cada instante, es decir, para cada posición de la biela maestra o principal, se calculan las posiciones de los pistones. Esto se hce llamando a las funciones correspondientes en cada caso, se examinará mas abajo este detalle.
En la tercera parte se grafican, para cada instante las posiciones.


Funciones de Cálculo



La Primera función es "pist.m" , para calcular la posiciona de los pistones, hay una función por pistón, la que se expone más abajo es la del pistón 1 el que se mueve de arriba abajo, la punta de la "estrella". La idea es tener como entrada a la función el angulo de la biela principal t, y con la ecuación de la maya sacar los valores que faltan.
Nótese que el método de calculo usado es el mismo que se describe en una entrada anterior del blog, si no se conoce ver en Animaciones con matlab, en el que se utiliza una iteración.





Función para graficar los pistones



Para hacer que la animación sea más realista, aunque esquemática, se usa una función que dibuja un cuadrado orientado en el angulo del bloc del motor, de manera que parezca un pistón. La función cuad.m , da un cuadrado, tiene como entrada un punto, con sus dos coordenadas x e y, el lado del cuadrado que queremos e y el ángulo de inclinación de este a. La función tiene como salidalos puntos de un cuadrado (representa un pistón), listo para ser graficado.




Función para Pasadores


La función pen.m calcula la posición de los 5 pasadores de la biela principal, como entrada tiene la posición de la manivela, con el vector pm, el ángulo tb, y el radio de la biela rb.



Función para dibujar una biela



La función biela.m se usa para dibujar la biela en el gráfico. Como tenemos los puntos de los pasadores de la biela, que son el pistón y la biela principal, se dibuja al rededor de estos un rectángulo con los bordes redondeados. Como entrada a la función, se tienen : los puntos de los pasadores, en los vectores X1 e Y1, el ancho de la biela d, y el número de puntos n que dibuja la semicircunferencia de la biela, nótese en el ciclo for.




Dibujando la biela Principal o Maestra


La función pbiela.m,hace una figura con forma de biela principal. Tomando pm la posición de la manivela, el ángulo de ésta, ylos mismos argumentos que la función anterior.

Dibujando el Bloc del motor



Para dibujar el bloc o carcasa del motor usamos la función bloc.m, ella tiene como entradas el ángulo de las estrellas a2, el largo de la manivela lm, el largo de la bielalb, el radio de la biela rb y el ancho del pistóne.




Los archivos *.m


Están para descargar Todas las funciones más el programa. Se agradecería avisar cualquier error.

Francisco Roco