150
UNIVERSIDAD DE EXTREMADURA ESCUELA DE INGENIERÍAS INDUSTRIALES Herramienta de simulación de la dinámica de vehículos automóviles PROYECTO PRESENTADO PARA OPTAR AL TÍTULO DE INGENIERO INDUSTRIAL POR MANUEL TERRONES GUERRERO BADAJOZ, DICIEMBRE DE 2010

Dinámica Longitudinal

Embed Size (px)

DESCRIPTION

Explicación y desarrollo de la dinámica longitudinal vehicular.

Citation preview

Page 1: Dinámica Longitudinal

UNIVERSIDAD DE EXTREMADURA

ESCUELA DE INGENIERÍAS INDUSTRIALES

Herramienta de simulación de la dinámica de vehículos automóviles

PROYECTO PRESENTADO PARA OPTAR AL TÍTULO DE

INGENIERO INDUSTRIAL

POR

MANUEL TERRONES GUERRERO

BADAJOZ, DICIEMBRE DE 2010

Page 2: Dinámica Longitudinal

PROYECTO FIN DE CARRERA

Autor: MANUEL TERRONES GUERRERO

Director:

FRANCISCO JAVIER ALONSO SÁNCHEZ Tribunal de evaluación:

FERNANDO ZAYAS HINOJOSA MANUEL REINO FLORES DAVID RODRÍGUEZ SALGADO

Page 3: Dinámica Longitudinal

ÍNDICE HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

3

ÍNDICE

1 INTRODUCCIÓN………………………………………………… 5

1.1 Objeto del proyecto…………………………………………………………………6

1.2 Sistema de dirección ………………………………………………………………7

1.3 Sistema de tracción ………………………………………………………………9

1.4 Sistema de suspensión ………………………………………………………… 13

2 DINÁMICA LATERAL ………………………....……………… 17

2.1 Fundamentos teóricos…………………………………………………………… 18

2.1.1 Mecanismo de Ackermann……………………………………………………… 18

2.1.2 Ángulo de deriva ………………………………………………………………… 20

2.1.3 Modelo: “Modelo de la bicicleta” ……………………………………………… 22

2.1.4 Comportamiento en curva del vehículo ……………………………………… 22

2.2 Interfaz gráfica…………………………………………………………………… 27

2.2.1 Datos de entrada………………………………………………………………… 27

2.2.2 Parámetros de salida …………………………………………………………… 28

2.2.3 Operación y funcionamiento …………………………………………………… 29

2.2.4 Ejemplo práctico ………………………………………………………………… 34

3 DINÁMICA LONGITUDINAL……………………………………38

3.1 Fundamentos teóricos……………………………………………………………39

3.1.1 Curva de par y curva de potencia ………………………………………………39

3.1.2 Equilibrio dinámico longitudinal …………………………………………………42

3.1.3 Relaciones de transmisión ………………………………………………………45

3.1.4 Limitación de esfuerzos tractores por adherencia …………………………….49

3.2 Interfaz gráfica…………………………………………………………………….53

Page 4: Dinámica Longitudinal

ÍNDICE HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

4

3.2.1 Datos de entrada …………………………………………………………………53

3.2.2 Parámetros de salida ……………………………………………………………55

3.2.3 Operación y funcionamiento …………………………………………………….58

3.2.4 Ejemplo práctico …………………………………………………………………69

4 DINÁMICA VERTICAL…………………………………………. 75

4.1 Fundamentos teóricos ……………………………………………………………76

4.1.1 Elementos elásticos ………………………………………………………………76

4.1.2 Elementos amortiguadores …………………………………………………… 81

4.1.3 Excitaciones: carretera, rueda y motor…………………………………………84

4.1.4 Modelo: “Modelo de 1GDL: Bote” ………………………………………………88

4.2 Interfaz gráfica ……………………………………………………………………91

4.2.1 Datos de entrada …………………………………………………………………91

4.2.2 Parámetros de salida ……………………………………………………………91

4.2.3 Operación y funcionamiento ……………………………………………………92

4.2.4 Ejemplo práctico …………………………………………………………………96

5 ANEXOS …………………………………………………………99

5.1 Dinámica de vehículos: “Código del programa”………………………………100

5.2 Dinámica lateral: “Código del programa” ……………………………………103

5.3 Dinámica longitudinal: “Código del programa” ………………………………115

5.4 Dinámica vertical: “Código del programa” ……………………………………140

6 BIBLIOGRAFÍA…………………………………………………149

Page 5: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

5

Capítulo I: Introducción.

Page 6: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

6

1 INTRODUCCIÓN.

1.1 Objeto del proyecto.

El objeto del proyecto es desarrollar, en el entorno MATLAB, un software que realice, partiendo de los parámetros básicos del vehículo y de las características de maniobra, la simulación de cada una de las tres dinámicas del vehículo automóvil:

Dinámica lateral: comportamiento en curva.

Dinámica longitudinal: aceleración y frenado.

Dinámica vertical: comportamiento de la suspensión del vehículo

Page 7: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

7

1.2 Sistema de dirección.

El sistema de dirección es el conjunto de mecanismos que tiene por misión orientar las ruedas directrices del vehículo (generalmente las delanteras) para realizar el correcto trazado del itinerario necesario durante su funcionamiento, es decir, es el sistema encargado de modificar la trayectoria del automóvil.

Está compuesto por una serie de barras, rótulas y demás elementos (dependiendo del tipo de dirección: cremallera, tornillo sin fin, servodirección, etc.), todos ellos comandados a través del movimiento circular que se realiza en el volante del vehículo.

Todo sistema de dirección debe cumplir una serie de características o requisitos básicos para su correcto funcionamiento, tales como:

Seguridad: dependerá en gran medida de la fiabilidad del conjunto.

Irreversibilidad: el volante hace girar las ruedas, pero por el contrario, las oscilaciones de estas debidas al terreno no se transmiten al volante.

Precisión y suavidad: ambas características están bastante relacionadas con la relación de desmultiplicación (relación entre el ángulo de giro de las ruedas y el ángulo de giro del volante).

En cuanto a los tipos de sistemas de dirección se pueden citar los siguientes:

Mecánicos:

o De tornillo sin fin: consiste en un tornillo sin fin, unido a la columna de dirección, que engrana con una rueda dentada acoplada al mecanismo que permite el movimiento de las ruedas.

Fig. (1.1): Dirección mecánica por tornillo sin fin.

o De cremallera: en este caso el sistema está formado por un piñón helicoidal unido a la columna de dirección que engrana con una cremallera unida directamente a los brazos de dirección de las ruedas. Es un sistema con mayor rendimiento mecánico.

Page 8: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

8

Fig. (1.2): Dirección mecánica por cremallera.

Asistidos: sistema de dirección provisto de un mecanismo de ayuda para reducir el par de giro necesario para mover el volante. Según la naturaleza del mecanismo podemos tener:

o Hidráulica: el movimiento lo realiza un sistema hidráulico cuya bomba se acciona de forma mecánica a través de un sistema de poleas y correas que transfieren el movimiento del motor del vehículo a la bomba.

o Electro – hidráulica: a diferencia del anterior la bomba se acciona eléctricamente.

o Electro – mecánica: en este caso, en lugar de una bomba hidráulica, se dispone de un motor eléctrico para realizar el movimiento de la dirección.

Fig. (1.3): Dirección asistida hidráulica.

Page 9: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

9

1.3 Sistema de tracción.

Se define el sistema de tracción como el conjunto o cadena cinemática encargada de transmitir el movimiento desde el motor del vehículo a las ruedas motrices del mismo.

La necesidad de emplear este sistema viene impuesta por las exigencias en cuanto a diseño (interesa tener la planta de potencia en una zona determinada del vehículo), a facilidad de movimientos (entre el motor y las ruedas), a poder conectar y desconectar el motor de las ruedas motrices (embrague), a disponer de un amplio rango de velocidades,…,etc..

Según la localización de las ruedas motrices se distinguen tres tipos de sistemas de tracción:

Tracción delantera: las ruedas motrices y directrices son las mismas, las situadas en el eje delantero. Proporciona un diseño simple del eje trasero, además de otras facilidades y mejoras como amplitud del maletero y sencillez en la colocación del depósito de combustible. Por el contrario se producirá un mayor desgaste en los neumáticos delanteros que en los traseros y, a plena carga, menor capacidad de tracción en rampas pronunciadas.

Tracción trasera: las ruedas motrices son las del eje trasero del vehículo, mejorando así la capacidad de tracción a plena carga y presentando las cuatro ruedas un desgaste equilibrado de los neumáticos. Como contrapartida, el vehículo será menos estable y tendrá un coste de producción mayor.

Tracción total: en este caso, las cuatro ruedas del vehículo son motrices. La principal ventaja del sistema es la mayor capacidad de tracción en zonas de pendiente (remontaremos pendientes mayores) y en zonas de baja adherencia. Por el contrario, la mecánica del vehículo será mucho más compleja, elevando así en gran medida el coste de fabricación.

Todo sistema de tracción está formado, como mínimo, por los siguientes elementos:

Fig. (1.4): Sistema de tracción.

Page 10: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

10

Motor de combustión interna (MCI): es el encargado de convertir la energía química del combustible que se quema en su interior en energía mecánica. Los tipos de MCI que utilizan los automóviles suelen ser dos:

o Motor diesel: funciona por ignición. La combustión se logra por el aumento de temperatura que produce la compresión del aire en el interior del cilindro y la posterior inyección del combustible pulverizado a alta presión.

o Motor gasolina: su funcionamiento se basa en el ciclo de Otto. La gran mayoría de los empleados en los automóviles son los motores de cuatro tiempos: compresión, combustión, expansión y escape. En este caso la combustión se consigue por medio de una chispa que salta entre dos electrodos (bujía).

Embrague: es el mecanismo encargado de conectar y desconectar el MCI de la transmisión. En la siguiente figura se muestra una sección en la cual se aprecian sus principales componentes (muelle de diafragma, disco de fricción y amortiguador torsional):

Fig. (1.5): Embrague

Transmisión: es el mecanismo encargado de variar las distintas relaciones de transmisión entre el motor y las ruedas del vehículo, dependiendo de las prestaciones necesarias en un instante dado.

Según el tipo de actuación, las transmisiones se clasifican en:

o Mecánica: es la conocida como transmisión manual. Logra las variaciones de las relaciones de transmisión a partir de trenes de engranajes ordinarios.

Page 11: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

11

o Hidrodinámica: es un tipo de transmisión automática. En lugar de engranajes ordinarios, como en el caso anterior, se fabrica con engranajes planetarios o epicicloidales, además de un convertidor de par.

o Continuamente variable: nuevamente una transmisión automática, pero con la particularidad de tener un número infinito de marchas. Todo ello se obtiene a través de variadores continuos.

A continuación se muestra una sección de una transmisión:

Fig. (1.6): Transmisión.

Diferencial: elemento cuya misión es repartir el par entre las ruedas motrices, consiguiendo que giren a distintas revoluciones cuando el vehículo se dispone a trazar una trayectoria curva.

El diferencial ordinario presenta el inconveniente de que realiza un reparto inadecuado del par entre las ruedas motrices, ya que en caso de que una de las ruedas pierda el contacto con la carretera o tenga poca adherencia (barro), transmite la totalidad del par motor a dicha rueda.

Para evitar este problema, se desarrollaron otros tipos de diferenciales, como el diferencial “Torsen”, diferencial autoblocante formado por un tren de engranajes planetarios con dentado helicoidal, o el diferencial “Haldex”.

Por último, destacar que en los vehículos con tracción a las cuatro ruedas son necesarios tres diferenciales: uno para el eje delantero, otro para el trasero y un tercer diferencial central (reparte entre un eje y otro).

Page 12: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

12

Fig. (1.7): Diferencial Torsen.

Page 13: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

13

1.4 Sistema de suspensión.

Se llama sistema de suspensión al conjunto de elementos elásticos y elementos amortiguadores que se interponen entre las masas no suspendidas (ruedas) y las masas suspendidas (bastidor, carrocería, cargas,…, es decir, el resto del vehículo).

Su necesidad surge ante la imposibilidad de construir carreteras completamente niveladas, de forma que no se produjeran movimientos verticales en las ruedas del ni el balanceo del propio vehículo.

Las funciones más importantes de este sistema se resaltan a continuación:

Disminuir la amplitud y frecuencia de las vibraciones que se producen por la forma irregular de la superficie por la que circula el vehículo.

Mantener las ruedas en contacto con la superficie de rodadura.

Entonces se puede decir que la suspensión tiene la misión de garantizar el confort y seguridad de los pasajeros del vehículo.

Todo sistema de suspensión estará formado, como ya se citó anteriormente, por los siguientes elementos:

Elementos elásticos: son los encargados de almacenar la energía elástica.

Elementos amortiguadores: su labor es disipar la energía almacenada, limitando así las oscilaciones.

Estos elementos serán tratados con mayor detalle en el capítulo 4 dedicado a la dinámica vertical del vehículo.

La clasificación de las suspensiones según el grado de actuación es:

Suspensiones pasivas: generalmente, almacenan energía mediante un resorte y la disipan mediante un amortiguador.

Fig. (1.8): Esquema de una suspensión pasiva.

Page 14: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

14

El principal inconveniente es que tiene los parámetros fijos (cte. del muelle y cte. del amortiguador). Como ventaja destacar que no necesita aporte de energía y, por lo tanto, desde el punto de vista económico, será más barata.

Suspensiones activas: al igual que las anteriores, almacenan energía y la disipan, pero además tiene la particularidad de introducir energía en el sistema.

A diferencia de las suspensiones pasivas, las activas, no son de parámetros fijos. Esto se traduce en una importante ventaja: por medio de la alteración automática de dichos parámetros varían las características de la suspensión en función de las condiciones necesarias en cada instante, adaptando así el sistema de suspensión al medio por el cual circula el vehículo.

El principal inconveniente de las suspensiones activas es que precisan de un diseño más complejo debido al aporte de energía, lo que conllevará un incremento notable en el coste de fabricación.

Fig. (1.9): Esquema de una suspensión activa.

Suspensiones semiactivas: este tipo de suspensión presenta un gran número de similitudes con las suspensiones activas, ya que permite regular, al igual que éstas, los parámetros del sistema. Sin embargo, hay una gran diferencia: las suspensiones semiactivas, al igual que las pasivas, no necesitan aporte de energía. Así pues, la variación se produce por medio de componentes regulables, que pueden estar o no, comandados electrónicamente por medio de sensores.

Page 15: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

15

Fig. (1.10): Esquema de una suspensión semiactiva.

Además de la clasificación anterior se establecerán los siguientes tipos de sistemas de suspensión:

Sistemas dependientes: también denominado de eje rígido. Las ruedas están conectadas a un mismo eje rígido, de forma que sus movimientos están acoplados. Se suele emplear en algunos automóviles con tracción trasera en eje posterior y en el eje delantero de vehículos con tracción total.

Fig. (1.11): Suspensión dependiente.

Sistemas independientes: cada rueda se conecta al automóvil de forma que su movimiento no interactúa con el resto de las ruedas, independizando así sus movimientos verticales. Se emplea en general en el eje delantero.

Page 16: Dinámica Longitudinal

INTRODUCCIÓN HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

16

Fig. (1.12): Suspensión independiente.

Sistemas semidependientes: permiten un movimiento independiente limitado al transmitir torsión al eje sólido que los conecta.

Fig. (1.13): Suspensión semiindependiente.

Page 17: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

17

Capítulo II: Dinámica Lateral.

Page 18: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

18

2 DINÁMICA LATERAL.

2.1 Fundamentos teóricos.

2.1.1 Mecanismo de Ackermann.

El mecanismo de Ackermann se emplea en los automóviles para que, al negociar una curva, las ruedas del vehículo realicen un movimiento de rodadura puro.

El mecanismo consiste en una serie de barras, cuatro en total (de ahí que se conozca con el nombre de cuadrilátero de Ackermann), que conectan los ejes de las articulaciones de las ruedas directrices.

Fig. (2.1): Cuadrilátero de Ackermann.

Está diseñado de tal forma que las líneas rectas imaginarias, perpendiculares a todas las ruedas del vehículo y que pasan por su centro, convergen en un único centro instantáneo de rotación (o), de forma que las ruedas del vehículo realizan un movimiento de rodadura puro al negociar una curva.

Fig. (2.2): Centro instantáneo de rotación.

Si no se tuviera este sistema, las ruedas deslizarían y no trabajarían como se desea, de forma que supondría un peligro para la seguridad de los ocupantes. Además habría que añadir otro inconveniente más, el desgaste irregular de los neumáticos, acortando así su vida útil y elevando pues, los costes de mantenimiento del vehículo.

Page 19: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

19

Una vez definido el mecanismo de Ackermann, y estudiadas sus características mecánicas, se va a detallar cómo se realiza su diseño y cuáles son los parámetros principales involucrados en él.

Para ver todo con más precisión y claridad, se muestra un modelo del vehículo y los parámetros intervinientes:

Fig. (2.3): Condición geométrica del mecanismo de Ackermann.

Los ángulos que giran cada una de las ruedas directrices vienen dados por las siguientes relaciones:

𝑐𝑜𝑡𝑔 α =𝑂𝐴

𝐿 Ec. (2.1)

𝑐𝑜𝑡𝑔 𝛽 =𝑂𝐵

𝐿 Ec. (2.2)

Una vez que se conocen los ángulos lo que interesa es relacionarlos para poder diseñar el mecanismo correctamente:

𝑐𝑜𝑡𝑔 𝛼 − 𝑐𝑜𝑡𝑔 𝛽 =𝑉

𝐿 Ec. (2.3)

Page 20: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

20

Así pues, con el mecanismo de Ackermann se mantienen giradas las ruedas según la relación que impone la ecuación anterior, en función de la batalla (L) y de la vía del vehículo (V).

Con todo lo anterior y con las longitudes de las manivelas de cada rueda y de la biela que une ambas, el cuadrilátero de Ackermann quedará completamente definido.

2.1.2 Ángulo de deriva.

Cuando se dispone de neumáticos de goma, como sucede en los vehículos, aparecerá un cierto ángulo de divergencia respecto a la dirección diametral, sin que por ello el movimiento de la rueda deje de ser de rodadura puro, es decir, sin que aparezca deslizamiento. Este ángulo descrito es el llamado ángulo de deriva del neumático.

Este ángulo aparece debido a la fuerza lateral que soporta el neumático al negociar una curva.

Fig. (2.4): Ángulo de deriva.

Para relacionar el ángulo de deriva (α) con la fuerza lateral (Fy) se presentan las siguientes relaciones:

𝐹𝑦𝑓 = 𝐶𝛼𝑓 ∗ 𝛼𝑓 Ec. (2.4)

𝐹𝑦𝑟 = 𝐶𝛼𝑟 ∗ 𝛼𝑟 Ec. (2.5)

Ambas expresiones son iguales, la diferencia reside en que los sub-índices empleados se refieren a las ruedas delanteras (f), o a las traseras(r).

Como se aprecia, la fuerza lateral se relaciona con el ángulo de deriva a través de una constante (Cα), la rigidez a deriva. A su vez, la rigidez a deriva, depende de

Page 21: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

21

una serie de parámetros como son las fuerzas de aceleración y frenado, la carga, características del neumático,…,etc..

Se muestra ahora la relación entre la fuerza lateral y el ángulo de deriva de forma gráfica:

Fig. (2.5): Rigidez a deriva.

Por último, y para terminar con este apartado, hay que destacar el movimiento del centro instantáneo de rotación hacia delante por efecto de la deriva de los neumáticos.

Fig. (2.6): Desplazamiento de centro instantáneo de rotación debido a la deriva.

Page 22: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

22

2.1.3 Modelo: ”Modelo de bicicleta”.

El modelo de la bicicleta va a ser la herramienta de apoyo para el estudio del comportamiento en curva del vehículo.

Dicho modelo se emplea para estudiar cómo influye el ángulo de deriva a la hora de trazar una trayectoria curva con el vehículo.

Se denomina así porque el modelo concentra la rigidez a deriva del eje delantero y la rigidez a deriva del trasero, de forma que se pasa de un sistema con cuatro ruedas (como es el vehículo) a uno de dos ruedas (como es la bicicleta). Se puede apreciar todo esto con detalle en la siguiente figura:

Fig. (2.7): Modelo de la bicicleta.

Una vez introducidas las características del modelo, se estudiará con detalle el comportamiento en curva del vehículo. Para ello se va a dedicar un apartado específico en este capítulo, el apartado siguiente.

2.1.4 Comportamiento en curva del vehículo.

Para realizar un correcto desarrollo de las relaciones entre los parámetros intervinientes en el comportamiento en curva se utilizará el siguiente gráfico:

Page 23: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

23

Fig. (2.8): Relación entre ángulos y parámetros del vehículo.

En primer lugar, destacar que se supone que el radio de la curva que se va a negociar es lo suficientemente grande comparado con las dimensiones características del vehículo (batalla y vía), como para emplear aproximaciones de ángulos pequeños.

En segundo lugar, se observa, con una simple mirada al gráfico anterior, que se relacionan los ángulos de deriva y el ángulo de giro de las ruedas con la batalla del vehículo y el radio de la curva de la siguiente forma:

𝛿 − 𝛼𝑓 + 𝛼𝑟 =𝐿

𝑅 Ec. (2.6)

Además de los parámetros anteriores, el ángulo de giro de las ruedas dependerá de las fuerzas laterales que actúan sobre las ruedas, ya que dichas fuerzas condicionan el valor de los ángulos de deriva:

𝐹𝑦𝑓 =𝑊∗𝑣2∗𝑏

𝑅∗𝑔∗𝐿 Ec. (2.7)

𝐹𝑦𝑟 =𝑊∗𝑣2∗𝑎

𝑅∗𝑔∗𝐿 Ec. (2.8)

Teniendo en cuenta en equilibrio de fuerzas verticales y suponiendo condiciones estacionarias se tiene que:

𝑊𝑓 =𝑊∗𝑏

𝐿 Ec. (2.9)

𝑊𝑟 =𝑊∗𝑎

𝐿 Ec. (2.10)

Page 24: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

24

En el apartado 2.1.2 se vio como se relacionan las fuerza laterales con el ángulo de deriva a través del parámetro conocido como rigidez a deriva: Ec. (2.4) y Ec. (2.5)

Trabajando con todas las ecuaciones anteriores se obtiene la ecuación final del problema:

𝛿 =𝐿

𝑅+

𝑊𝑓

𝐶𝛼𝑓−

𝑊𝑟

𝐶𝛼𝑟

𝑣2

𝑔∗𝑅 Ec. (2.11)

donde el término 𝑾𝒇

𝑪𝜶𝒇−

𝑾𝒓

𝑪𝜶𝒓 es igual al coeficiente de subvirador.

𝑈 =𝑊𝑓

𝐶𝛼𝑓−

𝑊𝑟

𝐶𝛼𝑟 Ec. (2.12)

En función del valor que toma el coeficiente de subvirador, se desarrollan tres tipos de comportamiento en el vehículo:

Subvirador (U>0):

En este caso el ángulo de deriva de los neumáticos delanteros es superior al de los traseros. Si se aumenta la velocidad, el vehículo tenderá a salirse de la carretera por la tangente de la curva que está negociando y será necesario aumentar el ángulo de giro para que esto no suceda.

Fig. (2.9): Vehículo subvirador.

Sobrevirador (U<0):

Ahora, al contrario que en el vehículo subvirador, el ángulo de deriva de los neumáticos delanteros es inferior al de los traseros. Si se aumenta la velocidad, el vehículo tenderá a salirse de la carretera por el interior de la

Page 25: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

25

curva que está negociando y será necesario disminuir el ángulo de giro de las ruedas para que esto no suceda.

En este caso aparece una velocidad, la velocidad crítica, a la cual el vehículo mantiene la trayectoria curva necesaria sin girar el volante:

𝑣𝑐𝑟 = 𝑔∗𝐿

−𝑈 Ec. (2.13)

Fig. (2.10): Vehículo sobrevirador.

Virador neutro (U=0):

Se presenta ahora una situación intermedia a las dos anteriores. Un vehículo virador neutro tendrá el mismo ángulo de deriva en los neumáticos traseros que en los delanteros. Aunque se aumente la velocidad del vehículo en la curva no será necesario cambiar el ángulo de giro de las ruedas para el correcto trazado de ésta. En este caso el ángulo requerido para tomar la curva será:

𝛿 =𝐿

𝑅 Ec. (2.14)

Page 26: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

26

Fig. (2.11): Vehículo virador neutro.

Para terminar el estudio del comportamiento en curva, se realiza una gráfica que representa el ángulo de giro necesario en función de la velocidad, para cada uno de los tipos de vehículo:

Fig. (2.12): Ángulo de giro en función de la velocidad.

Page 27: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

27

2.2 Interfaz gráfica.

2.2.1 Datos de entrada.

Los datos de entrada de esta parte del programa son aquellos necesarios para calcular el comportamiento en curva del vehículo.

Los datos están divididos en dos cuadros independientes:

Datos del vehículo:

o Masa: masa del automóvil expresada en kg.

o Batalla: este dato se toma a través de tres entradas.

L= batalla, propiamente dicha, del vehículo. Es la distancia entre el eje delantero y el eje trasero en metros.

a= distancia entre el eje delantero y el c.d.g. del automóvil.

b= distancia entre el eje trasero y el c.d.g. del automóvil.

Hay que tener en cuenta que se debe cumplir: a+b=L. Si esto no ocurre el programa mostrará un mensaje de error.

o Rigidez a deriva: como se estudió en el apartado de fundamentos teóricos, es el parámetro que relaciona la fuerza lateral con el ángulo de deriva de los neumáticos. Tendrá dos entradas, una para los neumáticos delanteros (Cαf), y otra para los traseros (Cαr). Sus unidades de medida serán N/rad.

o Velocidad: velocidad a la que circula el vehículo en km/h.

o Relación de desmultiplicación: parámetro que establece la relación entre el ángulo de giro del volante y el ángulo de giro de las ruedas. Su valor suele estar comprendido entre 15 – 20.

Datos de la curva:

o Radio: radio de la curva que está negociando el vehículo. Su dimensión vendrá dada en metros.

Page 28: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

28

2.2.2 Parámetros de salida.

Son los datos obtenidos tras la resolución del problema. Los parámetros de salida de la dinámica lateral pueden ser numéricos o gráficos.

Numéricos:

o Ángulo de giro de las ruedas: ángulo que giran las ruedas del vehículo al trazar la curva, expresado en radianes.

o Ángulo de giro del volante: ángulo a girar por el conductor al negociar la curva, también expresado en radianes.

o Coeficiente de subvirador: ha sido estudiado con detalle en los fundamentos teóricos, por lo que no se estima necesario realizar ningún comentario.

Gráficos:

Se mostrarán dos imágenes de salida, una reproducción de la trazada que realizará el vehículo al recorrer la curva y un gráfico que representa el ángulo de giro del volante necesario para tomar correctamente la curva en función de la velocidad a la que se desplaza el vehículo.

Ahora se muestra una imagen del programa donde se observa con detalle la presentación de la interfaz gráfica para la dinámica lateral:

Fig. (2.13): Interfaz gráfica: dinámica lateral.

Datos de entrada Parámetros de salida

Page 29: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

29

2.2.3 Operación y funcionamiento.

En primer lugar se comienza ejecutando el programa. Para ello se abrirá el archivo “simulación”. Aparecerá en pantalla la siguiente imagen:

Fig. (2.14): Interfaz gráfica: pantalla principal.

Una vez cargada la pantalla, se dispone de cuatro botones: uno para cada una de las tres dinámicas del automóvil y un cuarto botón para salir del programa. Al hacer clic sobre el botón de dinámica lateral y se abrirá una nueva ventana dedicada a la simulación de dicha dinámica:

Fig. (2.15): Interfaz gráfica: pantalla dinámica lateral.

Page 30: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

30

Para comenzar los cálculos se introducirán los datos de entrada que pide el programa y que han sido detallados en apartados anteriores. Para desplazarse de una casilla a otra de los datos de entrada se puede emplear el tabulador del teclado.

Hay que prestar especial cuidado a la hora de introducir estos datos, ya que sólo pueden introducirse caracteres numéricos y, si por fallo de la persona encargada de esta función se introdujese alguna letra o carácter especial (menos el separador decimal que es el punto), saltará un mensaje de error y se borrará automáticamente la casilla sobre la que trabajábamos. Se detalla lo explicado en una imagen con más detalle:

Fig. (2.16): Interfaz gráfica: dinámica lateral, error por carácter no numérico.

Como se observa en la imagen, el error se ha producido al introducir el valor de rigidez a deriva (Cf). Automáticamente aparece la ventana de información y se ha limpiado la casilla.

De igual modo, se abrirá otro mensaje de error si, al introducir los datos de la batalla del vehículo (L, a y b), no se cumple la ecuación L=a+b. En este caso, al producirse el error se borraran los valores introducidos en cada una de las tres casillas citadas:

Page 31: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

31

Fig. (2.17): Interfaz gráfica: dinámica lateral, error por valor de la batalla.

Así pues, una vez introducido los datos se está en condiciones de poder realizar los cálculos. Para ello se pulsa el botón “CALCULAR” situado en la parte inferior central de la pantalla.

Al presionar dicho botón el programa realiza las siguientes acciones:

Lectura y almacenamiento de cada uno de los parámetros de entrada.

Cálculos numéricos directos asociados a los datos de entrada:

𝑊𝑓 =𝑚 · 9.81 · 𝑏

𝐿

𝑊𝑟 =𝑚 · 9.81 · 𝑎

𝐿

𝑈 =𝑊𝑓

𝐶𝑓−

𝑊𝑟

𝐶𝑟

𝛿 =𝐿

𝑅+ 𝑈 ·

𝑣 · 1000/3600 2

𝑔 · 𝑅

𝛿𝑣 = 𝛿 · 𝑅𝑑𝑒𝑠𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑖𝑐𝑎𝑐𝑖 ó𝑛

Una vez realizado los cálculos (U, 𝛿, 𝛿𝑣), se muestran por pantalla los parámetros de salida en sus casillas correspondientes.

Page 32: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

32

Obtención de los gráficos:

Los gráficos e imágenes a mostrar dependen del valor del coeficiente de subvirador, por lo que se ha realizado la programación de las imágenes de salida de la interfaz a través de la sentencia “if”.

Para cada uno de los tres casos (U=0, U<0 y U>0), hay almacenada una imagen que se mostrará en la zona superior derecha de la pantalla. Además, y en el caso de que el vehículo sea sobrevirador (U<0) aparecerá en el pie de la imagen la velocidad crítica, que ha sido calculada por la fórmula:

𝑣𝑐𝑟 = 𝑔 · 𝐿

−𝑈

Fig. (2.18): Interfaz gráfica: dinámica lateral, imágenes mostradas en función del coeficiente de subvirador.

En la zona inferior derecha se representará la gráfica del ángulo de giro del volante en función de la velocidad del vehículo. Para realizar la representación se emplea la función plot:

Definimos el eje x x=0:10:Velocidad+20;

Definimos el eje y y=((L/R)+U*(x*1000/3600).^2/(9.81*R))*r.desmult.

Dibujamos la gráfica plot(x,y)

Page 33: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

33

Fig. (2.19): Interfaz gráfica: dinámica lateral, distintas gráficas en función del coeficiente de subvirador.

Una vez realizados los cálculos se puede cambiar algún dato de entrada pinchando con el ratón sobre él y, después de borrar lo anteriormente introducido, escribir el nuevo valor. Si se vuelve a pulsar “CALCULAR”, se repetirán los cálculos con el/los nuevo/s dato/s y se obtendrá/n el/los nuevo/s resultado/s.

Si por el contrario se desea cambiar casi la totalidad de los datos introducidos, o empezar de nuevo por algún error a la hora de escribirlos, no es necesario salir del programa y volver a empezar, o ir uno a uno reescribiendo los datos de entrada, ya que disponemos del botón “RESET” que limpia en la pantalla tanto los datos de entrada, como parámetros e imágenes y gráficos de salida.

Para finalizar y salir del programa, además del sistema normal utilizado en cualquier programa de Windows (hacer clic sobre el aspa de la esquina superior derecha), se dispone del botón “SALIR” que cerrará la ventana.

Page 34: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

34

2.2.4 Ejemplo práctico.

Se desea resolver el siguiente ejemplo:

Un automóvil que presenta las siguientes características:

- Masa: 900 kg

- Batalla:

a = 1.2 m

b = 1.3 m

- Cαf = 140000 N/rad

- Cαr = 50000 N/rad

- Velocidad: 100 km/h

- Relación de desmultiplicación: 18

va a negociar una curva que tiene 100 m de radio.

A) Simular el comportamiento en curva del vehículo.

B) Intercambiar los valores de rigidez a deriva de las ruedas el eje trasero con las del delantero y simular el nuevo sistema.

C) Cambiar los siguientes datos del enunciado:

- Batalla:

a = 1.3 m

- Cαf = 90000 N/rad

- Cαr = 90000 N/rad

Simular otra vez la dinámica lateral y responder a la siguiente pregunta:

¿Tiene el vehículo un comportamiento de virador neutro?

SOLUCIÓN DEL EJEMPLO PROPUESTO

- APARTADO A:

Introduciendo los datos de entrada en el programa se obtiene la siguiente pantalla:

Page 35: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

35

Fig. (2.20): Interfaz gráfica: ejemplo, apartado A.

Una vez revisados los datos se procederá a la simulación. Pinchando en el botón de calcular se consiguen los resultados siguientes:

Fig. (2.21): Interfaz gráfica: ejemplo, apartado A.

Page 36: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

36

Observando el resultado de la simulación se aprecia que el vehículo será sobrevirador.

Los parámetros de salida son:

- Ángulo de giro de las ruedas: -0.015873 rad.

- Ángulo de giro del volante: -0.28571 rad.

- Coeficiente de subvirador: -0.051965

- Velocidad crítica: 78.2081 km/h.

Para pasar al apartado B, bien se cambian en pantalla los datos de rigidez a deriva o bien se pulsa reset y se introducen de nuevo todos los datos.

- APARTADO B:

Una vez cambiados los datos de entrada se presiona de nuevamente “CALCULAR” y se obtiene:

Fig. (2.22): Interfaz gráfica: ejemplo, apartado B.

Page 37: Dinámica Longitudinal

D.LATERAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

37

El resultado de la simulación ha cambiado por completo, ahora el vehículo es subvirador.

Los parámetros de salida son:

- Ángulo de giro de las ruedas: 0.073413 rad.

- Ángulo de giro del volante: 1.3214 rad.

- Coeficiente de subvirador: 0.061551

- APARTADO C:

Para finalizar con el ejemplo se introducen los nuevos datos y se comprobará si es cierto que el vehículo será o no virador neutro:

Fig. (2.23): Interfaz gráfica: ejemplo, apartado C.

Queda así comprobado que, efectivamente, tal y como se podía prever, el vehículo es virador neutro. Los resultados que se han obtenido son:

- Ángulo de giro de las ruedas: 0.026 rad.

- Ángulo de giro del volante: 0.468 rad.

- Coeficiente de subvirador: 0

Page 38: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

38

Capítulo III: Dinámica Longitudinal.

Page 39: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

39

3 DINÁMICA LONGITUDINAL.

3.1 Fundamentos teóricos.

3.1.1 Curva de par. Curva de potencia.

La curva de par es la representación del par motor del vehículo en función de la velocidad de rotación del motor. Igualmente la curva de potencia representa la potencia desarrollada según el régimen de velocidades de rotación.

La potencia en cada momento es igual al par multiplicado por la velocidad angular a la que gira el motor (P=T*w). Así pues, conociendo la curva de par de un vehículo se conocerá la de potencia o viceversa.

En cuanto a las curvas de potencia y par ideales para un vehículo, lo deseado sería que la potencia fuera constante para cualquier velocidad y que el par tuviera valores elevados a pequeñas velocidades y valores bajos a grandes velocidades, de forma que toda la potencia se emplearía para subir elevadas pendientes a baja velocidad o para vencer las fuerzas de rozamiento y aerodinámica a alta velocidad.

Fig. (3.1): Curvas de potencia y par ideales.

Estas condiciones se cumplen, casi al 100%, en motores de vapor y en ciertos motores eléctricos. Así pues, lo ideal, refiriéndose a términos de potencia, sería emplear alguno de estos dos tipos de motores. Pero no todo son ventajas, aparece el inconveniente del elevado peso de dichos motores para el rango de potencias necesarias en un vehículo, y el de obtener o almacenar energía eléctrica y, generar y trabajar con vapor. Por todo esto se emplean motores de combustión interna en vehículos.

A continuación se va a realizar un estudio del funcionamiento de los MCI y de cómo obtener las curvas de par y de potencia en ellos.

Page 40: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

40

Estos motores realizan un ciclo termodinámico para producir energía. En los vehículos la mayoría de los motores son de cuatro tiempos, por lo que el pistón del motor recorrerá dos ciclos, cuyas etapas o tiempos son:

Admisión: el pistón baja y se abre la válvula de admisión para que entre aire (motores diesel) o una mezcla de aire y combustible (motor gasolina).

Compresión: se cierra la válvula de admisión y al subir el pistón comprime el aire o la mezcla según sea un motor u otro.

Expansión: una vez comprimida la mezcla se produce la explosión y expansión de la mezcla, bien por la chispa de un electrodo (bujía) en motores de ciclo de Otto, o bien por la inyección de combustible a presión en motores diesel. La expansión de la mezcla (gases) hará que el pistón baje.

Escape: al subir nuevamente el pistón arrastra los gases de la combustión que salen del cilindro a través de la válvula de escape que se encontrará abierta.

En la siguiente figura se representa un gráfico que muestra el ciclo que realiza el motor:

Fig. (3.2): Ciclo MCI.

La potencia obtenida por el MCI puede calcularse a partir del diagrama de presiones de un cilindro durante el ciclo que describe.

La fuerza (F) que actúa sobre el pistón será:

𝐹 = 𝑝 ∗𝜋∗𝐷2

4 Ec. (3.1)

𝑝 = 𝑝𝑟𝑒𝑠𝑖ó𝑛 𝑚𝑒𝑑𝑖𝑎 𝑒𝑓𝑒𝑐𝑡𝑖𝑣𝑎 𝑞𝑢𝑒 𝑎𝑐𝑡ú𝑎 𝑒𝑛 𝑙𝑎 𝑒𝑥𝑝𝑎𝑛𝑠𝑖ó𝑛.

𝐷 = 𝑑𝑖𝑎𝑚𝑒𝑡𝑟𝑜 𝑑𝑒𝑙 𝑝𝑖𝑠𝑡ó𝑛.

Calculada la fuerza, podrá obtenerse el trabajo (W) como:

Page 41: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

41

𝑊 = 𝐹 ∗ 𝐿 = 𝑝 ∗𝜋∗𝐷2

4∗ 𝐿 Ec. (3.2)

𝐿 = 𝑙𝑜𝑛𝑔𝑖𝑡𝑢𝑑 𝑑𝑒 𝑙𝑎 𝑐𝑎𝑟𝑟𝑒𝑟𝑎

Como el motor de los vehículos suele ser de cuatro tiempos habrá una carrera efectiva del pistón cada dos vueltas, a diferencia del de dos tiempos que sólo presentan una. Entonces se define un factor (f) que introduzca en la expresión anterior las carreras efectivas por vuelta del pistón. En este caso f=1/2.

𝑊′ = 𝐹 ∗ 𝐿 = 𝑝 ∗𝜋∗𝐷2

4∗ 𝐿 ∗ 𝑓 Ec. (3.3)

Calculado el trabajo se obtiene la potencia como el producto de éste por la velocidad angular de rotación (ω):

𝑃′ = 𝑊 ′ ∗ 𝜔 = 𝑝 ∗𝜋∗𝐷2

4∗ 𝐿 ∗ 𝑓 ∗ 𝜔 Ec. (3.4)

Teniendo en cuenta el número de cilindros del motor (N):

𝑃 = 𝑝 ∗𝜋∗𝐷2

4∗ 𝐿 ∗ 𝑓 ∗ 𝜔 ∗ 𝑁 Ec. (3.5)

Observando la ecuación anterior se pueden hacer algunas simplificaciones, ya que el volumen o cilindrada del motor será:

𝑉 =𝜋∗𝐷2

4∗ 𝐿 ∗ 𝑁 Ec. (3.6)

Así se llega a obtener la potencia y el par motor como:

𝑃 = 𝑝 ∗ 𝑉 ∗ 𝑓 ∗ ω Ec. (3.7)

𝑇 = 𝑝 ∗ 𝑉 ∗ 𝑓 Ec. (3.8)

𝑃 = 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎 𝑑𝑒𝑙 𝑀𝐶𝐼.

𝑇 = 𝑝𝑎𝑟 𝑚𝑜𝑡𝑜𝑟.

Nota: todas las formulas anteriores se utilizaran con unidades del S.I.

Otro factor a tener en cuenta es que hay que limitar la velocidad lineal media de los pistones para que no se produzca un desgaste excesivo de las camisas y de los segmentos. Suele emplearse unos valores entre 5 m/s y 12 m/s.

Page 42: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

42

Con todo lo anterior, si se representan las gráficas de potencia y de par de los motores de combustión interna se aprecia que, en absoluto, son constantes como sería deseable:

Fig. (3.3): Curva de par (rojo) y curva de potencia (azul) de un MCI.

Entonces, se llega a la siguiente situación: por una parte se buscan motores que tenga una curva de potencia más o menos constante (lineal) y por otra parte se emplean MCI que no cumplen estas características. Así pues, ¿cómo puede corregirse dicha situación?

Para resolver este problema entran en juego las transmisiones con velocidad variable, es decir, las distintas relaciones de transmisión del vehículo, tema que será objeto de estudio en el apartado 3.1.3 de este capítulo.

Si en el MCI se despreciaran los efectos dinámicos de llenado del cilindro y las distorsiones de carburación tendríamos una curva de par constante.

3.1.2 Equilibrio dinámico longitudinal.

En este apartado se van a estudiar cuáles son las fuerzas resistivas y cuáles son las fuerzas tractoras.

Como definición de fuerzas resistivas se cita: es todo tipo de fuerza que se opone al movimiento del automóvil. En cambio, las fuerzas tractoras son aquellas que hacen posible que el vehículo venza las fuerzas resistivas y pueda comenzar y mantener su movimiento.

A continuación se desarrollaran las expresiones matemáticas que definen cada una de las fuerzas definidas anteriormente. En primer lugar se representa como actúan dichas fuerzas y los parámetros de los que dependen.

Page 43: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

43

Fig. (3.4): Fuerzas que intervienen en el movimiento de un vehículo.

- Fuerza de resistencia aerodinámica (Fa).

Fuerzas resistivas - Fuerza de resistencia a la rodadura (Fr).

- Fuerza debida a la pendiente a remontar (Fp).

- Fuerza de inercia (Fi).

Fuerzas tractoras Fuerza motriz (Fm).

Se define cada una de ellas como:

Fuerza de resistencia aerodinámica (Fa): es la fuerza que sufre el vehículo al moverse en contacto con el aire.

𝐹𝑎 = 𝐶𝑥 ∗ 1

2∗ 𝜌𝑎 ∗ 𝑣2 ∗ 𝐴 Ec. (3.9)

𝐶𝑥 = 𝑐𝑜𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑒 𝑑𝑒 𝑟𝑒𝑠𝑖𝑠𝑡𝑒𝑛𝑐𝑖𝑎 𝑎𝑒𝑟𝑜𝑑𝑖𝑛á𝑚𝑖𝑐𝑎𝜌𝑎 = 𝑑𝑒𝑛𝑠𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑎𝑖𝑟𝑒.

𝑣 = 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑣𝑒𝑕í𝑐𝑢𝑙𝑜.𝐴 = á𝑟𝑒𝑎 𝑓𝑟𝑜𝑛𝑡𝑎𝑙 𝑑𝑒𝑙 𝑣𝑒𝑕í𝑐𝑢𝑙𝑜.

Page 44: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

44

Fuerza de resistencia a la rodadura (Fr): fuerza que aparece por el contacto del vehículo a través de los neumáticos con la superficie de rodadura.

𝐹𝑟 = 𝜌 ∗ 𝑚 ∗ 𝑔 ∗ 𝑐𝑜𝑠𝜃 Ec. (3.10)

𝜌 = 𝑐𝑜𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑒 𝑑𝑒 𝑟𝑒𝑠𝑖𝑠𝑡𝑒𝑛𝑐𝑖𝑎 𝑎 𝑙𝑎 𝑟𝑜𝑑𝑎𝑟𝑢𝑟𝑎.𝑚 = 𝑚𝑎𝑠𝑎 𝑑𝑒𝑙 𝑣𝑒𝑕í𝑐𝑢𝑙𝑜.

𝑔 = 𝑎𝑐𝑒𝑙𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑙𝑎 𝑔𝑟𝑎𝑣𝑒𝑑𝑎𝑑.𝜃 = 𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒 𝑎 𝑟𝑒𝑚𝑜𝑛𝑡𝑎𝑟.

Fuerza debida a la pendiente a remontar (Fp): al encontrarse el vehículo en un plano inclinado, una parte de su masa gravita en sentido contrario al de su marcha, provocando una fuerza resistiva.

𝐹𝑝 = 𝑚 ∗ 𝑔 ∗ 𝑠𝑒𝑛𝜃 Ec. (3.11)

𝑚 = 𝑚𝑎𝑠𝑎 𝑑𝑒𝑙 𝑣𝑒𝑕í𝑐𝑢𝑙𝑜.

𝑔 = 𝑎𝑐𝑒𝑙𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑙𝑎 𝑔𝑟𝑎𝑣𝑒𝑑𝑎𝑑.𝜃 = 𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒 𝑎 𝑟𝑒𝑚𝑜𝑛𝑡𝑎𝑟.

Para pequeñas pendientes se puede realizar la siguiente aproximación:

𝑠𝑒𝑛𝜃 ≈ 𝜃 Ec. (3.12)

𝜃 = 𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒 𝑎 𝑟𝑒𝑚𝑜𝑛𝑡𝑎𝑟.

Así pues, la fuerza debida a la pendiente a remontar será:

𝐹𝑝 = 𝑚 ∗ 𝑔 ∗ 𝑠𝑒𝑛𝜃 = 𝑊 ∗ 𝑠𝑒𝑛𝜃 = 𝑊 ∗ 𝜃 Ec. (3.13)

𝑚 = 𝑚𝑎𝑠𝑎 𝑑𝑒𝑙 𝑣𝑒𝑕í𝑐𝑢𝑙𝑜.𝑔 = 𝑎𝑐𝑒𝑙𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑙𝑎 𝑔𝑟𝑎𝑣𝑒𝑑𝑎𝑑.

𝜃 = 𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒 𝑎 𝑟𝑒𝑚𝑜𝑛𝑡𝑎𝑟.𝑊 = 𝑝𝑒𝑠𝑜 𝑑𝑒𝑙 𝑣𝑒𝑕í𝑐𝑢𝑙𝑜.

Fuerza de inercia (Fi): fuerza de origen cinemático que actúa en sentido contrario a la aceleración del vehículo.

𝐹𝑖 = 𝑚 ∗ 𝐴𝑥 = 𝑚 ∗ 𝑔 ∗𝐴𝑥

𝑔= 𝑊 ∗ 𝐴𝑥

𝑔 Ec. (3.14)

Page 45: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

45

𝑚 = 𝑚𝑎𝑠𝑎 𝑑𝑒𝑙 𝑣𝑒𝑕í𝑐𝑢𝑙𝑜.

𝑔 = 𝑎𝑐𝑒𝑙𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑙𝑎 𝑔𝑟𝑎𝑣𝑒𝑑𝑎𝑑.𝐴𝑥 = 𝑎𝑐𝑒𝑙𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑑𝑒𝑙 𝑣𝑒𝑕í𝑐𝑢𝑙𝑜.

Ahora bien, para que se cumpla el equilibrio dinámico longitudinal, la suma de todas estas fuerzas debe ser igual a la suma de las fuerzas tractoras:

𝐹𝑢𝑒𝑟𝑧𝑎𝑠 𝑟𝑒𝑠𝑖𝑠𝑡𝑖𝑣𝑎𝑠 = 𝐹𝑢𝑒𝑟𝑧𝑎𝑠 𝑡𝑟𝑎𝑐𝑡𝑜𝑟𝑎𝑠 Ec. (3.15)

𝐹𝑎 + 𝐹𝑟 + 𝐹𝑝 + 𝐹𝑖 = 𝑅 = 𝐹𝑡 Ec. (3.16)

Esta ecuación (3.16) se denomina ecuación de equilibrio de fuerzas. A partir de ella se obtiene la ecuación de equilibrio de potencias:

𝑃𝑚 = 𝑃𝑟 = 𝑅 ∗ 𝑣 Ec. (3.17)

𝑃𝑚 = 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎 𝑚𝑜𝑡𝑟𝑖𝑧.𝑃𝑟 = 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎 𝑟𝑒𝑠𝑖𝑠𝑡𝑖𝑣𝑎.𝑅 = 𝑓𝑢𝑒𝑟𝑧𝑎𝑠 𝑟𝑒𝑠𝑖𝑠𝑡𝑖𝑣𝑎𝑠.

𝑣 = 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑣𝑒𝑕í𝑐𝑢𝑙𝑜.

𝑃𝑚 = 𝑅𝑣 = 𝐹𝑎 + 𝐹𝑟 + 𝐹𝑝 + 𝐹𝑖 𝑣 = 𝑊𝑣 𝜌 + 𝜃 + 𝐴𝑥𝑔 +

1

2𝐶𝑥𝜌𝑎𝐴𝑣3 Ec. (3.18)

La potencia disponible para acelerar, la potencia cinética, será:

𝑊𝑣𝐴𝑥𝑔

= 𝑃𝑚 − 𝜌 + 𝜃 𝑊𝑣 −1

2𝐶𝑥𝜌𝑎𝐴𝑣3 Ec. (3.19)

3.1.3 Relaciones de transmisión.

En un vehículo, se denomina relación de transmisión al cociente entre la velocidad de rotación del motor y la de las ruedas del vehículo:

𝑟 =𝑤𝑚

𝑤𝑟 Ec. (3.20)

Page 46: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

46

Las relaciones de transmisión proporcionan las siguientes prestaciones:

Velocidad máxima en llano: cálculo de la relación de transmisión más larga (𝑟𝑁):

Hipótesis de cálculo:

- Se supone que, como el vehículo se encuentra a la velocidad máxima, la aceleración es nula:

𝐴𝑥 = 0 Ec. (3.21)

- El vehículo circulará por una carretera completamente llana, es decir, no remontará pendiente alguna:

𝜃 = 0 Ec. (3.22)

- La velocidad máxima v* se alcanzará a la potencia motriz máxima (P*):

𝑃∗ · 𝜂 = 𝑊 · 𝜌 · 𝑣∗ +1

2· 𝐶𝑥 · 𝜌𝑎 · 𝐴 · 𝑣∗ 3 Ec. (3.23)

𝑣∗ = 𝑤𝑟 · 𝑅 =𝑤𝑚

𝑟𝑁· 𝑅 → 𝑟𝑁 =

𝑤𝑚 ·𝑅

𝑣∗ Ec. (3.24)

Rampa o pendiente máxima: cálculo de la relación de transmisión más corta (𝑟1):

Hipótesis de cálculo:

- Como al remontar la pendiente máxima la velocidad será reducida se desprecia la fuerza aerodinámica:

𝐹𝑎 = 0 Ec. (3.25)

- La velocidad es constante, por lo que no se puede acelerar más el vehículo:

𝐴𝑥 = 0 Ec. (3.26)

- La fuerza de tracción equilibra a la de pendiente y resistencia a rodadura:

𝐹𝑡 = 𝐹𝑟 + 𝐹𝑝 = 𝑊 · (𝜌 + 𝜃) Ec. (3.27)

Page 47: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

47

Equilibrio entre el par motor y el par en las ruedas:

𝑃𝑚 = 𝑃𝑟 → 𝑇𝑚 · 𝑤𝑚 = 𝑇𝑟 · 𝑤𝑟 → 𝑇𝑚 · 𝑟 = 𝑇𝑟 Ec. (3.28)

Haciendo que el par motor sea el máximo disponible:

𝑇∗ · 𝑟 · 𝜂 = 𝑇𝑟 → 𝑟 =𝑇𝑟

𝑇∗·𝜂 Ec. (3.29)

𝑟1 =𝑇𝑟

𝑇∗·𝜂=

𝐹𝑡 ·𝑅

𝑇∗·𝜂=

𝑅·𝑊·(𝜃+𝜌)

𝑇∗·𝜂 Ec. (3.30)

𝑟1 =𝑅·𝑊·(𝑠𝑖𝑛𝜃 +𝜌 ·𝑐𝑜𝑠𝜃 )

𝑇∗·𝜂 Ec. (3.31)

Aceleración máxima (normalmente de 0-100 km/h).

Las prestaciones de un vehículo en aceleración se determinan a partir de la curva de par disponible. Para cada velocidad de desplazamiento del automóvil, con una determinada relación de transmisión, existirá un par disponible para acelerar, que será:

𝑇𝑇𝑑𝑎 = 𝑇𝑇 − 𝑇𝑅 Ec. (3.32)

A partir del par disponible, se puede evaluar el esfuerzo tractor máximo que permite acelerar el vehículo siempre que no se supere la adherencia entre el neumático y la superficie de rodadura.

𝑇𝑇𝑑𝑎 = 𝐹𝑑𝑎 · 𝑅 Ec. (3.33)

La aceleración del vehículo afecta tanto a la velocidad de traslación del conjunto de sus masas como el aumento de las velocidades de rotación de las masas giratorias. Este efecto se evalúa por el factor de masa equivalentes, que mayora la masa real del vehículo:

Page 48: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

48

𝛾𝑚 = 1 + 𝐼𝑟

𝑚 ·𝑅2 + I𝑡 ·𝑟2

𝑚 ·𝑅2 ≈ 1.04 + 0.0025 · 𝑟2 Ec. (3.34)

RELACIONES DE TRANSMISIÓN

ALTAS BAJAS PRIMERA SEGUNDA

TURISMO GRANDE 1.09 - 1.3 1.14

TURISMO PEQUEÑO 1.11 2.4 1.5 1.20

Fig. (3.5): Valores promediados del factor de masas.

Así pues, ya se podrá calcular la aceleración máxima:

𝐹𝑑𝑎 = 𝑚 · 𝑎 · 𝛾𝑚 → 𝑎 =𝐹𝑑𝑎

𝛾𝑚 ·𝑚 Ec. (3.35)

Para una relación determinada se puede obtener el tiempo necesario para acelerar entre dos velocidades como:

𝑑𝑡 =𝑑𝑉

𝑎= 𝛾𝑚 · 𝑚 ·

𝑑𝑉

𝐹𝑑𝑎 (𝑉)→ 𝑡1,2 = 𝛾𝑚 · 𝑚 ·

𝑑𝑉

𝐹𝑑𝑎 (𝑉)

𝑉2

𝑉1 Ec. (3.36)

De igual modo se calcula el espacio recorrido en ese tiempo como:

𝑑𝑆 = 𝑉 · 𝑑𝑡 = 𝛾𝑚 · 𝑚 ·𝑉·𝑑𝑉

𝐹𝑑𝑎 (𝑉)→ 𝑆1,2 = 𝛾𝑚 · 𝑚 ·

𝑉·𝑑𝑉

𝐹𝑑𝑎 (𝑉)

𝑉2

𝑉1 Ec. (3.37)

Una vez estudiadas las prestaciones que se obtienen con las relaciones de transmisión vamos a ver cómo calcular el resto de relaciones de un vehículo.

Uno de los criterios más empleados es partir del rango de velocidades en el cual va a trabajar el motor (hay que tener en cuenta que dentro de dicho rango de velocidades deben encontrarse el par motor y la potencia motriz máximas).

Como criterio de diseño hay que suponer que la velocidad de las ruedas al final de la marcha “i-1” debe coincidir con la velocidad de las ruedas al inicio de la marcha “i”. Si no se cumpliera esta condición de diseño, el coche tendría un cambio brusco de velocidad al cambiar de una marcha a otra. Desarrollando lo expuesto:

𝑤𝑟2,(𝑖−1)

= 𝑤𝑟1,𝑖 →

1

𝑟𝑖−1· 𝑤𝑚

2 =1

𝑟𝑖· 𝑤𝑚

1 Ec. (3.38)

Page 49: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

49

De esta forma, la expresión que relaciona las relaciones de transmisión “i-1” e “i” es la progresión geométrica:

𝑟𝑖−1 = 𝑤𝑚

2

𝑤𝑚1 · 𝑟𝑖 Ec. (3.39)

Ahora se representa en una gráfica como varían las velocidades según las relaciones de transmisión:

Fig. (3.6): Velocidad en función de las relaciones de transmisión.

3.1.4 Limitación de esfuerzos tractores por la adherencia.

La adherencia es el principal problema que presenta un automóvil a la hora de remontar una pendiente.

La máxima pendiente que podrá remontar se dará, como ya se vio en el estudio las prestaciones, en condiciones de par máximo y con la relación de transmisión más corta.

Page 50: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

50

Para conocer si un vehículo puede o no remontar una pendiente hay que comparar la fuerza de tracción que posee éste con la fuerza de rozamiento entre los neumáticos y la superficie de rodadura. Así se tiene que:

Si la fuerza de tracción es mayor que la fuerza de rozamiento disponible

las ruedas motrices del vehículo patinaran y no será capaz de remontar la

pendiente.

𝐹𝑡𝑟𝑎𝑐𝑐𝑖 ó𝑛 > 𝐹𝑟𝑜𝑧𝑎𝑚𝑖𝑒𝑛𝑡𝑜 = 𝜇 · 𝑊𝑒𝑗𝑒 𝑚𝑜𝑡𝑟𝑖𝑧 Ec. (3.40)

Si la fuerza de tracción es menor que la fuerza de rozamiento disponible

las ruedas motrices no patinan y tendremos la adherencia garantizada,

pudiendo el vehículo remontar la pendiente.

𝐹𝑡𝑟𝑎𝑐𝑐𝑖 ó𝑛 < 𝐹𝑟𝑜𝑧𝑎𝑚𝑖𝑒𝑛𝑡𝑜 = 𝜇 · 𝑊𝑒𝑗𝑒 𝑚𝑜𝑡𝑟𝑖𝑧 Ec. (3.41)

donde 𝑊𝑒𝑗𝑒 𝑚𝑜𝑡𝑟𝑖𝑧 es la carga normal en el eje motriz y μ es el coeficiente de

adherencia.

El valor del coeficiente de adherencia dependerá de que exista deslizamiento o pseudo-deslizamiento. Se define el pseudo-deslizamiento como la diferencia entre la distancia recorrida en una vuelta y la distancia recorrida por la banda de rodadura:

𝑠 =𝑤 ·𝑅−𝑣

𝑤 ·𝑅 Ec. (3.42)

Fig. (3.7): Coeficiente de adherencia y peudo-deslizamiento.

Al observar la gráfica y la expresión anterior se obtienen las siguientes conclusiones:

Si w·R=v s=0 libre.

Si v=0 y w≠0 s=1 patina.

Page 51: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

51

Los valores máximos del coeficiente de pseudo-deslizamiento estarán en torno al 10-30 %.

La fuerza de rozamiento, como ya se vio anteriormente, dependerá del eje motriz. Por ello hay que estudiar su valor dependiendo del tipo de tracción que tenga el vehículo:

Tracción delantera:

𝐹𝑟𝑜𝑧 = 𝐹𝑡𝑑𝑎 = 𝜇 · 𝑊𝑑 Ec. (3.43)

𝑀𝑇 = 0

(𝐹𝑖 + 𝐹𝑝 + 𝐹𝑎) · 𝑕 − 𝑊 · 𝑐𝑜𝑠𝜃 · 𝐿𝑡 + 𝑊𝑑 · 𝐿 = 0 Ec. (3.44)

𝑊𝑑 = −(𝐹𝑖 + 𝐹𝑝 + 𝐹𝑎) ·𝑕

𝐿+ 𝑊 · 𝑐𝑜𝑠𝜃 ·

𝐿𝑡

𝐿 Ec. (3.45)

𝐹𝑡 = 𝑅 = 𝐹𝑖 + 𝐹𝑝 + 𝐹𝑎 + 𝐹𝑟 → 𝐹𝑖 + 𝐹𝑝 + 𝐹𝑎 = 𝐹𝑡 − 𝐹𝑟 Ec. (3.46)

𝑊𝑑 = −(𝐹𝑡 − 𝐹𝑟) ·𝑕

𝐿+ 𝑊 · 𝑐𝑜𝑠𝜃 ·

𝐿𝑡

𝐿 Ec. (3.47)

𝐹𝑡𝑑𝑎 = 𝜇 · 𝑊𝑑 = 𝜇 · −(𝐹𝑡𝑑

𝑎 − 𝐹𝑟) ·𝑕

𝐿+ 𝑊 · 𝑐𝑜𝑠𝜃 ·

𝐿𝑡

𝐿

𝐹𝑡𝑑𝑎 =

𝜇 ·𝑊·𝑐𝑜𝑠𝜃 ·(𝐿𝑡+𝑕·𝜌)

𝐿+𝜇 ·𝑕 Ec. (3.48)

Tracción trasera:

𝑊𝑡 = (𝐹𝑡 − 𝐹𝑟) ·𝑕

𝐿+ 𝑊 · 𝑐𝑜𝑠𝜃 ·

𝐿𝑑

𝐿 Ec. (3.49)

Page 52: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

52

𝐹𝑡𝑡𝑎 =

𝜇 ·𝑊·𝑐𝑜𝑠𝜃 ·(𝐿𝑑−𝑕 ·𝜌)

𝐿−𝜇 ·𝑕 Ec. (3.50)

Tracción total o a las cuatro ruedas:

𝐹𝑡4𝑅𝑎 = 𝜇 · 𝑊 · 𝑐𝑜𝑠𝜃 Ec. (3.48)

Page 53: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

53

3.2 Interfaz gráfica.

3.2.1 Datos de entrada.

Los datos de entrada de la interfaz gráfica para el estudio de la dinámica longitudinal de un vehículo son los siguientes:

Curva de par y curva de potencia:

Es el dato más relevante de la interfaz. Se introduce la curva de par por medio de una tabla de puntos almacenada en un archivo de datos (curvapar.m). La tabla consta de dos columnas, la primera para las velocidades de rotación del motor en rpm y la segunda para el par en Nm. La curva de potencia se obtiene por la relación de potencia y par a través de la velocidad angular de rotación del motor.

Para trabajar con la interfaz hay que cargar el archivo curvapar en el Workspace de Matlab.

Fig. (3.8): Workspace de Matlab.

El array introducido es el siguiente:

Fig. (3.9): Array de la curva de par.

Page 54: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

54

El inconveniente que presenta este dato de entrada es que si se quiere cambiar no se puede hacer desde el programa. Habría que modificar el array en el Workspace y luego arrancar la interfaz con los nuevos datos de entrada para la curva de par.

Otra opción hubiese sido introducir la curva de potencia y, a partir de ella, obtener la curva de par. El proceso es completamente igual que el descrito.

Datos del vehículo:

o Masa del automóvil expresada en kg.

o Área frontal: proyección frontal del área del vehículo expresada en m2.

o Distribución de pesos: % del peso del vehículo que incide sobre el eje delantero y % del peso que incide sobre el eje trasero (la suma de ambos porcentajes tiene que ser el 100%).

o Batalla: es la distancia entre el eje delantero y el eje trasero del vehículo en metros.

o Altura del c.d.g del automóvil en metros.

o Diámetro de las ruedas en metros.

o Reducción de velocidad en el diferencial.

o Rendimiento de la transmisión en %.

o Tipo de tracción: se mostrará un menú desplegable donde elegiremos el tipo de tracción del vehículo (delantera, trasera y a las 4 ruedas).

Parámetros y coeficientes:

o Pendiente: pendiente que va a remontar el vehículo en %. La pendiente será la calculada como metros verticales que ha subido el vehículo por cada 100 metros de rampa. Por ejemplo, una pendiente del 30 % será:

100 30

Page 55: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

55

o Densidad del aire (kg/m3): densidad del aire. Aunque su valor depende de la presión y de la temperatura se suele emplear 1.22 kg/m3.

o Coeficiente de resistencia aerodinámica (Cx): expresa la resistencia que posee el vehículo al circular en contacto con el aire por razón de su forma. En los turismos suele tener un valor que está entre 0.25 y 0.40, aunque en algunos turismos experimentales o prototipos baja de 0.20. Este dato es necesario para calcular la fuerza de resistencia aerodinámica.

o Coeficiente de resistencia a la rodadura (ρ): su valor oscila, dependiendo de la naturaleza del vehículo, entre 0.009 y 0.014 para turismos y entre 0.03 y 0.05 para vehículos industriales. Es necesario para calcular la fuerza de resistencia a la rodadura.

o Coeficiente de adherencia (μ): mide la oposición que presentan las superficies de contacto entre dos cuerpos al deslizar uno sobre otro. Dicho coeficiente es característico de cada par de materiales y no de uno en sí. Depende de diversos factores como temperatura, velocidad relativa entre superficies, acabado de las superficies,…, etc. Los valores característicos del coeficiente para la interfase neumático carretera serán:

Fig. (3.10): Coeficiente de adherencia.

3.2.2 Parámetros de salida.

En cuanto a los parámetros de salida se dispone de los siguientes:

Prestaciones del vehículo:

o Velocidad máxima en llano (km/h): velocidad que alcanza el vehículo

en llano a la máxima potencia.

Page 56: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

56

o Pendiente máxima remontable (%): pendiente que remonta el vehículo

sin perder la adherencia.

o Aceleración máxima para cada relación de transmisión (m/s2).

Relaciones de transmisión: relaciones de transmisión entre motor y rueda y

motor y transmisión calculadas en progresión geométrica.

Curva de par y curva de potencia: aunque son datos de entrada, se incluyen

aquí también porque al pichar sobre el botón “Curva de par” o sobre “Curva

de potencia” se representará gráficamente en pantalla.

Fig. (3.11): Curva de potencia.

Page 57: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

57

Fig. (3.12): Curva de par.

Además de la representación se obtienen los siguientes valores:

o Potencia máxima (w).

o Velocidad de rotación del motor a la máxima potencia (rpm).

o Par máximo (Nm).

o Velocidad de rotación del motor a par máximo (rpm).

Diagrama de potencia: al pulsar el botón “DIAGRAMA DE POTENCIA” se

realiza una representación de la potencia que desarrolla el motor a cada una

de las relaciones de transmisión. Además se calcula también la curva de

carga del vehículo.

Diagrama de tracción: pinchando sobre el botón “DIAGRAMA DE

TRACCIÓN” se representa el diagrama de tracción del vehículo y la fuerza

resistiva para diversas pendientes.

Page 58: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

58

Todas las curvas y diagramas anteriores se representarán en la esquina superior derecha de la pantalla.

A continuación se muestra una captura de la ventana de la interfaz gráfica para la dinámica longitudinal:

Fig. (3.13): Interfaz gráfica: dinámica longitudinal.

3.2.3 Operación y funcionamiento.

Al igual que en el caso de la dinámica lateral, hay que comenzar por ejecutar el programa. Para ello se abre el archivo “simulación”. Aparecerá en pantalla la siguiente imagen:

Parámetros de salida Datos de entrada

Page 59: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

59

Fig. (3.14): Interfaz gráfica: pantalla principal.

Al hacer clic sobre el botón de dinámica longitudinal se abrirá una nueva ventana dedicada a la simulación de dicha dinámica:

Fig. (3.15): Interfaz gráfica: pantalla dinámica longitudinal.

Hay que comenzar la simulación introduciendo los datos de entrada citados en el aparatado 3.2.1. Para mayor comodidad, el usuario podrá desplazarse de una casilla a otra de los datos de entrada con el tabulador del teclado.

Page 60: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

60

Todos los datos de entrada de la interfaz son valores numéricos, (exceptuando el menú desplegable para elegir el tipo de tracción) por lo que, al igual que en la dinámica lateral, si se introduce un carácter no numérico en una de las casillas, se mostrará un mensaje de error y se eliminará el valor erróneo introducido.

Fig. (3.16): Interfaz gráfica: dinámica longitudinal, error por carácter no numérico.

Además del mensaje de error anterior, si los valores de la distribución de los pesos delantero y trasero no suman el 100 %, aparecerá una nueva ventana con mensaje de error indicando que la suma de los porcentajes de peso que recaen sobre los ejes debe suponer un 100 %.

Fig. (3.17): Interfaz gráfica: dinámica longitudinal, error por valor de la distribución de pesos.

Del mismo modo, si al escribir los valores del rendimiento de la transmisión o de la pendiente se supera el 100 %, aparecerá en pantalla otro mensaje de error que indique que el porcentaje debe ser < 100%.

Fig. (3.18): Interfaz gráfica: dinámica longitudinal, error por % superior a 100%.

Page 61: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

61

Por último hay tener presente que los coeficientes de adherencia, rodadura y resistencia aerodinámica deben tener valor inferior a la unidad. Si esto no sucede se mostrará un nuevo mensaje de error advirtiendo de los fallos.

Fig. (3.19): Interfaz gráfica: dinámica longitudinal, error por valor de coeficientes superior a la unidad.

Después de introducir todos los datos de entrada por pantalla y de subsanar los posibles errores en ellos, se puede comenzar a realizar los cálculos.

El primer paso es presionar el botón “CURVA DE POTENCIA”. Con ello se carga este dato y se realiza su representación, obteniendo además los valores de potencia máxima y velocidad angular a la que tiene lugar.

El procedimiento empleado en la programación para representar la curva es el siguiente:

Cargar el array de datos global curvapar

Definir el eje x primera columna del array

Definir el eje y segunda columna del array multiplicada por la primera (porque los datos son de par, y al multiplicar el par por la velocidad angular obtenemos la potencia)

Dibujar la gráfica se emplea el comando polyfit con un grado de regresión de tres para obtener la función, y con el comando polyval se obtiene la curva para realizar la representación gráfica.

Para calcular el valor máximo de la potencia y la velocidad angular de rotación del motor en esas condiciones se aplica el comando max() a la curva representada.

En la figura siguiente se ve detalladamente con una captura del programa cómo se muestra la curva y los parámetros asociados a ella:

Page 62: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

62

Fig. (3.20): Interfaz gráfica: dinámica longitudinal, curva de potencia y lectura del valor máximo.

A continuación hay que repetir el proceso para la curva de par pinchando sobre el botón destinado a tal fin (“CURVA DE PAR”).

Al igual que para la curva de potencia, se obtienen los valores de par máximo de la velocidad angular de rotación del motor a la que se da esta situación.

Para construir la gráfica se vuelve a emplear el comando polyfit con regresión de grado tres y polyval y plot para mostrarla. A diferencia de la curva de potencia no hay que realizar ninguna operación, ya que el array es la curva de par y la representación será directa de la primera y la segunda columna.

Nuevamente se muestra una imagen para aclarar la situación:

Page 63: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

63

Fig. (3.21): Interfaz gráfica: dinámica longitudinal, curva de par y lectura de valores máximos.

Ahora ya se puede decir que están completados los datos de entrada (los introducidos por pantalla y el array curvapar cargado para la curva de potencia y la curva de par) y en condiciones para poder comenzar la simulación en sí. Para ello se presiona el botón “CALCULAR RELACIONES DE TRANSMISIÓN Y PRESTACIONES”.

Al pulsar el botón se realizan los siguientes cálculos:

Velocidad máxima en km/h:

Para calcular la velocidad máxima del vehículo se supone, como ya se

mencionó con anterioridad, potencia máxima y pendiente nula. Así pues lo

que realiza el programa es resolver la siguiente ecuación con el comando

solve():

Page 64: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

64

𝑃∗ · 𝜂 = 𝑚 · 9.81 · 𝜌 · 𝑣 +1

2· 𝜌𝑎 · 𝐶𝑥 · 𝐴𝑓 · 𝑣3

Como resultado se obtienen tres valores, de los cuales se selecciona el valor

real de mayor magnitud. Para ello, primeramente, hay que comprobar si

cada uno de los resultados son números reales o imaginarios. Esto se

consigue con el comando isreal(). Si la solución es imaginaria cambiará su

valor por cero y lo almacenará en un vector (1x3). Si por el contrario es real,

almacenará directamente el valor en el vector. Por último, se calcula el

máximo del vector donde se han almacenado los valores y así se obtiene la

solución del apartado.

Pendiente máxima que remonta el vehículo en %:

El criterio empleado para calcular la pendiente máxima a remontar es la perdida de adherencia de los neumáticos.

𝐹𝑡𝑟𝑎𝑐𝑐𝑖 ó𝑛𝑚𝑜𝑡𝑜𝑟 < 𝐹𝑡𝑟𝑎𝑐𝑐𝑖 ó𝑛

𝑎𝑑𝑕𝑒𝑟𝑒𝑛𝑐𝑖𝑎

Según el tipo de tracción del vehículo, introducida por un botón de lista desplegable, el programa elegirá la expresión adecuada y calculará la solución con solve() a través del comando:

switch tracción

case 1 (tracción delantera)

𝑚 · 𝑔 · 𝑠𝑒𝑛𝜃 + 𝜌 · 𝑐𝑜𝑠𝜃 =𝜇 · 𝑚 · 𝑔 · 𝑐𝑜𝑠𝜃 · (𝐿𝑡 + 𝑕 · 𝜌)

𝐿 + 𝜇 · 𝑕

case 2 (tracción trasera)

𝑚 · 𝑔 · 𝑠𝑒𝑛𝜃 + 𝜌 · 𝑐𝑜𝑠𝜃 =𝜇 · 𝑚 · 𝑔 · 𝑐𝑜𝑠𝜃 · (𝐿𝑑 − 𝑕 · 𝜌)

𝐿 − 𝜇 · 𝑕

case 3 (tracción total)

𝑚 · 𝑔 · 𝑠𝑒𝑛𝜃 + 𝜌 · 𝑐𝑜𝑠𝜃 = 𝜇 · 𝑚 · 𝑔 · 𝑐𝑜𝑠𝜃

De las soluciones obtenidas el programa selecciona la mayor y cambia su

valor de grados a tanto por ciento.

Page 65: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

65

Aceleración máxima para cada relación de transmisión en m/sg2:

Se comienza calculando la fuerza máxima disponible para acelerar con cada una de las cinco relaciones de transmisión.

La fuerza disponible para acelerar se define como la diferencia entre la fuerza de tracción y la fuerza resistiva que tiene que vencer el vehículo para la pendiente que este remontando. Representada en el diagrama de tracción dicha fuerza será:

Fig. (3.22): Diagrama de tracción, fuerza disponible para acelerar.

La expresión matemática empleada para su cálculo es:

𝐹𝑑𝑎 𝑖=

𝑇𝑚𝑎𝑥 · 𝑟𝑖𝑅

− (𝑚 · 𝑔 · 𝜌𝑐𝑜𝑠𝜃 + 𝑠𝑒𝑛𝜃 +1

2· 𝜌𝑎 · 𝐶𝑥 · 𝐴𝑓 · 𝑣𝑖

2)

donde v es la velocidad del vehículo a la cual la Fda es máxima para cada una de las relaciones de transmisión.

Una vez calculada la Fda, sólo es necesario estimar el valor del factor de masas. Para ello se ha implementado en el programa la siguiente ecuación:

𝛾𝑚 𝑖= 1.04 + 0.0025 · 𝑟𝑖

2

Con todo lo anterior, se calcula la aceleración máxima para cada relación de transmisión como:

𝑎𝑖 =𝐹𝑑𝑎 𝑖

𝑚 · 𝛾𝑚 𝑖

Page 66: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

66

Relaciones de transmisión:

Para comenzar, se calcula la relación más larga como la relación que se da a velocidad máxima del vehículo y a la máxima potencia del motor:

𝑟5𝑡 =𝑤𝑚𝑎𝑥𝑃 · 𝑅

𝑣𝑚𝑎𝑥

A continuación el programa calcula la relación más corta (máxima pendiente) a partir de la expresión:

𝑟1𝑡 =𝑅 · 𝑊 · (𝑠𝑒𝑛𝜃𝑚𝑎𝑥 + 𝜌 · 𝑐𝑜𝑠𝜃𝑚𝑎𝑥 )

𝑇∗ · 𝜂

El resto de relaciones se calculan por progresión geométrica:

𝑘 = 𝑟1𝑡

𝑟5𝑡

15−1

𝑟4𝑡 = 𝑘 · 𝑟5𝑡

𝑟3𝑡 = 𝑘 · 𝑟4𝑡 = 𝑘2 · 𝑟5𝑡

𝑟2𝑡 = 𝑘 · 𝑟3𝑡 = 𝑘3 · 𝑟5𝑡

𝑟1𝑡 = 𝑘 · 𝑟2𝑡 = 𝑘4 · 𝑟5𝑡

Para calcular la relación entre el motor y la transmisión se dividen las relaciones anteriores por la reducción en el diferencial.

Una vez calculadas las prestaciones del vehículo y las relaciones de transmisión se pueden calcular y representar el diagrama de potencias y el diagrama de tracción.

Diagrama de potencias:

Representa la potencia del motor para cada relación de transmisión.

Partiendo del array curvapar, se modifica su primera columna de forma que, multiplicando por el radio de la rueda y dividiendo por cada una de las relaciones de transmisión, se obtiene la velocidad del vehículo.

Page 67: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

67

De la segunda columna del array se obtiene la potencia al multiplicarla (par) por la velocidad angular del motor.

Una vez transformados los datos de entrada del array se pasa a la representación de las curvas tal y como se hizo en casos anteriores, con polyfit de grado tres y con polyval.

Para la curva de carga se ha implementado en el programa la orden plot(x,y) directamente, ya que se conoce la ecuación que la describe:

𝑦 = 𝑚 · 𝑔 · 𝜌 · 𝑐𝑜𝑠𝜃 + 𝑠𝑒𝑛𝜃 · 𝑥 +1

2· 𝜌𝑎 · 𝐶𝑥 · 𝐴𝑓 · 𝑥3

𝑥 = 𝑑𝑖𝑠𝑡𝑖𝑛𝑡𝑜𝑠 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑑𝑒 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑑𝑒 0 𝑎 250𝑘𝑚

𝑕

Fig. (3.23): Interfaz gráfica: dinámica longitudinal, diagrama de potencias y curva de carga.

Diagrama de tracción:

Para representar el diagrama de tracción hay que obtener la fuerza de tracción del vehículo en función de la velocidad. Los cálculos realizados son:

𝑃𝑚 = 𝑃𝑟 → 𝑇𝑚 · 𝑤𝑚 = 𝑇𝑟 · 𝑤𝑟 → 𝑇𝑚 · 𝑟 = 𝑇𝑟 = 𝐹𝑡 · 𝑅 → 𝐹𝑡 =𝑇𝑚 · 𝑟

𝑅

Page 68: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

68

Así pues, tomando la primera columna del array, multiplicándola por el radio de la rueda y dividiéndola por cada una de las relaciones de transmisión se obtienen las velocidades del vehículo para cada caso.

Según las operaciones anteriores la fuerza se ha calculado multiplicando la segunda columna del array por la relación de transmisión y dividiéndola por el radio de la rueda.

Además de todo lo anterior se representa la fuerza resistiva que debe vencer el vehículo para diversas pendientes. En la siguiente gráfica se representa dicha fuerza para llano, 25 % y 50 % de pendiente. La conclusión a la que se llega interpretando la gráfica es que el vehículo remontará la pendiente del 25 % con las dos primeras relaciones de transmisión pero no será capaz de remontar en ningún momento una pendiente del 50 %.

Fig. (3.24): Interfaz gráfica: dinámica longitudinal, diagrama de tracción.

Por último destacar que la interfaz disponemos de un botón “RESET” para reiniciarla y un botón “SALIR” para cerrar la ventana.

Page 69: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

69

3.2.4 Ejemplo práctico.

La curva par velocidad de un motor puede aproximarse mediante la expresión T=180-1.25·10-5·(wn-4000)2, siendo wn la velocidad del motor en rpm, T el par motor expresado en Nm. Esta planta de potencia se va a instalar en un vehículo con las siguientes características:

- Masa: 1950 kg.

- Batalla: 3.8 m.

- Altura del c.d.g: 0.5 m.

- Diámetro de las ruedas: 600 m

- Coeficiente de resistencia a la rodadura: 0.01

- Coeficiente de resistencia aerodinámica: 0.4

- Coeficiente de adherencia: 0.9

- Área frontal: 1.6 m2

- Reducción del diferencial: 2

- Rendimiento de la transmisión: 85 %

La distribución de pesos entre los ejes delantero / trasero es de 55/45. Suponer una densidad del aire de 1.2 kg/m3.

Calcular las prestaciones y las relaciones de transmisión y dibujar diagrama de potencias y diagrama de tracción para los distintos tipos de tracción de un vehículo (delantera, trasera y total).

SOLUCIÓN DEL EJEMPLO PROPUESTO

- CASO A: TRACCIÓN DELANTERA.

Se comienza por introducir todos los datos de entrada. A continuación se dibuja la curva de potencia y la curva de carga, de forma que así se obtendrán los valores de potencia máxima, par máximo y velocidades angulares de rotación del motor para estos valores máximos, necesarios para realizar el resto de cálculos (la curva de par de este ejercicio es la que tiene almacenada el programa por defecto). Una vez realizado todo esto la interfaz tendrá este aspecto:

Page 70: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

70

Fig. (3.25): Interfaz gráfica: dinámica longitudinal, datos ejemplo con tracción delantera.

Con esto realizado ya se pueden calcular las relaciones de transmisión y mostrar los diagramas:

Fig. (3.26): Interfaz gráfica: dinámica longitudinal, resultados ejemplo con tracción delantera.

Page 71: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

71

Como último resultado se obtiene el diagrama de tracción:

Fig. (3.27): Interfaz gráfica: dinámica longitudinal, resultados ejemplo con tracción delantera.

En el diagrama de tracción se muestra la fuerza para cada una de las relaciones de transmisión y la fuerza resistiva para las pendientes del 50 % (línea superior), 25 % (línea intermedia) y 0 % (línea inferior).

- CASO B: TRACCIÓN TRASERA.

En este caso se procede a resolver el ejemplo de la misma forma que en el apartado anterior pero cambiando el tipo de tracción a trasera.

Así los resultados serán:

Page 72: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

72

Fig. (3.28): Interfaz gráfica: dinámica longitudinal, resultados ejemplo con tracción trasera.

Como resultado de interés, resaltar que con tracción trasera aumenta débilmente el % de pendiente máxima a remontar por el vehículo. Además, también se produce un ligero aumento de las aceleraciones máximas.

Fig. (3.29): Interfaz gráfica: dinámica longitudinal, resultados ejemplo con tracción trasera.

Page 73: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

73

- CASO C: TRACCIÓN TOTAL.

Para finalizar el ejemplo se realizará la simulación para un vehículo con las características descritas y con tracción a las cuatro ruedas. En la figura siguiente se muestran los resultados:

Fig. (3.30): Interfaz gráfica: dinámica longitudinal, resultados ejemplo con tracción total.

Ahora sí que se puede apreciar un aumento sensible de la capacidad del vehículo para remontar pendientes, llegando a poder circular por una carretera con un 66 % de inclinación, a diferencia de los casos anteriores que estaba en torno al 40 %. Nuevamente aumentan las aceleraciones máximas, ya que la fuerza de tracción que desarrolla el vehículo con tracción total es mayor. Se completan los resultados con el diagrama de tracción:

Page 74: Dinámica Longitudinal

D.LONGITUDINAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

74

Fig. (3.31): Interfaz gráfica: dinámica longitudinal, resultados ejemplo con tracción total.

En el diagrama de tracción se ve con claridad cómo, en este caso, el vehículo remontará sin problemas pendientes del 50 % circulando con la relación de transmisión más baja.

Page 75: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

75

Capítulo IV: Dinámica Vertical.

Page 76: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

76

4 DINÁMICA VERTICAL.

4.1 Fundamentos teóricos.

4.1.1 Elementos elásticos.

Los elementos elásticos de una suspensión son los encargados de almacenar la energía elástica destinada a acelerar la masa suspendida.

A continuación se estudiarán de forma independiente cada uno de los principales tipos de elementos elásticos:

Muelles helicoidales:

Están formados por una barra de acero, circular o elíptica, enrollada en forma de espiral. Es sin duda el tipo de elemento elástico más utilizado en la actualidad en los automóviles.

Fig. (4.1): Muelle helicoidal en la suspensión de un turismo.

En comparación con las ballestas, por ejemplo, el muelle helicoidal puede almacenar más del doble de energía por unidad de volumen de material y posee además un mínimo rozamiento interno. Por el contrario, los muelles necesitan un gran espacio vertical para su instalación y además no pueden emplearse como el único elemento de unión entre el chasis y la suspensión. Otro inconveniente es que no pueden utilizarse en vehículos pesados, ya que sufrirían ante los esfuerzos de pandeo.

El principal esfuerzo que soportan los muelles helicoidales es la torsión. La rigidez de un muelle empleado en el sistema de suspensión de un vehículo será:

𝐾 =𝐺·𝑑4

8·𝑁·𝐷3 Ec. (4.1)

Page 77: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

77

𝐺 = 𝑚ó𝑑𝑢𝑙𝑜 𝑎 𝑐𝑜𝑟𝑡𝑎𝑛𝑡𝑒𝑑 = 𝑑𝑖𝑎𝑚𝑒𝑡𝑟𝑜 𝑑𝑒𝑙 𝑎𝑙𝑎𝑚𝑏𝑟𝑒

𝑁 = 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑒𝑠𝑝𝑖𝑟𝑎𝑠𝐷 = 𝑑𝑖𝑎𝑚𝑒𝑡𝑟𝑜 𝑑𝑒𝑙 𝑚𝑢𝑒𝑙𝑙𝑒

Barras estabilizadoras:

Limitan el movimiento de balanceo del vehículo sin comprometer la rigidez vertical de la suspensión.

Sobre las barras actúan solicitaciones cuando el eje tome un bache que afecte a las dos ruedas. No obstante, cuando el cuerpo del vehículo gira respecto del eje longitudinal, la barra sufre una torsión que se opone al movimiento a ese movimiento, es decir, incrementa su rigidez de vuelco.

Destacar que es posible emplear a la vez las barras estabilizadoras y los muelles helicoidales, tal y como se observa en la siguiente imagen:

Fig. (4.2): Suspensión conjunta de muelles helicoidales y barra estabilizadora.

La rigidez de una barra estabilizadora o de torsión viene dada por la expresión:

𝐾 =𝐺·𝐽

𝑅2 ·𝐿 Ec. (4.2)

𝐺 = 𝑚ó𝑑𝑢𝑙𝑜 𝑎 𝑐𝑜𝑟𝑡𝑎𝑛𝑡𝑒𝐽 = 𝑚𝑜𝑚𝑒𝑛𝑡𝑜 𝑑𝑒 𝑖𝑛𝑒𝑟𝑐𝑖𝑎 𝑡𝑜𝑟𝑠𝑖𝑜𝑛𝑎𝑙

𝑅 = 𝑟𝑎𝑑𝑖𝑜 𝑑𝑒 𝑙𝑎 𝑏𝑎𝑟𝑟𝑎𝐿 = 𝑙𝑜𝑛𝑔𝑖𝑡𝑢𝑑 𝑑𝑒 𝑙𝑎 𝑏𝑎𝑟𝑟𝑎

Page 78: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

78

Ballestas:

Tipo de resorte compuesto por láminas de acero, superpuestas, de longitud decreciente, unidas por unas abrazaderas que permiten el deslizamiento entre las hojas o láminas cuando éstas se deforman por el peso del vehículo.

Fig. (4.3): Ballesta.

Su principal ventaja es que puede emplearse como único elemento de unión entre la carrocería y el sistema de suspensión.

La elevada rigidez transversal de las ballestas en comparación con un muelle helicoidal hace que sean el elemento ideal para suspender los vehículos de carga o de gran volumen, de ahí que sus principales aplicaciones sean en automóviles 4x4, camiones y remolques. En caso de emplear muelles helicoidales en dichos vehículos, el pandeo sería incapaz de soportarse al pasar por un bache o una carretera inclinada ligeramente.

A continuación se estudian los parámetros que influyen en su diseño. Se comienza calculando la rigidez de una lámina de sección uniforme apoyada en dos puntos:

𝐾 =48·𝐸·𝐼

𝐿3 Ec. (4.3)

𝐸 = 𝑚ó𝑑𝑢𝑙𝑜 𝑑𝑒 𝑒𝑙𝑎𝑠𝑡𝑖𝑐𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑚𝑎𝑡𝑒𝑟𝑖𝑎𝑙.

𝐼 = 𝑚𝑜𝑚𝑒𝑛𝑡𝑜 𝑑𝑒 𝑖𝑛𝑒𝑟𝑐𝑖𝑎 𝑑𝑒 𝑙𝑎 𝑙á𝑚𝑖𝑛𝑎.𝐿 = 𝑙𝑜𝑛𝑔𝑖𝑡𝑢𝑑 𝑑𝑒 𝑙𝑎 𝑙á𝑚𝑖𝑛𝑎.

En el caso de varias láminas de igual longitud, unidas sin fricción, la rigidez será:

𝐾 =48·𝐸· 𝐼𝑖

𝐿3 Ec. (4.4)

Si además las láminas son de distinta longitud tendremos:

𝐾 = 48 · 𝐸 · 𝐼𝑖

(𝐿𝑖)3 Ec. (4.5)

Page 79: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

79

Esta última expresión es la que se corresponde con la rigidez de una ballesta como la que se muestra en la imagen anterior.

Balonas neumáticas:

Almacenan la energía comprimiendo un gas (generalmente aire) en una cámara de volumen variable, construida con un material plástico muy resistente y flexible.

Este tipo de elementos elásticos basan su funcionamiento en las propiedades que ofrece el aire sometido a presión. En las suspensiones neumáticas, se sustituye el resorte mecánico (muelle, ballesta o barra de torsión) por una balona neumática.

Fig. (4.4): Distintos tipos de balonas neumáticas.

Las suspensiones con balonas se caracterizan por:

o Adaptar la carrocería a distintas alturas en función de las necesidades

de marcha.

o Adaptar la suspensión y la amortiguación a la situación de la calzada y

a la forma de conducir.

Como ventajas destacar su gran flexibilidad y su alta capacidad de amortiguación y, debido a la autorregulación del sistema, permite mantener constante la distancia entre el chasis y la superficie de carretera independientemente de la carga presente en el vehículo.

Su principal inconveniente es que necesitan un circuito de aire comprimido (conductos, válvulas, compresor), lo que hace el diseño más complejo y eleva sus costes.

Una vez definidas sus características se realizará un estudio matemático de su funcionamiento.

Page 80: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

80

El proceso de compresión que sigue el aire se rige por la siguiente ecuación:

𝑃 · 𝑉𝑛 = 𝑐𝑡𝑒 Ec. (4.6)

𝑃 = 𝑝𝑟𝑒𝑠𝑖ó𝑛 𝑑𝑒𝑙 𝑎𝑖𝑟𝑒𝑉 = 𝑣𝑜𝑙𝑢𝑚𝑒𝑛 𝑜𝑐𝑢𝑝𝑎𝑑𝑜

𝑛 = 𝑐𝑡𝑒. 𝑠𝑒𝑔ú𝑛 𝑡𝑖𝑝𝑜 𝑑𝑒 𝑝𝑟𝑜𝑐𝑒𝑠𝑜

La fuerza será función del desplazamiento según la ecuación:

𝐹 = 𝑃0 ·𝑉0

𝑛

𝑉0−𝐴·𝛿 𝑛− 𝑃0 · 𝐴 Ec. (4.7)

𝑃0 = 𝑝𝑟𝑒𝑠𝑖ó𝑛 𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑉0 = 𝑣𝑜𝑙𝑢𝑚𝑒𝑛 𝑖𝑛𝑖𝑐𝑖𝑎𝑙

𝐴 = á𝑟𝑒𝑎 𝑡𝑟𝑎𝑛𝑠𝑣𝑒𝑟𝑠𝑎𝑙 𝑑𝑒𝑙 𝑝𝑖𝑠𝑡ó𝑛𝛿 = 𝑑𝑒𝑠𝑝𝑙𝑎𝑧𝑎𝑚𝑖𝑒𝑛𝑡𝑜

Entonces, se define la rigidez como:

𝐾 =𝑑𝐹

𝑑𝛿=

𝐴2 ·𝑃0 ·𝑉0𝑛 ·𝑛

𝑉0−𝐴·𝛿 𝑛 +1 Ec. (4.8)

Es importante destacar que la frecuencia natural del peso (W=mg) soportado por la balona neumática (P0 = mg/A) es independiente de la masa:

𝑤𝑛 = 𝐾

𝑚= 𝐴 · 𝑔 · 𝑛 · 𝑣0

−1 Ec. (4.9)

Esta característica hace que este tipo de elementos elásticos sean muy atractivos para vehículos en los cuales hay una gran variación entre las situaciones de carga y de vacío, tales como camiones.

Bloques de elastómero:

Piezas de material plástico que almacenan energía y trabajan a cortante. Suelen tener una armadura o soporte metálico.

Page 81: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

81

Su principal característica es que presentan una histéresis natural importante y, por tanto, una adecuación para la supresión de vibraciones a alta frecuencia.

La carga que pueden soportar dependerá del factor de forma o de la relación entre el área cargada y el área libre total.

Fig. (4.5): Elemento elástico trabajando a cortante.

La rigidez de los elementos que trabajan a cortante es:

𝐾 =𝐴·𝐺

𝐿 Ec. (4.10)

𝐴 = 𝑠𝑒𝑐𝑐𝑖ó𝑛 𝑡𝑟𝑎𝑛𝑠𝑣𝑒𝑟𝑠𝑎𝑙 𝑑𝑒𝑙 𝑚𝑎𝑡𝑒𝑟𝑖𝑎𝑙

𝐺 = 𝑚ó𝑑𝑢𝑙𝑜 𝑎 𝑐𝑜𝑟𝑡𝑎𝑛𝑡𝑒𝐿 = 𝑙𝑜𝑛𝑔𝑖𝑡𝑢𝑑 𝑒𝑛𝑡𝑟𝑒 𝑎𝑝𝑜𝑦𝑜𝑠 𝑚ó𝑣𝑖𝑙𝑒𝑠

4.1.2 Elementos amortiguadores.

Elementos que disipan energía limitando la duración de las oscilaciones de la masa suspendida a un intervalo de tiempo finito después de extinguida la fuerza de excitación. Además evitan que las ruedas del vehículo pierdan el contacto con la superficie de rodadura.

En la siguiente imagen se aprecian con detalle las partes de las que consta un amortiguador:

Page 82: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

82

Fig. (4.6): Detalle de un amortiguador.

Cuando se mueve el pistón en el interior del cilindro, el fluido pasa de un lado a otro a través de unos orificios, generándose un flujo turbulento que favorece la disipación de energía en forma de calor.

Ahora se estudiará el funcionamiento de distintos tipos de amortiguadores:

Fig. (4.7): Amortiguadores.

Page 83: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

83

Si se realiza el diseño como el amortiguador Fig. (4.7) a, no se garantiza su funcionamiento como elemento disipador de energía, ya que al moverse el pistón hacia la izquierda, el volumen desplazado en la zona izquierda del cilindro es mayor al generado en la zona derecha. Como los líquidos pueden considerarse incompresibles, este amortiguador se atascará y no realizará sus funciones correctamente.

Para solventar el problema se diseñan amortiguadores de doble tubo (Fig. (4.7)b), de cámara de gas (Fig.(4.7)c) o de balancín (Fig.(4.7)d):

Amortiguadores de doble tubo: son los más empleados hoy día. Pueden

subdividirse en presurizados (llevan aceite y gas) y no presurizados (sólo

tienen aceite). Están formados por dos cámaras, una interior y otra de

reserva y tienen válvulas en el pistón y en la base del cilindro (válvula de

pie). La cámara exterior o de reserva absorbe las diferencias de volumen y

las válvulas redirigen el fluido en la carrera de contracción y extensión, de

modo que el coeficiente de amortiguamiento puede ser distinto en cada una

de estas carreras.

Por último destacar las ventajas de los amortiguadores de doble tubo

presurizados frente a los no presurizados: respuesta más sensible para

pequeñas amplitudes, mejorando así el confort, mejor comportamiento en

condiciones extremas (grandes baches), siguen operativos aunque pierdan

el gas,…, etc.

Amortiguadores de cámara de gas: en este caso están formados por un solo

tubo, pero disponen de un pistón libre adicional, de forma que constan de

dos cámaras principales, una de aceite y otra de gas. El gas será el

encargado de absorber las diferencias de volumen. Como ventajas frente a

los anteriores destacar que son más eficaces, tienen mayor diámetro del

pistón a igual diámetro exterior (es necesaria menor presión),…, etc. Los

inconvenientes vendrán asociados al mayor coste de fabricación debido a la

mayor precisión necesaria, estanqueidad del gas,…, etc.

Amortiguadores de balancín: los volúmenes desplazados en ambas carreras

son iguales, de forma que no es necesario disponer de un fluido

compresible. Tampoco necesitan gas aquellos amortiguadores en los cuales

la espiga central puede recorrer todo el cilindro (empleados en direcciones

de motocicletas).

Page 84: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

84

4.1.3 Excitaciones: carretera, rueda y motor.

CARRETERA:

Como bien se sabe, la carretera es la principal fuente de excitaciones para el

sistema de suspensión de un vehículo. Ya se comentó anteriormente que,

ante la imposibilidad de construir carreteras perfectamente niveladas, se

comenzó con el diseño de sistemas de suspensión.

Se pueden representar los desniveles de una carretera mediante su descripción estadística como proceso aleatorio. Para cada zona o tramo de carretera se obtiene una densidad espectral representativa que, junto a otras densidades de otros tramos, darán lugar a espectros medios representativos del tipo de carretera.

Fig. (4.8): Densidades espectrales de dos carreteras.

Una de las expresiones utilizadas para ajustar los datos experimentales es:

𝑆 γ = 𝑆 𝛾𝑜 ·

𝛾

𝛾0 −𝑛1 , 𝛾 < 𝛾𝑜

𝑆 𝛾𝑜 · 𝛾

𝛾0 −𝑛2 , 𝛾 ≥ 𝛾𝑜

Ec. (4.11)

Siendo S la densidad espectral, 𝛾 la frecuencia y 𝛾𝑜, n1 y n2 constantes.

Otra expresión empleada es, por ejemplo:

𝑆 γ = 𝑆𝑜 ·1+𝛾𝑜/𝛾

𝛾2 Ec. (4.12)

Page 85: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

85

Con alguna de estas expresiones y generando números aleatorios se puede reconstruir el perfil aleatorio cuyo contenido en frecuencia se corresponda con una carretera.

La expresión que relaciona el número de onda y la frecuencia es:

𝑤 = 𝑣 · 𝛾 Ec. (4.13)

por lo que la densidad espectral en función de la frecuencia w será:

𝑆 w = 𝑆 γ ·1

v Ec.(4.14)

Tomando la diferencia entre las medidas en el lado izquierdo y en el derecho del vehículo, se obtiene la solicitación de balanceo. Dicha solicitación, al igual que la vertical, se tratará como un proceso aleatorio para el que se puede definir una densidad espectral.

Normalmente la frecuencia natural de balanceo será inferior a la del movimiento vertical, por lo que, la solicitación vertical será más importante.

RUEDA:

Algunos desequilibrios que se producen en la rueda (llanta y neumático) dan lugar a vibraciones. Estos desequilibrios pueden provenir de diferentes causas como: o Desequilibrio de masa:

Cuando el desequilibrio se produce en las ruedas delanteras del vehículo (en las directrices), las vibraciones se transmiten directamente al conductor a través del sistema de dirección, incrementando su nivel de exposición y resultando muy incómoda la conducción. Esto se soluciona con el equilibrado de las ruedas, que consiste en distribuir las masas de forma que se elimine el momento alrededor del eje transversal y en trasladar en c.d.g. de la rueda al eje de giro. Se consigue colocando una masa en el lugar adecuado de la llanta.

Page 86: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

86

Fig. (4.9): Máquina para equilibrado de ruedas y masas empleadas.

o Imperfecciones geométricas:

Las imperfecciones geométricas se dan en los neumáticos como consecuencia del proceso de fabricación. Los neumáticos imperfectos hacen variar la altura del eje de la rueda respecto del suelo, por lo que representa una solicitación vertical. Además la distancia recorrida dependerá de esta deformación, generándose una aceleración longitudinal en el eje que da lugar a esa variación de velocidad. Todo esto conlleva a que las imperfecciones geométricas del neumático afectan tanto vertical como longitudinalmente.

o Variaciones radiales de rigidez:

El eje presentará variaciones de altura para la misma carga. La vibración es muy similar a la que producen los neumáticos con imperfecciones.

Todo esto se traduce en fuerzas y momentos en direcciones vertical, longitudinal y transversal.

MOTOR:

Las vibraciones en el motor se deben, mayormente, a la variación del par debido al número finito de cilindros del motor.

Para impedir que estas vibraciones se transfieran al resto del vehículo es necesario realizar uniones elásticas entre el motor y el chasis del vehículo. Dichas uniones permitirán el giro en torno al eje del par, o mejor, alrededor del eje principal de menor inercia (suele estar inclinado respecto del par debido a la masa de la transmisión). Destacar que si el momento de inercia alrededor de un eje es muy grande, la variación del momento según dicho

Page 87: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

87

eje no va a ser capaz de hacerlo vibrar. Esta componente del momento tiene menor importancia que la aplicada según el eje de menor inercia.

Fig. (4.10): Uniones elásticas entre el motor y el chasis.

Las uniones tienen que ser tan flexibles que den lugar a una frecuencia natural inferior a la menor frecuencia de giro del motor. Así las vibraciones del motor serán absorbidas por las uniones elásticas antes de excitar al vehículo en sí. Además, si la frecuencia natural vertical es del orden de la correspondiente a la masa no suspendida, el motor absorberá vibraciones de la carretera.

La transmisión producirá vibraciones cuando, en una junta de unión, el par cambie de dirección. Esto se traduce en un par transmitido directamente a la unión elástica. Cuando varía el ángulo en la junta por el movimiento vertical del vehículo, también lo hará el momento transmitido, siendo dicha variabilidad una fuente de vibraciones. En el caso de vehículos pesados, las variaciones de ángulo pueden estar más acentuadas.

Fig. (4.11): Reacciones en las uniones de la transmisión.

Page 88: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

88

4.1.4 Modelo: ”Modelo de 1 GDL: Bote”.

El modelo de un grado de libertad del vehículo puede asemejarse a la suspensión independiente de un cuarto de vehículo. Sólo tiene en cuenta el movimiento de bote del automóvil.

El modelo está representado por una masa suspendida, M, que apoya en un muelle elástico de rigidez, K, y en un amortiguador de coeficiente, C. Como se puede observar, el modelo no considera la masa de la rueda, es decir, la masa no suspendida.

Fig. (4.12): Modelo de 1 GDL.

El comportamiento de sistema de suspensión de un vehículo que circula por una carretera, teniendo en cuenta el modelo de 1 GDL, puede esquematizarse como:

Fig. (4.13): Modelo de 1 GDL y comportamiento del vehículo en carretera.

Page 89: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

89

En este esquema aparecen, además de los citados anteriormente, los siguientes parámetros: señal de entrada o excitación, y, señal de salida, x, amplitud de la señal de entrada, a, y longitud de onda de la señal de entrada, L.

A continuación se estudia de forma matemática el modelo:

Fig. (4.14): estudio matemático del modelo de 1 GDL.

Considerando la excitación y el comportamiento de los elementos del sistema, llegamos a la siguiente expresión:

−𝑘 · 𝑥 − 𝑦 − 𝑐 · 𝑥 − 𝑦 = 𝑚 · 𝑥

𝑚 · 𝑥 + 𝑐 · 𝑥 + 𝑘 · 𝑥 = 𝑐 · 𝑦 + 𝑘 · 𝑦 Ec. (4.15)

Si se consideran las siguientes expresiones:

𝑤𝑛 = 𝑘

𝑚 Ec. (4.16)

𝜉 =𝑐

2·𝑚 ·𝑤𝑛 Ec. (4.17)

donde wn es la frecuencia natural y ξ es el factor de amortiguamiento, la ecuación (4.15) quedará expresada como se muestra a continuación:

𝑥 + 2 · 𝜉 · 𝑤𝑛 · 𝑥 + 𝑤𝑛2 · 𝑥 = 2 · 𝜉 · 𝑤𝑛 · 𝑦 + 𝑤𝑛

2 · 𝑦 Ec. (4.18)

Con esta relación ha quedado definido el movimiento del vehículo considerando el modelo de 1 GDL.

Page 90: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

90

Por último se describe la función de transferencia del sistema:

𝜏 =𝑤

𝑤𝑛 Ec. (4.19)

𝜏 = 𝑟𝑒𝑙𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑓𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎𝑠𝑤 = 𝑓𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎 𝑑𝑒 𝑙𝑎 𝑠𝑒ñ𝑎𝑙 𝑑𝑒 𝑒𝑥𝑐𝑖𝑡𝑎𝑐𝑖ó𝑛

𝑤𝑛 = 𝑓𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎 𝑛𝑎𝑡𝑢𝑟𝑎𝑙

𝑋

𝑌 =

1+4·𝜉2·𝜏2

(1−𝜏2)2+4·𝜉2·𝜏2 Ec. (4.20)

Representando en una gráfica |X/Y| en función de la relación de frecuencias, se obtiene:

Fig. (4.15): función de transferencia.

Page 91: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

91

4.2 Interfaz gráfica.

4.2.1 Datos de entrada.

Como datos de entrada en la interfaz gráfica de dinámica vertical se tienen:

Datos del vehículo:

o Masa del vehículo en kg.

o Constante (K) de rigidez del muelle en (N/m).

o Constante (C) del amortiguador en (N/m).

Datos del perfil de la carretera:

o Frecuencia de la onda en Hz.

o Forma del perfil de la carretera:

Senoidal.

Suma de funciones senoidales.

Función aleatoria: está compuesta por una suma de señales

senoidales más un rizado aleatorio de menor amplitud que la

suma (al elegir esta señal se desactiva el recuadro de

frecuencia).

Cuando se realice la simulación se representará gráficamente la señal de entrada (perfil de la carretera).

4.2.2 Parámetros de salida.

Los datos obtenidos tras la simulación de la dinámica vertical pueden ser numéricos o gráficos.

Numéricos:

o Frecuencia natural en rad/sg.

o Factor de amortiguamiento del sistema.

o Relación de frecuencias: relación entre la frecuencia de la onda de entrada y la frecuencia natural.

Page 92: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

92

Gráficos:

Habrá dos gráficas de salida, una reproducción del movimiento que realizará el vehículo después de actuar la suspensión y una representación de la función de transferencia en función de la relación de frecuencias.

Se observa detalladamente a continuación una captura de la pantalla inicial del programa para la dinámica vertical:

Fig. (4.16): Interfaz gráfica: dinámica vertical.

4.2.3 Operación y funcionamiento.

Como con el resto de las otras dinámicas, se comienza ejecutando el archivo “simulación” donde aparecen los botones para elegir la dinámica.

Datos de entrada Parámetros de salida

Page 93: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

93

Fig. (4.17): Interfaz gráfica: pantalla principal.

Pinchando en la opción de dinámica vertical y entrando en la parte del programa dedicada a la dinámica vertical:

Fig. (4.18): Interfaz gráfica: pantalla dinámica vertical.

Se empieza la simulación, como en todos los casos, introduciendo los datos de entrada comentados en el aparatado 4.2.1. También aquí, el usuario podrá

Page 94: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

94

desplazarse de una casilla a otra de los datos de entrada con el tabulador del teclado.

Nuevamente, los datos de entrada de la interfaz son valores numéricos, (exceptuando el menú desplegable para elegir el tipo perfil de la carretera) por lo que, al igual que en la dinámica lateral y en la longitudinal, si se introduce un carácter no numérico en uno de los recuadros de toma de datos, saltará un mensaje de error y se eliminará el valor erróneo introducido.

Fig. (4.19): Interfaz gráfica: dinámica vertical, error por carácter no numérico.

Una vez introducidos los datos, se pueden realizar los cálculos. Para ello se pulsará el botón “CALCULAR” y el programa realizará las siguientes operaciones para obtener los resultados numéricos y las representaciones gráficas:

Cálculo de la frecuencia natural y del factor de amortiguamiento:

𝑤𝑛 = 𝑘

𝑚

𝜉 =𝑐

2 · 𝑚 · 𝑤𝑛

Ambos parámetros se obtienen directamente operando con los datos de entrada

Page 95: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

95

Cálculo de la relación de frecuencias: una vez calculada la frecuencia natural

y teniendo como dato de entrada la frecuencia de la onda que representa el

perfil de la carretera, se calcula la relación de frecuencias como:

𝜏 =𝑤

𝑤𝑛

Una vez calculados los tres parámetros numéricos de salida, se construirán las gráficas.

Función de transferencia:

Calculada anteriormente la relación de frecuencias, se calcula la función de transferencia como:

X

Y =

1 + 4 · ξ2 · τ2

(1 − τ2)2 + 4 · ξ2 · τ2

La gráfica se construye representando en el eje x la relación de frecuencias y en el eje y la expresión anterior (función de la relación de frecuencias). Se emplea para ello el comando plot().

Destacar que la función de transferencia definida anteriormente sólo se representa para el caso de señal de entrada senoidal, ya que para el caso de la suma de funciones su aplicación no sería directa (habría que aplicar el principio de superposición) y en el caso de que fuese aleatoria no se dispone de la relación de frecuencias (al ser una señal aleatoria no se conoce la frecuencia de la onda).

La gráfica representada es de estas características:

Fig. (4.20): Interfaz gráfica: dinámica vertical, función de transferencia.

Page 96: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

96

Gráfica para representar la salida y la entrada del sistema, es decir, el

movimiento del vehículo según el perfil de la carretera:

Para representar la gráfica de salida hay que resolver la ecuación diferencial que se obtuvo del modelo de 1 GDL:

𝑥 + 2 · 𝜉 · 𝑤𝑛 · 𝑥 + 𝑤𝑛2 · 𝑥 = 2 · 𝜉 · 𝑤𝑛 · 𝑦 + 𝑤𝑛

2 · 𝑦

donde “y” es la excitación y “x” la salida.

Para obtener la solución se ha empleado el comando ode45() de matlab, que resuelve la ecuación por el método numérico de Runge-Kutta de orden 4.

El programa elige la entrada según se haya seleccionado una opción u otra en el botón desplegable del perfil de la carretera. Para hacer esta selección se ha utilizado, una vez más en matlab, la orden switch …… case 1 … case 2 … … end

Para hacer la representación gráfica, tanto de la entrada como de la salida, se vuelve a implementar el comando plot().

Finalmente resaltar que se dispone, como en la interfaz de dinámica lateral y de longitudinal, de los botones “RESET” y “SALIR” cuyas funciones se conocen ya sobradamente.

4.2.4 Ejemplo práctico.

Simular la dinámica vertical de un vehículo de 1000 kg de masa que presenta una suspensión con las siguientes características:

K=50000 N/m

C=20000 N/m

A) Suponer que el perfil de la carretera se asemeja a una señal senoidal de frecuencia 1 Hz

B) Realizar nuevamente la simulación cambiando el valor de C=2000 N/m y comentar los resultados obtenidos.

Page 97: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

97

SOLUCIÓN DEL EJEMPLO PROPUESTO

- APARTADO A:

Introduciendo los datos del problema se obtienen los siguientes resultados:

Fig. (4.21): Interfaz gráfica: dinámica vertical, ejemplo apartado A.

Los resultados obtenidos son:

- Frecuencia natural: 7.0711 rad/sg.

- Factor de amortiguamiento: 1.4142

- Relación de frecuencias: 0.88858

Destacar que la relación entre la amplitud de la señal de entrada y la amplitud de la señal de salida viene impuesta por el valor de la función de transferencia para la relación de frecuencias.

En este caso el valor de la relación de frecuencias es de 0.88858 que corresponde a un valor de la función de transferencia de 1.08. Así se comprueba que la señal de salida tiene una amplitud de 1.08 veces la amplitud de la señal de entrada.

Page 98: Dinámica Longitudinal

D.VERTICAL HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

98

- APARTADO B:

Modificando el valor de la constante del amortiguador se obtienen los siguientes valores:

Fig. (4.22): Interfaz gráfica: dinámica vertical, ejemplo apartado B.

Al modificar los datos se obtienen los resultados que se muestran a continuación:

- Frecuencia natural: como su valor depende únicamente de la masa del vehículo y de la constante del muelle (no se han modificado), su valor sigue siendo igual (7.0711 rad/sg).

- Factor de amortiguamiento: al modificar la constante del muelle, este parámetro cambiará, ya que depende directamente de C. Como se ha disminuido la constante C también lo hará el factor de amortiguamiento, siendo su valor para este caso 0.14142

- Relación de frecuencias: como se mantienen los valores de frecuencia de la señal de entrada y de la frecuencia natural, no variará el valor de la relación de frecuencias (0.88858).

Page 99: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

99

Capítulo V: Anexos.

Page 100: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

100

5 ANEXOS.

5.1 Dinámica de vehículos: “Código del programa”.

function varargout = SIMULACION(varargin)

%SIMULACION M-file for SIMULACION.fig

% SIMULACION, by itself, creates a new SIMULACION or raises the existing

% singleton*.

%

% H = SIMULACION returns the handle to a new SIMULACION or the handle to

% the existing singleton*.

%

% SIMULACION('Property','Value',...) creates a new SIMULACION using the

% given property value pairs. Unrecognized properties are passed via

% varargin to SIMULACION_OpeningFcn. This calling syntax produces a

% warning when there is an existing singleton*.

%

% SIMULACION('CALLBACK') and SIMULACION('CALLBACK',hObject,...) call the

% local function named CALLBACK in SIMULACION.M with the given input

% arguments.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help SIMULACION

% Last Modified by GUIDE v2.5 15-Oct-2010 18:00:03

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @SIMULACION_OpeningFcn, ...

'gui_OutputFcn', @SIMULACION_OutputFcn, ...

'gui_LayoutFcn', [], ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

Page 101: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

101

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before SIMULACION is made visible.

function SIMULACION_OpeningFcn(hObject, eventdata, handles, varargin)

%___Mostrar imagenes de la pantalla principal____%

axe=imread(strcat(pwd,'\unex.jpg'));

axes(handles.axes1);

imshow(axe);

axe2=imread(strcat(pwd,'\eii.jpg'));

axes(handles.axes2);

imshow(axe2);

axe3=imread(strcat(pwd,'\coche.jpg'));

axes(handles.axes3);

imshow(axe3);

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin unrecognized PropertyName/PropertyValue pairs from the

% command line (see VARARGIN)

% Choose default command line output for SIMULACION

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes SIMULACION wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = SIMULACION_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

Page 102: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

102

% Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on button press in OKDL.

function OKDL_Callback(hObject, eventdata, handles)

%____Abrir pantalla de dinamica lateral____%

gcf(DL)

% hObject handle to OKDL (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in OKDLg.

function OKDLg_Callback(hObject, eventdata, handles)

%____Abrir pantalla de dinamica longitudinal____%

gcf(DLg)

% hObject handle to OKDLg (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in OKDV.

function OKDV_Callback(hObject, eventdata, handles)

%____Abrir pantalla de dinamica vertical____%

gcf(DV)

% hObject handle to OKDV (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in pushbutton4.

function pushbutton4_Callback(hObject, eventdata, handles)

%____Cerrar ventana____%

close(SIMULACION)

% hObject handle to pushbutton4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

Page 103: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

103

5.2 Dinámica lateral: “Código del programa”.

function varargout = DL(varargin)

% DL M-file for DL.fig

% DL, by itself, creates a new DL or raises the existing

% singleton*.

%

% H = DL returns the handle to a new DL or the handle to

% the existing singleton*.

%

% DL('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in DL.M with the given input arguments.

%

% DL('Property','Value',...) creates a new DL or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before DL_OpeningFunction gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to DL_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Copyright 2002-2003 The MathWorks, Inc.

% Edit the above text to modify the response to help DL

% Last Modified by GUIDE v2.5 28-Oct-2010 18:57:17

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @DL_OpeningFcn, ...

'gui_OutputFcn', @DL_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

Page 104: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

104

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before DL is made visible.

function DL_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to DL (see VARARGIN)

%____Mostrar imagen____%

axe=imread(strcat(pwd,'\coche.jpg'));

axes(handles.axes2);

imshow(axe);

axes(handles.axes1);

X=0:180;

Y=1;

plot(X,Y,'w');

% Choose default command line output for DL

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes DL wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = DL_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

Page 105: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

105

% --- Executes on button press in CALCULAR.

function CALCULAR_Callback(hObject, eventdata, handles)

%____Lectura de datos de entrada____%

m = str2double(get(handles.M,'string'));

l = str2double(get(handles.L,'string'));

a = str2double(get(handles.A,'string'));

b = str2double(get(handles.B,'string'));

cr = str2double(get(handles.CR,'string'));

cf = str2double(get(handles.CF,'string'));

v = str2double(get(handles.V,'string'));

desmul = str2double(get(handles.DESMUL,'string'));

r = str2double(get(handles.R,'string'));

%____Calculos____%

wf = (m*9.81*b)/l;

wr = (m*9.81*a)/l;

u = (wf/cf)-(wr/cr);

delta = (l/r)+u*((v*1000/3600)^2/(9.81*r));

deltav = delta * desmul;

%____Mostrar resultados numericos____%

set(handles.DELTA,'string',num2str(delta));

set(handles.U,'string',num2str(u));

set(handles.DELTAV,'string',num2str(deltav));

%____Seleccion de imagen a mostrar segun el tipo de vehiculo (U)____%

if u<0

axe=imread(strcat(pwd,'\sobrevirador.jpg'));

axes(handles.axes2);

imshow(axe);

vc = ((9.81*l/(-u))^0.5)*3600/1000;

set(handles.VCtext,'string','Velocidad crítica (km/h) =');

set(handles.VC,'string',num2str(vc));

end

if u>0

axe=imread(strcat(pwd,'\subvirador.jpg'));

axes(handles.axes2);

imshow(axe);

set(handles.VCtext,'string',' ');

set(handles.VC,'string',' ');

end

if u==0

axe=imread(strcat(pwd,'\neutro.jpg'));

Page 106: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

106

axes(handles.axes2);

imshow(axe);

set(handles.VCtext,'string',' ');

set(handles.VC,'string',' ');

end

%____Dibujar la grafica____%

axes(handles.axes1);

N=str2num(get(handles.V,'string'));

x=0:10:N+20;

y=((l/r)+u*(x*1000/3600).^2/(9.81*r))*desmul;

plot(x,y,'r','LineWidth',2);

grid on;

% hObject handle to CALCULAR (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in SALIR.

function SALIR_Callback(hObject, eventdata, handles)

%____Cerrar ventana____%

close(DL)

% hObject handle to SALIR (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in RESET.

function RESET_Callback(hObject, eventdata, handles)

%____Boton RESET____%

set(handles.M,'String','');

set(handles.L,'String','');

set(handles.A,'String','');

set(handles.B,'String','');

set(handles.CR,'String','');

set(handles.CF,'String','');

set(handles.V,'String','');

set(handles.R,'String','');

set(handles.DELTA,'String','');

set(handles.U,'String','');

set(handles.DESMUL,'String','');

set(handles.DELTAV,'String','');

Page 107: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

107

axe=imread(strcat(pwd,'\coche.jpg'));

axes(handles.axes2);

imshow(axe);

set(handles.VCtext,'string',' ');

set(handles.VC,'string',' ');

axes(handles.axes1);

X=0:180;

Y=1;

plot(X,Y,'w');

% hObject handle to RESET (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

function M_Callback(hObject, eventdata, handles)

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal');

set(hObject,'String',' ');

end

% hObject handle to M (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of M as text

% str2double(get(hObject,'String')) returns contents of M as a double

% --- Executes during object creation, after setting all properties.

function M_CreateFcn(hObject, eventdata, handles)

% hObject handle to M (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

Page 108: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

108

end

function L_Callback(hObject, eventdata, handles)

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS','ERROR','modal');

set(hObject,'String',' ');

end

% hObject handle to L (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of L as text

% str2double(get(hObject,'String')) returns contents of L as a double

% --- Executes during object creation, after setting all properties.

function L_CreateFcn(hObject, eventdata, handles)

% hObject handle to L (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function A_Callback(hObject, eventdata, handles)

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS','ERROR','modal');

set(hObject,'String',' ');

end

Page 109: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

109

% hObject handle to a (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of a as text

% str2double(get(hObject,'String')) returns contents of a as a double

% --- Executes during object creation, after setting all properties.

function A_CreateFcn(hObject, eventdata, handles)

% hObject handle to a (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function B_Callback(hObject, eventdata, handles)

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS','ERROR','modal');

set(hObject,'String',' ');

end

if

str2double(get(handles.L,'string'))~=str2double(get(handles.A,'string'))+str2double(get(handles.B,'str

ing'))

errordlg('El valor de la batalla debe ser: L=a+b ','ERROR','modal');

set(hObject,'String',' ');

set(handles.L,'String',' ');

set(handles.A,'String',' ');

end

Page 110: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

110

% hObject handle to b (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of b as text

% str2double(get(hObject,'String')) returns contents of b as a double

% --- Executes during object creation, after setting all properties.

function B_CreateFcn(hObject, eventdata, handles)

% hObject handle to b (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function CR_Callback(hObject, eventdata, handles);

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS','ERROR','modal');

set(hObject,'String',' ');

end

% hObject handle to Cr (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of Cr as text

% str2double(get(hObject,'String')) returns contents of Cr as a double

% --- Executes during object creation, after setting all properties.

function CR_CreateFcn(hObject, eventdata, handles)

% hObject handle to Cr (see GCBO)

Page 111: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

111

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function CF_Callback(hObject, eventdata, handles)

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS','ERROR','modal');

set(hObject,'String',' ');

end

% hObject handle to Cf (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of Cf as text

% str2double(get(hObject,'String')) returns contents of Cf as a double

% --- Executes during object creation, after setting all properties.

function CF_CreateFcn(hObject, eventdata, handles)

% hObject handle to Cf (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

Page 112: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

112

function V_Callback(hObject, eventdata, handles)

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS','ERROR','modal');

set(hObject,'String',' ');

end

% hObject handle to V (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of V as text

% str2double(get(hObject,'String')) returns contents of V as a double

% --- Executes during object creation, after setting all properties.

function V_CreateFcn(hObject, eventdata, handles)

% hObject handle to V (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function R_Callback(hObject, eventdata, handles)

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS','ERROR','modal');

set(hObject,'String',' ');

end

% hObject handle to R (see GCBO)

Page 113: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

113

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of R as text

% str2double(get(hObject,'String')) returns contents of R as a double

% --- Executes during object creation, after setting all properties.

function R_CreateFcn(hObject, eventdata, handles)

% hObject handle to R (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function DESMUL_Callback(hObject, eventdata, handles)

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS','ERROR','modal');

set(hObject,'String',' ');

end

% hObject handle to DESMUL (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of DESMUL as text

% str2double(get(hObject,'String')) returns contents of DESMUL as a double

% --- Executes during object creation, after setting all properties.

function DESMUL_CreateFcn(hObject, eventdata, handles)

% hObject handle to DESMUL (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

Page 114: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

114

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

Page 115: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

115

5.3 Dinámica longitudinal: “Código del programa”.

function varargout = DLg(varargin)

% DLG M-file for DLg.fig

% DLG, by itself, creates a new DLG or raises the existing

% singleton*.

%

% L = DLG returns the handle to a new DLG or the handle to

% the existing singleton*.

%

% DLG('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in DLG.M with the given input arguments.

%

% DLG('Property','Value',...) creates a new DLG or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before DLg_OpeningFunction gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to DLg_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Copyright 2002-2003 The MathWorks, Inc.

% Edit the above text to modify the response to help DLg

% Last Modified by GUIDE v2.5 28-Nov-2010 18:42:43

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @DLg_OpeningFcn, ...

'gui_OutputFcn', @DLg_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

Page 116: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

116

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before DLg is made visible.

function DLg_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to DLg (see VARARGIN)

%____Cargar el array____%

global curvapar

load(strcat(pwd,'\curvapar.mat'));

% Choose default command line output for DLg

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes DLg wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = DLg_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on button press in RESET.

function RESET_Callback(hObject, eventdata, handles)

% hObject handle to RESET (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

Page 117: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

117

%____Botón RESET____%

global curvapar

x=curvapar(:,1);

q=(curvapar(:,2).*x);

y=((2*pi)/60)*q;

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'w');

grid off;

set(handles.M,'String','');

set(handles.AF,'String','');

set(handles.PD,'String','');

set(handles.PT,'String','');

set(handles.L,'String','');

set(handles.H,'String','');

set(handles.D,'String','');

set(handles.RDI,'String','');

set(handles.PEND,'String','');

set(handles.DA,'String','');

set(handles.CRA,'String','');

set(handles.CRR,'String','');

set(handles.CAD,'String','');

set(handles.VMAX,'String','');

set(handles.PMX,'String','');

set(handles.POTMAX,'String','');

set(handles.WMP,'String','');

set(handles.TMAX,'String','');

set(handles.WMT,'String','');

set(handles.EJEX,'String','');

set(handles.EJEY,'String','');

set(handles.R1,'String','');

set(handles.R2,'String','');

set(handles.R3,'String','');

set(handles.R4,'String','');

set(handles.R5,'String','');

set(handles.R1T,'String','');

set(handles.R2T,'String','');

set(handles.R3T,'String','');

set(handles.R4T,'String','');

set(handles.R5T,'String','');

Page 118: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

118

set(handles.REND,'String','');

% --- Executes on button press in SALIR.

function SALIR_Callback(hObject, eventdata, handles)

%____Cerrar ventana____%

close(DLg);

% hObject handle to SALIR (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

function M_Callback(hObject, eventdata, handles)

% hObject handle to M (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of M as text

% str2double(get(hObject,'String')) returns contents of M as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function M_CreateFcn(hObject, eventdata, handles)

% hObject handle to M (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

Page 119: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

119

function AF_Callback(hObject, eventdata, handles)

% hObject handle to AF (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of AF as text

% str2double(get(hObject,'String')) returns contents of AF as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function AF_CreateFcn(hObject, eventdata, handles)

% hObject handle to AF (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function PD_Callback(hObject, eventdata, handles)

% hObject handle to PD (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of PD as text

% str2double(get(hObject,'String')) returns contents of PD as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

Page 120: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

120

% --- Executes during object creation, after setting all properties.

function PD_CreateFcn(hObject, eventdata, handles)

% hObject handle to PD (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function L_Callback(hObject, eventdata, handles)

% hObject handle to L (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of L as text

% str2double(get(hObject,'String')) returns contents of L as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function L_CreateFcn(hObject, eventdata, handles)

% hObject handle to L (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

Page 121: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

121

function H_Callback(hObject, eventdata, handles)

% hObject handle to L (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of L as text

% str2double(get(hObject,'String')) returns contents of L as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function H_CreateFcn(hObject, eventdata, handles)

% hObject handle to L (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function D_Callback(hObject, eventdata, handles)

% hObject handle to D (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of D as text

% str2double(get(hObject,'String')) returns contents of D as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

Page 122: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

122

end

% --- Executes during object creation, after setting all properties.

function D_CreateFcn(hObject, eventdata, handles)

% hObject handle to D (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function RDI_Callback(hObject, eventdata, handles)

% hObject handle to RDI (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of RDI as text

% str2double(get(hObject,'String')) returns contents of RDI as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function RDI_CreateFcn(hObject, eventdata, handles)

% hObject handle to RDI (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

Page 123: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

123

end

function PEND_Callback(hObject, eventdata, handles)

% hObject handle to PEND (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of PEND as text

% str2double(get(hObject,'String')) returns contents of PEND as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

if 100<entrada

errordlg('La pendiente debe ser < 100% ','ERROR','modal');

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function PEND_CreateFcn(hObject, eventdata, handles)

% hObject handle to PEND (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function DA_Callback(hObject, eventdata, handles)

% hObject handle to DA (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of DA as text

% str2double(get(hObject,'String')) returns contents of DA as a double

Page 124: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

124

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function DA_CreateFcn(hObject, eventdata, handles)

% hObject handle to DA (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function CRA_Callback(hObject, eventdata, handles)

% hObject handle to CRA (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of CRA as text

% str2double(get(hObject,'String')) returns contents of CRA as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

if 1<entrada

errordlg('El valor del coeficiente debe ser < 1','ERROR','modal');

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function CRA_CreateFcn(hObject, eventdata, handles)

% hObject handle to CRA (see GCBO)

Page 125: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

125

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function CRR_Callback(hObject, eventdata, handles)

% hObject handle to CRR (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of CRR as text

% str2double(get(hObject,'String')) returns contents of CRR as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

if 1<entrada

errordlg('El valor del coeficiente debe ser < 1','ERROR','modal');

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function CRR_CreateFcn(hObject, eventdata, handles)

% hObject handle to CRR (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

Page 126: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

126

end

function CAD_Callback(hObject, eventdata, handles)

% hObject handle to CAD (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of CAD as text

% str2double(get(hObject,'String')) returns contents of CAD as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

if 1<entrada

errordlg('El valor del coeficiente debe ser < 1','ERROR','modal');

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function CAD_CreateFcn(hObject, eventdata, handles)

% hObject handle to CAD (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

% --- Executes during object creation, after setting all properties.

function VMAX_CreateFcn(hObject, eventdata, handles)

% hObject handle to VMAX (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

Page 127: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

127

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

function POTMAX_Callback(hObject, eventdata, handles)

% hObject handle to POTMAX (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of POTMAX as text

% str2double(get(hObject,'String')) returns contents of POTMAX as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function POTMAX_CreateFcn(hObject, eventdata, handles)

% hObject handle to POTMAX (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

% --- Executes on button press in CURVAPOTENCIA.

function CURVAPOTENCIA_Callback(hObject, eventdata, handles)

% hObject handle to CURVAPOTENCIA (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%____Cargar datos y dibujar curva de potencia____%

global curvapar

x=curvapar(:,1);

q=(curvapar(:,2).*x);

y=((2*pi)/60)*q;

Page 128: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

128

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'LineWidth',2);

grid on;

[P_MAX,WW_MAX_P] = max(curvP);

WMAXP=(WW_MAX_P+min_x);

set(handles.POTMAX,'string',num2str(P_MAX));

set(handles.WMP,'string',num2str(WMAXP));

set(handles.EJEX,'string','rpm');

set(handles.EJEY,'string','kW');

set(handles.NOMBRECURVA,'string','Curva de Potencia');

function PT_Callback(hObject, eventdata, handles)

% hObject handle to PT (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of PT as text

% str2double(get(hObject,'String')) returns contents of PT as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

if 100~=str2double(get(handles.PT,'string'))+str2double(get(handles.PD,'string'))

errordlg('El peso traseso más el peso delantero debe sumar el 100% ','ERROR','modal');

set(hObject,'String',' ')

set(handles.PD,'String',' ');

end

% --- Executes during object creation, after setting all properties.

function PT_CreateFcn(hObject, eventdata, handles)

% hObject handle to PT (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

Page 129: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

129

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

% --- Executes on button press in CURVAPAR.

function CURVAPAR_Callback(hObject, eventdata, handles)

% hObject handle to CURVAPAR (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%____Cargar datos y dibujar curva de par____%

global curvapar

x=curvapar(:,1);

y=curvapar(:,2);

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvT=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvT,'LineWidth',2);

grid on;

[T_MAX,WW_MAX_T] = max(curvT);

WMAXT=(WW_MAX_T+min_x);

set(handles.TMAX,'string',num2str(T_MAX));

set(handles.WMT,'string',num2str(WMAXT));

set(handles.EJEX,'string','rpm');

set(handles.EJEY,'string','Nm');

set(handles.NOMBRECURVA,'string','Curva de Par');

% --- Executes on button press in CALCULARRELACIONES.

function CALCULARRELACIONES_Callback(hObject, eventdata, handles)

% hObject handle to CALCULARRELACIONES (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%____Lectura de datos de entrada____%

m = str2double(get(handles.M,'string'));

af = str2double(get(handles.AF,'string'));

pd = str2double(get(handles.PD,'string'));

Page 130: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

130

pd=pd/100;

pt = str2double(get(handles.PT,'string'));

pt=pt/100;

l = str2double(get(handles.L,'string'));

h = str2double(get(handles.H,'string'));

d = str2double(get(handles.D,'string'));

rdi = str2double(get(handles.RDI,'string'));

pen = str2double(get(handles.PEND,'string'));

pend=asin(pen/100);

da = str2double(get(handles.DA,'string'));

cra = str2double(get(handles.CRA,'string'));

crr = str2double(get(handles.CRR,'string'));

cad = str2double(get(handles.CAD,'string'));

WMAXP = str2double(get(handles.WMP,'string'));

WMAXT = str2double(get(handles.WMT,'string'));

P_MAX = str2double(get(handles.POTMAX,'string'));

T_MAX = str2double(get(handles.TMAX,'string'));

ren = str2double(get(handles.REND,'string'));

rend=ren/100;

r=d/2;

%____Calculo de la velocidad maxima____%

[solv]=solve(strcat('(',num2str(P_MAX),'*',num2str(rend),')=(',num2str(m),'*9.81*',num2str(crr),'*x)+(0.5*',

num2str(da),'*',num2str(cra),'*',num2str(af),'*x^3)'));

v1max=isreal(solv(1));

v2max=isreal(solv(2));

v3max=isreal(solv(3));

if v1max==1

vmaxa=solv(1);

else vmaxa=0;

end;

if v2max==1

vmaxb=solv(2);

else vmaxb=0;

end;

if v3max==1

vmaxc=solv(3);

else vmaxc=0;

end;

vmax=max(double([vmaxa vmaxb vmaxc]));

vmax=vmax*3600/1000;

set(handles.VMAX,'string',num2str(vmax));

%____Calculo de la pendiente maxima____%

traccion=get(handles.TRACCION,'Value');

Page 131: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

131

switch traccion

case 1

[pendmax]=solve(strcat(num2str(m),'*9.81*','(sin(x)+',num2str(crr),'*cos(x))=',num2str(cad),'*',num2

str(m),'*9.81*cos(x)*(',num2str(pd),'*',num2str(l),'+',num2str(h),'*',num2str(crr),')/(',num2str(l),'+',n

um2str(cad),'*',num2str(h),')'));

pendmax=max(double(pendmax));

pendmax=100*sin(pendmax);

set(handles.PMX,'string',num2str(pendmax));

case 2

[pendmax]=solve(strcat(num2str(m),'*9.81*','(sin(x)+',num2str(crr),'*cos(x))=',num2str(cad),'*',num2

str(m),'*9.81*cos(x)*(',num2str(pt),'*',num2str(l),'-',num2str(h),'*',num2str(crr),')/(',num2str(l),'-

',num2str(cad),'*',num2str(h),')'));

pendmax=max(double(pendmax));

pendmax=100*sin(pendmax);

set(handles.PMX,'string',num2str(pendmax));

case 3

[pendmax]=solve(strcat(num2str(m),'*9.81*','(sin(x)+',num2str(crr),'*cos(x))=',num2str(cad),'*',num2

str(m),'*9.81*cos(x)'));

pendmax=max(double(pendmax));

pendmax=100*sin(pendmax);

set(handles.PMX,'string',num2str(pendmax));

end

if str2double(get(handles.PMX,'string'))<str2double(get(handles.PEND,'string'))

errordlg('El vehículo no puede remontar la pendiente introducida ','ERROR','modal');

end

%____Calculo de las relaciones de transmision____%

r5t=(WMAXP*(2*pi/60)*(d/2))/(vmax*1000/3600);

r5=r5t/rdi;

set(handles.R5T,'string',num2str(r5t));

set(handles.R5,'string',num2str(r5));

r1t=((d/2)*m*9.81*(sin(asin(pendmax/100))+crr*cos(asin(pendmax/100))))/(T_MAX*rend);

r1=r1t/rdi;

set(handles.R1T,'string',num2str(r1t));

set(handles.R1,'string',num2str(r1));

k=(r1/r5)^(1/4);

set(handles.K,'string',num2str(k));

r4=k*r5;

r4t=r4*rdi;

set(handles.R4T,'string',num2str(r4t));

Page 132: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

132

set(handles.R4,'string',num2str(r4));

r3=k^2*r5;

r3t=r3*rdi;

set(handles.R3T,'string',num2str(r3t));

set(handles.R3,'string',num2str(r3));

r2=k^3*r5;

r2t=r2*rdi;

set(handles.R2T,'string',num2str(r2t));

set(handles.R2,'string',num2str(r2));

%____calculo de la aceleracion____%

global curvapar

%r1

x=(curvapar(:,1)/str2double(get(handles.R1T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

y=curvapar(:,2)*str2double(get(handles.R1T,'string'))/(str2double(get(handles.D,'string'))/2);

[P,S]=polyfit(x,y,3);

max1_x=max(x);

min1_x=min(x);

curv1P=polyval(P,[min1_x:1:max1_x]);

[PMAX,VMAX] = max(curv1P);

V1MAX=VMAX+min1_x;

%r2

x=(curvapar(:,1)/str2double(get(handles.R2T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

y=curvapar(:,2)*str2double(get(handles.R2T,'string'))/(str2double(get(handles.D,'string'))/2);

[P,S]=polyfit(x,y,3);

max2_x=max(x);

min2_x=min(x);

curv2P=polyval(P,[min2_x:1:max2_x]);

[PMAX,VMAX] = max(curv2P);

V2MAX=VMAX+min2_x;

%r3

x=(curvapar(:,1)/str2double(get(handles.R3T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

y=curvapar(:,2)*str2double(get(handles.R3T,'string'))/(str2double(get(handles.D,'string'))/2);

[P,S]=polyfit(x,y,3);

max3_x=max(x);

min3_x=min(x);

curv3P=polyval(P,[min3_x:1:max3_x]);

[PMAX,VMAX] = max(curv3P);

V3MAX=VMAX+min3_x;

%r4

Page 133: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

133

x=(curvapar(:,1)/str2double(get(handles.R4T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

y=curvapar(:,2)*str2double(get(handles.R4T,'string'))/(str2double(get(handles.D,'string'))/2);

[P,S]=polyfit(x,y,3);

max4_x=max(x);

min4_x=min(x);

curv4P=polyval(P,[min4_x:1:max4_x]);

[PMAX,VMAX] = max(curv4P);

V4MAX=VMAX+min4_x;

%r5

x=(curvapar(:,1)/str2double(get(handles.R5T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

y=curvapar(:,2)*str2double(get(handles.R5T,'string'))/(str2double(get(handles.D,'string'))/2);

[P,S]=polyfit(x,y,3);

max5_x=max(x);

min5_x=min(x);

curv5P=polyval(P,[min5_x:1:max5_x]);

[PMAX,VMAX] = max(curv5P);

V5MAX=VMAX+min5_x;

fda1=T_MAX*r1t/(d/2)-

(str2double(get(handles.M,'string'))*9.81*(str2double(get(handles.CRR,'string'))*cos(pend)+sin(pend

))+0.5*str2double(get(handles.DA,'string'))*str2double(get(handles.CRA,'string'))*str2double(get(ha

ndles.AF,'string'))*(V1MAX*1000/3600).^2);

fm1=1.04+0.0025*r1t^2;

a1=fda1/(fm1*m);

set(handles.A1,'string',num2str(a1));

fda2=T_MAX*r2t/(d/2)-

(str2double(get(handles.M,'string'))*9.81*(str2double(get(handles.CRR,'string'))*cos(pend)+sin(pend

))+0.5*str2double(get(handles.DA,'string'))*str2double(get(handles.CRA,'string'))*str2double(get(ha

ndles.AF,'string'))*(V2MAX*1000/3600).^2);

fm2=1.04+0.0025*r2t^2;

a2=fda2/(fm2*m);

set(handles.A2,'string',num2str(a2));

fda3=T_MAX*r3t/(d/2)-

(str2double(get(handles.M,'string'))*9.81*(str2double(get(handles.CRR,'string'))*cos(pend)+sin(pend

))+0.5*str2double(get(handles.DA,'string'))*str2double(get(handles.CRA,'string'))*str2double(get(ha

ndles.AF,'string'))*(V3MAX*1000/3600).^2);

fm3=1.04+0.0025*r3t^2;

a3=fda3/(fm3*m);

set(handles.A3,'string',num2str(a3));

fda4=T_MAX*r4t/(d/2)-

(str2double(get(handles.M,'string'))*9.81*(str2double(get(handles.CRR,'string'))*cos(pend)+sin(pend

Page 134: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

134

))+0.5*str2double(get(handles.DA,'string'))*str2double(get(handles.CRA,'string'))*str2double(get(ha

ndles.AF,'string'))*(V4MAX*1000/3600).^2);

fm4=1.04+0.0025*r4t^2;

a4=fda4/(fm4*m);

set(handles.A4,'string',num2str(a4));

fda5=T_MAX*r5t/(d/2)-

(str2double(get(handles.M,'string'))*9.81*(str2double(get(handles.CRR,'string'))*cos(pend)+sin(pend

))+0.5*str2double(get(handles.DA,'string'))*str2double(get(handles.CRA,'string'))*str2double(get(ha

ndles.AF,'string'))*(V5MAX*1000/3600).^2);

fm5=1.04+0.0025*r5t^2;

a5=fda5/(fm5*m);

set(handles.A5,'string',num2str(a5));

function REND_Callback(hObject, eventdata, handles)

% hObject handle to REND (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of REND as text

% str2double(get(hObject,'String')) returns contents of REND as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal')

set(hObject,'String',' ')

end

if 100<entrada

errordlg('El rendimiento debe ser < 100% ','ERROR','modal');

set(hObject,'String',' ')

end

% --- Executes during object creation, after setting all properties.

function REND_CreateFcn(hObject, eventdata, handles)

% hObject handle to REND (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

Page 135: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

135

end

% --- Executes during object creation, after setting all properties.

function PMX_CreateFcn(hObject, eventdata, handles)

% hObject handle to PMX (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% --- Executes on selection change in TRACCION.

function TRACCION_Callback(hObject, eventdata, handles)

% hObject handle to TRACCION (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns TRACCION contents as cell array

% contents{get(hObject,'Value')} returns selected item from TRACCION

% --- Executes during object creation, after setting all properties.

function TRACCION_CreateFcn(hObject, eventdata, handles)

% hObject handle to TRACCION (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

% --- Executes on button press in DPOTENCIA.

function DPOTENCIA_Callback(hObject, eventdata, handles)

% hObject handle to DPOTENCIA (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%____Representacion del diagrama de potencia____%

global curvapar

x=(curvapar(:,1)/str2double(get(handles.R1T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

z=curvapar(:,1);

q=(curvapar(:,2).*z);

Page 136: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

136

y=((2*pi)/60)*q;

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'g','LineWidth',2);

grid on;

hold on;

x=(curvapar(:,1)/str2double(get(handles.R2T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

z=curvapar(:,1);

q=(curvapar(:,2).*z);

y=((2*pi)/60)*q;

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'r','LineWidth',2);

hold on;

x=(curvapar(:,1)/str2double(get(handles.R3T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

z=curvapar(:,1);

q=(curvapar(:,2).*z);

y=((2*pi)/60)*q;

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'b','LineWidth',2);

hold on;

x=(curvapar(:,1)/str2double(get(handles.R4T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

z=curvapar(:,1);

q=(curvapar(:,2).*z);

y=((2*pi)/60)*q;

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'k','LineWidth',2);

hold on;

x=(curvapar(:,1)/str2double(get(handles.R5T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

Page 137: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

137

z=curvapar(:,1);

q=(curvapar(:,2).*z);

y=((2*pi)/60)*q;

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'m','LineWidth',2);

hold on;

x=0:250;

pen = str2double(get(handles.PEND,'string'));

pend=asin(pen/100);

y=str2double(get(handles.M,'string'))*9.81*(str2double(get(handles.CRR,'string'))*cos(pend)+sin(pend))*x/

3.6+0.5*str2double(get(handles.DA,'string'))*str2double(get(handles.CRA,'string'))*str2double(get(h

andles.AF,'string'))*(x/3.6).^3;

plot(x,y,'LineWidth',2);

hold off;

set(handles.EJEX,'string','km/h');

set(handles.EJEY,'string','kw');

set(handles.NOMBRECURVA,'string','Diagrama de potencias');

% --- Executes on button press in DTRACCION.

function DTRACCION_Callback(hObject, eventdata, handles)

% hObject handle to DTRACCION (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%____Representación del diagrama de traccion____%

global curvapar

x=(curvapar(:,1)/str2double(get(handles.R1T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

y=curvapar(:,2)*str2double(get(handles.R1T,'string'))/(str2double(get(handles.D,'string'))/2);

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'g','LineWidth',2);

grid on;

hold on;

x=(curvapar(:,1)/str2double(get(handles.R2T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

y=curvapar(:,2)*str2double(get(handles.R2T,'string'))/(str2double(get(handles.D,'string'))/2);

[P,S]=polyfit(x,y,3);

max_x=max(x);

Page 138: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

138

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'r','LineWidth',2);

hold on;

x=(curvapar(:,1)/str2double(get(handles.R3T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

y=curvapar(:,2)*str2double(get(handles.R3T,'string'))/(str2double(get(handles.D,'string'))/2);

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'b','LineWidth',2);

hold on;

x=(curvapar(:,1)/str2double(get(handles.R4T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

y=curvapar(:,2)*str2double(get(handles.R4T,'string'))/(str2double(get(handles.D,'string'))/2);

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'k','LineWidth',2);

hold on;

x=(curvapar(:,1)/str2double(get(handles.R5T,'string')))*(str2double(get(handles.D,'string'))/2)*(2*pi/60)*(3

600/1000);

y=curvapar(:,2)*str2double(get(handles.R5T,'string'))/(str2double(get(handles.D,'string'))/2);

[P,S]=polyfit(x,y,3);

max_x=max(x);

min_x=min(x);

curvP=polyval(P,[min_x:1:max_x]);

plot(min_x:1:max_x,curvP,'m','LineWidth',2);

hold on;

x=0:250;

pen = str2double(get(handles.PEND,'string'));

pend=asin(pen/100);

y=str2double(get(handles.M,'string'))*9.81*(str2double(get(handles.CRR,'string'))*cos(pend)+sin(pend))+0.

5*str2double(get(handles.DA,'string'))*str2double(get(handles.CRA,'string'))*str2double(get(handles

.AF,'string'))*(x*1000/3600).^2;

plot(x,y,'r','LineWidth',2);

hold on;

x=0:250;

pend=asin(50/100);

Page 139: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

139

y=str2double(get(handles.M,'string'))*9.81*(str2double(get(handles.CRR,'string'))*cos(pend)+sin(pend))+0.

5*str2double(get(handles.DA,'string'))*str2double(get(handles.CRA,'string'))*str2double(get(handles

.AF,'string'))*(x*1000/3600).^2;

plot(x,y,'LineWidth',2);

hold on;

x=0:250;

pend=asin(25/100);

y=str2double(get(handles.M,'string'))*9.81*(str2double(get(handles.CRR,'string'))*cos(pend)+sin(pend))+0.

5*str2double(get(handles.DA,'string'))*str2double(get(handles.CRA,'string'))*str2double(get(handles

.AF,'string'))*(x*1000/3600).^2;

plot(x,y,'LineWidth',2);

hold on;

x=0:250;

pend=asin(0/100);

y=str2double(get(handles.M,'string'))*9.81*(str2double(get(handles.CRR,'string'))*cos(pend)+sin(pend))+0.

5*str2double(get(handles.DA,'string'))*str2double(get(handles.CRA,'string'))*str2double(get(handles

.AF,'string'))*(x*1000/3600).^2;

plot(x,y,'LineWidth',2);

hold off;

set(handles.EJEX,'string','km/h');

set(handles.EJEY,'string','N');

set(handles.NOMBRECURVA,'string','Diagrama de traccion');

Page 140: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

140

5.4 Dinámica vertical: “Código del programa”.

function varargout = DV(varargin)

% DV M-file for DV.fig

% DV, by itself, creates a new DV or raises the existing

% singleton*.

%

% H = DV returns the handle to a new DV or the handle to

% the existing singleton*.

%

% DV('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in DV.M with the given input arguments.

%

% DV('Property','Value',...) creates a new DV or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before DV_OpeningFunction gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to DV_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Copyright 2002-2003 The MathWorks, Inc.

% Edit the above tau to modify the response to help DV

% Last Modified by GUIDE v2.5 28-Nov-2010 12:16:57

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @DV_OpeningFcn, ...

'gui_OutputFcn', @DV_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

Page 141: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

141

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before DV is made visible.

function DV_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to DV (see VARARGIN)

axes(handles.axes1);

handles.ejex=0:pi/360:50;

% Choose default command line output for DV

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes DV wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = DV_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on button press in RESET.

function RESET_Callback(hObject, eventdata, handles)

% hObject handle to RESET (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

Page 142: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

142

%____Boton RESET____%

set(handles.M,'String','');

set(handles.C,'String','');

set(handles.K,'String','');

set(handles.WN,'String','');

set(handles.E,'String','');

set(handles.TAU,'string','');

set(handles.F,'string','');

set(handles.SENALENTRADA,'value',1);

axes(handles.axes3);

X=0:4;

Y=1;

plot(X,Y,'w');

axes(handles.axes2);

X=0:50;

Y=0;

plot(X,Y,'w');

axes(handles.axes1);

X=0:50;

Y=0;

plot(X,Y,'w');

% --- Executes on button press in CALCULAR.

function CALCULAR_Callback(hObject, eventdata, handles)

% hObject handle to CALCULAR (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%____Lectura de datos de entrada____%

m = str2double(get(handles.M,'string'));

c = str2double(get(handles.C,'string'));

k = str2double(get(handles.K,'string'));

f = str2double(get(handles.F,'string'));

%____Calculos____%

wn = (k/m)^.5;

e = c/(2*m*wn);

set(handles.WN,'string',num2str(wn));

set(handles.E,'string',num2str(e));

fun =get(handles.SENALENTRADA,'Value');

switch fun

case 2

Page 143: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

143

w=2*pi*f;

tau=w/wn;

set(handles.TAU,'string',num2str(tau));

axes(handles.axes3);

x=0:0.01:4;

y=((1+4*e^2*x.^2)./((1-x.^2).^2+4*e^2*x.^2)).^0.5;

plot(x,y,'r','LineWidth',2);

grid on;

axes(handles.axes1);

y1=sin(2*pi*str2double(get(handles.F,'string'))*handles.ejex);

plot(handles.ejex,y1,'LineWidth',2);

axis([0 50 -1.5 1.5]);

grid on;

hold off;

axes(handles.axes2);

syms t y

solu1=@(t,y)([y(2); 2*e*wn*(2*(cos(2*pi*f*t))*pi*f)+wn^2*(sin(2*pi*f*t))-wn^2*y(1)-2*e*wn*y(2)]);

[T,Y]=ode45(solu1,[0 50],[0;0]);

plot(T,Y(:,1),'LineWidth',2);

grid on;

hold off;

case 3

w=2*pi*f;

tau=w/wn;

set(handles.TAU,'string',num2str(tau));

axes(handles.axes3);

X=0:4;

Y=1;

plot(X,Y,'w');

axes(handles.axes1);

y2=sin(2*pi*str2double(get(handles.F,'string'))*handles.ejex)+cos(3*pi*str2double(get(handles.F,'string'))*

handles.ejex);

plot(handles.ejex,y2,'LineWidth',2);

axis([0 50 min(y2)-0.5 max(y2)+0.5 ]);

grid on;

hold off;

axes(handles.axes2);

solu2=@(t,y)([y(2); 2*e*wn*(2*cos(2*pi*f*t)*pi*f-

3*sin(3*pi*f*t)*f*pi)+wn^2*(sin(2*pi*f*t)+cos(3*pi*f*t))-wn^2*y(1)-2*e*wn*y(2)]);

[T,Y]=ode45(solu2,[0,50],[1;0]);

plot(T,Y(:,1),'LineWidth',2);

Page 144: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

144

grid on;

hold off;

case 4

set(handles.TAU,'string','');

axes(handles.axes3);

X=0:4;

Y=1;

plot(X,Y,'w');

axes(handles.axes1);

x=linspace(0,1,600);

x=x';

y3=0.15*randn(600,1)+sin(8*pi*x)+sin(3*pi*x)+sin(6*pi*x);

[P,S]=polyfit(x,y3,10);

curvP=polyval(P,x);

plot(x,curvP,'LineWidth',2);

grid on;

hold off;

axes(handles.axes2);

syms t y

solu2=@(t,y)([y(2);

2*e*wn*(10*P(1)*t^9+9*P(2)*t^8+8*P(3)*t^7+7*P(4)*t^6+6*P(5)*t^5+5*P(6)*t^4+4*P(7)*t^3+3*P(

8)*t^2+2*P(9)*t+P(10))+wn^2*(P(1)*t^10+P(2)*t^9+P(3)*t^8+P(4)*t^7+P(5)*t^6+P(6)*t^5+P(7)*t^4

+P(8)*t^3+P(9)*t^2+P(10)*t+P(11))-wn^2*y(1)-2*e*wn*y(2)]);

[T,Y]=ode45(solu2,[0,1],[curvP(1);0]);

plot(T,Y(:,1),'LineWidth',2);

grid on;

hold off;

end

% --- Executes on button press in SALIR.

function SALIR_Callback(hObject, eventdata, handles)

%____Cerrar ventana____%

close(DV);

% hObject handle to SALIR (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

Page 145: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

145

function M_Callback(hObject, eventdata, handles)

% hObject handle to M (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of M as tau

% str2double(get(hObject,'String')) returns contents of M as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal');

set(hObject,'String',' ');

end

% --- Executes during object creation, after setting all properties.

function M_CreateFcn(hObject, eventdata, handles)

% hObject handle to M (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function C_Callback(hObject, eventdata, handles)

% hObject handle to C (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of C as tau

% str2double(get(hObject,'String')) returns contents of C as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal');

set(hObject,'String',' ');

end

% --- Executes during object creation, after setting all properties.

Page 146: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

146

function C_CreateFcn(hObject, eventdata, handles)

% hObject handle to C (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function K_Callback(hObject, eventdata, handles)

% hObject handle to K (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of K as tau

% str2double(get(hObject,'String')) returns contents of K as a double

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal');

set(hObject,'String',' ');

end

% --- Executes during object creation, after setting all properties.

function K_CreateFcn(hObject, eventdata, handles)

% hObject handle to K (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

% --- Executes on selection change in F.

Page 147: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

147

function F_Callback(hObject, eventdata, handles)

% hObject handle to F (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

entrada=str2double(get(hObject,'String'));

if isnan(entrada)

errordlg('SOLO PUEDE INTRODUCIR VALORES NUMERICOS ','ERROR','modal');

set(hObject,'String',' ');

end

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns F contents as cell array

% contents{get(hObject,'Value')} returns selected item from F

% --- Executes during object creation, after setting all properties.

function F_CreateFcn(hObject, eventdata, handles)

% hObject handle to F (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

% --- Executes during object creation, after setting all properties.

function E_CreateFcn(hObject, eventdata, handles)

% hObject handle to E (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% --- Executes during object creation, after setting all properties.

function WN_CreateFcn(hObject, eventdata, handles)

% hObject handle to WN (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

Page 148: Dinámica Longitudinal

ANEXOS HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

148

function SENALENTRADA_Callback(hObject, eventdata, handles)

% hObject handle to SENALENTRADA (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%___Desactivar boton de frecuencia cuando la señal es aleatoria____%

fun =get(handles.SENALENTRADA,'Value');

switch fun

case 1

set(handles.F,'enable','on')

case 2

set(handles.F,'enable','on')

case 3

set(handles.F,'enable','on')

case 4

set(handles.F,'enable','off')

end

% Hints: get(hObject,'String') returns contents of SENALENTRADA as text

% str2double(get(hObject,'String')) returns contents of SENALENTRADA as a double

% --- Executes during object creation, after setting all properties.

function SENALENTRADA_CreateFcn(hObject, eventdata, handles)

% hObject handle to SENALENTRADA (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

Page 149: Dinámica Longitudinal

BIBLIOGRAFÍA HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

149

Capítulo VI: Bibliografía.

Page 150: Dinámica Longitudinal

BIBLIOGRAFÍA HERRAMIENTA DE SIMULACIÓN DE LA DINÁMICA DE VEHÍCULOS AUTOMÓVILES

150

6 BIBLIOGRAFÍA.

Apuntes de Ingeniería del Transporte.

Autor: Francisco Javier Alonso Sánchez.

Un curso de automoción.

Autor: Publio Pintado.

Tratado sobre automóviles: La dinámica del automóvil.

Autor: José Font Mezquita.

www.mecanicavirtual.org.

Amortiguadores y suspensión. Manual de automoción.

Autor: Juan Alberdi Urbieta. Universidad de Navarra.

Ingeniería del transporte. 2008.

Autor: F. Aparicio.

Aprenda Matlab 7.0. Dic. 2005.

Autor: Javier García de Jalón, José Ignacio Rodríguez, Jesús Vidal.

Universidad Politécnica de Madrid.

Manual de interfaz gráfica de usuario en Matlab.

Autor: Diego Orlando Barragán Guerrero.

Creación de Interfaces Gráficas de Usuario (GUI) con Matlab.

Autor: Gonzalo Fernández de Córdoba Martos.