Proyecto Eliptica 2
Proyecto Eliptica 2
Proyecto Eliptica 2
RENDIMIENTO ENERGÉTICO
DEL SISTEMA
CUERPO HUMANO/MECANISMO DE 4 BARRAS
INGENIERÍA INDUSTRIAL
UNIVERSIDAD DE SEVILLA
Agradecimientos
A mi familia en general.
A mis amigos y compañeros, con los que he compartido estos magníficos años en Sevilla.
1
2
ÍNDICE:
CAPÍTULO 1: INTRODUCCIÓN……………………...…………………………………………………………………PAG. 5
1.1 MOTIVACIÓN………………………………………………………………………………………………..PAG. 5
1.2 OBJETIVOS…………………………………………………………………………………………….……..PAG. 7
2.1.1 INTRODUCCIÓN…………………..…………………………..………………………..…….PAG. 9
2.2.1 INTRODUCCIÓN………………………………………………………………………….PAG. 17
3
3.3 CÁLCULO DE MASAS Y MOMENTOS DE INERCIAS…………………………………….PAG. 28
5.1 INTRODUCCIÓN………….……………………………………………………………………………..PAG. 75
CAPÍTULO 6: RESULTADOS……………..…………………………………………………………………………….PAG. 87
CAPÍTULO 7: CONCLUSIÓN……………..…………………………………………………………………………….PAG. 91
CAPÍTULO 8: BIBLIOGRAFÍA………………..………………………………………………………………………..PAG. 93
CAPÍTULO 9: ANEXO………………..……………………………………………………………………………………PAG. 95
4
CAPÍTULO 1: INTRODUCCIÓN
Este capítulo es una breve introducción a la motivación para la realización de este proyecto fin
de carrera. También se comenta los objetivos finales que se pretenden alcanzar.
1.1 MOTIVACIÓN
Las “bicicletas elípticas“, o simplemente “elípticas”, son unas máquinas de uso indoor o de
gimnasio exclusivamente. Se trata de dos plataformas donde se apoyan los pies y dos barras
verticales donde agarrarse con las manos. Ambos movimientos, el de las manos y los pies van
acompasados de forma armoniosa. El esfuerzo es erguido, y a pesar de que se le llama
“bicicletas”, poco o nada tiene que ver con ellas, ya que es más afín con el esquí de fondo que
con el primero. En realidad es una especie de mezcla, sin llegar a ser ninguno de ellos, del esquí,
pedaleo, marcha y correr. El movimiento de los brazos recuerda mucho al esquí nórdico de
fondo, lo que lo diferencia especialmente del resto de máquinas aeróbicas, en las que es el tren
inferior el involucrado en el esfuerzo.
Las bicicletas elípticas son tras las bicicletas estáticas (spinning) y las cintas de corres, son las
máquinas más populares para el entrenamiento aeróbico en los gimnasios.
Al igual que ocurre con el ciclismo, el ejercicio en máquinas elípticas no produce impacto,
minimizando el riesgo de lesión. Son especialmente valoradas dentro del campo de la
rehabilitación de ambas extremidades. Tanto para lesiones deportivas, o personas mayores que
necesitan recuperar movilidad en alguna articulación.
El consumo calórico es superior en las máquinas elípticas que en las bicis estáticas debido a que
el movimiento implica mayor número de grupos musculares.
Los brazos y las piernas en su movimiento simultáneo hacen que la cantidad de calorías
quemadas en la unidad de tiempo sea sensiblemente mayor, siendo por ello una opción muy
adecuada para aquellos que pretenden perder peso.
No disponen de sillín.
El usuario está de pie y no sentado.
El movimiento de los pedales es elíptico en vez de circular.
Se ejercitan también los brazos y la parte superior del cuerpo, no sólo las piernas.
No provoca molestias en la espalda ni en la zona de apoyo del sillín.
Prácticamente no tiene semejanzas directas con ningún otro deporte, salvo el esquí de
fondo, que es muy relativa.
5
Sistema de resistencia variable para ajustar la intensidad del ejercicio al estado de forma
del usuario.
Así pues, las máquinas elípticas reúnen en un todo en uno, las ventajas de la cinta de correr
y las de la bici estática (spinning). Se realizan dos movimientos, uno circular y otro de
traslación, en el que se utilizan los músculos del tren superior e inferior.
Una bicicleta elíptica es en realidad una máquina de acondicionamiento físico con una
particularidad, el movimiento que realizas es la combinación de varios otros movimientos
deportivos a modo de síntesis.
Por tanto los movimientos como correr, marchar, pedalear, esquiar, escalar se reducen a
uno solo. Esta particularidad hace que sea un aparato de los llamados aeróbicos, que
entrena a la vez, todos estos gestos deportivos.
Como incorpora varios movimientos a la vez, trabaja más cantidad de grandes grupos
musculares simultáneamente, dando como resultado mayor cantidad de calorías quemadas,
por lo que disminuye tu grasa corporal y por consiguiente tu abdomen.
La desventaja de la bicicleta elíptica es que si eres deportista, como por ejemplo corredor,
entrenando en el elíptico no puedes transferir el gesto específico del deporte que practicas,
y pierdes eficacia en tu puesta en forma.
Sin embargo, suelen darse períodos de sobreentrenamiento entre los deportistas que los
obliga a suspender por un breve tiempo o reemplazar el plan programado, siendo la
bicicleta elíptica un excelente recurso para seguir trabajando el sistema aeróbico utilizando
un gesto deportivo distinto.
Cualquier rutina de ejercicios físicos debe incluir un plan aeróbico, si te gusta trabajar más
en la parte de fuerza muscular, la bicicleta elíptica es el perfecto complemento para tu
programa, debido a las diferentes posiciones que puedes adoptar para entrenar diversos
grupos musculares.
Por tanto, la bicicleta elíptica termina siendo una máquina versátil, completa y accesible
para que puedas optar, a la hora de iniciar ese postergado programa de acondicionamiento
físico en tu vida, que te permita perder peso, tonificando tu cuerpo.
Por ello, este proyecto se dedicará a modelar y simular la dinámica de la bicicleta elíptica a
distintas velocidades y para diferentes pesos de personas, para así calcular la energía
eléctrica que es capaz de obtener. Con ello se analizarán los resultados y así poder ver el
6
ahorro económico que todo ello supondría en un gimnasio considerando un número
variable de bicicletas elípticas funcionando unas determinadas horas al día.
1.2 OBJETIVOS
El objetivo principal que se pretende conseguir con este Proyecto Fin de Carrera es el
estudio del rendimiento energético del cuerpo humano en una bicicleta elíptica.
Para ello, se van a utilizar un modelo de bicicleta elíptica, exactamente la KETTLER VISO XS y
simular el movimiento de la misma, para así poder realizar un análisis tanto cinemático
como dinámico ante acciones externas. Esto es, ante las distintas variables que puede haber
en una bicicleta (peso de la persona, frecuencia de pedaleo y tiempo).
7
8
CAPÍTULO 2: TEORÍA DE MECANISMOS
En este capítulo se describen las herramientas que utilizaremos para poder realizar los cálculos
cinemáticos y dinámicos de nuestro mecanismos y que implementaremos en nuestro programa
de cálculo Matlab.
2.1.1 INTRODUCCIÓN
Se denominan sistemas multicuerpo a los conjuntos de sólidos rígidos y/o flexibles que se
encuentran unidos por pares cinemáticos, muelles, amortiguadores, actuadores, etc. Los
ejemplos de sistemas multicuerpo son numerosos: máquinas herramientas, robots, vehículos,
tanto terrestres como aeroespaciales, etc. En algunas aplicaciones de Biomecánica se estudia el
propio cuerpo humano o algunas partes de él como un sistema multicuerpo.
El problema cinemático consiste en conocer las velocidades y aceleraciones de todas las barras
de un mecanismo conocidas las velocidades y aceleraciones de algunas de ellas. En este sistema
se elegirán las coordenadas cartesianas o de referencia para definir el movimiento de un cuerpo
rígido.
A continuación se estudiarán las restricciones que imponen los pares más comunes que se
encuentran en mecanismos planos. Finalmente se mostrará el planteamiento general del
problema de simulación cinemática, analizando los problemas de posición, velocidad y
aceleración.
En la siguiente figura 2.1 se muestra un sólido rígido, i, sobre el que se han definido unos ejes
locales
9
solidarios a él, (xi,yi). La posición del origen de este sistema local queda definida por el vector R i,
medido desde un sistema de referencia inercial (X,Y). La posición de un punto cualquiera del
espacio, P, será Rp vista desde el sistema inercial, al que a partir de este momento nos
referiremos como sistema global, y desde el sistema local. Ambos vectores de posición vienen
ligados por la siguiente ecuación:
Rp = Ri + Ai·
Donde Ai es la matriz de giro que expresa el vector local en coordenadas globales. Véase la
figura 2.2.
Y yi
θi
Rp
i
xi
Ri
La velocidad de un punto del sólido vendrá dada al derivar respecto al tiempo la ecuación
(2.1.1). Al realizar esta derivada hay que tener en cuenta que ahora P es un punto perteneciente
al sólido i, y, por tanto, es un vector constante. Así:
̇ p = ̇ i + ̇ i· = ̇ I + ̇ i· · (2.1.2)
10
Donde designa a la matriz que se obtiene al derivar la matriz Ai componente a componente
con respecto a θi:
=( ) (2.1.3)
La aceleración del punto P viene dada la derivar de nuevo con respecto al tiempo la ecuación
(2.1.2):
̈ p = ̈ i + ̈ i· · + ̇ i· ̇ · = = ̈ i + ̈ i· · - ̇ ·Ai· (2.1.4)
El segundo término del último miembro representa la aceleración tangencial relativa, mientras
que el último término es la aceleración normal relativa del punto P respecto al origen de
coordenadas local.
Un par de revolución es una conexión entre dos o más barras que permite un movimiento
rotacional entre ellas. Obsérvese la figura 2.3.
11
La condición que tiene que cumplir un par de revolución es la siguiente:
= (2.1.5)
Un par de revolución es una conexión entre dos o más barras que permite un movimiento de
traslación o prismático entre ellas. Obsérvese la figura 2.4.
Las condiciones cinemáticas que tienen que cumplir son las siguientes:
(2.1.7)
( ) (2.1.8)
Pi
Ri
hi
Ri
Qi
Ri
Mj
i Ri
Ri
j
Ri
Todo ello teniendo en cuenta, que nuestro vector de coordenadas de referencia es:
=( ) (2.1.9)
12
2.1.4 PROBLEMA DE POSICIÓN
Cqd = = (2.1.12)
( )
Las iteraciones se detendrán cuando se considere que se ha alcanzado la convergencia. Para ello
se pueden considerar dos condiciones:
‖ ‖ (2.1.13)
‖ ‖
Las ecuaciones (2.1.13) imponen que la variación entre dos iteraciones sea pequeña,
estableciendo para ello una tolerancia Є1 y/o que se cumplan las ecuaciones de restricción con
una tolerancia Є2.
En una simulación cinemática se pretende conocer las sucesivas posiciones que adoptan las
barras de un mecanismo cuando se mueve una serie de ellas, según una ley horaria definida. Las
ecuaciones de movilidad son las leyes horarias que establecen la variación temporal de las
coordenadas de referencia independientes, presentes en un número igual al de grados de
13
libertad. Conocida la evolución de las posiciones de todas las barras también se pueden analizar
las velocidades y aceleraciones.
qi – f(t) =0 (2.1.14)
debiéndose plantear un nuevo problema de posición para el instante siguiente tk+1. Así,
dividiendo el intervalo de tiempo total [t1,t2] en subintervalos y resolviendo un problema de
posición en cada extremo de los subintervalos se puede conocer la posición de las barras del
mecanismo en el intervalo total.
No hay que olvidar que pueden darse casos de posiciones singulares en los mecanismos.
Las posiciones singulares del mecanismo son aquellas en las que no existe la inversa de la matriz
jacobiana, porque su determinante (también llamado jacobiano) es nulo. Los puntos muertos y
los puntos de bloqueo son algunas configuraciones singulares. Como se sabe, en los puntos
muertos el movimiento está indeterminado y esto es una consecuencia de que el jacobiano sea
nulo, como se verá enseguida. En lo que se refiere a la posición, que el jacobiano sea nulo sólo
impide resolver el problema de posición mediante el algoritmo de Newton- Raphson, aunque
puede resolverse por otros procedimientos.
El sistema de ecuaciones (2.1.15) se deriva con respecto al tiempo y se obtienen las ecuaciones
de velocidad:
̇ (q,t) = 0 → · + =0 (2.1.17)
Cq· ̇ + Ct = 0 (2.1.18)
14
Una vez resuelto el problema de posición se constituye un sistema de n ecuaciones con n
incógnitas lineal en las incógnitas ̇ . La solución a este problema es única si y sólo si el jacobiano
es no nulo, es decir, si el mecanismo no está en una configuración singular, como un punto de
bloqueo o un punto muerto. Por esa razón se dice que en un punto muerto el movimiento está
indeterminado, porque la solución al problema de velocidad no es única.
(Cq· ̇ )q = Bq (2.1.24)
Ahora se muestra como es la estructura que tiene tanto la matriz jacobiana como la matriz B q
aplicada al sistema de ecuaciones de restricción de los pares cinemáticos.
Par de revolución
Matriz jacobiana.
La matriz jacobiana correspondiente a las ecuaciones de restricción impuesta por los pares de
rotación (2.1.6) es la siguiente:
(– )
Cq = [Cqi Cqj] = ( ) (2.1.25)
( ) –
15
Que reescribiendo queda:
Cq = [ · · ] (2.1.26)
Matriz Bq.
La matriz Bq (2.1.24) correspondiente a las ecuaciones de restricción impuesta por los pares de
rotación (2.1.6) sería:
Par prismático
Matriz jacobiana.
La matriz jacobiana correspondiente a las ecuaciones de restricción impuesta por los prismáticas
(2.1.7) y (2.1.8) es la siguiente:
( ) (2.1.29)
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
Matriz Bq
La matriz Bq (2.1.24) correspondiente a las ecuaciones de restricción impuesta por los pares
prismáticos (2.1.7) y (2.1.8) sería:
̇ ̇
Cq· ̇ = [Cqi Cqj]·( ̇̇ )=(
( ) ̇ ̇ ( ) ̇ ( ) ( ) ̇ )
(2.1.30)
̅ ̅ ( ) ̇
̅ ̅ ( ) ̇
̅ ( ) ( ̇ ̇ ) ̇ ( ) ( ) ̇
16
y en esta ecuación se obtiene derivando
( ) ( ) ( ) · ( )
· ( )
( ) ( )
̅ ( ) ( ) ̇ ̇ ( ) ( ) ̇ ( ) ( )
̇
2.2.1 INTRODUCCIÓN
̈ (2.2.1)
17
2.2.2.1 Principio de los Trabajos Virtuales.
El Principio de Trabajos Virtuales (PTV) establece que: “En cualquier sistema en equilibrio, el
trabajo desarrollado por las fuerzas aplicadas al sistema es nulo en cualquier desplazamiento
virtual, compatible con las ligaduras”. En un problema dinámico hay que incluir entre las fuerzas
aplicadas al sistema las fuerzas de inercia. En mecanismos, las ligaduras vienen impuestas por
los pares cinemáticos, así que un desplazamiento virtual puede ser cualquiera compatible con
las restricciones impuestas por los pares. EL PTV se expresa matemáticamente de la siguiente
forma:
∑ (2.2.2)
∑ ̈
∑ (2.2.3)
∑ =0
Qc es el vector de reacciones
Siendo nulo el trabajo virtual de las reacciones en virtud del principio de acción y reacción.
̈ (2.2.4)
habiendo desaparecido las reacciones de las ecuaciones. Hay que observar que el paréntesis no
es nulo, dado que no todas las componentes de δq son independientes, ya que están
relacionadas por las ecuaciones de restricción impuestas por los pares.
La forma para resolver el problema dinámico con restricciones que vamos a utilizar es mediante
los multiplicadores de Lagrange. Este método permite además calcular las reacciones entre los
pares, que serán unas incógnitas más del problema y que están relacionadas con los
multiplicadores de Lagrange, como se verá a continuación. Así, al problema que permite obtener
tanto las aceleraciones como las reacciones se le denomina problema aumentado.
18
Fuerzas generalizadas
Una forma de plantear las ecuaciones de equilibrio es mediante el uso de las ecuaciones de
Lagrange:
( ̇
) (2.2.5)
(2.2.6)
Considérese en primer lugar una fuerza F aplicada en un punto cualquiera P de un sólido (véase
figura 2.5). El trabajo virtual asociado a esta fuerza y a un desplazamiento virtual δq del sólido,
que provoque un desplazamiento virtual del punto de aplicación de la fuerza δRp, será:
(2.2.7)
( ) ( ) (2.2.8)
De esta forma,
(2.2.9)
19
de la que se puede despejar QF
( ) ( )
( ) (2.2.10)
( ) ( )
(2.2.11)
Conexión rígida
Si dos cuerpos se conectan rígidamente, se transmiten entre ellos una fuerza y un momento,
como se representa en la figura 2.6. En este caso, las ecuaciones de restricción expresadas en
nuestro sistema de referencia, serían:
(2.2.12)
Cq=( ) (2.2.13)
Los multiplicadores de Lagrange están relacionados con las reacciones que se transmiten los
cuerpos a través de la conexión rígida, de la siguiente forma:
( ) ( ) (2.2.14)
Se puede definir una fuerza generalizada asociada a las reacciones, que se pueden considerar
unas fuerzas externas más, y esa definición se puede hacer tanto en el sólido i como en el j.
Según las ecuaciones (2.2.10) y (2.2.11) dicha fuerza generalizada será:
20
( ) ( ) (2.2.15)
( ) ( ) (2.2.16)
( )
Par de revolución
El par de revolución permite el giro e impide los dos desplazamientos relativos entre los sólidos.
Éstos se transmiten entre sí una fuerza, de manera que el vector de multiplicadores de Lagrange
es:
λ=( ) (2.2.17)
( ) ( ) ( ) (2.2.18)
21
Par prismático
λ=( ) (2.2.19)
( ) ( ) (2.2.20)
y la matriz jacobiana
( ) (2.2.21)
( ) ( ) ( ) ( )
Se puede demostrar que entre el vector de reacciones y los multiplicadores de Lagrange existe
una relación idéntica a la de otros pares:
( ) (2.2.22)
̈ (ecuación 2.2.1)
̈ (ecuación 2.2.4)
(2.2.23)
̈ (2.2.24)
( ( ) ( ̈̈ ) ( ) ( ) ( ) ) (2.2.25)
22
que al desarrollarse queda:
( ̈ ̈ )+
( ̈ ̈ ) (2.2.26)
λ= ̈ ̈ (2.2.27)
̈ (2.2.28)
( ) ( ̈) ( ) (2.2.29)
que constituye un sistema de ecuaciones diferenciales y algebraicas que permite calcular tanto
la respuesta del sistema como las reacciones, que están relacionadas con los multiplicadores de
Lagrange de la forma que se ha analizado anteriormente. La matriz de coeficientes del sistema
anterior es cuadrada de dimensiones n+m y simétrica, lo que simplifica su tratamiento desde el
punto de vista numérico.
Este sistema de ecuaciones que sirve tanto para resolver los problemas dinámicos directos, en
los que las incógnitas son las aceleraciones, como los dinámicos inversos, en los que las
incógnitas son las fuerzas. En nuestro caso se trata de un problema inverso ya que lo que no
conocemos son las fuerzas.
23
El movimiento queda definido por medio de la ley horaria qi, que define las coordenadas
independientes. Para conocer la evolución de las demás coordenadas es necesario resolver el
problema de posición y el problema de velocidad, definidos por
C(q,t)=0 → q(t)
̇ → ̇ (2.3.1)
( ̈) ( ) ( ) (2.3.2)
Los multiplicadores de Lagrange asociados a las ecuaciones de movilidad son las fuerzas
motrices que producen el movimiento prescrito. Considérese por ejemplo, el mecanismo de
cuatro barras de la figura 2.7 en el que se desea calcular el par motriz, M2 necesario para que la
barra 2 gire a velocidad constante. La ecuación de movilidad y la fila de la matriz Cq asociada
serán
| | | T
(2.3.3)
( | | | | (2.3.4)
24
CAPÍTULO 3: MODELADO Y DESCRIPCIÓN DEL SISTEMA BICICLETA
ELÍPTICA
En este capítulo se describe el mecanismo de la bicicleta elíptica y el modelo matemático
cinemático y dinámico descrito en el capítulo anterior particularizado para nuestro caso.
Nuestro mecanismo se puede dividir en dos partes, la parte derecha y la parte izquierda de la
bicicleta. Ambas partes forman un mecanismo de 4 barras.
El mecanismo de la parte derecha sería el disco de inercia (barra 2), la barra 3 que es la que
llevaría la plataforma para colocar el pie derecho, y la barra 4 que es la barra donde
colocaríamos la mano derecha. Y el mecanismo de la parte izquierda sería el disco de inercia
(barra 2), la barra 5 que es la que llevaría la plataforma para colocar el pie izquierdo, ya la barra
6 que es la barra donde colocaríamos la mano izquierda. Para que haya una armonía en el
movimiento ambos lados están unidos al disco de inercia (barra 2) en puntos opuestos, para así
asegurar que cuando la plataforma de un pie esté abajo, la del otro pie quede arriba. Todo lo
descrito se observa en la figura en la figura 3.1.
Como estamos modelando en un plano, entonces nuestro mecanismo estará formado en total
por 6 barras, el cual tiene 7 pares de rotación, que son los siguientes:
O4: unión entre la barra 4 y la barra fija. Se trata de un par de rotación fijo.
O4: unión entre la barra 6 y la barra fija. Se trata de un par de rotación fijo.
Como se observa en la siguiente figura 3.1, en el par de rotación fijo O4 se unen tres barras.
25
FIGURA 3.1: DESCRIPCIÓN Y NUMERACIÓN DE BICICLETA ELÍPTICA
Para poder realizar el análisis de nuestro mecanismo, también hay que definir un sistema de
coordenadas de referencia.
26
3.2 DATOS BICICLETA ELÍPTICA
A continuación se detallan los datos de la bicicleta elíptica utilizados para el estudio. Estos datos
lo hemos obtenidos del catálogo de una marca de bicicletas elípticas llamada KETTLER.
En la siguiente figura 3.3 se representa los vectores definidos para la realización del modelo
matemático
El modelo elegido es KETTLER VISO XS, cuyos datos son los siguientes:
Barra 5: La siguiente a la barra 2i. Es la flotante, donde va puesta la plataforma para colocar el
pie izquierdo.
27
Barra 4: La que va desde la barra 3 hasta el punto fijo O4, y de O4 hasta P
Barra 2: espesor 1 cm
Distancia entre puntos fijos (0,97 m) y ángulo de la recta de unión entre puntos fijos y la
horizontal (0,578 rad).
Ambos pedales están opuestos en la barra 2, es decir, cuando la barra 3 está abajo, la barra 5
está arriba.
Con estos datos podemos calcular las masas y las inercias de todas las barras.
En esta sección vamos a proceder a calcular las masas y los momentos de inercias de todas las
barras del mecanismo.
Cálculo de Masas
28
Barra 2: Disco de inercia. Véase figura 3.4
m=
29
m=[ ] =
[ ]
m=[( )]
[( )]
FIGURA 3.7
30
La masa dm del elemento de longitud de la varilla comprendido entre x y x+dx es
FIGURA 3.8
Tomamos un elemento de masa que dista x del eje de rotación. El elemento es un anillo
de radio x y de anchura dx. Si recortamos el anillo y lo extendemos, se convierte en un
rectángulo de longitud 2x y anchura dx, véase figura 3.9.
FIGURA 3.9
La masa es:
31
El momento de inercia del disco es:
Barra 2:
Barra 3=Barra 5:
donde es la masa de la persona modelada de forma que en cada lado irá la mitad de su
masa, y d es la distancia de donde está aplicada la masa al eje de centro de gravedad.
Barra 4=Barra 6:
Sea "q" el vector de coordenadas naturales de los puntos característicos del mecanismo y "C" el
conjunto de restricciones geométricas que debe cumplir el mecanismo durante su
funcionamiento.
Las restricciones geométricas del mecanismo se pueden escribir, de forma compacta, como:
C(q , t) = 0
32
coordenadas naturales para una posición del mecanismo que cumple las restricciones
geométricas, para una determinada posición del eslabón de entrada.
Para obtener este vector inicial lo que hemos hecho es resolver la ecuación de lazo de cada
parte del mecanismo, es decir, primero para la parte derecha y luego para la parte izquierda.
La siguiente figura 3.10 define el mecanismo a estudiar. Los datos de partida son las longitudes
de las cuatro barras, las cuales son indeformables. El eslabón O2A es el eslabón motor, y en
función a cada posición (conocida) de este se va a calcular la posición de los eslabones AB y O4B.
Para estudiar la posición del mecanismo, es necesario definir sus ecuaciones de cierre. Estas
ecuaciones definen la geometría de la máquina mediante un número de ecuaciones no
dependientes igual al número de incógnitas. Para ello, se hará la descomposición cinemática del
mecanismo.
33
FIGURA 3.11: MECANISMO 4 BARRAS BICICLETA ELÍPTICA
A continuación, hay que plantear las ecuaciones de cierre del mecanismo, que son las siguientes:
Es un sistema de dos ecuaciones con dos incógnitas no lineal, en el que tenemos como datos las
longitudes de las barras, es decir, z1, z2, z3, z4; y el ángulo ϕ en cada instante. Las incógnitas son
Ω y ψ en función del ángulo del eslabón motor ϕ .
Por lo que si le damos un valor cualquiera a ϕ, en este caso le damos 0 rad, que es una posición
fácil de calcular, y resolvemos el sistema, obtenemos:
Ω=6,1706 rad
ψ=5,0295 rad
Resolviendo el mismo sistema de ecuaciones para el mecanismo de 4 barras del lado izquierdo,
dándole en este caso un valor a ϕ = π rad, obtenemos:
Ω’=6,2073 rad
ψ’=4,2762 rad
34
Una vez obtenido estos ángulos para una posición determinada ya podemos calcular el vector
de coordenadas naturales para dicha posición inicial “ ”. Para ello hay que tener en cuenta el
sistema de coordenadas de referencias elegido anteriormente. Véase figura 3.2.
=0; =0; =0
Coordenadas barra 2:
=0; =0; =0
Coordenadas barra 3:
= ; = ; =
Coordenadas barra 4:
= ; = ; =
Coordenadas barra 5:
= ; = ; =
Coordenadas barra 6:
= ; = ; =
Con todo ello ya tenemos un valor de q0 bastante real para poner como vector inicial y así poder
iniciar el método de Newton-Raphson.
En nuestro mecanismo las ecuaciones de restricción, que son sólo las correspondientes a los
pares de revolución son las siguientes:
También aclarar que las tres primeras ecuaciones de restricciones son referidas a la colocación
del sistema de referencia global, que en este caso lo vamos a colocar en el par O2, entonces:
(3.4.1)
; (3.4.2)
35
(3.4.3)
Para los pares de revolución de nuestro mecanismo se tiene que cumplir como se ha descrito en
la teoría la ecuación 2.1.6:
Par de revolución O2
como ( ) ( ) ; ( ) ( )
(3.4.4)
(3.4.5)
Par de revolución A
= siendo RA = Ri + Ai·
como ( ) ( ) ; ( ) ( )
( ) (3.4.6)
( ) (3.4.7)
36
Par de revolución B
= siendo RB = Ri + Ai·
como ( ) ( ) ; ( ) ( )
( ) (3.4.8)
( ) (3.4.9)
Par de revolución O4
como ( ) ( ) ; ( ) ( )
(3.4.10)
(3.4.11)
Par de revolución C
= siendo RC = Ri + Ai·
como ( ) ( ) ; ( ) ( )
37
Por lo que queda:
( ) (3.4.12)
( ) (3.4.13)
Par de revolución D
= siendo RD = Ri + Ai·
como ( ) ( ) ; ( ) ( )
( ) (3.4.14)
( ) (3.4.15)
Par de revolución O4
como ( ) ( ) ; ( ) ( )
(3.4.16)
(3.4.17)
Nos faltaría la ecuación de movilidad, para poder cerrar nuestro sistema de ecuaciones, que en
nuestro caso se la imponemos a la barra 2 la cual va a ser nuestra barra motriz:
38
(3.4.18)
( )
( )
( )
( )
C(q,t)=
( )
( )
( )
( )
39
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
40
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0
𝑙
0 0 0 1 0 -𝑙 𝑠𝑒𝑛𝜃 -1 0 - 𝑠𝑒𝑛𝜃 0 0 0 0 0 0 0 0 0
𝑙
0 0 0 0 1 𝑙 𝑐𝑜𝑠𝜃 0 -1 𝑐𝑜𝑠𝜃 0 0 0 0 0 0 0 0 0
𝑙 𝑙
0 0 0 0 0 0 1 0 - 𝑠𝑒𝑛𝜃 -1 0 - 𝑠𝑒𝑛𝜃 0 0 0 0 0 0
𝑙 𝑙
0 0 0 0 0 0 0 1 𝑐𝑜𝑠𝜃 0 -1 𝑐𝑜𝑠𝜃 0 0 0 0 0 0
𝐶𝑞
-1 0 𝑑𝑥 𝑠𝑒𝑛𝜃 𝑑𝑦 𝑐𝑜𝑠𝜃 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 -1 𝑑𝑥 𝑐𝑜𝑠𝜃 𝑑𝑦 𝑠𝑒𝑛𝜃 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
𝑙
0 0 0 1 0 𝑙 𝑠𝑒𝑛𝜃 0 0 0 0 0 0 -1 0 - 𝑠𝑒𝑛𝜃 0 0 0
𝑙
0 0 0 0 1 𝑙 𝑐𝑜𝑠𝜃 0 0 0 0 0 0 0 -1 𝑐𝑜𝑠𝜃 0 0 0
𝑙 𝑙
0 0 0 0 0 0 0 0 0 0 0 0 1 0 - 𝑠𝑒𝑛𝜃 -1 0 - 𝑠𝑒𝑛𝜃
𝑙 𝑙
0 0 0 0 0 0 0 0 0 0 0 0 0 1 𝑐𝑜𝑠𝜃 0 -1 𝑐𝑜𝑠𝜃
tiempo hay que aplicar el método de Newton-Raphson (véase ecuación 2.1.11):
-1 0 𝑑𝑥 𝑠𝑒𝑛𝜃 𝑑𝑦 𝑐𝑜𝑠𝜃 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 -1 𝑑𝑥 𝑐𝑜𝑠𝜃 𝑑𝑦 𝑠𝑒𝑛𝜃 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Para poder determinar el vector “q” de nuestro sistema de ecuaciones en cada instante de
Para ello, tenemos que calcular el jacobiano “Cq” de nuestro sistema C. Véase ecuación 2.1.12.
Ahora ya sí, se puede aplicar el método y obtener “q” para cualquier instante de tiempo. Todo ello se
ha realizado con el programa de cálculo numérico Matlab.
Una vez resuelto el problema de posición, el sistema de ecuaciones (2.1.15) se deriva con respecto al
tiempo y se obtienen las ecuaciones de velocidad (2.1.17) y que se suele escribir de forma más
abreviada como ecuación (2.1.18):
Entonces de esta ecuación (2.1.18) sólo nos queda por conocer la matriz Ct . Resultando:
Una vez obtenidas las expresiones para el cálculo de la velocidad, volviendo a derivar las ecuaciones de
restricción respecto del tiempo se obtiene la ecuación (2.1.22):
A continuación calculamos las matrices que nos quedan por conocer. Resultando:
2Cqt· ̇ =0
41
̇
̇ ̇
̇ ̇ ̇ ̇
̇ ̇ ̇ ̇
̇ ̇ ̇ ̇
̇ ̇ ̇ ̇
̇= ̇
̇ ̇
̇ ̇ ̇
̇ ̇ ̇ ̇
̇ ̇ ̇ ̇
̇ ̇ ̇ ̇
̇ ̇ ̇ ̇
̇ ̇ ̇
̇ ̇ ̇
Este último sistema se deriva parcialmente respecto a las coordenadas de referencia y obtenemos la
matriz que nos falta para poder calcular la aceleración.
42
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
43
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 -𝜃̇ 𝑙 𝑐𝑜𝑠𝜃 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 -𝜃̇ 𝑙 𝑐𝑜𝑠𝜃 0 0 0 0 0 0 0 0 0
𝑙
0 0 𝜃̇ 𝑑𝑥 𝑐𝑜𝑠𝜃 𝑑𝑦 𝑠𝑒𝑛𝜃 0 0 0 0 0 0 0 0 -𝜃̇ 𝑐𝑜𝑠𝜃 0 0 0 0 0 0
𝐵𝑞
𝑙
0 0 𝜃̇ 𝑑𝑥 𝑠𝑒𝑛𝜃 𝑑𝑦 𝑐𝑜𝑠𝜃 0 0 0 0 0 0 0 0 -𝜃̇ 𝑠𝑒𝑛𝜃 0 0 0 0 0 0
𝑙
0 0 0 0 0 𝜃̇ 𝑙 𝑐𝑜𝑠𝜃 0 0 0 0 0 0 0 0 -𝜃̇ 𝑐𝑜𝑠𝜃 0 0 0
𝑙
0 0 0 0 0 𝜃̇ 𝑙 𝑠𝑒𝑛𝜃 0 0 0 0 0 0 0 0 -𝜃̇ 𝑠𝑒𝑛𝜃 0 0 0
𝑙 𝑙
0 0 0 0 0 0 0 0 0 0 0 0 0 0 -𝜃̇ 𝑐𝑜𝑠𝜃 0 0 -𝜃̇ 𝑐𝑜𝑠𝜃
𝑙 𝑙
0 0 0 0 0 0 0 0 0 0 0 0 0 0 -𝜃̇ 𝑠𝑒𝑛𝜃 0 0 -𝜃̇ 𝑠𝑒𝑛𝜃
0 0 𝜃̇ 𝑑𝑥 𝑐𝑜𝑠𝜃 𝑑𝑦 𝑠𝑒𝑛𝜃 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 𝜃̇ 𝑑𝑥 𝑠𝑒𝑛𝜃 𝑑𝑦 𝑐𝑜𝑠𝜃 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Entonces una vez conocido las matrices, el cálculo de la aceleración sería: ̈ ̇
Una vez resuelto el problema cinemático, se estudia el problema dinámico, es decir, el estudio de las
ecuaciones que relacionan las masas con la cinemática del mecanismo y con las fuerzas.
Nuestra matriz M, al estar colocados los ejes locales en los centros de gravedad de cada barra, resulta
una matriz triangular, siendo:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 m2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 m2 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 I2 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 m3 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 m3 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 I3 0 0 0 0 0 0 0 0 0
M=
0 0 0 0 0 0 0 0 0 m4 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 m4 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 I4 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 m5 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 m5 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 I5 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 m6 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 m6 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I6
44
El vector Q de fuerzas externas de nuestro sistema estará formado por la suma de la fuerza
gravitatoria, fuerza centrífuga y la fuerza de fricción.
=(0 0)T; ya que los ejes locales están colocados en los centros de gravedad de cada barra
0 0 0
0 0 0
0 0 0
0 0 0
- m2·9.81 0 0
0 0 c·w
0 0 0
-m3·9.81 0 0
0 0 0
Qgrav= Qcentrigufa= Qfriccion=
0 0 0
-m4·9.81 0 0
0 0 0
0 0 0
-m5·9.81 0 0
0 0 0
0 0 0
-m6·9.81 0 0
0 0 0
Como se observa la fuerza externa Qcentrifuga= 0 ya que hemos colocado los ejes locales de referencia en
su centro de gravedad.
45
También comentar que el término c·w que aparece en el vector Qfriccion representa la resistencia que va
a provocar el generador, el cual irá colocado en la barra 2.
Los multiplicadores de Lagrange asociados a las ecuaciones de movilidad son las fuerzas motrices que
producen el movimiento prescrito. Considerando nuestro mecanismo en el cual se desea calcular el
par motriz, M2 necesario para que la barra 2 gire a velocidad constante. La ecuación de movilidad y la
fila de la matriz Cq asociada serán
| | | | | T
λ= (0 0 0
)T;
46
CAPÍTULO 4: DESCRIPCIÓN DEL SOFTWARE Y USO.
En este capítulo se detalla el proceso de cálculo que nos llevará a la solución. Se hará mediante la
ayuda del software de cálculo numérico MATLAB.
La programación se ha hecho muy esquemática, para así facilitar su lectura. Para ello se ha
programado varias funciones que se explican a continuación. Todas las funciones serán llamadas por
un script en el cual se le introduce todos los datos de nuestro mecanismo y las condiciones iniciales, y
el script te calcula tanto la cinemática como la dinámica y finalmente representa y simula el
mecanismo.
Antes de explicar cada apartado, a modo de introducción, hay que decir que cada función estará
gobernada por un archivo llamado simulacionfinal.m.
Esta sección engloba las funciones necesarias para el cálculo del problema de posición de nuestro
mecanismo.
Función NewtonRaphsonJacob.m
Finalidad del archivo
El objetivo de esta función es calcular nuestro problema de posición mediante algoritmo de Newton-
Raphson explicado anteriormente para la cinemática numérica plana. Para ello se introducirá la
ecuación a resolver, los datos de entrada necesarios y las restricciones necesarias.
Algunos de los datos necesarios para este archivo serán proporcionados de forma automática por
simulacionfinal.m. El resto de datos, (condiciones de contorno y ecuaciones a resolver) deberán
introducirse manualmente abriendo el fichero y escribiendo en él.
Para ello hay que darle unos datos de entrada, que son los siguientes:
47
Las restricciones de nuestro problema. Que llamamos fun, y que como veremos en simulacionfinal.m
será una función llamada Restricciones.m
El jacobiano de nuestro problema. Que llamamos jac, y que como veremos en simulacionfinal.m será
una función llamada Jacobiano.m
AbsErr=10^(-3);
MaxIter=100;
Niter=0;
ok=0;
while ((ok==0)&&(Niter<MaxIter))
Niter=Niter+1;
CC = feval(fun,x0);
Cq = feval(jac,x0);
if (max(abs(CC))<AbsErr)
ok=1;
end
x=x0-Cq\CC;
x0=x;
end
Función Restricciones.m
Finalidad del archivo
El objetivo de esta función es generar las ecuaciones de restricción de nuestro problema (C(q,t)=0),
para ello hay que darle como dato de entrada nuestro sistema de coordenadas q.
48
Argumentos de entrada y de salida
C(3*n,1) = q(6)+w*t;
Función RestrPares.m
Finalidad del archivo
El objetivo de esta función es calcular las ecuaciones de restricciones impuestas por los pares
cinemáticos.
Este archivo genera las filas correspondientes a las restricciones de los pares cinemáticos de nuestro
sistema de ecuaciones de nuestro mecanismo C.
49
for i=1:length(DEP)
q(DEP(i))=qdep(i);
end
C(1,1)=q(1);
C(2,1)=q(2);
C(3,1)=q(3);
for k=1:nr;
i=R(1,k);
j=R(2,k);
Ri=[q((i-1)*3+1) q((i-1)*3+2)]';
teti=q((i-1)*3+3);
Rj=[q((j-1)*3+1) q((j-1)*3+2)]';
tetj=q((j-1)*3+3);
ri=[DR(1,k) DR(2,k)]';
rj=[DR(3,k) DR(4,k)]';
Rr = Rotula(Ri,teti,ri,Rj,tetj,rj);
C(3+2*(k-1)+1,1)=Rr(1);
C(3+2*(k-1)+2,1)=Rr(2);
end
for k=1:np;
i=P(1,k);
j=P(2,k);
Ri=[q((i-1)*3+1) q((i-1)*3+2)]';
teti=q((i-1)*3+3);
Rj=[q((j-1)*3+1) q((j-1)*3+2)]';
tetj=q((j-1)*3+3);
ri=[DP(1,k) DP(2,k)]';
hi=[DP(3,k) DP(4,k)]';
rj=[DP(5,k) DP(6,k)]';
Rp = Prism(Ri,teti,ri,hi,Rj,tetj,rj);
C(3+2*nr+2*(k-1)+1,1)=Rp(1);
C(3+2*nr+2*(k-1)+2,1)=Rp(2);
end
50
Función Rotula.m
Finalidad del archivo
El objetivo de esta función es devolver las ecuaciones de restricciones de los pares de rotación (2.1.5),
es decir, introduciendo Ri,θi,ri,Rj,θj,rj lo que hace internamente es lo siguiente:
Esta función toma como argumentos de entrada la posición de la rótula respecto a cada barra
implicada, es decir, Ri,θi,ri,Rj,θj,rj .
Generaría como salida una matriz C correspondientes a las ecuaciones de los pares de revolución.
Función RotMat.m
Finalidad del archivo
El objetivo de esta función es devolverte la matriz Ai introduciendo los ángulos respectivos, donde Ai es
la matriz de giro que expresa el vector local en coordenadas globales.
Ai=( )
Esta función toma como argumentos de entrada la posición del ángulo de la barra implicada.
% Se genera la matriz A
51
A(1,1)=cos(x);
A(1,2)=-sin(x);
A(2,1)=sin(x);
A(2,2)=cos(x);
Función Prism.m
Finalidad del archivo
El objetivo de esta función es devolver las ecuaciones de restricciones de los pares prismáticos (2.1.8) y
(2.1.9), es decir, introduciendo Ri,θi,ri,hi,Rj,θj,rj lo que hace internamente es lo siguiente:
Esta función toma como argumentos de entrada la posición del par prismático respecto a cada barra
implicada, es decir, Ri,θi,ri,hi,Rj,θj,rj.
Generaría como salida una matriz C correspondientes a las ecuaciones de los pares prismáticos.
Función Jacobiano.m
Finalidad del archivo
El objetivo de esta función es calcular el jacobiano (Cq(q,t)) del sistema del ecuaciones de restricción
de nuestro problema, para ello hay que darle como dato nuestro sistema de coordenadas q.
52
Cq = =
( )
A esta función hay que darle como dato nuestro sistema de coordenadas q.
Cq(3*n,6) = 1;
Función JacobPares.m
Finalidad del archivo
Esta función te calcula el jacobiano de las ecuaciones de restricciones impuestas por los pares
cinemáticos, tanto los de revolución como los prismáticos.
Se genera la submatriz Cq correspondiente a las ecuaciones impuestas por los pares cinemáticos
existentes.
53
global IND DEP qind;
for k=1:nr;
%Localizamos las barras que actúan en el par nr correspondiente
i=R(1,k);
j=R(2,k);
end
54
for k=1:np;
%Localizamos las barras que actúan en el par np correspondiente
i=P(1,k);
j=P(2,k);
%Localizamos la posición del par respecto a los ejes locales de cada barra
ri=[DP(1,k) DP(2,k)]';
hi=[DP(3,k) DP(4,k)]';
rj=[DP(5,k) DP(6,k)]';
end
Cqdep = zeros(m,m);
for i=1:length(DEP)
Cqdep(:,i) = Cq(:,DEP(i));
end
Función Jac_rotula.m
Finalidad del archivo
Esta función te devuelve el jacobiano correspondiente a las ecuaciones de restricciones de los pares de
revolución.
Ejemplo:
Par de revolución A
= siendo RA = Ri + Ai·
55
( )+( )·( ) -( ) - ( )·( ) =( )
como ( ) ( ) ; ( ) ( )
( )
( )
Entonces
( )
Cq= =( )=( )
( )
Esta función toma como argumentos de entrada la posición de la rótula respecto a cada barra
implicada, es decir, Ri,θi,ri,Rj,θj,rj .
Generaría como salida la matriz jacobiana Cq correspondiente a las ecuaciones de restricción de los
pares de revolución.
Cq=zeros(2,6);
Ateti = RotTet(teti);
Atetj = RotTet(tetj);
Cq(1:2,1:2)=eye(2);
Cq(1:2,4:5)=-eye(2);
Cq(1:2,3)=Ateti*ri;
Cq(1:2,6)=-Atetj*rj;
56
Función RotTet.m
Finalidad del archivo
El objetivo de esta función es devolverte la matriz introduciendo los ángulos respectivos, donde Ai
es la matriz de giro que expresa el vector local en coordenadas globales.
Ai=( )
y donde designa a la matriz que se obtiene al derivar la matriz Ai componente a componente con
respecto a θi:
=( )
Esta función toma como argumentos de entrada la posición del ángulo de la barra implicada.
Atet(1,1)=-sin(x);
Atet(1,2)=-cos(x);
Atet(2,1)=cos(x);
Atet(2,2)=-sin(x);
Función Jac_prism.m
Finalidad del archivo
Esta función te devuelve el jacobiano correspondiente a las ecuaciones de restricciones de los pares
prismáticos. Véase ecuación 2.1.29.
Realiza prácticamente los mismos cálculos que la función Jac_rotula.m pero en este caso con las
restricciones de los pares prismáticos.
Esta función toma como argumentos de entrada la posición del par prismático respecto a cada barra
implicada, es decir, Ri,θi,ri,hi,Rj,θj,rj
57
Generaría como salida, la matriz jacobiana Cq correspondiente a las ecuaciones de restricción de los
pares de prismáticos existentes.
Cq=zeros(2,6);
Ai = Rotmat(teti);
Aj = Rotmat(tetj);
Ateti = RotTet(teti);
Atetj = RotTet(tetj);
Cq(1,3)=1;
Cq(1,6)=-1;
Cq(2,1:2)=(Ai*hi)';
Cq(2,4:5)=-(Ai*hi)';
Cq(2,3)=(Ateti*hi)'*(Ri+Ai*ri-Rj-Aj*rj)+(Ai*hi)'*(Ateti*ri);
Cq(2,6)=(Ai*hi)'*(-Atetj*rj);
Aclarar que en nuestro mecanismo no hay pares prismáticos, así que estas funciones no van a influir.
A continuación se representa un esquema para ver con mayor claridad la interacción de las distintas
funciones anteriormente comentadas para realizar el cálculo del problema de posición de nuestro
mecanismo mediante el algoritmo de Newton-Raphson. Véase figura 4.1
58
Entrada
qinicial NewtonRaphsonJacob.m
Devuelve (q)
Entrada
Entrada
Restricciones.m Jacobiano.m
Llama a Llama a
RestrPares.m JacobPares.m
Llama a
Llama a
Llama a
Llama a
RotTet.m Llama a
RotMat.m
Devuelve Devuelve
59
4.2 FUNCIONES PROBLEMA VELOCIDAD
Este apartado engloba las funciones necesarias para el cálculo del problema de velocidad de nuestro
mecanismo.
Una vez resuelto el problema de posición, resolvemos el problema de velocidad, que para ello
tenemos que resolver la ecuación.
Como se observa solo tenemos que programar una función para que nos devuelva la matriz Ct.
Función DtRestr.m
Finalidad del archivo
A continuación, este apartado engloba las funciones necesarias para el cálculo del problema de
aceleración de nuestro mecanismo.
60
Después del problema de velocidad hay que calcular el problema de aceleración, para ello tenemos
que resolver la ecuación:
̈ ̇
Función MatrizBq.m
Te devuelve la matriz Bq de nuestro sistema, para ello hay que introducirle la posición (q) y la velocidad
( ̇ ).
El objetivo de esta función es calcular la matriz Bq del sistema del ecuaciones de restricción de nuestro
problema, siendo:
Cq = = Cq· ̇
( )
Bq = (Cq· ̇ )
61
Función MatBqPares.m
Finalidad del archivo
Esta función te calcula la matriz Bq de las ecuaciones de restricciones impuestas por los pares
cinemáticos, tanto los de revolución como los prismáticos.
Se genera la submatriz Bq’ correspondiente a las ecuaciones impuestas por los pares cinemáticos
existentes.
62
% Generamos la matriz Bq referidas a las restricciones impuesta por los
pares de revolución
Bqr=Bq_rotula(Ri,teti,Vi,dteti,ri,Rj,tetj,Vj,dtetj,rj);
end
end
Función Bq_rotula.m
Finalidad del archivo
Esta función te devuelve los valores de la matriz Bq correspondiente a las ecuaciones de restricciones
de los pares de revolución. Véase ecuación (2.1.29)
63
Argumentos de entrada y salida
Esta función toma como argumentos de entrada la posición y velocidad de la rótula respecto a cada
barra implicada, es decir, Ri,θi, ̇ , ̇ ,ri,Rj,θj, ̇ , ̇ ,rj .
Generaría como salida los valores de la matriz Bq correspondiente a las ecuaciones de restricción de
los pares de revolución.
Bq(1:2,3)=-dteti*Ai*ri;
Bq(1:2,6)=dtetj*Aj*rj;
Función Bq_prism.m
Finalidad del archivo
Esta función te devuelve los valores de la matriz Bq correspondiente a las ecuaciones de restricciones
de los pares prismáticos. Véase ecuación (2.1.31).
Esta función toma como argumentos de entrada la posición y velocidad del par prismático respecto a
cada barra implicada, es decir, Ri,θi, ̇ , ̇ ,hi,ri,Rj,θj, ̇ , ̇ ,rj ,hj.
Generaría como salida los valores de la matriz Bq correspondiente a las ecuaciones de restricción de
los pares prismáticos
64
% Se genera la matriz A de cada barra implicada llamando a la función Rotmat
Ai = Rotmat(teti);
Aj = Rotmat(tetj);
Función DttRestr.m
Finalidad del archivo
Ctt = zeros(3*n,1);
Ctt(3*n,1) = 0;
En este apartado se explica las funciones utilizadas para poder realizar el cálculo dinámico de nuestro
mecanismo.
65
( )·( ̈ )=( ̇ ̇ ̇
)
En el anterior sistema de ecuación tenemos que programar las funciones para que nos calcule la matriz
de masa M, y los vectores de fuerzas externas necesarios. Las funciones programadas son las
siguientes:
Función MatrizMasa.m
Finalidad del archivo
Esta función tiene como objetivo generar la matriz de Masa M del mecanismo.
siendo
M =( )
for i = 1:n,
% Se localiza el ángulo de cada barra y generamos la variable teti
teti = q(3*(i-1)+3,1);
% Se genera la matriz Atet de cada barra
Atet = RotTet(teti);
% Se localiza los valores de las masas y generamos la variable mi
mi = inercias(1,i);
% Se localiza la posición del eje local de cada barra elegido, con
respecto al centro de gravedad de las barras, y generamos el vector rG
rG = inercias(3:4,i);
M(3*(i-1)+1:3*(i-1)+2,3*(i-1)+1:3*(i-1)+2) = mi*eye(2);
M(3*(i-1)+3,3*(i-1)+3) = I;
66
M(3*(i-1)+1:3*(i-1)+2,3*(i-1)+3) = mi*Atet*rG;
M(3*(i-1)+3,3*(i-1)+1:3*(i-1)+2) = mi*rG'*Atet';
end
Función FCentrifuga.m
Finalidad del archivo
Esta función te devuelve la fuerzas centrífugas Qcentrifugas, para ello hay que introducirle la posición (q).
for i = 1:n,
% Se localiza el ángulo de cada barra y generamos la variable teti
teti = q(3*(i-1)+3,1);
% Se genera la matriz A de cada barra llamando a la función Rotmat
A = Rotmat(teti);
% Se localiza los valores de las masas y generamos la variable mi
mi = inercias(1,i);
% Se localiza la posición del eje local de cada barra elegido, con
respecto al centro de gravedad de las barras, y generamos la variable rG
rG = inercias(3:4,i);
% Vamos calculando los valores correspondientes de la matriz Qv y
colocándolos en sus respectivas posiciones
Qv(3*(i-1)+1:3*(i-1)+2,1) = mi*teti^2*A*rG;
end
Función FGravedad.m
Finalidad del archivo
Esta función te devuelve la fuerzas gravitatorias Qgrav, para ello hay que introducirle la posición (q).
67
Siendo Qgrav=(0 mi·g mi·g· · )T y g=(0 -9.81)T;
for i = 1:n,
% Se localiza el ángulo de cada barra y generamos la variable teti
teti = q(3*(i-1)+3,1);
% Se genera la matriz Atet de cada barra llamando a la función RotTet
Atet = RotTet(teti);
% Se localiza los valores de las masas y generamos la variable mi
mi = inercias(1,i);
% Se localiza la posición del eje local de cada barra elegido, con
respecto al centro de gravedad de las barras, y generamos la variable rG
rG = inercias(3:4,i);
% Vamos calculando los valores correspondientes de la matriz Qgrav y
colocándolos en sus respectivas posiciones
Qgrav(3*(i-1)+1:3*(i-1)+2,1) = mi*g;
Qgrav(3*(i-1)+3,1) = mi*rG'*Atet'*g;
end
Una vez resuelto la programación tanto de la cinemática como de la dinámica de nuestro mecanismo,
en este apartado se mostrará las funciones y el script utilizado para poder representar los resultados
obtenidos y simular el mecanismo.
Función PosicionPunto.m
Finalidad del archivo
Esta función te devuelve la posición de cualquier punto (P) respecto de nuestro sistema referencia
global. El cálculo que realiza es el siguiente:
68
Argumentos de entrada y de salida
Y genera como argumento de salida el vector Rp, que sería la posición en ejes globales de cada punto
del mecanismo.
Simulacionfinal.m
Script del programa ejecutable.
El script es un archivo-m que contiene una serie de comandos que se ejecutarán al ejecutar dicho
archivo en MatLab. En dicho script se introducirán los datos de entradas necesarios. Una vez
introducidos el script irá llamando a las funciones anteriormente explicadas, e irá calculando todas
nuestras ecuaciones. Tanto el problema cinemático (posición, velocidad, aceleración) como el
problema dinámico. También hará una representación y simulación del mecanismo. Por último sacará
por pantalla los gráficos del par motor, potencia instantánea y trabajo motor respecto al tiempo.
global n nr np R P DR DP;
global IND DEP qind;
global t w;
global inercias g;
%Son vectores que nos indician las barras que intervienen en cada rótula
69
R(1:2,1)=[1 2]';%por ejemplo en la rótula 1 interviene la barra 1 y la 2
R(1:2,2)=[2 3]';
R(1:2,3)=[3 4]';
R(1:2,4)=[4 1]';
R(1:2,5)=[2 5]';
R(1:2,6)=[5 6]';
R(1:2,7)=[6 1]';
DR(1:2,2)=[norm(z2) 0]';
DR(3:4,2)=[-norm(z3)/2 0]';
DR(1:2,3)=[norm(z3)/2 0]';
DR(3:4,3)=[-norm(z4)/2 0]';
DR(1:2,4)=[0 0]';
DR(3:4,4)=[0.97*cos(0.578) 0.97*sin(0.578)]';
DR(1:2,5)=[-norm(z2) 0]';
DR(3:4,5)=[-norm(z5)/2 0]';
DR(1:2,6)=[norm(z5)/2 0]';
DR(3:4,6)=[-norm(z6)/2 0]';
%
DR(1:2,7)=[0 0]';
DR(3:4,7)=[0.97*cos(0.578) 0.97*sin(0.578)]';
inercias(:,1) = [0 0 [0 0]]';
inercias(:,2) = [14.205 ((norm(z2)^2)*14.205/2+(0.046)) [0 0]]';
inercias(:,3) = [1.738 ((norm(z3)^2)*1.738/12 + 50*(0.2^2)) [0 0]]';
inercias(:,4) = [1.892 ((norm(z4)^2)*1.892/12) [0 0]]';
inercias(:,5) = [1.738 ((norm(z5)^2)*1.738/12 + 50*(0.2^2)) [0 0]]';
inercias(:,6) = [1.892 ((norm(z6)^2)*1.892/12) [0 0]]';
%Dirección y sentido de la gravedad
g = [0 -9.81]';
%%%%%%%%%%%%%%%%%%%%%%%%%
% SIMULACIÓN CINEMÁTICA %
%%%%%%%%%%%%%%%%%%%%%%%%%
IND = [];
DEP = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18]';
%Representamos los ángulos de cada barra en la condicional inicial elegida
fi20 = atan2(z2(2),z2(1))
psi20 = atan2(z4(2),z4(1))
70
teta20 = atan2(z3(2),z3(1))
psid20 = atan2(z6(2),z6(1))
tetad20 = atan2(z5(2),z5(1))
%Estimacion inicial
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% BUCLE DE SOLUCIÓN DEL PROBLEMA DE POSICIÓN %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
q = zeros(3*n, length(tspan));
v = zeros(3*n, length(tspan));
a = zeros(3*n, length(tspan));
lam = zeros(3*n, length(tspan));
for i=1:length(tspan),
t = tspan(i);
%PROBLEMA DE POSICION
%Resolvemos el problema de posición mediante el algoritmo de
%Newton-Raphson empleando la siguiente función
q(:,i) = NewtonRaphsonJacob(@Restricciones,@Jacobiano,q0);
Cq = Jacobiano(q(:,i));%Calcula el jacobiano
Ct = DtRestr;
%CALCULO DE VELOCIDADES
v(:,i) = -Cq\Ct;
Bq = MatrizBq(q(:,i),v(:,i));
Ctt = DttRestr;
AA(1:3*n,1:3*n) = M;
AA(1:3*n,3*n+1:6*n) = Cq';
AA(3*n+1:6*n,1:3*n) = Cq;
bb(1:3*n,1) = Qv+Qgrav+Qfriccion;
bb(3*n+1:6*n,1) = gam;
xx = AA\bb;
a(:,i) = xx(1:3*n,1);
71
lam(:,i) = xx(3*n+1:6*n,1);%multimplicadores de Lagrange
q0 = q(:,i);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% POSTPROCESO DE RESULTADOS %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(1);
hold on;
axis equal;
for i=1:length(tspan),
RO2 = [0 0]';
RA = PosicionPunto(q(3*(2-1)+1:3*(2-1)+3,i),[norm(z2) 0]');%Esta función
%te va calculando el punto que se desee, en este caso A con respecto al
%eje de coordenadas local de la barra en cada instante de tiempo
RB = PosicionPunto(q(3*(3-1)+1:3*(3-1)+3,i),[norm(z3)/2 0]');
RO4 = PosicionPunto(q(3*(4-1)+1:3*(4-1)+3,i),[0 0]');
RP=PosicionPunto(q(3*(4-1)+1:3*(4-1)+3,i),[norm(z4)/2 0]');
RO5=z1;
RC = PosicionPunto(q(3*(5-1)+1:3*(5-1)+3,i),[-norm(z5)/2 0]');
RD = PosicionPunto(q(3*(6-1)+1:3*(6-1)+3,i),[-norm(z6)/2 0]');
RQ=PosicionPunto(q(3*(6-1)+1:3*(6-1)+3,i),[norm(z6)/2 0]');
X=[RO2(1) RA(1) RB(1) RO4(1) RP(1)];
Xd=[RO2(1) RC(1) RD(1) RO4(1) RQ(1)];
Y=[RO2(2) RA(2) RB(2) RO4(2) RP(2)];
Yd=[RO2(2) RC(2) RD(2) RO4(2) RQ(2)];
plot(X,Y,'b',Xd,Yd,'g');
end
% ANIMACIÓN
for i=1:length(tspan),
RO2 = [0 0]';
RA = PosicionPunto(q(3*(2-1)+1:3*(2-1)+3,i),[norm(z2) 0]');
RB = PosicionPunto(q(3*(3-1)+1:3*(3-1)+3,i),[norm(z3)/2 0]');
RO4 = PosicionPunto(q(3*(4-1)+1:3*(4-1)+3,i),[0 0]');
RP=PosicionPunto(q(3*(4-1)+1:3*(4-1)+3,i),[norm(z4)/2 0]');
RO5 = z1;
RC = PosicionPunto(q(3*(5-1)+1:3*(5-1)+3,i),[-norm(z5)/2 0]');
RD = PosicionPunto(q(3*(6-1)+1:3*(6-1)+3,i),[-norm(z6)/2 0]');
RQ=PosicionPunto(q(3*(6-1)+1:3*(6-1)+3,i),[norm(z6)/2 0]');
X=[RO2(1) RA(1) RB(1) RO4(1) RP(1)];
Y=[RO2(2) RA(2) RB(2) RO4(2) RP(2)];
Xd=[RO2(1) RC(1) RD(1) RQ(1)];
Yd=[RO2(2) RC(2) RD(2) RQ(2)];
72
if i ==1
figure(2);
hold on;
axis equal;
axis([-2 4 -2 2]);
h = plot(X,Y,'XDataSource','X','YDataSource','Y');
h2 = plot(Xd,Yd,'g','XDataSource','Xd','YDataSource','Yd');
else
refreshdata(h,'caller')
refreshdata(h2,'caller')
pause(0.1);
drawnow;
end
end
%Representación Par Motor
figure(3);
plot(tspan,lam(18,:));
title('Par Motor ');
ylabel('Par (Nm)');
xlabel('Tiempo (s)');
figure(5);
plot(tspan,Wmot);
title('Trabajo Motor');
ylabel('Trabajo (J)');
xlabel('Tiempo (s)');
media_par=mean(lam(18,:))
media_potencia=mean(lam(18,:)*w)
rms_par=sqrt(mean((lam(18,:)).^2))
%Cálculo RMS de la potencia. Este es el valor que vamos a utilizar para
%el estudio económico
rms_potencia=sqrt(mean((lam(18,:)*w).^2))
73
74
CAPÍTULO 5: ESTUDIO ECONÓMICO
En este capítulo se realizará un estudio económico sobre lo que supondría la colocación de un
generador eléctrico a nuestro mecanismo.
5.1. INTRODUCCIÓN.
En este capítulo del proyecto se trata de analizar la rentabilidad del mismo proyecto. La energía
mecánica generada por la fuerza humana se va a aprovechar para convertirla a energía eléctrica. Para
ello vamos a tener que colocar un generador eléctrico en cada bicicleta elíptica de manera que todos
ellos vayas conectados mediante los cables a una batería.
Para realizar el estudio vamos a tener en cuenta una serie de variables de nuestro mecanismo que va a
ser clave para la obtención de los resultados. Dichas variables son la frecuencia angular (rpm) de la
barra motriz, es decir, la barra 2 y la masa de la persona que se monte en la bicicleta (kg). Dándole
valores a las variables y combinándolas, obtendremos la potencia mecánica generada en nuestro
mecanismo (W).
Una vez obtenida la potencia mecánica generada buscaremos un generador que se adapte a nuestras
condiciones lo máximo posible, y con ello obtendremos la potencia eléctrica generada, la cual
utilizaremos para realizar nuestro estudio.
Para poder convertir la energía mecánica generada por la acción humana a través de nuestro
mecanismo a energía eléctrica necesitamos un generador eléctrico que se adapte lo máximo posible a
nuestras condiciones, especialmente de par (N·m) y frecuencia angular (rpm).
Dinamo: La dinamo es una máquina eléctrica que, absorbiendo energía mecánica, genera una
corriente eléctrica pulsante, que en la práctica puede considerarse como continua, cuya tensión
depende de la velocidad de rotación: aumentando el número de revoluciones aumenta también la
tensión. Dado que la instalación eléctrica de los automóviles trabaja a tensión fija (6, 12 ó 24 V), la
tensión de la dinamo debe mantenerse constante mediante un sistema de regulación.
Las dinamos o generadores eléctricos para ruedas siempre han estado presentes en la historia del
ciclismo, principalmente para proveer de la energía necesaria a infinidad de modelos de luces para
bicicletas.
Alternador: Aparato o dispositivo electromagnético que genera corriente eléctrica alterna mediante
la transformación de energía mecánica en energía eléctrica gracias a la inducción producida por un
imán que se mueve en el interior de una bobina.
Motor de corriente continua: El motor de corriente continua es una máquina que convierte la energía
eléctrica continua en mecánica, provocando un movimiento rotatorio.
75
Esta máquina de corriente continua es una de las más versátiles en la industria. Su fácil control de
posición, par y velocidad la han convertido en una de las mejores opciones en aplicaciones de control y
automatización de procesos. Los motores de corriente continua se siguen utilizando en muchas
aplicaciones de potencia (trenes y tranvías) o de precisión (máquinas, micro motores, etc.)
Una máquina de corriente continua (generador o motor) se compone principalmente de dos partes, un
estator que da soporte mecánico al aparato y tiene un hueco en el centro generalmente de forma
cilíndrica. En el estator además se encuentran los polos, que pueden ser de imanes permanentes o
devanados con hilo de cobre sobre núcleo de hierro. El rotor es generalmente de forma cilíndrica,
también devanado y con núcleo, al que llega la corriente mediante dos escobillas.
Los motores y los generadores de corriente continua están constituidos esencialmente por los mismos
elementos, diferenciándose únicamente en la forma de utilización. Por reversibilidad entre el motor y
el generador se entiende que si se hace girar al rotor, se produce en el devanado inducido una fuerza
electromotriz capaz de transformarse en energía en el circuito de carga. En cambio, si se aplica una
tensión continua al devanado inducido del generador a través del colector de delgas, el
comportamiento de la máquina ahora es de motor, capaz de transformar la fuerza contraelectromotriz
en energía mecánica. En ambos casos el inducido está sometido a la acción del campo inductor
principal.
De entre estos tres aparatos, decidimos utilizar un motor de corriente continua ya que después de
buscar información, fue el que más se adaptaba a nuestras condiciones de potencia y frecuencia
angular, con un rendimiento admisible de nuestro mecanismo. Además resultaba algo más barato.
El motor elegido es un motor de eje utilizado en bicicletas eléctricas. Véanse figuras 5.1 y 5.2.
Marca GoldenMotor
Model:PW-12H
Voltage:24V
Power:180W-300W
Weight: 7.2 Kgs
76
FIGURA 5.2: CARACTERÍSTICAS TÉCNICAS DEL MOTOR
Con estos datos ya podemos saber cuál es la energía eléctrica que genera la acción humana en este
tipo de bicicletas.
Para calcular la energía vamos a tener como variables la frecuencia angular (rpm) de la barra motriz
(barra 2) y la masa de la persona.
Hay que aclarar que la resistencia que opone el generador, que denominaremos “c”, va a variar
dependiendo de la frecuencia angular. Véase tabla 5.1.
77
Generador:
M=c·w → c=M/w
TABLA 5.1.
GENERADOR ELÉCTRICO
Frecuencia Angular (rpm) 70 75 80 85 90 95
Par Motor (N·m) 24,5 22,4 19,34 16,13 12,76 9,5
Constante "c" 3,34 2,85 2,31 1,81 1,35 0,95
En el anexo B, se muestra las gráficas tipos que obtenemos al realizar las simulaciones de cada
combinación. La potencia generada que utilizaremos será la RMS de la potencia representada.
También añadir que, como se observa en la tabla 5.1, el rendimiento del generador va a variar
dependiendo de la frecuencia angular empleada.
Energía eléctrica diaria unitaria (kWh)= horas trabajo al día x potencia eléctrica obtenida(kW).
Ahorro diario unitario = coste del kWh x energía eléctrica diaria unitaria (kWh)
Para los cálculos hemos considerado que las bicicletas trabajarán 10 horas al día y el coste del kWh de
0,16 €/kWh.
Realizando una combinación entre las dos variables de nuestro problema (frecuencia angular y masa)
obtenemos los resultados.
En las siguientes tablas, se muestran los resultados obtenidos para las diferentes masas de personas
elegidas.
Potencia Energía
Potencia Ahorro diario
Velocidad Horas Precio Rendimiento eléctrica eléctrica
generada unitario sin
(rpm) trabajo/día Kw·h generador obtenida diaria
(kW) perdidas
(kW) unitaria(kWh)
70 10 0,160 € 0,180 57,00% 0,102 1,024 0,164 €
75 10 0,160 € 0,176 60,00% 0,106 1,057 0,169 €
80 10 0,160 € 0,163 63,75% 0,104 1,038 0,166 €
85 10 0,160 € 0,145 66,97% 0,097 0,969 0,155 €
90 10 0,160 € 0,122 70,37% 0,086 0,858 0,137 €
95 10 0,160 € 0,098 72,89% 0,072 0,716 0,115 €
78
TABLA 5.3. MASA 60 Kg
Potencia Consumo
Potencia Ahorro diario
Velocidad Horas Precio Rendimiento eléctrica eléctrico
generada unitario sin
(rpm) trabajo/día Kw·h generador obtenida diario
(kW) perdidas
(kW) unitario(kWh)
70 10 0,160 € 0,180 57,00% 0,103 1,025 0,164 €
75 10 0,160 € 0,176 60,00% 0,106 1,058 0,169 €
80 10 0,160 € 0,163 63,75% 0,104 1,040 0,166 €
85 10 0,160 € 0,145 66,97% 0,097 0,972 0,155 €
90 10 0,160 € 0,123 70,37% 0,086 0,863 0,138 €
95 10 0,160 € 0,099 72,89% 0,072 0,724 0,116 €
Potencia Consumo
Potencia Ahorro diario
Velocidad Horas Precio Rendimiento eléctrica eléctrico
generada unitario sin
(rpm) trabajo/día Kw·h generador obtenida diario
(kW) perdidas
(kW) unitario(kWh)
70 10 0,160 € 0,180 57,00% 0,103 1,026 0,164 €
75 10 0,160 € 0,177 60,00% 0,106 1,059 0,170 €
80 10 0,160 € 0,164 63,75% 0,104 1,042 0,167 €
85 10 0,160 € 0,146 66,97% 0,098 0,976 0,156 €
90 10 0,160 € 0,124 70,37% 0,087 0,869 0,139 €
95 10 0,160 € 0,101 72,89% 0,074 0,735 0,118 €
Potencia Consumo
Potencia Ahorro diario
Velocidad Horas Precio Rendimiento eléctrica eléctrico
generada unitario sin
(rpm) trabajo/día Kw·h generador obtenida diario
(kW) perdidas
(kW) unitario(kWh)
70 10 0,160 € 0,180 57,00% 0,103 1,027 0,164 €
75 10 0,160 € 0,177 60,00% 0,106 1,061 0,170 €
80 10 0,160 € 0,164 63,75% 0,105 1,045 0,167 €
85 10 0,160 € 0,146 66,97% 0,098 0,980 0,157 €
90 10 0,160 € 0,125 70,37% 0,088 0,877 0,140 €
95 10 0,160 € 0,103 72,89% 0,075 0,750 0,120 €
Potencia Consumo
Potencia Ahorro diario
Velocidad Horas Precio Rendimiento eléctrica eléctrico
generada unitario sin
(rpm) trabajo/día Kw·h generador obtenida diario
(kW) perdidas
(kW) unitario(kWh)
70 10 0,160 € 0,181 57,00% 0,103 1,030 0,165 €
75 10 0,160 € 0,178 60,00% 0,107 1,066 0,171 €
80 10 0,160 € 0,165 63,75% 0,105 1,053 0,169 €
85 10 0,160 € 0,148 66,97% 0,099 0,993 0,159 €
90 10 0,160 € 0,128 70,37% 0,090 0,899 0,144 €
95 10 0,160 € 0,108 72,89% 0,079 0,787 0,126 €
79
TABLA 5.7. MASA 90 Kg
Potencia Consumo
Potencia Ahorro diario
Velocidad Horas Precio Rendimiento eléctrica eléctrico
generada unitario sin
(rpm) trabajo/día Kw·h generador obtenida diario
(kW) perdidas
(kW) unitario(kWh)
70 10 0,160 € 0,181 57,00% 0,103 1,034 0,165 €
75 10 0,160 € 0,179 60,00% 0,107 1,072 0,171 €
80 10 0,160 € 0,167 63,75% 0,106 1,064 0,170 €
85 10 0,160 € 0,151 66,97% 0,101 1,011 0,162 €
90 10 0,160 € 0,132 70,37% 0,093 0,927 0,148 €
95 10 0,160 € 0,115 72,89% 0,084 0,835 0,134 €
Potencia Consumo
Potencia Ahorro diario
Velocidad Horas Precio Rendimiento eléctrica eléctrico
generada unitario sin
(rpm) trabajo/día Kw·h generador obtenida diario
(kW) perdidas
(kW) unitario(kWh)
70 10 0,160 € 0,182 57,00% 0,104 1,039 0,166 €
75 10 0,160 € 0,180 60,00% 0,108 1,079 0,173 €
80 10 0,160 € 0,169 63,75% 0,108 1,076 0,172 €
85 10 0,160 € 0,154 66,97% 0,103 1,032 0,165 €
90 10 0,160 € 0,137 70,37% 0,096 0,962 0,154 €
95 10 0,160 € 0,122 72,89% 0,089 0,892 0,143 €
Como se puede observar con una bicicleta elíptica se puede obtener como máximo un ahorro diario de
0,173 €. Por lo que vamos a centrar el estudio, en cuantas bicicletas se necesitará para ahorrarnos 1 €
al día. Para ello el cálculo que realizamos es hacer la media de todos los ahorros diarios unitarios
obtenidos, que resulta 0,154 €.
Entonces para saber el número de bicicletas necesario para ahorrarnos 1 € al día hacemos:
Sabiendo el número de bicicletas vamos a proceder a la elección del cable, que irá desde los
generadores de cada bicicleta a la batería, y después procederemos a la elección de la batería.
En este apartado se va a elegir el cable que mejor se ajuste a nuestra instalación, ya que en el tramo
que va desde los generadores a la batería se producirá una caída de tensión, y por tanto de potencia,
la cual tiene que ser lo más pequeña posible. Para ello se hará un pequeño cálculo, consistente en
hallar un cable con la sección suficiente para que la caída de tensión sea lo más pequeña posible.
80
El cálculo de secciones de líneas eléctricas es un método de cálculo para obtener la sección idónea del
conductor a emplear, siendo este capaz de:
Para realizar los cálculos se colocará las bicicletas en la posición más desfavorable, es decir, una al lado
de otra separadas una determinada distancia, como se representa en la siguiente figura 5.3.
FIGURA 5.3.
81
Nuestra instalación es una línea con diferentes cargas distribuidas uniformemente, entonces hay que
calcular antes el momento eléctrico.
El momento eléctrico de una línea es el producto de la carga eléctrica por la distancia hasta el
origen. Puede considerarse como el equivalente de la línea constituido por un único tramo de línea
con una única carga en su extremo.
En corriente continua:
=L·I
Como intensidad generada para nuestros cálculos, vamos a tomar la más alta, siendo:
M= L·I+L·2·I+L·3·I+…+(n-1)·L·I+n·Lb·I =504,73 Am
= 0,03·24=0,72 V
ρ= 1,71·10-8 Ω·m
Por lo que necesitamos un cable de 24 mm2 para nuestra instalación para que la pérdida sea lo más
pequeña posible.
Aislamiento: PVC de alta temperatura de servicio tipo TI3 según norma UNE 21031/HD 21 y
Clase 43 según UL 1581. El material especial utilizado para el aislamiento proporciona buenas
propiedades de deslizamiento al cable.
82
Embalaje: Las secciones pequeñas (de 0,75 mm2 hasta 6 mm2) se suministran en cajas de alta
resistencia (ver tabla inferior). Las secciones medias (de 10 mm2 hasta 35 mm2) se suministran
en rollos con film retractilado. Las secciones mayores (> 35 mm2) se suministran en bobinas.
ITC-BT: 30
83
5.3 ELECCIÓN DE LA BATERÍA.
En este apartado se va a proceder a la elección de la batería. La batería considerada tiene que ser de
24 V y con la capacidad suficiente para cumplir nuestras condiciones. La intensidad que llega a la
batería consideraremos la más desfavorable, es decir, la que generaría todas las bicicletas a máxima
potencia, por lo que:
Ibateria>n·I=7·7,59= 53,13 A
Para ello colocaremos 5 baterías de 100 Ah en paralelo, ya que para esa intensidad cada batería se
cargará en 2 horas, y al estar las bicicletas funcionando 10 horas al día cada una, entonces
necesitaremos 5 baterías para garantizar que toda esa energía se almacenará en 10 horas.
Otra opción, hubiera sido colocar una batería por cada batería. En este caso la batería tendría que ser
de 70 Ah para que con la intensidad de 7,59 A se cargara en 10 horas las baterías. También nos
ahorraríamos de colocar el cable. Pero realizando un estudio económico resulta que la instalación de 5
baterías de 100 Ah en paralelo resulta algo más rentable.
TABLA 5.9
Marca TopBand
Model: TB-24100F
Nominal voltage: 24 V
Size: 360*300*196mm
Weight: approx.34kg
84
Una foto de la batería se muestra en la figura 5.5.
85
86
CAPÍTULO 6: RESULTADOS
En este capítulo vamos a mostrar los resultados obtenidos definitivamente, teniendo en cuenta las
pérdidas en el cable y la batería. Las pérdidas serán un 3% en el cable como se ha explicado
anteriormente y un 2 % en la batería, por lo que vamos a tener unas pérdidas totales del 5%.
Además de mostrar el ahorro anual eléctrico que supondrá la colocación de los generadores, también
mostraremos la inversión que habría que hacer para conseguir los generadores, cables y batería. Una
vez que sabemos el ahorro anual eléctrico y la inversión necesaria, mostraremos cuánto sería el
tiempo de amortización de dicha inversión.
Los cálculos realizados para obtener estos resultados son los siguientes:
siendo las pérdidas del 5%, por lo tanto habrá que multiplicarlo por 0,95.
Coste generador= 90 €/ud.; Coste batería = 68,3 €/ud.; Coste cable = 2,2 €/metro.
En las siguientes tablas, se muestran los resultados obtenidos para las diferentes masas de personas
elegidas.
87
TABLA 6.2. MASA 60 Kg
88
TABLA 6.6. MASA 90 Kg
En la siguiente figura 6.1 se representa una gráfica que muestra el ahorro eléctrico anual frente a la
frecuencia angular de cada masa de la persona elegida.
300,00 €
ahorro eléctrico anual (€)
250,00 € MASA 55 Kg
MASA 60 Kg
200,00 €
MASA 65 Kg
150,00 €
MASA 70 Kg
100,00 € MASA 80 Kg
50,00 € MASA 90 Kg
MASA 100 Kg
0,00 €
70 75 80 85 90 95
frecuencia angular (rpm)
FIGURA 6.1
89
También se muestra una gráfica de la amortización frente a la frecuencia angular de cada masa de
persona elegida. Véase figura 6.2
AMORTIZACIÓN
6,00
5,00
MASA 55 Kg
4,00
Amortización
MASA 60 Kg
3,00 MASA 65 Kg
MASA 70 Kg
2,00
MASA 80 Kg
1,00 MASA 90 Kg
MASA 100 Kg
0,00
70 75 80 85 90 95
frecuencia angular (rpm)
FIGURA 6.2
Como se puede observar en las gráficas el ahorro eléctrico es importante al cabo de un año para
cualquier frecuencia angular y masa, siendo poca la diferencia de ahorro entre masas para
revoluciones bajas. Según va aumentando la frecuencia angular la masa va tomando importancia, y por
tanto la inercia también aumentará, entonces transmitirá un par mayor a la barra motriz (barra 2), y
por consecuencia mayor la potencia mecánica generada.
Al generar más potencia mecánica, se genera más potencia eléctrica, y por tanto un mayor ahorro
anual. Como el coste de inversión es constante, entonces la amortización será menor.
90
CAPÍTULO 7: CONCLUSIÓN
En este capítulo se comentan las conclusiones finales del proyecto.
Este proyecto como se observa ha dado unos resultados bastante positivos. Las bicicletas elípticas, son
unas máquinas de uso indoor o de gimnasio exclusivamente. Aprovechando la acción humana que las
personas ejercen voluntariamente para tonificar su cuerpo, conseguimos aproximadamente de media,
que en tres años y pocos meses amortizar unos gastos de inversión que después supondrá reducir
nuestros gastos eléctricos una cantidad bastante considerable. Por tanto, colocar los generadores a las
bicicletas elípticas es una buena solución para gimnasios que contengan un número elevado de
bicicletas.
En la siguiente tabla 7.1 se muestra el ahorro y la amortización que se obtiene al aumentar el número
de bicicletas existentes.
Tabla 7.1
Ahorro
diario Ahorro
Número de Coste Ahorro Amortiza Amortización
diario total
unitario bicicletas inversión anual total ción en años
medio
medio
0,146 € 7 1,02 € 1.037,50 € 257,75 € 4,03 4años y0meses
0,146 € 8 1,17 € 1.197,70 € 294,58 € 4,07 4años y1meses
0,146 € 9 1,32 € 1.357,90 € 331,40 € 4,10 4años y1meses
0,146 € 10 1,46 € 1.518,10 € 368,22 € 4,12 4años y1meses
0,146 € 11 1,61 € 1.678,30 € 405,04 € 4,14 4años y2meses
0,146 € 12 1,75 € 1.838,50 € 441,87 € 4,16 4años y2meses
0,146 € 14 2,05 € 2.075,00 € 515,51 € 4,03 4años y0meses
0,146 € 21 3,07 € 3.112,50 € 773,26 € 4,03 4años y0meses
Entonces en la gráfica de la figura 7.1 se puede evaluar el ahorro eléctrico y el coste de inversión
frente al número de bicicletas.
3.500,00 €
3.000,00 €
2.500,00 €
2.000,00 €
Ahorro eléctrico anual
1.500,00 € medio
500,00 €
0,00 €
7 8 9 10 11 12 14 21
Número de bicicletas
FIGURA 7.1
91
También se representa gráficamente la amortización frente al número de bicicletas. Véase figura 7.2.
Amortización
4,18
4,16
4,14
Amortización (años)
4,12
4,10
4,08
Amortización
4,06
4,04
4,02
4,00
0 5 10 15 20 25
Número de bicicletas
FIGURA 7.2.
Como se observa en la tabla y gráficas, hemos ido aumentando el número de bicicletas para hacer una
comparativa de cómo influye dicho número. La conclusión final es que mientras mayor sea el número
de bicicletas instaladas en el gimnasio, mayor será nuestro coste de inversión (ya que hay que comprar
más generadores y metros de cable), pero por consiguiente se obtiene un ahorro económico superior,
siendo finalmente el periodo de amortización similar para múltiplos de 7. Este hecho se produce ya
que cada 7 bicicletas sólo colocaríamos 5 baterías de 100 Ah en paralelo con sus respectivos metros de
cable. Mientras que si, por ejemplo, colocamos 8 bicicletas, entonces a la bicicleta número 8
tendríamos que colocarle una batería de 70 Ah, y dejar a las otras 7 con la instalación calculada
anteriormente. Esto hace que el coste aumente un poco más de lo normal, produciendo que la
amortización aumente un poco.
Aun así, aprovechar esa fuerza humana voluntaria a la larga nos proporciona beneficio.
92
CAPÍTULO 8: BIBLIOGRAFÍA
En este capítulo se muestran las referencias utilizadas para el estudio y elaboración del proyecto fin de
carrera.
(3) J.A Hrones y G.L Nelson. “Analysis of the Four-bar Linkage”.John Wiley, Nueva York (1951)
Referencias web
www.goldenmotor.es
spanish.alibaba.com
www.topcable.com
www.wikipedia.es
nuestrolifestyle.com/tag/bicicletas-elipticas
www.kettler.net
93
94
CAPÍTULO 9: ANEXO
En este capítulo se muestra el código empleado para poder realizar la simulación cinemática y
dinámica, y así obtener la potencia mecánica que es capaz de generar la acción humana.
9.1. ANEXO A
En este anexo se muestra el código explicado en el capítulo 4 para que sea fácil su referencia y de
forma ordenada.
global n nr np R P DR DP;
global IND DEP qind;
global t w;
global inercias g;
%ESTUDIO CINEMÁTICO
z2=[0.24*cos(0) 0.24*sin(0)]';%vector barra 2
z3=[0.78*cos(353.549*pi/180) 0.78*sin(353.549*pi/180)]';%vector barra 3
z4=[1.3*cos((108.169)*pi/180) 1.3*sin((108.169)*pi/180)]';%vector barra 4
z1=[0.97*cos(0.578) 0.97*sin(0.578)]';%vector barra fija 1
z5=[0.78*cos(359.262*pi/180) 0.78*sin(359.262*pi/180)]';%vector barra 5
z6=[1.3*cos((65.008)*pi/180) 1.3*sin((65.008)*pi/180)]';%vector barra 6
n=6; nr=7; np=0;
%Son vectores que nos indician las barras que intervienen en cada rótula
R(1:2,1)=[1 2]';%por ejemplo en la rótula 1 interviene la barra 1 y la 2
R(1:2,2)=[2 3]';
R(1:2,3)=[3 4]';
R(1:2,4)=[4 1]';
R(1:2,5)=[2 5]';
R(1:2,6)=[5 6]';
R(1:2,7)=[6 1]';
DR(1:2,2)=[norm(z2) 0]';
DR(3:4,2)=[-norm(z3)/2 0]';
DR(1:2,3)=[norm(z3)/2 0]';
DR(3:4,3)=[-norm(z4)/2 0]';
DR(1:2,4)=[0 0]';
DR(3:4,4)=[0.97*cos(0.578) 0.97*sin(0.578)]';
95
DR(1:2,5)=[-norm(z2) 0]';
DR(3:4,5)=[-norm(z5)/2 0]';
DR(1:2,6)=[norm(z5)/2 0]';
DR(3:4,6)=[-norm(z6)/2 0]';
%
DR(1:2,7)=[0 0]';
DR(3:4,7)=[0.97*cos(0.578) 0.97*sin(0.578)]';
inercias(:,1) = [0 0 [0 0]]';
inercias(:,2) = [14.205 ((norm(z2)^2)*14.205/2+(0.046)) [0 0]]';
inercias(:,3) = [1.738 ((norm(z3)^2)*1.738/12 + 50*(0.2^2)) [0 0]]';
inercias(:,4) = [1.892 ((norm(z4)^2)*1.892/12) [0 0]]';
inercias(:,5) = [1.738 ((norm(z5)^2)*1.738/12 + 50*(0.2^2)) [0 0]]';
inercias(:,6) = [1.892 ((norm(z6)^2)*1.892/12) [0 0]]';
%Dirección y sentido de la gravedad
g = [0 -9.81]';
%%%%%%%%%%%%%%%%%%%%%%%%%
% SIMULACIÓN CINEMÁTICA %
%%%%%%%%%%%%%%%%%%%%%%%%%
IND = [];
DEP = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18]';
%Representamos los ángulos de cada barra en la condicional inicial elegida
fi20 = atan2(z2(2),z2(1))
psi20 = atan2(z4(2),z4(1))
teta20 = atan2(z3(2),z3(1))
psid20 = atan2(z6(2),z6(1))
tetad20 = atan2(z5(2),z5(1))
%Estimacion inicial
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% BUCLE DE SOLUCIÓN DEL PROBLEMA DE POSICIÓN %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
q = zeros(3*n, length(tspan));
v = zeros(3*n, length(tspan));
a = zeros(3*n, length(tspan));
lam = zeros(3*n, length(tspan));
for i=1:length(tspan),
96
t = tspan(i);
%CÁLCULO DE POSICIONES
q(:,i) = NewtonRaphsonJacob(@Restricciones,@Jacobiano,q0);
Cq = Jacobiano(q(:,i));%Calcula el jacobiano
Ct = DtRestr;
%CALCULO DE VELOCIDADES
v(:,i) = -Cq\Ct;
Bq = MatrizBq(q(:,i),v(:,i));
Ctt = DttRestr;
AA(1:3*n,1:3*n) = M;
AA(1:3*n,3*n+1:6*n) = Cq';
AA(3*n+1:6*n,1:3*n) = Cq;
bb(1:3*n,1) = Qv+Qgrav+Qfriccion;
bb(3*n+1:6*n,1) = gam;
xx = AA\bb;
a(:,i) = xx(1:3*n,1);
lam(:,i) = xx(3*n+1:6*n,1);%multimplicadores de Lagrange
q0 = q(:,i);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% POSTPROCESO DE RESULTADOS %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(1);
hold on;
axis equal;
for i=1:length(tspan),
RO2 = [0 0]';
RA = PosicionPunto(q(3*(2-1)+1:3*(2-1)+3,i),[norm(z2) 0]');%Esta función
%te va calculando el punto que se desee, en este caso A con respecto al
97
%eje de coordenadas local de la barra en cada instante de tiempo
RB = PosicionPunto(q(3*(3-1)+1:3*(3-1)+3,i),[norm(z3)/2 0]');
RO4 = PosicionPunto(q(3*(4-1)+1:3*(4-1)+3,i),[0 0]');
RP=PosicionPunto(q(3*(4-1)+1:3*(4-1)+3,i),[norm(z4)/2 0]');
RO5=z1;
RC = PosicionPunto(q(3*(5-1)+1:3*(5-1)+3,i),[-norm(z5)/2 0]');
RD = PosicionPunto(q(3*(6-1)+1:3*(6-1)+3,i),[-norm(z6)/2 0]');
RQ=PosicionPunto(q(3*(6-1)+1:3*(6-1)+3,i),[norm(z6)/2 0]');
X=[RO2(1) RA(1) RB(1) RO4(1) RP(1)];
Xd=[RO2(1) RC(1) RD(1) RO4(1) RQ(1)];
Y=[RO2(2) RA(2) RB(2) RO4(2) RP(2)];
Yd=[RO2(2) RC(2) RD(2) RO4(2) RQ(2)];
plot(X,Y,'b',Xd,Yd,'g');
end
% ANIMACIÓN
for i=1:length(tspan),
RO2 = [0 0]';
RA = PosicionPunto(q(3*(2-1)+1:3*(2-1)+3,i),[norm(z2) 0]');
RB = PosicionPunto(q(3*(3-1)+1:3*(3-1)+3,i),[norm(z3)/2 0]');
RO4 = PosicionPunto(q(3*(4-1)+1:3*(4-1)+3,i),[0 0]');
RP=PosicionPunto(q(3*(4-1)+1:3*(4-1)+3,i),[norm(z4)/2 0]');
RO5 = z1;
RC = PosicionPunto(q(3*(5-1)+1:3*(5-1)+3,i),[-norm(z5)/2 0]');
RD = PosicionPunto(q(3*(6-1)+1:3*(6-1)+3,i),[-norm(z6)/2 0]');
RQ=PosicionPunto(q(3*(6-1)+1:3*(6-1)+3,i),[norm(z6)/2 0]');
X=[RO2(1) RA(1) RB(1) RO4(1) RP(1)];
Y=[RO2(2) RA(2) RB(2) RO4(2) RP(2)];
Xd=[RO2(1) RC(1) RD(1) RQ(1)];
Yd=[RO2(2) RC(2) RD(2) RQ(2)];
if i ==1
figure(2);
hold on;
axis equal;
axis([-2 4 -2 2]);
h = plot(X,Y,'XDataSource','X','YDataSource','Y');
h2 = plot(Xd,Yd,'g','XDataSource','Xd','YDataSource','Yd');
else
refreshdata(h,'caller')
refreshdata(h2,'caller')
pause(0.1);
drawnow;
end
end
%Representación Par Motor
figure(3);
plot(tspan,lam(18,:));
title('Par Motor ');
ylabel('Par (Nm)');
xlabel('Tiempo (s)');
98
ylabel('Potencia (W)');
xlabel('Tiempo (s)');
figure(5);
plot(tspan,Wmot);
title('Trabajo Motor');
ylabel('Trabajo (J)');
xlabel('Tiempo (s)');
media_par=mean(lam(18,:))
media_potencia=mean(lam(18,:)*w)
rms_par=sqrt(mean((lam(18,:)).^2))
%Cálculo RMS de la potencia. Este es el valor que vamos a utilizar para
%el estudio económico
rms_potencia=sqrt(mean((lam(18,:)*w).^2))
Función NewtonRaphsonJacob.m
function x = NewtonRaphsonJacob(fun,jac,x0)
AbsErr=10^(-3);
MaxIter=100;
Niter=0;
ok=0;
while ((ok==0)&&(Niter<MaxIter))
Niter=Niter+1;
CC = feval(fun,x0);
Cq = feval(jac,x0);
% CONVERGENCIA
% max(abs(CC))
if (max(abs(CC))<AbsErr)
ok=1;
end
% ITERACIÓN DE NEWTON-RAPHSON
x=x0-Cq\CC;
99
x0=x;
end
Función Restricciones.m
function C = Restricciones(q)
global n nr np R P DR DP;
global t w;
C = RestrPares(q);
%RESTRICCIÓN DE MOVILIDAD
C(3*n,1) = q(6)+w*t;
Función RestrPares.m
function C = RestrPares(qdep)
global n nr np R P DR DP;
global IND DEP qind;
for i=1:length(IND)
q(IND(i))=qind(i);
end
for i=1:length(DEP)
q(DEP(i))=qdep(i);
end
%Barra fija
C(1,1)=q(1);
C(2,1)=q(2);
C(3,1)=q(3);
%Rótulas
for k=1:nr;
i=R(1,k);
j=R(2,k);
Ri=[q((i-1)*3+1) q((i-1)*3+2)]';
teti=q((i-1)*3+3);
Rj=[q((j-1)*3+1) q((j-1)*3+2)]';
tetj=q((j-1)*3+3);
ri=[DR(1,k) DR(2,k)]';
rj=[DR(3,k) DR(4,k)]';
Rr = Rotula(Ri,teti,ri,Rj,tetj,rj);
100
C(3+2*(k-1)+1,1)=Rr(1);
C(3+2*(k-1)+2,1)=Rr(2);
end
%Prismáticos
for k=1:np;
i=P(1,k);
j=P(2,k);
Ri=[q((i-1)*3+1) q((i-1)*3+2)]';
teti=q((i-1)*3+3);
Rj=[q((j-1)*3+1) q((j-1)*3+2)]';
tetj=q((j-1)*3+3);
ri=[DP(1,k) DP(2,k)]';
hi=[DP(3,k) DP(4,k)]';
rj=[DP(5,k) DP(6,k)]';
Rp = Prism(Ri,teti,ri,hi,Rj,tetj,rj);
C(3+2*nr+2*(k-1)+1,1)=Rp(1);
C(3+2*nr+2*(k-1)+2,1)=Rp(2);
end
Función Rotula.m
function C = Rotula(Ri,teti,ri,Rj,tetj,rj);
Ai = Rotmat(teti);
Aj = Rotmat(tetj);
C = Ri+Ai*ri-Rj-Aj*rj;
Función RotMat.m
function A=Rotmat(x)
A(1,1)=cos(x);
A(1,2)=-sin(x);
A(2,1)=sin(x);
A(2,2)=cos(x);
Función Prism.m
function C = Prism(Ri,teti,ri,hi,Rj,tetj,rj)
Ai = Rotmat(teti);
Aj = Rotmat(tetj);
101
C(1)=teti-tetj;
C(2)=(Ai*hi)'*(Ri+Ai*ri-Rj-Aj*rj);
Función Jacobiano.m
function Cq = Jacobiano(q)
global n;
global t w;
Cq = JacobPares(q);
%RESTRICCIÓN DE MOVILIDAD
Cq(3*n,6) = 1;
Función JacobPares.m
global n nr np R P DR DP;
global IND DEP qind;
for i=1:length(IND)
q(IND(i))=qind(i);
end
for i=1:length(DEP)
q(DEP(i))=qdep(i);
end
Cq = zeros(m,3*n);
%Barra fija
Cq(1,1)=1;
Cq(2,2)=1;
Cq(3,3)=1;
%Rótulas
for k=1:nr;
i=R(1,k);
j=R(2,k);
Ri=[q((i-1)*3+1) q((i-1)*3+2)]';
teti=q((i-1)*3+3);
102
Rj=[q((j-1)*3+1) q((j-1)*3+2)]';
tetj=q((j-1)*3+3);
ri=[DR(1,k) DR(2,k)]';
rj=[DR(3,k) DR(4,k)]';
Cqr=Jac_rotula(Ri,teti,ri,Rj,tetj,rj);
Cq(3+2*(k-1)+1:3+2*(k-1)+2,3*(i-1)+1:3*(i-1)+3)=Cqr(1:2,1:3);
Cq(3+2*(k-1)+1:3+2*(k-1)+2,3*(j-1)+1:3*(j-1)+3)=Cqr(1:2,4:6);
end
%Prismáticos
for k=1:np;
i=P(1,k);
j=P(2,k);
Ri=[q((i-1)*3+1) q((i-1)*3+2)]';
teti=q((i-1)*3+3);
Rj=[q((j-1)*3+1) q((j-1)*3+2)]';
tetj=q((j-1)*3+3);
ri=[DP(1,k) DP(2,k)]';
hi=[DP(3,k) DP(4,k)]';
rj=[DP(5,k) DP(6,k)]';
Cqp=Jac_prism(Ri,teti,ri,hi,Rj,tetj,rj);
Cq(3+2*nr+2*(k-1)+1:3+2*nr+2*(k-1)+2,3*(i-1)+1:3*(i-1)+3)=Cqp(1:2,1:3);
Cq(3+2*nr+2*(k-1)+1:3+2*nr+2*(k-1)+2,3*(j-1)+1:3*(j-1)+3)=Cqp(1:2,4:6);
end
Cqdep = zeros(m,m);
for i=1:length(DEP)
Cqdep(:,i) = Cq(:,DEP(i));
end
Función Jac_rotula.m
function Cq = Jac_rotula(Ri,teti,ri,Rj,tetj,rj)
Cq=zeros(2,6);
Ateti = RotTet(teti);
Atetj = RotTet(tetj);
Cq(1:2,1:2)=eye(2);
Cq(1:2,4:5)=-eye(2);
103
Cq(1:2,3)=Ateti*ri;
Cq(1:2,6)=-Atetj*rj;
Función Jac_prism.m
function Cq=Jac_prism(Ri,teti,ri,hi,Rj,tetj,rj);
Cq=zeros(2,6);
Ai = Rotmat(teti);
Aj = Rotmat(tetj);
Ateti = RotTet(teti);
Atetj = RotTet(tetj);
Cq(1,3)=1;
Cq(1,6)=-1;
Cq(2,1:2)=(Ai*hi)';
Cq(2,4:5)=-(Ai*hi)';
Cq(2,3)=(Ateti*hi)'*(Ri+Ai*ri-Rj-Aj*rj)+(Ai*hi)'*(Ateti*ri);
Cq(2,6)=(Ai*hi)'*(-Atetj*rj);
Función RotTet.m
Atet(1,1)=-sin(x);
Atet(1,2)=-cos(x);
Atet(2,1)=cos(x);
Atet(2,2)=-sin(x);
Función DtRestr.m
function Ct = DtRestr
global n nr np R P DR DP;
global t w;
Ct = zeros(3*n,1);
%RESTRICCIÓN DE MOVILIDAD
Ct(3*n,1) = -w;
104
FUNCIONES PROBLEMA ACELERACIÓN
Función MatrizBq.m
function Bq = MatrizBq(q,v)
global n;
global t w;
Bq = MatBqPares(q,v);
%RESTRICCIÓN DE MOVILIDAD
Bq(3*n,:) = zeros(1,3*n);
Función MatBqPares.m
function Bq=MatrizBq(q,v)
global n nr np R P DR DP w;
global t;
Bq=zeros(m,3*n);
%Barra fija
Bq(1,1)=0;
Bq(2,2)=0;
Bq(3,3)=0;
%Rótulas
for k=1:nr;
i=R(1,k);
j=R(2,k);
Ri=[q((i-1)*3+1) q((i-1)*3+2)]';
Vi=[v((i-1)*3+1) v((i-1)*3+2)]';
teti=q((i-1)*3+3);
dteti=v((i-1)*3+3);
Rj=[q((j-1)*3+1) q((j-1)*3+2)]';
Vj=[v((j-1)*3+1) v((j-1)*3+2)]';
tetj=q((j-1)*3+3);
dtetj=v((j-1)*3+3);
ri=[DR(1,k) DR(2,k)]';
rj=[DR(3,k) DR(4,k)]';
Bqr=Bq_rotula(Ri,teti,Vi,dteti,ri,Rj,tetj,Vj,dtetj,rj);
Bq(3+2*(k-1)+1:3+2*(k-1)+2,3*(i-1)+1:3*(i-1)+3)=Bqr(1:2,1:3);
Bq(3+2*(k-1)+1:3+2*(k-1)+2,3*(j-1)+1:3*(j-1)+3)=Bqr(1:2,4:6);
105
end
%Prismáticos
for k=1:np;
i=P(1,k);
j=P(2,k);
Ri=[q((i-1)*3+1) q((i-1)*3+2)]';
Vi=[v((i-1)*3+1) v((i-1)*3+2)]';
teti=q((i-1)*3+3);
dteti=v((i-1)*3+3);
Rj=[q((j-1)*3+1) q((j-1)*3+2)]';
Vj=[v((j-1)*3+1) v((j-1)*3+2)]';
tetj=q((j-1)*3+3);
dtetj=v((j-1)*3+3);
ri=[DP(1,k) DP(2,k)]';
hi=[DP(3,k) DP(4,k)]';
rj=[DP(5,k) DP(6,k)]';
Bqp=Bq_prism(Ri,teti,Vi,dteti,ri,hi,Rj,tetj,Vj,dtetj,rj);
Bq(3+2*nr+2*(k-1)+1:3+2*nr+2*(k-1)+2,3*(i-1)+1:3*(i-1)+3)=Bqp(1:2,1:3);
Bq(3+2*nr+2*(k-1)+1:3+2*nr+2*(k-1)+2,3*(j-1)+1:3*(j-1)+3)=Bqp(1:2,4:6);
end
Función Bq_rotula.m
function Bq=Bq_rotula(Ri,teti,Vi,dteti,ri,Rj,tetj,Vj,dtetj,rj)
Bq=zeros(2,6);
Ai = Rotmat(teti);
Aj = Rotmat(tetj);
Bq(1:2,1:2)=zeros(2);
Bq(1:2,4:5)=zeros(2);
Bq(1:2,3)=-dteti*Ai*ri;
Bq(1:2,6)=dtetj*Aj*rj;
Función Bq_prism.m
function Bq=Bq_prism(Ri,teti,Vi,dteti,ri,hi,Rj,tetj,Vj,dtetj,rj)
Bq=zeros(2,6);
Ai = Rotmat(teti);
Aj = Rotmat(tetj);
Ateti = RotTet(teti);
106
Atetj = RotTet(tetj);
Bq(2,3)=(-Ateti*hi)'*Vi+((-Ai*hi)'*(Ri+Ai*ri-Rj-
Aj*rj)+2*(Ateti*hi)'*(Ateti*ri)+(Ai*hi)'*(Ai*ri))*dteti+(-
Ateti*hi)'*Vj+((Ateti*hi)'*(-Atetj*rj)+(Ai*hi)'*(Aj*rj))*dtetj;
Bq(2,6)=(Ateti*hi)'*(-Atetj*rj)*dteti+(Ai*hi)'*(Aj*rj)*dtetj;
Función DttRestr.m
global n nr np R P DR DP;
global t w;
Ctt = zeros(3*n,1);
%RESTRICCIÓN DE MOVILIDAD
Ctt(3*n,1) = 0;
Función MatrizMasa.m
function M = MatrizMasa(q)
global n nr np R P DR DP;
global inercias;
M = zeros(3*n,3*n);
for i = 1:n,
teti = q(3*(i-1)+3,1);
Atet = RotTet(teti);
mi = inercias(1,i);
rG = inercias(3:4,i);
I = inercias(2,i)+mi*(rG(1)^2+rG(2)^2); %Teorema de Steiner
M(3*(i-1)+1:3*(i-1)+2,3*(i-1)+1:3*(i-1)+2) = mi*eye(2);
M(3*(i-1)+3,3*(i-1)+3) = I;
M(3*(i-1)+1:3*(i-1)+2,3*(i-1)+3) = mi*Atet*rG;
M(3*(i-1)+3,3*(i-1)+1:3*(i-1)+2) = mi*rG'*Atet';
end
Función FCentrifuga.m
function Qv = FCentrifuga(q)
global n nr np R P DR DP;
global inercias;
107
Qv = zeros(3*n,1);
for i = 1:n,
teti = q(3*(i-1)+3,1);
A = Rotmat(teti);
mi = inercias(1,i);
rG = inercias(3:4,i);
Qv(3*(i-1)+1:3*(i-1)+2,1) = mi*teti^2*A*rG;
end
Función FGravedad.m
global n nr np R P DR DP;
global inercias g;
Qgrav = zeros(3*n,1);
for i = 1:n,
teti = q(3*(i-1)+3,1);
Atet = RotTet(teti);
mi = inercias(1,i);
rG = inercias(3:4,i);
Qgrav(3*(i-1)+1:3*(i-1)+2,1) = mi*g;
Qgrav(3*(i-1)+3,1) = mi*rG'*Atet'*g;
end
Función PosicionPunto.m
function Rp = PosicionPunto(qi,rp)
Ri = qi(1:2,1);
Ai = Rotmat(qi(3,1));
Rp = Ri + Ai*rp;
108
9.2. ANEXO B
En este anexo se muestra las gráficas tipos que obtenemos con la simulación del programa. En este
caso la única combinación mostrada es la que hemos utilizado para realizar los cálculos, es decir, la
que obtiene mayor ahorro económico.
0.8
0.6
0.4
0.2
-0.2
-0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2
1.5
0.5
-0.5
-1
-1.5
-2
-2 -1 0 1 2 3 4
109
Par Motor
32
30
28
26
Par (Nm)
24
22
20
18
16
0 0.5 1 1.5 2 2.5 3 3.5 4
Tiempo (s)
Potencia Instantánea
260
240
220
Potencia (W)
200
180
160
140
120
0 0.5 1 1.5 2 2.5 3 3.5 4
Tiempo (s)
110
Trabajo Motor
700
600
500
Trabajo (J)
400
300
200
100
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Tiempo (s)
111
112