Upload
danielfunesperez
View
13
Download
8
Embed Size (px)
DESCRIPTION
01 Instructoria 3 TMM
Citation preview
Introducción al entorno de programación de MATLAB y su aplicación al análisis de mecanismos (Parte II)
Facultad: Ingeniería Escuela: Mecánica Asignatura: Teoría de mecanismos y maquinas Título: Introducción al entorno de programación de MATLAB y su aplicación al análisis de mecanismos (Parte II). I. OBJETIVOS GENERALES
Aprender a utilizar MATLAB para el análisis de mecanismos
II. OBJETIVOS ESPECÍFICOS
Aprender a aplicar MATLAB para realizar análisis de posición de mecanismos
III. INTRODUCCION TEORICA.
Análisis de posición Luego de que el diseño tentativo de un mecanismo ha sido sintetizado, el siguiente paso en el proceso
de diseño es el análisis, con el objetivo de determinar todas las aceleraciones de las partes móviles del
ensamble; Esto debido a que las fuerzas dinámicas son proporcionales a la aceleración, según la
segunda ley de Newton, esto con el objetivo de realizar el cálculo posterior de los esfuerzos en cada
eslabón y en cada junta.
Para el proceso de calcular las fuerzas dinámicas se necesita conocer las aceleraciones; y para esto
primero se deben conocer las posiciones de todos los eslabones o elementos en el mecanismo por
cada incremento de movimiento de entrada, luego calcular las velocidades; para como último paso
calcular las aceleraciones.
Las tres partes del proceso de análisis pueden ser realizadas por varios métodos, los cuales pueden
ser gráficos o analíticos.
Vector de posición.
La posición de un punto en el plano puede definirse por medio de un vector de posición, como se
muestra en la figura. La elección de ejes de referencia es arbitraria.
Un vector en dos dimensiones tiene dos atributos, los cuales pueden expresarse en coordenadas
polares o cartesianas. La forma polar proporciona la magnitud y el ángulo del vector.
Figura. Vector de posición de un punto A en el plano bidimensional.
La forma cartesiana proporciona las componentes X y Y del vector. Cada forma es directamente
convertible en la otra mediante:
√
Números complejos
Los vectores pueden ser representados de muchas maneras, una de ellas es mediante los números
complejos.
El vector de posición puede representarse mediante la notación vectorial unitaria como:
En forma polar.
En forma rectangular
Utilizando números complejos se denotara X como la parte real y Y como la parte imaginaria. La parte
imaginaria se denotara con “j”. Una ventaja al utilizar esta notación es que se deriva de la identidad de
Euler:
Se utilizara entonces esta notación de números complejos para representar vectores y desarrollar las
expresiones de posición, velocidad y aceleración de mecanismos.
Figura 1. Representación de un vector de posición utilizando números complejos.
Sistemas coordenados: Global y local.
Los sistemas de coordenadas y marcos de referencia son utilizados a conveniencia. Se denotaran dos
tipos de sistemas de coordenadas, globales o absolutos y locales.
El sistema de coordenadas absoluto será utilizado unido a un tierra o un plano fijo arbitrario, este marco
debe ser inercial, o sea, que el sistema de coordenadas por sí mismo no tenga aceleración. Este
sistema será utilizado para medir parámetros absolutos de los elementos.
El sistema de coordenadas local será utilizado unido a un eslabón en puntos de interés, como las
juntas. Estos sistemas coordenados pueden ser rotatorios o no rotatorios, según lo que se desee. Este
sistema se moverá junto con su origen en el eslabón pero siempre permanecerá paralelo con el
sistema global
Los ángulos en ambos sistemas de referencia serán medidos en sentido contrario al de las manecillas
del reloj, las velocidades y aceleraciones angulares serán positivas en este sentido.
Figura 2. Representación de los sistemas de coordenadas.
Sistema global
Sistema local
Análisis de posición para el mecanismo manivela – biela - corredera
El mismo método de lazo vectorial utilizado para el mecanismo de cuatro barras con juntas de pasador puras puede aplicarse a mecanismos que contienen correderas. La figura 3 muestra un mecanismo de corredera-manivela de cuatro barras descentrado, inversión número 1. El término descentrado significa que el eje de la corredera extendido no pasa por el pivote de la manivela. Éste es el caso general. (Los mecanismos de manivela-corredera no descentrados son casos especiales.) Este mecanismo podría representarse por sólo tres vectores de posición,
Figura 3. Medición de ángulos en el mecanismo manivela – biela - corredera. R2, R3 y RS, pero uno de ellos (RS) será un vector de magnitud y ángulo variables. Será más fácil
utilizar cuatro vectores, R1, R2, R3 y R4 con R1 dispuesto paralelamente al eje del deslizamiento y
R4 perpendicular. En realidad, el par de vectores R1 y R4 son componentes ortogonales del vector de
posición RS del origen hasta la corredera.
Ecuación de lazo vectorial
Para el caso de un mecanismo manivela – biela - corredera :
R2 - R3 –- R4 – R1 = 0
Luego se sustituye cada vector de posición por su notación en números complejos:
Luego, se sustituye θ1=0º y se aplica la identidad de Euler y dividimos la ecuación en su parte real e
imaginaria:
En X:
(1)
En Y:
(2)
Entonces, la variable independiente es θ2, las longitudes a, b y c se conocen y en el caso general, θ4 =
90º se simultanean ambas ecuaciones entonces, para obtener para θ3 y d:
Para este caso, θ3 tiene dos posibles soluciones ya que la función arcoseno es de valores múltiples. Su
evaluación dará un valor entre ±90°, que representa sólo un circuito del mecanismo. El valor de d
depende del valor calculado de θ3. El valor de θ3 para el segundo circuito del mecanismo se calcula
con:
Está segunda solución es preferible a comparación de la otra cuando se utilizarán programas para
realizar los cálculos de con programas o calculadoras, debido a que la mayoría de estos con la primera
solución, da el ángulo menor a 90º, algo que debe llevar un análisis posterior para ser utilizado a la
hora de analizar.
Programación en MATLAB Para escribir un programa con MATLAB habrá que crear un fichero que tenga extensión .m y contenga
las instrucciones. Esto se puede hacer con cualquier editor de textos, pero tiene algunas ventajas usar
el editor propio de MATLAB llamado medit.
MATLAB trabaja con memoria dinámica, por lo que no es necesario declarar las variables que se van a
usar. Por esta misma razón, habrá que tener especial cuidado y cerciorarse de que entre las variables
del espacio de trabajo no hay ninguna que se llame igual que las de nuestro programa (proveniente,
por ejemplo, de un programa previamente ejecutado en la misma sesión), porque esto podría provocar
conflictos. A menudo, es conveniente reservar memoria para las variables (por ejemplo, si se van a
utilizar matrices muy grandes); para ello, basta con asignarles cualquier valor. Del mismo modo, si se
está usando mucha memoria, puede ser conveniente liberar parte de ella borrando (clear) variables que
no se vayan a usar más.
Un programa escrito en MATLAB admite la mayoría de las estructuras de programación al uso y su
sintaxis es bastante estándar. En los siguientes ejemplos se muestra la sintaxis de algunas de estas
estructuras (if, for, while,...).
Sentencia if
La sentencia if, actúa como cabría esperar. Si la condición es verdadera, la sentencia se ejecuta, de
otro modo, se salta dicha sentencia, continuando la ejecución del programa con otras sentencias a
continuación de ésta. La forma general de la sentencia if es:
if condicion
sentencias
end
Sentencia if else
La sentencia if...else completa la sentencia if, para realizar una acción alternativa
if condicion
sentencias_1
else
sentencias_2
end
Bucle repetitivo for
El bucle for se empleará cuando conocemos el número de veces que se ejecutará una sentencia o un
bloque de sentencias, tal como se indica en la figura. La forma general que adopta la sentencia for es:
for x=xi:Δx:xf
sentencias
end
El primer término xi es el valor inicial de la variable x, que controla el número de veces que se ejecutará
el bucle. El incremento Δx representa la cantidad que se incrementa la variable x en cada repetición
Cuando la variable x sobrepasa el límite xf el bucle termina su ejecución. En la parte derecha de la
igualdad tenemos un vector cuyos elementos están igualmente espaciados, sin embargo, esto no tiene
que ser siempre así. Después del signo igual se puede poner cualquier vector, como veremos más
adelante, x va tomando los valores de los elementos del vector en orden consecutivo.
Zeros (n,m)
Genera una matriz (n x m) donde todos sus elementos son cero. >> A=zeros(3,3)
A = 0 0 0 0 0 0 0 0 0
Animaciones gráficas en matlab
Sentencia drawnow
Este comando de matlab, actualiza constantemente la ventana de gráficas y es muy útil para realizar
animaciones.
Sentencia comet(x,y)
Este comando de matlab, grafica los puntos que se le indican, almacenando en memoria los puntos
que grafica previamente.
Sentencia fopen
Esta función de MATLAB abre un archivo nuevo, con el nombre y formato que se le indique.
IV. PROCEDIMIENTO 1. Ingresa a MATLAB.
2. Abre el entorno de programación en MATLAB y crea un nuevo archivo .m.
3. Ingresa el siguiente código, este calcula las posiciones de un mecanismo manivela – biela -
corredera, a partir del ángulo de entrada y gráfica la animación del movimiento, además de almacenar
los resultados en un archivo .txt :
Primera parte del codigo, está, en inicio, los primeros dos codigos, limpian la memoria de Matlab y luego, se pide el ingreso de las longitudes a, b y c del mecanismo al usuario:
Luego se definen los valores de muestreo, delta 2 da el valor angular que se irá desplazando, se calcula el valor en radianes y se almacena en un vector “tetha2”, se toma la longitud del vector ya que este sera el numero de puntos que se tomaran para el mecanismo.
Ahora, se establecen, primero las posiciones de el pivote del eslabón 2, en la figura del mecanismo O2, luego se crean los vectores “teta3” y “x” para almacenar las variables dependientes, que son las que definirán la posición del mecanismo, estos vectores, serán de longitud “n”, la cual es la longitud del vector del dato de entrada “tetha2”, ya que todas las longitudes de los vectores deben coincidir.
A siguiente parte del código, es un bucle que se repetirá un número de veces igual al número de datos en el vector “tetha2”, luego, se procede a calcular “tetha3” utilizando la ecuación deducida del análisis de posición del mecanismo y se realiza lo mismo para la distancia “d” que define la posición de la corredera, se realizan ambos cálculos dos veces.
Se calcula primero en una variable entera, para utilizar los valores a la hora de graficar el mecanismo. Luego, se procede a calcular ambos valores que definen la posición del mecanismo y almacenarlos en vectores, esto para almacenar todos esos datos posteriormente en un archivo .txt que podría ser útil para analizar valores exactos del mecanismo.
El comando plot, se podría decir que funciona de la siguiente manera:
Acá se indican en dos vectores las coordenadas de los puntos y posteriormente matlab gráfica los tres puntos y los une con una recta y el comando drawnow da el efecto de animación deseado.
La última parte del código almacenará los datos calculados para el ángulo “tetha3” y la distancia “d” en un archivo .txt, el cual podría resultar muy útil para realizar cálculos exactos del mecanismo y almacenar evidencia de la simulación realizada.
En el código 25 y 26 se almacenan los valores de los ángulos, en dos vectores diferentes, además, los valores de los ángulos son convertidos a grados ya que matlab los almacena en radianes, donde se define la variable “Posi” se define la creación del archivo .txt con su nombre específico. El comando fprintf escribe ya sobre el archivo .txt a almacenar y se ha escrito primero que avance un renglón por debajo y los comandos “%20s” definen tabulaciones para ordenar los datos almacenados, luego de eso se escribe un título para cada columna de datos a almacenar. Luego en el código 29 – 31, se crea un bucle que se repetirá el mismo número de veces del tamaño de todos los vectores, para ir almacenando en el archivo .txt todos los datos contenidos en los vectores. Y por ultimo en la parte 32 – 36 se define la dirección de almacenamiento del archivo en una variable y lo que se hace posteriormente es hacer que matlab escriba en el comand window la dirección donde se almaceno el archivo, para su posterior visualización. 5. Digita el código completo y analízalo, si tienes dudas no dudes en consultar.
V. BIBLIOGRAFIA.
“Matlab con aplicaciones a la ingeniería, físicas y finanzas”, David Baez López, Primera
edición 2006