TRABAJO FINAL DE GRADO

Grado en Ingeniería Mecánica

ESTUDIO DE UN SISTEMA AERODINÁMICO ACTIVO EN AUTOMÓVILES: CONTROL Y AUTOMATIZACIÓN DEL SISTEMA

Memoria y Anexos

Autor: Antonio Rodríguez Noriega Director: Sebastián Tornil Convocatoria: Junio 2018

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Resumen

A lo largo de este proyecto se tratará el diseño desde cero de un sistema de aerodinámica activa para automóviles. El proceso consta de tres partes diferenciadas: el estudio aerodinámico, donde se caracteriza la interacción fluidodinámica de un perfil alar; el estudio mecánico, donde se diseña el conjunto de mecanismos que forman el sistema mecánico, así como su posterior validación; y la automatización y el control del sistema, donde se modeliza el comportamiento del vehículo y se implementa en un sistema electrónico de control regulado.

Estas partes se presentan como tres Trabajos Finales de Grado distintos relacionados entre sí. En esta memoria se desarrolla la tercera de ellas: la automatización y el control del sistema.

El objetivo principal ha sido completar la fase de diseño de un sistema que mejore el comportamiento dinámico de un vehículo de carácter deportivo en el mayor número posible de situaciones. Esto se ha conseguido variando la repartición de cargas normales por rueda a partir de la modificación de las características geométricas del propio conjunto aerodinámico, mediante el uso de actuadores lineales regulados por un sistema de control en función de las condiciones del automóvil en tiempo real.

I Memoria

Resum

Durant el transcurs d’aquest projecte es tractarà el disseny des de zero d’un sistema d’aerodinàmica activa per a automòbils. El procés consta de tres parts diferenciades: l’estudi aerodinàmic, on es caracteritza la interacció fluidodinàmica d’un perfil alar; l’estudi mecànic, on es dissenya el conjunt de mecanismes que formen el sistema mecànic, així com la seva posterior validació; i l’automatització i el control del sistema, on es modelitza el comportament del vehicle i s’implementa a un sistema electrònic de control regulat.

Aquestes parts es presenten com a tres Treballs Finals de Grau diferents relacionats entre si. En aquesta memòria es desenvolupa la tercera d’elles: l’automatització i el control del sistema.

L’objectiu principal ha sigut completar la fase de disseny d’un sistema que millori el comportament dinàmic d’un vehicle de caràcter esportiu en el major nombre possible de situacions. Això s’ha aconseguit amb la variació del repartiment de càrregues normals per roda a partir de la modificació de les característiques geomètriques del propi conjunt aerodinàmic, mitjançant l’ús d’actuadors lineals regulats per un sistema de control en funció de les condicions de l’automòbil en temps real.

II Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Abstract

Throughout this project, the design from scratch of an active aerodynamic system for cars will be treated. The process consists of three different parts: the aerodynamic study, where the fluid dynamics interaction of an alar profile is characterized; the mechanical study, where the set of mechanisms that make up the mechanical system are designed, as well as its subsequent validation; and the automation and control of the system, where the vehicle behaviour is modelled and implemented in an electronic controlled control system.

These parts are presented as three different Final Year Projects related to each other. In this memory the third part of them is developed: the automation and control of the system.

The main objective has been completing the design phase of a system that improves the dynamic behaviour of a sports car in as many situations as possible. This has been achieved by varying the distribution of normal loads per wheel from the modification of the geometrical characteristics of the aerodynamic system itself, using lineal actuators regulated by a control system based on the vehicle conditions in real time.

III

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Agradecimientos

Primeramente, queríamos agradecer a los directores de estos tres trabajos, Alfred Fontanals y Sebastián Tornil, por su constante seguimiento y apoyo en el transcurso de este proyecto. Sus experimentadas visiones en los diversos campos ingenieriles estudiados han sido de vital ayuda con tal de encontrar soluciones a los problemas que hemos afrontado en este estudio.

Al profesor Ricardo Torres, por su gran interés en nuestro proyecto y su ayuda en aspectos fluidodinámicos. Su disposición ha sido completa en todo momento, tanto en la parte teórica como en la práctica. Su ayuda nos facilitó el acceso a una impresora 3D, esencial para el diseño de la experimentación en el túnel de viento y de la fabricación de la maqueta final.

Al profesor Esteve Ribas, por compartir con nosotros sus amplios conocimientos en la simulación por el método de elementos finitos, en particular con el software ANSYS y por aportarnos la documentación necesaria para mejorar la semejanza del modelo con la realidad.

Se agradece también a la Universidad y especialmente al Departamento de fluidos el acceso a las instalaciones utilizadas durante la realización del proyecto. Trabajar en el túnel de viento ha sido una gran oportunidad y ha aportado una mayor rigurosidad científica al proyecto.

Queremos agradecer a la unidad de servicios de taller y laboratorios por sus diversas ayudas en la experimentación en el túnel de viento. En especial, a Alejandro Martínez por darnos acceso al túnel de viento cuando ha sido necesario, y a Daniel Romanillos y Sergio Calles por el mecanizado de las barras de soporte necesarias para el estudio experimental.

A Cristian Jiménez, ingeniero en Applus+ IDIADA, por aportarnos diversas posibles fuentes de obtención de datos vehiculares, necesarios para la modelización de la dinámica del coche. También se agradece la ayuda de otras empresas de automoción, las cuales nos han aportado algunos de estos valores tan necesarios para el proyecto.

Finalmente, pero no menos importante, agradecer a nuestra familia y amigos su constante apoyo y motivación que, durante los momentos de dificultad atravesados durante el trabajo, siempre han estado ahí para ayudarnos a sacar el máximo rendimiento de nosotros.

A todos ellos, muchas gracias.

V

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Índice de Figuras

Figura 3.1. Diagrama de un sistema. ______5

Figura 3.2 Clasificación de las variables de un sistema. ______6

Figura 3.3. Sistema elemental en lazo abierto. ______7

Figura 3.4. Sistema elemental en lazo cerrado. Realimentación negativa. ______7

Figura 3.5. Modelo de sistema industrial con realimentación negativa. ______8

Figura 3.6. Variación de la temperatura del agua con el tiempo en el intercambiador de calor. __ 9

Figura 4.1. Esquema general de las variables del proceso de control. ______13

Figura 4.2. Subproceso de control de dinámica vehicular. ______14

Figura 4.3. Subproceso de control de aerodinámica. ______14

Figura 4.4. Subproceso de control principal (feedforward). ______15

Figura 4.5. Subproceso de control del actuador (feedback). ______15

Figura 5.1. Movimiento de traslación de un cuerpo sólido rígido. ______19

Figura 5.2. Movimiento de rotación de un cuerpo sólido rígido. ______19

Figura 5.3. Movimiento combinación de traslación y rotación de un cuerpo sólido rígido. _____ 20

Figura 5.4 Reformulación de aceleraciones como fuerzas equivalentes. ______23

Figura 5.5. Elemento infinitesimal con las tensiones expresadas en forma ingenieril. ______25

Figura 5.6. Interpretación del módulo de Young en un diagrama tensión-deformación. ______28

VII Memoria

Figura 5.7. Esfuerzo de tracción y compresión aplicados a un sólido prismático. ______30

Figura 5.8. Esfuerzos de flexión y torsión provocados por fuerzas externas. ______31

Figura 5.9. Diagrama tensión-deformación con el límite elástico mostrado gráficamente. _____ 31

Figura 6.1. Sistema de referencia del vehículo. ______36

Figura 6.2. Comportamiento ideal de la fuerza de fricción. ______38

Figura 6.3. Deformación elástica del neumático bajo la actuación de una fuerza lateral. ______39

Figura 6.4 Coeficiente de fuerza lateral frente al ángulo de deriva para distintas cargas normales.40

Figura 6.5 Fuerza lateral frente al ángulo de deriva para distintas cargas normales. ______40

Figura 6.6. Círculo de tracción ideal, expresado en forma de aceleraciones. ______41

Figura 6.7. Vista de planta del vehículo. ______45

Figura 6.8. Vista lateral del vehículo. ______45

Figura 6.9 Geometría de la transferencia lateral de carga. ______47

Figura 6.10. Geometría de la transferencia longitudinal de carga. ______51

Figura 6.11. Giro con inclinación lateral. Vista posterior. ______52

Figura 6.12. Efecto de la pendiente. ______55

Figura 6.13. Afectación de la carga aerodinámica de drag en el vehículo. ______59

Figura 6.14. Vista en planta del alerón. Unidades en mm. ______60

Figura 6.15. Afectación de las cargas aerodinámicas del alerón. ______62

Figura 7.1. Raspberry Pi 3 Model B. ______66

VIII Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 7.2. Arduino UNO R3. ______67

Figura 7.3. Estructura de comunicación I2C. ______68

Figura 7.4. Estructura MEMS utilizada en sensores de teléfonos móviles. ______70

Figura 7.5. Unidad inercial MPU-6050, en comparación con una moneda. ______71

Figura 7.6. Módulo GPS con su correspondiente antera receptora. ______72

Figura 7.7. Representación interna de un potenciómetro como dos resistencias en serie. ______72

Figura 7.8. Joystick. ______73

Figura 7.9. Componentes internos de un actuador lineal. ______75

Figura 7.10. Actuador lineal escogido. ______76

Figura 7.11. Controlador de motor escogido. ______77

Figura 7.12. Servo escogido. ______79

Figura 7.13. Esquema simplificado de un convertidor DC-DC Buck. ______80

Figura 7.14. Placa de alimentación de servos a partir de pila. ______80

Figura 9.1. Interfaz gráfica de la aplicación Curve Fitting. ______90

Figura 9.2. Resultado de un ajuste polinómico lineal en ambos ejes. ______91

Figura 9.3. Función resultante con polinomios cuadráticos en ambos ejes. ______93

Figura 10.1. Fragmento del código de Arduino donde se crean las unions. ______96

Figura 10.2. Función receiveDataRPi, encargada de almacenar los datos recibidos de Raspberry Pi.98

IX Memoria

Figura 10.3. Fragmento del bucle principal donde se leen y convierten las posiciones de los actuadores. ______99

Figura 10.4. Datos almacenados en las dos union en el caso de la maqueta. ______101

Figura 10.5. Definición de la función switchA. ______101

Figura 10.6. Asignación de la rutina de interrupción con la llamada a la función switchA. _____ 102

Figura 10.7. Obtención de la velocidad mediante integración. ______103

Figura 10.8. Fragmento de la librería constantes.py con los datos del vehículo de referencia. _ 107

Figura 10.9. Fragmento del script constantes.py. ______108

Figura 10.10. Asignación de la rutina de interrupción. ______110

Figura 10.11. Función readArduino, encargada de almacenar los datos provenientes de Arduino.111

Figura 10.12. Función LiftA que incorpora los coeficientes de las simulaciones CFD. ______112

Figura 10.13. Función eqs, con el formato correcto para el módulo scipy.optimize. ______112

Figura 10.14. Comprobaciones sobre los ángulos de referencia y llamada a la escritura a Arduino.115

Figura 10.15. Funciones específicas de la librería MPU6050 para la obtención de datos. _____ 117

Figura 10.16. Fragmento de la librería MPU6050 donde se ajusta la frecuencia de escritura del IMU. ______118

Figura 10.17. Línea añadida al archivo boot.conf para disminuir la velocidad de transmisión del bus I2C. ______118

X Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Índice de Tablas

Tabla 3.1. Tipos de control. ______7

Tabla 7.1. Comparativa entre los protocolos bus SPI e I2C. ______68

Tabla 8.1. Datos de referencia del vehículo estándar utilizado. ______82

Tabla 8.2. Definiciones de los datos parametrizados del vehículo. ______83

Tabla 8.3. Datos de referencia del sistema aerodinámico. ______84

Tabla 8.4. Definiciones de los datos parametrizados del sistema aerodinámico. ______85

Tabla 9.1. Resultados de las simulaciones computacionales fluidodinámicas. ______88

Tabla 9.2. Coeficientes para los polinomios de ajuste de CL y CD. ______93

Tabla 10.1. Relación entre la posición del joystick y la aceleración calculada según el modo. __ 106

Tabla 10.2. Proceso de selección de la velocidad de transmisión del bus I2C adecuada. ______120

Tabla 1. Presupuesto subtotal de materiales y productos. ______129

Tabla 2. Presupuesto subtotal de servicios. ______130

Tabla 3. Presupuesto subtotal de electricidad. ______130

Tabla 4. Presupuesto subtotal de servicios de ingeniería. ______130

Tabla 5. Presupuesto total del proyecto______130

XI

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Índice

RESUMEN ______I

RESUM ______II

ABSTRACT ______III

AGRADECIMIENTOS ______V

ÍNDICE DE FIGURAS ______VII

ÍNDICE DE TABLAS ______XI

1. PREFACIO ______1 1.1. Origen del trabajo ...... 1 1.2. Motivación ...... 1 1.3. Requisitos previos ...... 1

2. INTRODUCCIÓN ______3 2.1. Objetivos del trabajo ...... 3 2.2. Alcance del trabajo ...... 4

3. AUTOMATIZACIÓN Y CONTROL DE PROCESOS ______5

4. DINÁMICA DEL SISTEMA ______11 4.1. Variables de entrada ...... 11 4.2. Variables de salida ...... 12 4.3. Proceso de control ...... 13

5. PRINCIPIOS FUNDAMENTALES DE LA MECÁNICA ______17 5.1. Sólido rígido ...... 17 5.2. Principio de superposición ...... 20 5.3. Equilibrio mecánico ...... 21 5.4. Teoría de elasticidad ...... 24 5.5. Resistencia de materiales ...... 29

6. DINÁMICA VEHICULAR ______35 6.1. Sistema de referencia del vehículo ...... 35 6.2. Rozamiento. Comportamiento del neumático ...... 37

XIII Memoria

6.2.1. Límites de tracción ...... 41 6.3. Distribución de pesos ...... 43 6.3.1. Localización del centro de gravedad (CG) total ...... 44 6.3.2. Transferencia lateral de carga ...... 46 6.3.3. Transferencia longitudinal de carga ...... 50 6.3.4. Efectos de la inclinación lateral (banking) ...... 52 6.3.5. Efectos de la inclinación longitudinal o pendiente (grade) ...... 55 6.3.6. Cargas aerodinámicas del vehículo ...... 57 6.3.7. Cargas aerodinámicas del alerón ...... 59 6.3.8. Superposición de cargas ...... 63

7. IMPLEMENTACIÓN EN EL MODELO ______65 7.1. Elementos de control...... 65 7.2. Protocolo de comunicación ...... 67 7.3. Sensores ...... 69 7.3.1. Unidad de medición inercial ...... 69 7.3.2. Módulo GPS ...... 71 7.3.3. Potenciómetro ...... 72 7.3.4. Joystick ...... 73 7.4. Actuadores ...... 73 7.4.1. Actuador lineal ...... 74 7.4.2. Controlador de motor ...... 76 7.4.3. Servomotor ...... 78 7.4.4. Otros elementos ...... 79

8. DATOS DE REFERENCIA ______81

9. CARACTERIZACIÓN DE LA INTERACCIÓN AERODINÁMICA ______87 9.1. Proceso de creación del modelo ...... 89

10. PROGRAMACIÓN EN RASPBERRY PI Y ARDUINO ______95 10.1. Arduino ...... 95 10.1.1. Importación de librerías ...... 95 10.1.2. Definiciones e inicialización ...... 96 10.1.3. Funciones auxiliares ...... 97 10.1.4. Primera ejecución ...... 98 10.1.5. Bucle de funcionamiento ...... 99 10.1.6. Diferencias de funcionamiento en la maqueta ...... 100 10.1.7. Simulación de aceleraciones y velocidad ...... 103

XIV Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

10.2. Raspberry Pi ...... 107 10.2.1. Importación de variables y módulos ...... 107 10.2.2. Definiciones e inicialización ...... 109 10.2.3. Funciones principales del sistema de control ...... 110 10.2.4. Bucle de funcionamiento ...... 114 10.2.5. Modificaciones posteriores ...... 118 10.2.6. Diferencias de funcionamiento en la maqueta ...... 120

ANÁLISIS DEL IMPACTO AMBIENTAL ______121

CONCLUSIONES ______125

POSIBLES VÍAS DE FUTURO DESARROLLO ______127

PRESUPUESTO ______129

BIBLIOGRAFÍA ______131 Referencias ...... 131 Bibliografía complementaria ...... 131

ANEXO A. CÓDIGO COMPLETO DE ARDUINO ______137 A1. Implementación real ...... 137 A2. Implementación en la maqueta ...... 139

ANEXO B. CÓDIGO COMPLETO DE RASPBERRY PI ______143 B.1. Partes comunes ...... 143 B.2. Implementación real ...... 144 B.3. Implementación en la maqueta ...... 147

ANEXO C. CÓDIGO DE CALIBRACIÓN DE MPU6050 ______151

ANEXO D. ESQUEMAS ELÉCTRICOS ______155 D.1. Implementación real ...... 155 D.2 Implementación en la maqueta ...... 156

ANEXO E. IMÁGENES DE LA MAQUETA A ESCALA ______157

ANEXO F. DATASHEET DE RASPBERRY PI MODEL 3B ______161

ANEXO G. ESQUEMA ELÉCTRICO DE RASPBERRY PI 3 MODEL B ______169

ANEXO H. DATASHEET DE ARDUINO UNO R3 ______171

XV Memoria

ANEXO I. ESQUEMA ELÉCTRICO DE ARDUINO UNO R3 ______175

ANEXO J. DATASHEET DE GY-521 ______177

ANEXO K. DATASHEET DE GY-GPS6MV2 ______201

ANEXO L. DATASHEET DE KY-023 ______211

ANEXO M. DATASHEET SKF CAHM-3510-BN0100-D2-R0P-000 ______215

ANEXO N. DATASHEET DE CYTRON MD30C R2 ______221

ANEXO O. DATASHEET DE TOWERPRO MICRO SG90 ______229

ANEXO P. DATASHEET DE MB102 ______231

XVI Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

1. Prefacio

1.1. Origen del trabajo

La idea original de este proyecto surgió del treball de recerca realizado por Eric López Brugarolas, el cual trataba los aspectos esenciales de este trabajo de una manera superficial acorde a los conocimientos en ese nivel educativo.

Además, el hecho de que los tres autores de este proyecto hayamos realizado la totalidad del grado de manera conjunta, colaborando previamente en distintas faenas tales como prácticas u otros trabajos, ha sido un factor decisivo para la conformación del presente proyecto multidisciplinar.

1.2. Motivación

Como pilar fundamental, la pasión por la automoción se ha encontrado presente en la vida de los tres autores del proyecto, factor que ha condicionado en gran medida la elección del tema de este.

De manera paralela, los fundamentos teóricos vistos en asignaturas relacionadas con la dinámica de fluidos han despertado nuestro interés por esta rama de la física; asignaturas tales como ingeniería de fluidos y sobre todo simulación computacional en dinámica de fluidos y transferencia de calor.

Todo ello, sumado a la oportuna adquisición por parte del departamento de fluidos de la facultad de un túnel de viento, ha favorecido la elección de esta propuesta como trabajo final de grado.

Por último, el reto personal que supone embarcarse en un proyecto de estas magnitudes ha sido el componente decisivo: iniciar un diseño desde cero, además de incorporar fundamentos de múltiples y variados campos de la ingeniería.

1.3. Requisitos previos

Complementando el carácter multidisciplinar ya comentado, han sido necesarios una serie de conocimientos previos tales como:

• Fuerte bagaje previo en dinámica de fluidos. • Dominio del diseño asistido por ordenador (CAD), principalmente los softwares SolidWorks y AutoCAD.

1 Memoria

• Formación en el uso de simulación computacional fluidodinámica, en softwares tales como ANSYS Fluent o COMSOL Multiphysics. • Conocimientos en impresión 3D e ingeniería de procesos. • Nociones avanzadas en cinemática y dinámica de máquinas y mecanismos, así como en las relaciones de transmisión de movimiento. • Conocimientos fundamentales de mecánica como elasticidad y resistencia de materiales, así como mecánica vectorial. • Amplios conocimientos de las características de los materiales y su meticuloso proceso de selección. • Base teórica de elementos finitos, además de experiencia previa en el uso de softwares destinados al análisis estructural como ANSYS Mechanical. • Principios fundamentales de control y regulación de sistemas automáticos. • Nociones de electricidad y electrónica y su aplicación en prototipos reales. • Fundamentos en programación en lenguaje MATLAB, Python y C/C++ para la edición de códigos en las plataformas comerciales Arduino y Raspberry Pi.

2 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

2. Introducción

En el presente proyecto se desarrolla el estudio de un sistema aerodinámico activo implementado en automóviles. A su vez, este está subdividido en tres proyectos interrelacionados presentados por separado:

• Estudio de un sistema aerodinámico activo en automóviles: elementos aerodinámicos. Autor: Eric López Brugarolas. • Estudio de un sistema aerodinámico activo en automóviles: elementos mecánicos. Autor: Iván Rivet Fernández. • Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema. Autor: Antonio Rodríguez Noriega.

A lo largo del proyecto se harán referencias cruzadas entre todos ellos debido al carácter no lineal de desarrollo del mismo.

2.1. Objetivos del trabajo

El proyecto general presenta una serie de objetivos marcados inicialmente, los cuales se enumeran a continuación. Cabe destacar que estos se tratan en sus respectivos proyectos específicos:

• Obtener un perfil aerodinámico de altas prestaciones en cuanto a la relación entre fuerzas de sustentación y arrastre generadas, el cual ofrezca un comportamiento adecuado en el rango de actuación previsto. • Caracterizar a nivel aerodinámico dicho alerón en función de las variables más influyentes, utilizando para ello la simulación computación fluidodinámica. • Corroborar estos datos con experimentación llevada a cabo con un modelo a escala en un túnel de viento mediante análisis dimensional, así como identificar las posibles causas entre las diferencias en los resultados obtenidos. • Diseñar desde cero un sistema mecánico cumpliendo la funcionalidad y viabilidad preestablecidas, incorporando la selección de materiales, elementos actuadores y el modelado CAD 3D. • Corroborar la validez de este diseño realizando un análisis estructural mediante el análisis computacional por el método de elementos finitos. • Modelizar el comportamiento dinámico de un automóvil de referencia

3 Memoria

• Incorporar dicho modelo a un sistema de control automatizado encargado de seleccionar la posición óptima de los elementos móviles en función de las variables, perturbaciones y condiciones del sistema. • Implementar el sistema de control en un equipo electrónico real, formado por un conjunto de sensores, unidades lógicas y actuadores repartidos por la unidad vehicular. • Realizar un modelo a escala impreso en 3D como convergencia de todos los objetivos anteriores. •

2.2. Alcance del trabajo

El alcance de este proyecto es completar la fase de diseño del sistema aerodinámico activo, dejando a este lo más cerca posible de la fase de producción. Esto se mostrará a partir de la realización de una maqueta a escala impresa en 3D que incluirá todos los aspectos tratados en las diferentes partes de este proyecto.

4 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

3. Automatización y control de procesos

Como se ha mencionado anteriormente, el presente proyecto resulta en la culminación de un trabajo subdividido en 3 partes. La finalidad de este es, mediante la información obtenida en la parte aerodinámica y el sistema desarrollado en la parte mecánica, converger ambos trabajos y aplicarlos en un sistema real para conseguir las prestaciones deseadas.

Cuando se implementa un conjunto de componentes que pueden regular su propia conducta o la de otro sistema de manera automática con la finalidad de lograr un funcionamiento predeterminado, se habla de un sistema de control.

Los objetivos globales de los sistemas de control son cumplir las especificaciones propias de trabajo de los equipos y máquinas, asegurar la calidad y cantidad de los productos finales, cumplir las condiciones de operación haciendo uso de las fuentes de energía disponibles de la forma más eficiente y económica posible, etc.

Un sistema es una combinación de componentes y enlaces que actúan conjuntamente para llevar a cabo una determinada función llamada proceso.

Figura 3.1. Diagrama de un sistema.

El conjunto de señales que interactúan con el sistema se denominan variables. Existen diferentes tipos: • Variables de entrada Aquellas que tienen un determinado efecto sobre el sistema. Se pueden clasificar en: - Ajustables: son manipulables por un operador humano o por un mecanismo de control. - Perturbaciones: no son manipulables. • Variables de salida Aquellas que hacen que el sistema tenga un determinado efecto en los alrededores. Existen dos tipos: - Medibles: se pueden conocer por medida directa.

5 Memoria

- No medibles: no pueden medirse directamente.

Figura 3.2 Clasificación de las variables de un sistema.

Para poder obtener información de las variables de salida medibles del sistema es necesario el uso de sensores. Un sensor es, de forma genérica, un dispositivo que convierte una magnitud física en una típicamente eléctrica o mecánica. Existen sensores de posición (angular o lineal), nivel, velocidad, aceleración, temperatura, presión… Pueden ser mecánicos o estar basados en dispositivos electrónicos de semiconductores en los que alguna característica eléctrica varía con una magnitud física.

El componente que tendría la función opuesta a un sensor sería el actuador, un dispositivo cuya finalidad es transformar una magnitud eléctrica en trabajo mecánico para provocar un efecto sobre el sistema. Pueden ser lineales, hidráulicos, neumáticos…

El elemento de control que relaciona las diferentes partes del sistema se denomina controlador. Este componente calcula para cada instante de tiempo el valor necesario de la variable ajustable de entrada para poder obtener la salida deseada, se vea esta afectada o no por las perturbaciones. Esta acción se denomina control. Si el control es llevado a cabo por una persona se define como control manual, mientras que si lo hace un sistema o mecanismo artificial se denomina control automático. Ejemplos de controladores serían PLC’s (Programmable Logic Controller), microprocesadores, microcontroladores…

Se puede clasificar un control de procesos según las señales de entrada que recibe el sistema. Una señal puede tomar un cierto valor o amplitud (푚) en un determinado instante de tiempo (푡), por lo que se caracteriza por una función del tipo 푚(푡). Por lo tanto, se puede clasificar un control en función del dominio de la amplitud y el tiempo de la señal como:

6 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

∈ ℝ ∈ ℤ

풕 Continuo Discreto

풎 Analógico Digital Tabla 3.1. Tipos de control.

Normalmente un control continuo es analógico, y uno discreto es digital (habitualmente binario). Un control analógico presenta grandes ventajas frente a uno digital, ya que se puede modificar la variable de entrada gradualmente en un rango de valores continuo (no simplemente oscilar entre on y off) y así conseguir mantener la variable de salida dentro de unos márgenes razonables.

Un sistema puede funcionar en lazo abierto o en lazo cerrado. Los sistemas que trabajan en lazo abierto no tienen regulación y actúan siempre de la forma predefinida, independientemente de si suceden perturbaciones que provoquen que no se obtenga el valor deseado en la salida. Los sistemas en lazo cerrado (también llamados sistemas con realimentación) sí que se regulan y por lo tanto conocen el valor obtenido en la salida, pudiendo actuar en consecuencia a las posibles alteraciones de este. De esta forma se consigue eliminar la influencia de las perturbaciones externas, asegurando así la estabilidad de los procesos.

Figura 3.3. Sistema elemental en lazo abierto.

Figura 3.4. Sistema elemental en lazo cerrado. Realimentación negativa.

Para poder observar cómo respondería un sistema a un control propuesto es muy práctico utilizar un modelo. Se define pues un modelo como la formulación matemática de un sistema mediante ecuaciones para poder observar así su comportamiento estático y dinámico frente a unas determinadas acciones. La resolución de estas ecuaciones sería la simulación.

7 Memoria

La elaboración de un modelo matemático requiere: • Variables de estado: conjunto de magnitudes fundamentales (masa, momento, energía…) caracterizadas por la velocidad, temperatura, presión… que definen el estado del sistema. • Ecuaciones de estado: conjunto de ecuaciones que describen la evolución del sistema en el tiempo.

Un modelo permite describir un sistema para poder simular diferentes señales de entrada y así estudiar las salidas que se obtendrían, consiguiendo así los objetivos de control deseados. No obstante, es evidente que, pese a que presenta una gran similitud, no se corresponde al 100% con la realidad ya que ha sido obtenido mediante la aplicación de los conocimientos de ciencias básicas tales como matemáticas, física, química, biología…

La información obtenida se debe transmitir de forma eficiente a través del sistema. Se denomina comunicación al proceso de transmisión de un emisor a un receptor, y sistema de comunicaciones a la estructura integrada por dispositivos de hardware (circuitos, antenas, ordenadores) y algoritmos de software (protocolos de red, algoritmos de procesamiento de señal…) diseñada para conseguir una correcta transmisión de la información. Actualmente los buses de campo son la solución más utilizada para las comunicaciones y el control industrial ya que permiten modularidad y simplicidad estructural, manteniendo la seguridad de las instalaciones.

En definitiva, aplicar la teoría de control en un sistema se resume en que un controlador modifique el comportamiento de este mediante un actuador para así provocar una determinada señal de salida, la cual será captada por un sensor y reenviada al controlador. Así, el controlador puede regular su comportamiento en función del valor obtenido para asegurar que el sistema se dirige hacia el valor de salida deseado.

Figura 3.5. Modelo de sistema industrial con realimentación negativa.

Todo proceso puede ser descrito como una relación entre señales de entrada y salida. Por ejemplo, la temperatura en un intercambiador de calor cuando se abre la válvula manualmente. La señal de entrada es un cambio repentino en el flujo de vapor, lo cual modifica la temperatura media del intercambiador haciendo que esta crezca rápidamente al inicio, y gradualmente una vez se vaya aproximando al valor final constante. En este ejemplo, se puede caracterizar el tiempo de retraso como

8 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

el tiempo que pasa desde que sucede un cambio en las variables de entrada hasta que este es observable en las de salida; y la capacidad del sistema como cantidad de energía que necesita el proceso para que alcance el valor final estable.

Figura 3.6. Variación de la temperatura del agua con el tiempo en el intercambiador de calor.

9

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

4. Dinámica del sistema

Explicadas ya las bases de la automatización de procesos y control automático se pasará ahora a relacionar dicha teoría con el proceso de control del sistema de aerodinámica activa estudiado. A modo de introducción, el objetivo del sistema tratado es el de optimizar la aportación aerodinámica del alerón en cada instante, valiéndose para ello de distintas magnitudes del vehículo tales como aceleraciones y velocidades. Para captar dichas magnitudes el sistema cuenta con un conjunto de sensores, principalmente ubicados todos dentro del propio sistema; las señales obtenidas por estos sensores van a una unidad lógica que las combina y modifica con tal de obtener unas señales de salida que, a modo de orden, serán ejecutadas por los actuadores, que modificarán de manera independiente el ángulo de cada uno de los perfiles aerodinámicos. A continuación se pasará a analizar dicho sistema de manera exhaustiva con tal de identificar todos sus componentes y la función que llevan a cabo en el lazo de control.

4.1. Variables de entrada

Como bien se ha explicado anteriormente un sistema necesita captar información del exterior con tal de conocer la situación en la que se encuentra este y si es necesaria su actuación para alterar esta situación. En el caso del sistema de aerodinámica activa la información más relevante de cara al modo de actuación es la carga normal que soporta cada una de las ruedas del vehículo, con tal de maximizar el agarre en maniobras complejas. Esta información no se obtiene de manera directa, sino que se deduce a partir de la situación dinámica en la que se encuentra el vehículo: las aceleraciones, tanto longitudinales como transversales, son una de las causas principales de la variación de carga normal por rueda, por lo que formarán parte del conjunto de variables de entrada. Por otro lado también afectan de manera significativa las condiciones del terreno, sobre todo la inclinación. Esta se descompondrá en los dos ejes paralelos a la horizontal teórica (transversal y longitudinal) y también será una variable de entrada.

Conocido el estado dinámico del vehículo falta por obtener información de la afectación de la aerodinámica del vehículo a la carga normal por rueda. Dicha afectación depende principalmente de la relación entre los esfuerzos inerciales y los viscosos que ejerce el fluido sobre las superficies del vehículo, por lo que se ve caracterizada por el parámetro adimensional de Reynolds; de las diferentes variables que intervienen la que sufre mayor variación y, por lo tanto, es medida directa de la afectación aerodinámica es la velocidad relativa respecto el fluido. Esta variable como tal presenta

11 Memoria

ciertas dificultades para ser medida en el entorno de un vehículo comercial, por lo que se utilizará como variable de entrada la velocidad absoluta del propio coche.

Conocida la velocidad solo queda por tener en cuenta las posibles variaciones geométricas de las superficies externas del vehículo. En un sistema pasivo estas son nulas, pero en el sistema aerodinámico activo estudiado existen componentes de geometría variable (ángulo de los perfiles aerodinámicos laterales) que conforman la base de trabajo. Conocer, por tanto, la situación de ambos elementos aerodinámicos es una pieza clave en el control del sistema, por lo que los ángulos de ataque serán también variables de entrada.

Las variables de entrada del lazo de control del sistema aerodinámica son, a modo de resumen: • Aceleración longitudinal • Aceleración transversal • Inclinación en el eje longitudinal • Inclinación en el eje transversal • Velocidad • Ángulo de ataque del elemento activo (x2)

De estas siete variables de entrada el sistema de control solo puede modificar las dos últimas (ángulos de ataque), siendo todas las otras perturbaciones sobre las que no se puede ejercer ningún tipo de influencia. Con la combinación de toda esta información, junto con diferentes constantes y parámetros fijos, el sistema de control es capaz de llegar a obtener las señales de salida idóneas para la situación del vehículo.

4.2. Variables de salida

El sistema aerodinámico solo puede actuar variando la geometría (ángulo de ataque) de los dos perfiles aerodinámicos extremos. Por lo tanto, todas las variables de entrada deben de ser combinadas y alteradas de manera que se llegue a dos variables de salida, los ángulos de dichos elementos laterales. Estos ángulos serán luego adoptados por los actuadores encargados de mover la geometría.

Las variables de salida del sistema son: • Ángulos de ataque del elemento activo (x2)

No se deben confundir los ángulos de ataque que forman parte de las variables de salida con los ángulos de ataque que forman parte de las variables de entrada. Ambos corresponden al mismo

12 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

elemento físico tangible, pero en cuestión de control llevan a cabo funciones distintas: los ángulos de ataque de entrada dan cuenta de la situación actual real del sistema, mientras que los ángulos de ataque de salida son valores ideales a los que se intentará llevar el sistema.

Ambas variables de salida son medibles, como se puede ver, por lo que en todo momento se tendrá consciencia de la afectación que el sistema tiene sobre todo su entorno.

4.3. Proceso de control

Se ha explicado el origen del que parte el sistema de control y el final al que este llega, por lo que ahora se pasará a resumir los diferentes pasos que se llevan a cabo para realizar el proceso de un punto a otro. Los detalles sobre este proceso y cálculo se incluirán en los distintos apartados siguientes.

Figura 4.1. Esquema general de las variables del proceso de control.

El primer paso una vez obtenidas las variables de entrada es conocer la situación actual del vehículo en cuanto a dinámica se refiere: para saber la carga normal por rueda idónea primero se debe conocer la carga actual. Para ello se combinan las dos aceleraciones y las dos inclinaciones y, mediante la aplicación de las correspondientes ecuaciones de estado (que representan la física del vehículo), se consiguen las cargas normales en cada una de las ruedas debido a la dinámica vehicular.

13 Memoria

Figura 4.2. Subproceso de control de dinámica vehicular.

Estos resultados deben ser corregidos con todos los demás factores que intervienen en la transferencia de carga en un vehículo, tales como la aerodinámica. Por lo tanto, el siguiente paso en el proceso de control es obtener a partir de la velocidad y los dos ángulos de ataque de los elementos móviles la afectación que la aerodinámica conlleva en la dinámica. El resultado de este paso es una superposición entre la dinámica y la aerodinámica que lleva a conocer el estado actual de cada uno de los cuatro neumáticos, es decir, su carga normal respecto la superficie de contacto.

Figura 4.3. Subproceso de control de aerodinámica.

En este punto se tiene toda la información necesaria sobre lo que está ocurriendo en el vehículo. Se debe, por tanto, tomar una decisión en base a esta información. Para ello se ha de comparar los valores reales con los supuestamente idóneos y fundamentar la decisión de actuación en ello. En el caso estudiado se ha decidido que el objetivo de control a perseguir sea el obtener unas cargas normales por rueda lo más similares posibles a las cargas que se dan en estático y en una superficie totalmente horizontal: es una situación que el fabricante de cada vehículo condiciona con el posicionamiento de los distintos componentes y con decisiones tales como batalla o vía.

Se compara, por tanto, la carga real con la ideal, y con las diferencias entre esos valores se calcula cuáles serían los dos ángulos de ataque que transmitirían unas cargas aerodinámicas a las ruedas tales que llegarían a reducir al máximo la diferencia con la situación ideal. Esta comparación se realiza descompuesta en dos más simples: dado que el sistema aerodinámico modifica principalmente las cargas en el eje trasero, primero se evalúa la diferencia de carga en todo el eje trasero (comparado con la situación estática), y después se pasa a evaluar la diferencia de carga entre las dos ruedas del eje trasero. De esta manera, se obtienen dos ángulos de ataque (variables de salida) que serán enviados directamente a los actuadores pertinentes, componiendo así un sistema feedforward.

14 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 4.4. Subproceso de control principal (feedforward).

Todo este proceso principal entre las variables de entrada y salida se finaliza con un pequeño subsistema de control feedback que recoge las variables de salida del sistema y toma sus propias decisiones, devolviendo otra vez al sistema principal sus variables de salida. Esto sucede en el subsistema de control de los actuadores, el cual recibe como variable de entrada la posición real del actuador y, después de comparar dicho valor con la posición objetivo (variable de salida del sistema principal) y multiplicar la diferencia por una constante kp, toma acción para mover el actuador en una dirección u otra.

Figura 4.5. Subproceso de control del actuador (feedback).

15

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

5. Principios fundamentales de la mecánica

5.1. Sólido rígido

El sistema aerodinámico estudiado, analizado de manera aislado, solo interactúa con el vehículo al cual está adherido mediante los soportes. Por lo tanto, todas las fuerzas generadas en este sistema se transmiten al grueso del vehículo a través de los tres únicos puntos de contacto. Para poder analizar la afectación de estas fuerzas puntuales en el conjunto del sistema conformado por el vehículo se deben, primero, entender los principios mecánicos aplicados al análisis del mencionado sistema, así como las consecuentes simplificaciones e hipótesis formuladas.

El vehículo sobre el que se instala el elemento de aerodinámica activa, como sistema, recibe estímulos del exterior en forma de fuerzas y momentos. Todas estas perturbaciones, de carácter variable en magnitud y dirección, así como en el tiempo, provocan alteraciones del estado de equilibrio de este sistema.

Antes de entrar de manera detallada a estudiar qué implica el equilibrio de un sistema es necesario dejar claro que todo estudio mecánico de aquí en adelante se basará en la hipótesis del sólido rígido. Esta asunción tiene como base un objeto o conjunto de objetos de carácter sólido, los cuales se comportan de manera totalmente indeformable ante la aplicación de fuerzas externas. Por lo tanto, el módulo del vector que une dos puntos fijos cualesquiera de este sólido será constante independientemente de las afectaciones exteriores que este sufra. Todo cuerpo o conjunto de cuerpos sólidos reales presenta una cierta deformación ante las acciones externas tales como fuerzas, pero en la gran mayoría de las situaciones a las que se ven sometidas en condiciones usuales estas deformaciones son tan minúsculas que son despreciables. Es por ello que el análisis de un sistema sólido como indeformable presenta una altísima similitud al mismo análisis teniendo en cuenta esas minúsculas deformaciones, siendo el primero de una complejidad matemática muy inferior al segundo. Por todo ello, de ahora en adelante se asumirán los sistemas como sólidos rígidos de cara a los análisis mecánicos.

Todo sólido rígido tiene ciertas características intrínsecas importantes a la hora de entender su comportamiento, las cuales se explicarán a continuación.

La primera de estas características principales es la existencia de un punto teórico llamado centro de gravedad, o centro de masas. Este punto, ubicado en algún lugar del espacio no obligatoriamente dentro del propio cuerpo sólido, cumple la siguiente condición matemática:

17 Memoria

푀 푔(푟퐶퐺) = ∫ 푔(푟) 𝜌(푟) 푑푉 퐾

(Ec. 5.1)

Teóricamente, si el conjunto de fuerzas externas aplicadas a un sólido se concentrase en ese punto llamado centro de gravedad como una sola fuerza neta (y ese punto tuviese una masa igual a la masa total del sistema), la respuesta dinámica del conjunto sería idéntica. Este concepto es importante porque en los análisis mecánicos de sistemas complejos como un vehículo, las acciones externas tales como fuerzas y aceleraciones generadas se aplican de manera continua a toda la masa de este, lo que dificulta en gran medida el cálculo. Con tal de simplificar la carga matemática sin afectar por ello al resultado, muchas de estas fuerzas y aceleraciones externas se aplicarán de manera puntual en el centro de masa del subsistema adecuado, manteniendo así las propiedades de respuesta mecánica y facilitando el tratamiento del problema. de gravedad de un cuerpo pero en cuestión de rotación existe un concepto llamado módulo de inercia, que cuantifica la distribución de dicha masa respecto un supuesto eje de giro: a mayor módulo de inercia mayor resistencia opondrá un cuerpo a rotar sobre dicho eje. La inercia de un cuerpo aumenta proporcionalmente al producto de la masa de este y su distancia absoluta respecto el eje escogido, por lo que dos cuerpos de misma masa pero con distinta distribución de esta respecto un eje obtendrán diferentes módulos de inercia, siendo mayor el que disponga su masa más alejada del eje de referencia.

퐼 = ∫𝜌 푟2 푑푉 푉

(Ec. 5.2)

El cálculo de este módulo de inercia resulta relevante a la hora de evaluar la rigidez de algunas estructuras frente a cargas externas, por lo que será útil en los cálculos de resistencia de materiales aplicados a la estructura del propio sistema aerodinámico.

Otro concepto aplicable a todos los cuerpos sólidos indispensable a la hora de comprender los análisis que se realizarán de aquí en adelante es la cantidad de grados de libertad de que dispone un cuerpo sólido.

Un cuerpo sólido teórico que se encuentra en un espacio determinado posee, por sus propias características físicas indeformables, dos tipos de movimiento básico a lo largo de cada dimensión: traslación y rotación.

18 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

El movimiento de traslación se da cuando un sólido rígido se desplaza y el vector que une dos puntos fijos cualesquiera de este sólido rígido mantiene su dirección y sentido constante. Esta condición implica que todos los puntos del sólido tienen la misma velocidad, tanto en módulo como en dirección y sentido.

Figura 5.1. Movimiento de traslación de un cuerpo sólido rígido.

El movimiento de rotación, por su parte, se da cuando un sólido rígido está en movimiento y todos los puntos de este forman trayectorias circulares concéntricas a un vector llamado eje de rotación, siempre perpendicular al plano formado por tales trayectorias. Este eje de rotación no tiene por qué cruzar el propio cuerpo. Se podría considerar, por lo tanto, la traslación como una rotación el eje de rotación de la cual se encuentra en el infinito.

Figura 5.2. Movimiento de rotación de un cuerpo sólido rígido.

Estos dos movimientos a lo largo de cada dimensión componen todos los grados de libertado de los que dispone un sólido libre, pudiendo por lo tanto un cuerpo tridimensional realizar tres tipos de traslación y tres tipos de rotación, y contando este sólido con 6 grados de libertad consecuentemente.

19 Memoria

Como es evidente, la traslación y la rotación no son exclusivas, pudiéndose componer un movimiento en una combinación de ambas a lo largo de los diferentes ejes del sistema en que se encuentre este.

Figura 5.3. Movimiento combinación de traslación y rotación de un cuerpo sólido rígido.

5.2. Principio de superposición

Un movimiento combinado como el anterior, con parte de traslación y rotación en diferentes ejes, resulta arduo de analizar en cuanto a velocidades y aceleraciones se refiere. Para simplificar este proceso de análisis se utiliza el llamado principio de superposición. Este expone, de manera general, que todo comportamiento complejo, siendo las ecuaciones que lo rigen de carácter lineal, se puede dividir en subsecuentes comportamientos simples la superposición o suma de los cuales es equivalente al movimiento original. Por lo tanto, toda magnitud las ecuaciones gobernantes de la cual cumplan las propiedades matemáticas de la linealidad (aditividad -(Ec. 5.3) - y proporcionalidad -(Ec. 5.4)) estará sujeta a ser analizada en base al principio de superposición.

푓(푥 + 푦) = 푓(푥) + 푓(푦)

(Ec. 5.3)

푓(푘 푥) = 푘 푓(푥)

(Ec. 5.4)

Este principio, aunque simple, facilita de manera inmensa los cálculos matemáticos, no solo en cuestión de sumas vectoriales de velocidades y aceleraciones como se aplica en este momento, sino en muchos otros ámbitos como el análisis tensional de un sólido o las cargas aplicadas a un sistema mecánico, como se verá más adelante en este mismo estudio.

20 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

A modo de ejemplo aplicado ahora a un sólido rígido, una traslación en una dirección determinada en el plano XY a cierta velocidad constante se puede descomponer en dos traslaciones simples, cada una en una dirección –X e Y-, la suma vectorial de las velocidades de estas traslaciones dará la velocidad original.

5.3. Equilibrio mecánico

Una vez aclarados los conceptos básicos sobre la mecánica del sólido rígido aplicables a todo el estudio, se pasará ahora a explicar las situaciones de equilibrio del sistema mecánico, que servirá de base para el posterior tratamiento analítico de la situación del sistema mecánico estudiado.

Un sistema físico se considera en equilibrio cuando el estado en que se encuentra es inherentemente estable y, por lo tanto, de no haber una variación externa sobre este, se mantendrá de manera indefinida; una situación de equilibrio es, por ende, una condición extensa a lo largo del tiempo. No obstante, un sistema en equilibrio no es exclusivo de un sistema que no recibe perturbaciones exteriores: es todo aquel sistema en que las afectaciones externas quedan compensadas entre sí, es decir, en que la perturbación neta es nula, siendo esta perturbación neta la suma de todas las perturbaciones individuales.

En el caso particular de un sistema mecánico, el llamado equilibrio mecánico queda plasmado en la primera ley de Newton o ley de inercia, que expone que todo cuerpo persevera en su estado de reposo o movimiento uniforme y rectilíneo a no ser que sea obligado a cambiar su estado por fuerzas impresas sobre él. Por ello, para obtener un equilibrio mecánico se debe asegurar una perturbación externa nula en todos los grados de libertad de los que el sistema disponga, siendo estos la traslación y la rotación en cada uno de los ejes del espacio donde esté ubicado. Esta definición lleva a la siguiente condición para cada eje:

푖=푛

∑ 퐹⃗⃗ 푖 = 0 푖=0

(Ec. 5.5)

푖=푛

∑ 푀⃗⃗⃗⃗ 푖 = 0 푖=0

(Ec. 5.6)

21 Memoria

En conclusión, para asegurar un equilibrio mecánico en el sistema que engloba al vehículo completo se debe cumplir que el sumatorio de las fuerzas y momentos externos en cada eje debe ser nulo. Esta será la piedra angular sobre la que se basarán los posteriores análisis mecánicos del vehículo, y la base de su comportamiento. Es por ello que, a razón de viabilizar los cálculos matemáticos de aquí en adelante, todos los análisis mecánicos realizados se llevarán a cabo asumiendo una situación de equilibrio, obviando por tanto los efectos dinámicos de las transiciones entre estas situaciones.

Un vehículo, para cumplir su cometido, pasa por diferentes estados, algunos de ellos en equilibrio y otros no. Si se impone la condición de equilibrio al sistema analizado en el presente proyecto se estaría limitando su aplicación a estas situaciones en que o bien el vehículo se encuentra en reposo o bien en movimiento rectilíneo uniforme, situaciones en que la afectación de la aerodinámica es inexistente o no tiene cabida un sistema activo. Es en este momento, donde se necesitan incorporar a este análisis los estados de variabilidad de movimiento, cuando cobra vital importancia la segunda ley de Newton, que expone que el cambio de movimiento es directamente proporcional a la fuerza motriz impresa y ocurre según una línea recta a lo largo de la cual aquella fuerza se imprime. La interpretación matemática de este principio es la siguiente:

푖=푛

∑ 퐹⃗⃗ 푖 = 푚 푎 푖=0

(Ec. 5.7)

Siguiendo la explicación anterior, esta formulación matemática permite ahora incorporar al análisis del sistema mecánico conformado por el vehículo las aceleraciones propias generadas entre estados de equilibrio, ampliando de manera considerable el rango de situaciones en las que se puede conocer las afectaciones externas y sus consecuencias en el sistema mecánico.

Como se ha comentado anteriormente, todos los análisis del sistema se realizarán partiendo de la hipótesis de equilibrio, ya que esta condición hace posible su resolución matemática de manera relativamente sencilla. No obstante, también se ha comentado que las situaciones dinámicas en que un sistema de aerodinámica activa cobra relevancia no parten de este equilibrio. Esta contradicción aparente se solventará reformulando las situaciones de no equilibro, incorporando los efectos de las aceleraciones externas en forma de fuerzas equivalentes según la segunda ley de Newton. Esto quiere decir que se añadirán fuerzas al esquema, las cuales no están presentes en la realidad, pero los efectos de las cuales serán iguales a los efectos de las aceleraciones. Este punto de vista en el cual se trata la dinámica sobre los principios de la estática se llama Principio de D’Alembert.

22 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Esta aproximación no es un concepto novedoso, ya que de manera instintiva se realiza para poder concebir situaciones cotidianas en que suceden estos tipos de situación. Por plantear una analogía, estas fuerzas equivalentes que se incorporarán al sistema matemático en este proyecto son las mismas fuerzas que habitualmente se llaman “fuerzas de inercia”, las consecuencias de las cuales se experimentan al ir de pasajero en un vehículo que circula por una curva a alta velocidad: se percibe una fuerza hacia el exterior de la curva, aunque dicha fuerza es inexistente y la percepción radica en el cambio de estado provocado por la aceleración en sentido contrario del vehículo. Mediante esta simplificación de la realidad se puede llevar al campo matemático del equilibrio toda situación que experimente una aceleración constante y, por lo tanto, analizarse como tal un amplio rango de situaciones distintas.

Figura 5.4 Reformulación de aceleraciones como fuerzas equivalentes.

Como se puede ver en la anterior imagen, esta estrategia implica reformular las aceleraciones sufridas por el sistema como fuerzas de valor 푚 푎, aplicadas en el centro de gravedad de dicha masa, con una dirección idéntica a la de la aceleración sufrida y de sentido contrario. Así, el análisis matemático es congruente con las consecuencias físicas del sistema.

A modo de conclusión, todos los análisis mecánicos que se aplicarán de aquí en adelante en el presente estudio se llevarán a cabo bajo la asunción de que las aceleraciones registradas por el sistema en cada instante son constantes. Ello implica que se dejarán fuera de toda valoración los efectos dinámicos de transición entre estos estados, ya que ello llevaría el análisis matemático a una complejidad muy superior a la del alcance de este proyecto. A modo de analogía, se estudiarán las situaciones físicas “fotograma a fotograma”, sin tener en cuenta el orden de estos ni el cambio entre ellos.

23 Memoria

5.4. Teoría de elasticidad

Hasta este punto, la mecánica que se ha explicado ha sido enfocada desde un punto de vista generalista, siendo el sujeto de esta un cuerpo o conjunto de cuerpos mecánicos de grandes dimensiones. Como se ha comentado, este tipo de análisis mecánico se sustenta en la hipótesis del sólido rígido, el cual no sufre deformaciones. Esta hipótesis es totalmente válida para este tipo de macroanálisis, ya que las deformaciones reales son minúsculas en comparación a las magnitudes del sistema analizado. Sin embargo, hay momentos en que interesa conocer el estado tensional interno de un elemento mecánico para saber si esas deformaciones que sufre son reversibles o no o, llegado a un extremo, para saber si hay fallo y riesgo de accidente. En este punto se debe abandonar el enfoque generalista y adoptar la visión totalmente opuesta, el estudio de elementos infinitesimales. Estas divisiones son teóricas, claro está, no existiendo como tales en el sistema mecánico real, pero se consideran para poder aplicar condiciones matemáticas que de otra manera resultaría imposible. A continuación se explicarán los diferentes conceptos básicos de esta teoría del sólido elástico, en contraposición al sólido rígido visto hasta ahora, que serán de gran utilidad en posteriores ocasiones, por ejemplo en la selección de materiales o designación del ángulo máximo del sistema de aerodinámica activa.

El concepto de elasticidad radica en la capacidad de un cuerpo sólido de almacenar cierta energía en forma de energía potencial elástica: esta energía extra en un cuerpo se manifiesta en forma de tensión interna y, consecuentemente, deformación. Para considerar un cuerpo elástico este debe ser capaz de devolver esa energía al exterior y, por lo tanto, volver a su estado inicial, de manera reversible. Aún y así, todo cuerpo elástico tiene un límite a partir del cual no es capaz de almacenar más energía sin llegar a deformarse de manera permanente o plástica; este tipo de deformaciones queda fuera de la teoría de elasticidad.

Todas las propiedades matemáticas aplicables en la teoría de elasticidad son aptas siempre y cuando se cumplan ciertas condiciones que garantizan que los principios físicos subyacentes son válidos: primeramente, se considera homogeneidad material en toda la estructura de sólido; a parte de esta homogeneidad, al material se le presuponen características isotrópicas, para poder aplicar así a todos los puntos de la estructura los mismos principios; por un lado, los cuerpos deben comportarse como sólidos elásticos lineales, en los que la relación entre la tensión y la deformación resultante es lineal; de manera adicional, las deformaciones deben de ser pequeñas, para que los consecuentes desplazamientos sean pequeños y no alteren de manera aparente la geometría de estos (y por ende las consecuencias de las cargas sobre esta). De estas condiciones son especialmente importantes las de linealidad, ya que permitirán aplicar el ya mencionado principio de superposición, simplificando así mucho la carga matemática asociada al análisis. En este caso, la superposición se hará con cada una de

24 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

las cargas externas, pudiendo ser analizado el estado tensional de un punto cualquiera como la suma de los estados tensionales individuales que produciría cada una de las cargas por separado.

Los elementos analizados en esta teoría son elementos infinitesimales, los cuales se representan como cubos con una longitud de arista diferencial y en un estado de equilibrio. Sobre las distintas caras de estos elementos diferenciales se calculan las diferentes magnitudes relevantes: tensión y deformación.

Partiendo de un cuerpo sólido sobre el que actúan diferentes fuerzas externas, la suma neta de las cuales es nula (definición de cuerpo en equilibrio), se escoge al azar un punto interno del que se extrae un elemento infinitesimal, y por aplicación de la primera ley de Newton el resultado de las fuerzas externas sobre este elemento debe ser nulo. Esas fuerzas provienen de la reacción con los elementos infinitesimales colindantes que, todos juntos, conforman el cuerpo sólido. Partiendo también de un sistema de coordenadas ortonormal, se pueden llegar a designar hasta 6 fuerzas, cada una aplicada en una de las superficies externas del elemento. El concepto de tensión, uno de los más importantes para comprender la teoría de la elasticidad, se define como la fuerza que actúa sobre una superficie dividida por el valor de dicha superficie. Dado que la fuerza que genera una tensión no tiene por qué ser perpendicular a la superficie sobre la que actúa, las tensiones derivadas se dividen en dos tipos: tensión normal, aquella proveniente de la componente de fuerza perpendicular a la superficie; y tensión tangencial, aquella preveniente de la componente de fuerza paralela a la superficie. Siguiendo el esquema ortonormal, si se descompone cada una de las 6 fuerzas aplicadas sobre las caras del elemento infinitesimal en cada uno de los 3 ejes, se obtienen 18 fuerzas distintas: 2 fuerzas tangenciales por cada superficie y 1 fuerza normal por cada superficie.

Figura 5.5. Elemento infinitesimal con las tensiones expresadas en forma ingenieril.

25 Memoria

Como se puede ver en la anterior figura, las componentes denotadas con la letra σ indican tensiones normales, mientras que las denotadas con la letra τ indican tensiones tangenciales, criterio bastamente aceptado en el ámbito ingenieril. Los subíndices indican la dirección normal a la cara aplicada, en el caso del primero, y la dirección en que esta tensión se aplica, en el caso del segundo.

Dado que el elemento es infinitesimal, y como las tensiones solo varían de manera gradual a lo largo de un medio continuo, se puede considerar que ambas tensiones en planos paralelos muy cercanos (como las caras paralelas del elemento estudiado) son prácticamente iguales en caso de equilibrio, por lo que el número de caras que registrarán fuerzas (y por lo tanto tensiones) distintas se reduce de 6 a 3, pasando el número de componentes de 18 a 9. Para expresar de manera matemática estas magnitudes asociadas a un punto concreto se utiliza el tensor, una entidad algebraica compuesta por diferentes componentes pero independiente del sistema de referencia usado. El tensor de tensiones, de segundo orden, tiene las siguientes 9 componentes:

𝜎푥 휏푥푦 휏푥푧 훔 = [휏푦푥 𝜎푦 휏푦푧] 휏푧푥 휏푧푦 𝜎푧

Si se utiliza la condición de equilibrio, aplicado en este caso a los momentos generados alrededor de los ejes coordenados, se obtiene que los pares de tensiones tangenciales cuyos subíndices se encuentran en orden inverso (휏푦푧 y 휏푧푦, por ejemplo) deben de tener un valor en módulo igual. Esto da lugar a un tensor de tensiones simétrico, por lo que el número máximo de componentes distintos pasa de 9 a 6. Esta propiedad será de vital importancia a la hora de realizar operaciones aritméticas con los tensores, ya que permite su implementación como vector de 6 componentes.

훔 = (𝜎푥, 𝜎푦, 𝜎푧, 휏푥푦, 휏푥푧, 휏푦푧)

Derivado de este concepto de tensión surge el de deformación: debido a este estado tensional interno en el que se encuentran los sólidos sobre los que se aplican fuerzas externas, las estructuras internas del material se modifican de manera acorde. Esto da lugar a un cambio en las dimensiones y/o proporciones de los elementos estudiados. Se define, por lo tanto, la deformación como este cambio de tamaño debido a las tensiones internas. La medida más estándar en ingeniería de la deformación es la llamada deformación unitaria, la cual es adimensional en tanto a que muestra la relación de cambio de longitud por unidad de longitud.

푑 − 푑표 휀 = 푑

(Ec. 5.8)

26 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Volviendo al elemento infinitesimal estudiado anteriormente, se pueden designar distintas deformaciones en función de la dirección y superficie escogida, por lo que se retoma la estrategia anterior de representar las magnitudes físicas de un objeto en tensores y se designa, de esta manera, el tensor deformaciones, también compuesto por 9 valores distintos.

휀푥푥 휀푥푦 휀푥푧 휺 = [휀푦푥 휀푦푦 휀푦푧] 휀푧푥 휀푧푦 휀푧푧 Así como anteriormente en el tensor de tensiones las diferentes componentes podían catalogarse como normales o tangenciales, obteniendo cada una de ellas una interpretación física distinta, en el tensor de deformaciones ocurre un fenómeno similar: las componentes localizadas en la diagonal del tensor representan cambios relativos de longitud, mientras que las demás componentes representan cambios angulares.

1 휕푢푖 휕푢푗 휀푖푗 = · ( + ) 2 휕푥푗 휕푥푖

(Ec. 5.9)

Siguiendo con la analogía entre ambos conceptos de tensión y deformación, y partiendo de la presente simetría en el tensor de deformaciones, es una práctica habitual la de reducir el tensor de deformaciones a un vector de 6 componentes, tantas como valores máximos diferentes puede contener. De esta manera, se puede expresar el conjunto de deformaciones como:

휺 = (휀푥푥, 휀푦푦, 휀푧푧, 휀푥푦, 휀푥푧, 휀푦푧)

Ambos conceptos, tensión y deformación, son claves a la hora de comprender y caracterizar el estado interno de un objeto sólido, el cual informa de la capacidad de almacenar más o menos energía elástica. Como se ha comentado anteriormente, una de las condiciones necesarias para que toda esta teoría de la elasticidad sea aplicable es que la relación entre la tensión interna sufrida y la deformación resultante sea lineal. La ratio de aumento de una magnitud respecto la otra en el caso de tensiones normales, que se podría interpretar como la pendiente en un diagrama tensión-deformación, es una característica intrínseca de cada material y se define como el módulo de Young o módulo de elasticidad longitudinal: a un módulo de Young mayor, más tensión es necesaria para provocar una misma deformación sobre un objeto. Al ser la deformación una magnitud adimensional el módulo de elasticidad tiene las mismas unidades que la tensión.

27 Memoria

Figura 5.6. Interpretación del módulo de Young en un diagrama tensión-deformación.

De manera similar, si lo que se tiene en cuenta son las tensiones tangenciales en vez de normales y la deformación angular en vez de axial, esta misma ratio de deformación pasa a llamarse módulo de cizalladura, de corte, o módulo de elasticidad transversal.

휏 퐺 = 휃

(Ec. 5.10)

Así como al aplicar una tensión en una dirección sobre un elemento material este se deforma en esa misma dirección de manera proporcional al valor de este módulo, para cumplir las leyes de conservación de masa el objeto se debe de deformar en las demás direcciones de manera inversa: si un elemento se elonga en la dirección X, a causa de una tensión en esta dirección, se debe de la misma manera contraer en las direcciones Y y Z. Así como se había designado la ratio de deformación en una dirección como el módulo de elasticidad, tanto longitudinal como transversal, a esta ratio de crecimiento inter-direccional también se la ha caracterizado de manera análoga, llamándose coeficiente de Poisson o coeficiente de deformación transversal (y representado por 휐). Ambos módulos de elasticidad y cizalladura se ven relacionados entre sí a partir de este último coeficiente de la siguiente manera:

퐸 퐺 = 2 · (1 + 휐)

(Ec. 5.11)

28 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Una vez definidos todas las tensiones y deformaciones que suceden internamente en la estructura de un objeto sólido, vistos estos desde un enfoque infinitesimal para que las definiciones sean válidas, se puede proceder a extrapolar los resultados obtenidos a una escala mayor: con esta estrategia se pretende ahora analizar un cuerpo u objeto a nivel macroscópico, extrayendo de este análisis resultados más globales y aplicables a una estructura en la vida real, como podría ser una parte del sistema aerodinámico activo.

5.5. Resistencia de materiales

Cambiando ahora el foco a una estructura u objeto general, se consideran los siguientes tipos de esfuerzo a los que puede estar sometido un cuerpo: compresión/tracción, cizalladura, torsión y flexión. Los esfuerzos de compresión y tracción, así como el de cizalladura o corte, resultan muy similares a nivel general y a nivel infinitesimal; sin embargo, de este cambio de visión nacen dos tipos nuevos de esfuerzo que no se correlacionan de la misma manera a nivel general e infinitesimal, la torsión y la flexión. Cabe destacar que los esfuerzos no se dan de manera aislada, sino que en la mayoría de ocasiones se combinan varios.

Un esfuerzo de compresión/tracción sobre un cuerpo sólido, por ejemplo una barra de sección circular, ocurre cuando sobre este se aplican un par de fuerzas externas colineales pero de sentidos opuestos, tratándose de compresión cuando el sentido de estas fuerzas apunta hacia el interior del cuerpo y de tracción cuando este vector se aleja del objeto de estudio. La compresión, por tanto, intenta unir las partículas del material entre sí, mientras que la tracción las intenta separar en sentidos opuestos. Como se ha comentado, hay una gran relación entre el esfuerzo general y la situación tensional interna de los elementos materiales, ya que un esfuerzo de compresión/tracción sobre un cuerpo genera un estado tensional interno de tensiones normales entre los diferentes elementos infinitesimales que se pueden considerar.

29 Memoria

Figura 5.7. Esfuerzo de tracción y compresión aplicados a un sólido prismático.

Asimismo, el esfuerzo de cizalladura se da cuando las fuerzas externas no son colineales e intentan desplazar planos colindantes de la estructura en sentidos distintos, provocando de esta manera un deslizamiento entre ellos. Este esfuerzo genera en los elementos infinitesimales dentro del cuerpo una situación tensional de tensión tangencial.

El esfuerzo de flexión, por su parte, ocurre cuando a un cuerpo sólido se le somete a distintos momentos aplicados en ejes paralelos entre sí. Esta situación genera un estado tensional interno combinación de tracción y compresión en diferentes partes del mismo cuerpo, lo que lleva a la curvatura del objeto debido a la elongación de las fibras en tracción y el acortamiento de las sometidas a compresión.

Por último está el esfuerzo de torsión, el cual aparece cuando un objeto se ve sometido a momentos colineales en sentidos contrarios. Esto genera estados tensionales internos de tensiones tangenciales, el valor de las cuales varía en función de la posición del elemento infinitesimal respecto el eje de aplicación del momento.

Como se ha comentado anteriormente, los esfuerzos aparecen habitualmente combinados entre sí en un mismo cuerpo, por lo que los estados tensionales de los distintos elementos diferenciales en su interior se componen de diferentes tipos de tensiones provenientes las diferentes solicitaciones. Por ejemplo, una viga soportada por sus extremos sobre el centro de la cual se aplica una carga puntual sufrirá un esfuerzo de cizalladura a causa de las distintas fuerzas no colineales, pero estas mismas fuerzas provocarán momentos que a su vez darán lugar a un esfuerzo de flexión. Por lo tanto, un elemento infinitesimal escogido al azar se encontrará en un estado tensional compuesto por componentes tangenciales (cizalladura) y componentes normales (flexión).

30 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 5.8. Esfuerzos de flexión y torsión provocados por fuerzas externas.

Es importante saber en qué estado tensional se encuentran las diferentes partes de uno sólido afectado por fuerzas y momentos externos, ya que es un indicador directo de la cantidad de energía potencial que alberga y como de lejos se encuentra de ese límite a partir del cual la energía interna provoca deformaciones permanentes. Esta última situación se debe evitar en la medida de lo posible, ya que cuando un sólido se deforma de manera permanente puede dejar de hacer su función eficazmente y, en un último caso extremo, llegar a romper. Por esta razón, el punto de máxima deformación elástica admisible se denomina límite elástico, y se designa por el símbolo de tensión normal σ acompañado de subíndice tal como e o 0,2 (este último se explicará a continuación).

Figura 5.9. Diagrama tensión-deformación con el límite elástico mostrado gráficamente.

El límite elástico es un concepto puntual, pero en la realidad el proceso de transición de la zona elástica (donde las deformaciones desaparecen una vez retirada la fuerza) a la zona plástica (donde las deformaciones se mantienen en cierta medida una vez retirada la fuerza) es un proceso continuo que ocurre en una zona relativamente prolongada. Es por ello que designar un punto concreto para el límite elástico es una tarea complicada: dependiendo de la aplicación para la que se necesite saber el límite

31 Memoria

elástico se escoge un punto u otro, todos en la zona de transición. En ingeniería, el límite elástico se define como la tensión que, una vez retirada, provoca una deformación plástica unitaria de 0,002 (incremento del 2% de la longitud inicial).

Todos los conceptos expuestos hasta ahora trabajan con la descomposición de las fuerzas, tensiones y deformaciones en un sistema de coordenadas de referencia impuesto. Aún y la facilidad que esto aporta al análisis, pudiendo así estudiar las diferentes magnitudes en cada uno de los ejes de referencia, es necesario no olvidar que es un mecanismo artificial y que en la realidad, por tanto, lo que se aprecia son tensiones y deformaciones totales en las direcciones resultantes. Por todo ello, se hace necesario expresar el estado tensional de un punto concreto como un parámetro unidimensional escalar, el cual sea independiente de los sistemas de referencia y equivalente a su expresión tridimensional. Este parámetro, usado ampliamente en estructuras con materiales isotrópicos dúctiles, se llama tensión equivalente de Von Mises y expresa el estado tensional de un punto basándose en el criterio energético, es decir, en la energía de distorsión acumulada. El cálculo de esta magnitud se lleva a cabo de la siguiente manera:

2 2 2 (𝜎1 − 𝜎2) + (𝜎2 − 𝜎3) + (𝜎3 − 𝜎1) 𝜎 = √ 푉푀 2

(Ec. 5.12)

Donde 𝜎1, 𝜎2y 𝜎3 son las tensiones principales de un elemento, es decir, aquellas tensiones (normales) alineadas con un sistema de referencia tal que las tensiones tangenciales son nulas.

Sin embargo, en este proyecto se utilizarán también materiales que no presentan isotropía, concretamente materiales compuestos. En una lámina de material compuesto, las teorías de fallo se basan en las tensiones en la dirección de la fibra o ejes locales, dado que la lámina es ortotrópica y sus propiedades varían según la dirección.

En el caso de una lámina unidireccional hay dos ejes materiales: uno paralelo a la fibra y otro perpendicular. Por lo tanto, hay 4 parámetros de resistencia normal, uno a tracción y otro a compresión para cada dirección. Además, existe un quinto parámetro: la resistencia a cortadura.

Los parámetros de resistencia no se pueden transformar tensorialmente de forma directa para una lámina con las fibras orientadas. Por lo tanto, las teorías de rotura o fallo se basan en encontrar primero las tensiones en los ejes locales y luego usar estos cinco parámetros para saber si existe fallo.

32 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Existen múltiples criterios de fallo para materiales compuestos, cada uno de ellos con diferentes simplificaciones, consideraciones y diferente número de parámetros a obtener. Para este proyecto se ha escogido el criterio de Tsai-Wu, el cual viene de Von Mises y es una generalización del criterio de Tsai-Hill. Este criterio distingue compresión y tracción y es uno de los más utilizados para los MEF debido a su simplicidad ya que predice el fallo en múltiples casos.

Otro criterio ampliamente utilizado es el criterio de Puck. Este criterio es uno de los que mejor se adapta a la realidad ya que distingue entre fallo de las fibras y fallo entre fibras, y además entre tracción y compresión. Tiene en cuenta consideraciones micromecánicas, lo cual hace que prediga el fallo en múltiples casos. No obstante, presenta ciertos parámetros que son costosos de obtener y por ende su uso en simulaciones computacionales no está tan extendido. Teniendo en cuenta que el caso de estudio presenta geometrías complejas resulta inviable su aplicación en este trabajo.

Consecuentemente a todo lo explicado, en una aplicación general de ingeniería se diseñarán los diferentes elementos mecánicos para que los estados tensionales en todas sus zonas no sufran deformaciones plásticas, usualmente aplicando un factor de seguridad. Esto se tendrá en cuenta en posteriores etapas de diseño, donde se tendrá que analizar estructuralmente todo el sistema mecánico para asegurar que no se deforma plásticamente y que cumple su función de manera eficaz.

33

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

6. Dinámica vehicular

La dinámica vehicular abarca en su más amplio sentido todo tipo de formas de transporte (tales como autobuses, camiones, automóviles…). Este caso se ha centrado en los automóviles, sin embargo los principios y las físicas tratadas en el presente apartado son extrapolables a los demás métodos de transporte.

El funcionamiento principal de un vehículo viene regido por una respuesta a las fuerzas impuestas, por lo que la mayor parte del estudio dinámico se basará en el estudio de cómo y por qué estas fuerzas son producidas.

La metodología empleada para ello será la aproximación analítica, la cual describe la mecánica de interés mediante leyes físicas estableciendo un modelo. En los casos más simples estos modelos pueden ser representados por ecuaciones algebraicas o diferenciales con la finalidad de evaluar la influencia de cada propiedad del vehículo en el fenómeno de interés. De esta forma, observando los diferentes factores implicados y la forma y las condiciones en las que estos operan, se pueden predecir los cambios a introducir en el sistema para que este responda de la forma deseada por el usuario.

No obstante, debido a las simplificaciones que hay que asumir para poder establecer modelos manipulables, estos son solo aproximaciones de la realidad y por lo tanto pueden conllevar a ciertas desviaciones en su comportamiento e incluso en el peor de los casos, a errores. Es por ello que hay que entender las simplificaciones llevadas a cabo para minimizar este tipo de situaciones.

6.1. Sistema de referencia del vehículo

Con la finalidad de calcular aceleraciones, velocidades, fuerzas, momentos, y demás propiedades físicas, es necesario definir un sistema de coordenadas en las direcciones de interés. Un sistema de 3 ejes de coordenadas cartesianas ortogonales y con un punto común (origen) es el necesario para nuestro problema a tratar.

El sistema de coordenadas utilizado en dinámica vehicular fue definido por la SAE (Society of Automotive Engineers). Existen 2 tipos: • Referido al suelo • Referido al vehículo

35 Memoria

En ambos sistemas las letras X – Y – Z denotan las direcciones principales, las cuales se muestran con más detalle en la Figura 6.1 Los ejes X e Y están contenidos en el plano horizontal paralelo al suelo, mientras que el eje Z es perpendicular a estos. Se considera además que el origen del sistema de coordenadas se encuentra en el centro de gravedad (CG) del vehículo, el cual se calculará en apartados posteriores.

La principal diferencia entre ambos sistemas desarrollados por la SAE es que el referido al vehículo se mueve junto con el automóvil, por lo que las propiedades inerciales del mismo relativas al sistema permanecen constantes; en cambio, el referido al suelo permanece fijo y por lo tanto las características del vehículo varían a lo largo del trayecto. Por ello, debido a las propiedades intrínsecas del caso tratado, se ha escogido el sistema de coordenadas referido al vehículo.

Figura 6.1. Sistema de referencia del vehículo.

En definitiva, cada eje expresa lo siguiente: • Eje X: una propiedad a lo largo de este eje sería longitudinal (longitudinal en inglés), mientras que una angular sería de balanceo (roll en inglés). • Eje Y: una propiedad a lo largo de este eje sería lateral (side en inglés), mientras que una angular sería de cabeceo (pitch en inglés). • Eje Z: una propiedad a lo largo de este eje sería normal (normal en inglés), mientras que una angular sería de guiñada (yaw en inglés).

36 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

6.2. Rozamiento. Comportamiento del neumático

El objetivo del dispositivo aerodinámico estudiado es maximizar la fuerza de sustentación negativa generada para, de esta manera, aumentar la tracción y permitir un paso por curva más rápido. Si se analiza el vehículo como un sistema aislado y se valoran las fuerzas que este recibe, resulta evidente que el único punto de contacto de todo el automóvil con sus alrededores sin contar los efectos aerodinámicos es el neumático; todas las fuerzas responsables de las aceleraciones tanto longitudinales como transversales se transmiten a la superficie sobre la que se sustenta el vehículo a través de cuatro pequeñas zonas. Es por ello que todos los fenómenos físico-químicos que ocurren en esta zona son de vital importancia para maximizar el agarre y se pasarán a explicar a continuación.

Si se sigue el sistema de coordenadas habitual en automoción, comentado anteriormente, las fuerzas que provocan una aceleración longitudinal o transversal en un vehículo se sitúan en el plano XY (plano paralelo al suelo en reposo). Retomando lo que se ha comentado anteriormente sobre la interacción neumático-asfalto, dichas zonas de contacto también se encuentran en ese mismo plano XY; por lo tanto, se puede considerar que las fuerzas que en ese espacio se transmiten son de carácter tangencial, provenientes de la fricción o rozamiento.

Una fuerza de fricción es, por definición, una fuerza generada entre dos superficies en contacto a causa de las imperfecciones microscópicas de estas que se opone al movimiento relativo entre ambas. Esta fuerza no es únicamente de naturaleza física, sino que tiene una componente química: se pueden llegar a generar enlaces químicos entre dichas superficies que agravan la magnitud de dicha fuerza.

El modelo matemático más simple para representar este fenómeno es el siguiente:

퐹푟 = 휇 푁

(Ec. 6.1)

donde Fr es la fuerza de fricción, μ es el coeficiente de fricción y N es la fuerza normal a la superficie de contacto (expresada en las mismas unidades que Fr).

Siendo N una magnitud física cuantificable y solamente dependiente de la situación concreta del sistema formado por los dos cuerpos en contacto, todas las dependencias de material, temperatura, área de contacto, situación dinámica, etc. se encuentran incluidas en el coeficiente de fricción μ. Este es un parámetro muy complejo, en especial en el caso de los neumáticos, como se explicará brevemente a continuación.

37 Memoria

Habitualmente se consideran dos coeficientes de fricción distintos para un mismo sistema, solo diferenciando en este el hecho de si hay movimiento relativo entre las dos superficies de contacto o no: de esta manera, se obtiene un modelo simplificado que incluye un coeficiente de fricción estático

μe, aplicado cuando no hay movimiento relativo, y un coeficiente de fricción dinámico μd, aplicado cuando existe dicho movimiento relativo. Siendo ambos coeficientes para un mismo sistema y mismas condiciones, el coeficiente de fricción estático tiene un valor máximo superior o igual al dinámico.

Si se aplica una fuerza tangencial (Ft en la Figura 6.2) de valor creciente a un cuerpo que reposa sobre una superficie, la fuerza de rozamiento generada entre el cuerpo en reposo y la superficie (Fr en la Figura 6.2) crecerá en magnitud hasta llegar a un valor máximo, dado por la ecuación:

퐹푟,푒,푚푎푥 = 휇푒 푁

(Ec. 6.2)

Figura 6.2. Comportamiento ideal de la fuerza de fricción.

Una vez superado ese punto se comenzará a dar un desplazamiento relativo del cuerpo sobre la superficie, y la fuerza de fricción generada entre ambas superficies de contacto disminuirá hasta un valor dado por la siguiente ecuación:

퐹푟,푑,푚푎푥 = 휇푑 푁

(Ec. 6.3)

38 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Lo cierto es que este coeficiente de fricción, en el caso específico de los neumáticos (debido a su comportamiento gomoso), depende en gran medida de un parámetro llamado ángulo de deriva. Cuando a un neumático se le aplica un momento de giro, por ejemplo a través del sistema de dirección, este trata de vencer el rozamiento respecto la superficie en que se sustenta. Este rozamiento, no obstante, es mayor a la fuerza necesaria para deformar localmente la superficie del neumático. Esto lleva a una situación de deformación local en la zona de contacto con el asfalto, creándose por tanto una diferencia angular entre la dirección de la velocidad del neumático (coincidente con la zona deformada) y la dirección en que éste gira (plano medio del neumático).

Figura 6.3. Deformación elástica del neumático bajo la actuación de una fuerza lateral.

Esta diferencia, llamada ángulo de deriva ( angle en inglés), es la encargada de generar la fuerza lateral elástica suficiente para cambiar la dirección del vehículo, y afecta de manera considerable en el valor del coeficiente de rozamiento de un neumático. Desgraciadamente, este ángulo de deriva depende de numerosos factores, como parámetros geométricos de la suspensión o las condiciones del asfalto.

Vista la complejidad y las interdependencias del valor del coeficiente de fricción y, especialmente en el caso particular de las interacciones neumático-asfalto, cabe destacar que un sistema aerodinámico tiene una influencia muy limitada sobre todas esas variables. Es por ello que el enfoque de este estudio se centra principalmente en la componente sobre la que se tiene más control desde el punto de vista un sistema aerodinámico: la fuerza normal N aplicada en las cuatro zonas de contacto entre el neumático y el asfalto. Con los diferentes parámetros del sistema estudiado se consiguen distintas fuerzas aerodinámicas, tanto de sustentación como de resistencia, así como momentos que provocan cambios sustanciales en las componentes normales aplicadas sobre cada uno de los cuatro neumáticos del vehículo.

39 Memoria

Si se vuelve a la ecuación simplificada de la fuerza de fricción (Ec. 6.1), se puede observar que el valor resultante de dicha fuerza es proporcional a la componente normal aplicada entre ambas superficies de contacto. Por lo tanto, a más componente normal más capacidad para generar componentes tangenciales y, por ende, aceleraciones mayores. Esta relación se comportaría de manera lineal en el caso en que el coeficiente de fricción no tuviese ninguna dependencia con la carga normal; como muestra la siguiente Figura 6.4 esto no es así, ya que el coeficiente de fricción disminuye a medida que aumenta la carga normal en un neumático.

Figura 6.4 Coeficiente de fuerza lateral frente al Figura 6.5 Fuerza lateral frente al ángulo de deriva ángulo de deriva para distintas cargas normales. para distintas cargas normales.

Todas las variaciones de comportamiento que se producen con la carga normal en un neumático se incluyen en lo que se llama load sensitivity en inglés, que muestra que, a pesar de esa disminución del coeficiente de rozamiento, la fuerza máxima lateral que puede generar un neumático aumenta a medida que se aumenta la carga normal aplicada en él. Esto se puede apreciar claramente en la Figura 6.5.

Es por todo ello que el objetivo del programa de control del sistema aerodinámico estudiado tratará, dentro de lo posible, de maximizar la carga normal en las zonas de contacto que más aportación a la dinámica general tengan en función de la situación dinámica concreta.

40 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

6.2.1. Límites de tracción

Para ilustrar de manera gráfica y clara la interacción entre el neumático y el asfalto y los límites de esta se utiliza frecuentemente un diagrama llamado círculo de tracción, círculo de Kamm o elipse de tracción. En los ejes X e Y de esta representación se grafican las fuerzas longitudinales y transversales máximas que pueden generar un neumático (alternativamente se pueden ilustrar las aceleraciones máximas que se pueden generar) para unas condiciones concretas de temperatura, rugosidad del asfalto, etc. De manera ideal, el coeficiente de fricción mantiene isotropía en los ejes X e Y y la representación anteriormente citada es un círculo de radio 휇 푁.

Figura 6.6. Círculo de tracción ideal, expresado en forma de aceleraciones.

La interpretación de la Figura 6.6 es la siguiente: cualquier fuerza de fricción requerida al neumático en cualquier dirección que no sobrepase en magnitud el valor límite del radio del círculo podrá ser generada por la interacción neumático-asfalto. Por lo tanto, en una situación de aceleración longitudinal únicamente, la máxima aceleración longitudinal posible se dará cuando el neumático genere una fuerza de valor 휇 푁; lo mismo pasa en una situación de aceleración únicamente lateral.

En una situación real, no obstante, no siempre las cargas exigidas a los neumáticos de un vehículo son totalmente longitudinales o transversales. En competición, a la hora de tomar una curva, se dan distintas fases diferenciadas por las acciones que se llevan a cabo en cada una de ellas.

La primera fase consta de una aceleración longitudinal negativa sin componente transversal: una frenada en línea recta, manteniendo en el caso idóneo el neumático en su punto de máxima tracción. Posteriormente se entra en una segunda fase en que se combinan aceleración longitudinal negativa

41 Memoria

(cada vez menor) y aceleración transversal (cada vez mayor). Una vez en plena curva, se considera una tercera fase en que solo se genera aceleración transversal. Ya pasado el vértice de la curva empieza una cuarta fase en que se vuelven a combinar ambas aceleraciones, radicando la única diferencia con la segunda fase en que la aceleración transversal ahora va en detrimento de la longitudinal, siendo esta última positiva. Finalmente, ya pasada la curva, se considera una última fase de aceleración longitudinal pura, sin carga lateral en los neumáticos.

Como se ve en este pequeño ejemplo, en una sola curva se dan distintas situaciones de exigencia para los neumáticos de un vehículo, por lo que en pocas ocasiones se tiene disponible una carga potencial de valor máximo en un solo eje. Volviendo a la representación del círculo de tracción, en un instante en que se combinan ambos tipos de aceleración, la carga máxima disponible por el neumático sigue teniendo el mismo valor que en una situación de una sola aceleración (휇 푁), solo que ahora este valor se debe distribuir en ambas direcciones, longitudinal y transversal. Siguiendo con el modelo simplificado del círculo y suponiendo una exigencia igual en ambas direcciones para el neumático, el valor máximo de carga disponible en cada eje se reduce a:

푭⃗⃗⃗⃗풕풐풕풂풍⃗⃗⃗⃗⃗⃗⃗ = 푭⃗⃗⃗⃗풍풐풏품풊풕풖풅풊풏풂풍⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ + 푭⃗⃗⃗⃗풕풓풂풏풔풗풆풓풔풂풍⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗

(Ec. 6.4)

퐹푚푎푥 휇 푁 퐹푙표푛푔푖푡푢푑푖푛푎푙 = 퐹푡푟푎푛푠푣푒푟푠푎푙 = = √2 √2

(Ec. 6.5)

Como se puede apreciar en el anterior ejemplo ilustrativo, el valor máximo tanto de carga longitudinal como transversal queda reducido por un factor de √2. Dependiendo de las distintas componentes del vector 푭⃗⃗⃗⃗풕풐풕풂풍⃗⃗⃗⃗⃗⃗⃗ la carga máxima se repartirá entre ambas direcciones de una manera u otra.

Como se ha comentado anteriormente, esta representación en forma de círculo es una simplificación de la realidad asumiendo isotropía del coeficiente de fricción 휇. Dada la estructura interna cada vez más compleja de los neumáticos, un neumático real presenta cierta anisotropía en cuanto a su comportamiento bajo carga, por lo que si se representan datos reales de fuerzas generadas por un neumático los puntos acaban formando una forma elíptica, siendo los valores máximos mayores los generados en la dirección lateral.

Una vez comprendidos los límites que presentan los neumáticos, resulta evidente que si se tiene control directo sobre la componente normal aplicada en la zona de contacto neumático-asfalto, como pretende hacer el presente sistema aerodinámico activo, se pueden modificar estas limitaciones para

42 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

extraer más rendimiento sin por ello perjudicar las características dinámicas del vehículo tales como geometría de suspensión o constante de rigidez.

6.3. Distribución de pesos

En el presente apartado se llevará a cabo el cálculo de la transferencia de carga entre las diferentes ruedas del automóvil estudiado.

Para ello, dicho estudio se basará en un modelo matemático, obtenido a partir del análisis mecánico- estructural de las diferentes masas del vehículo, según la afectación de los estímulos externos a estas. Dada la complejidad del problema estudiado se han realizado diferentes simplificaciones, las cuales se mencionan a continuación.

Primeramente, en dicho modelo se ha considerado un análisis estático, es decir, todos los efectos derivados de las transiciones entre los sucesivos estados de equilibrio no se estudian. Esto se debe, a que estos suceden en unos lapsos de tiempo de una duración tan corta que el sistema físico no tendría una capacidad de respuesta suficientemente rápida delante de estas perturbaciones.

Otra simplificación asumida ha sido que todos los parámetros (tales como la altura del centro de gravedad o la distancia entre ejes) son constantes, y que todos los datos aplicados en los cálculos son lineales. El hecho de que estas aproximaciones no fueran posibles conllevaría la necesidad de utilizar métodos iterativos y probablemente programas computacionales.

Debido a esta linealidad se puede asumir que el principio de superposición es válido: el total de los efectos implicados en el sistema es igual a la suma de los efectos considerados individualmente. En consecuencia, se calcularán por separado las oscilaciones de carga en las ruedas debido a transferencias de carga longitudinal, lateral, inclinación del terreno, etc. para posteriormente combinarlas y obtener así una solución resultante válida.

Por último, para todos los cálculos se supone que el chasis del vehículo es rígido. Esta asunción forma la base para los cálculos de este apartado.

43 Memoria

6.3.1. Localización del centro de gravedad (CG) total

La Figura 6.7 muestra las diferentes variables y dimensiones utilizadas en los cálculos para obtener las coordenadas del CG. Se puede observar que de cara a la identificación de las ruedas se han numerado de delante hacia atrás y de izquierda a derecha, siendo la rueda delantera izquierda la número 1, la delantera derecha la número 2, etc. Se define entonces el peso total del vehículo como la suma de los pesos de las cuatro ruedas.

푊 = 푊1 + 푊2 + 푊3 + 푊4

(Ec. 6.6)

Aplicando momentos en el eje trasero se obtiene la localización longitudinal del centro de gravedad.

푊퐹 푙 푏 = 푊

(Ec. 6.7)

푊푅 푙 푎 = = 푙 − 푏 푊

(Ec. 6.8)

Para la localización lateral del mismo a lo largo del eje Y se considera que este se encuentra en la línea central del vehículo, y que, por lo tanto:

푡푅 푦′ = 2

(Ec. 6.9)

44 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 6.7. Vista de planta del vehículo.

Para determinar la altura del CG del vehículo, un método utilizado es inclinar el eje trasero del mismo hasta que forme con el eje delantero un cierto ángulo 휃 con la horizontal. Las dimensiones de interés se muestran en la Figura 6.8.

Figura 6.8. Vista lateral del vehículo.

45 Memoria

Aplicando trigonometría

푊퐹 푙 − 푊 푏 ℎ = 1 푊 푡푎푛휃

(Ec. 6.10)

Esta es la altura del centro de gravedad respecto a la línea que conecta los centros de las ruedas traseras con las delanteras. Considerando que ambas se encuentran a una misma altura 푅퐿 respecto del suelo, se tendría

ℎ = 푅퐿 + ℎ1

(Ec. 6.11)

6.3.2. Transferencia lateral de carga

Cuando el vehículo realiza un giro se produce una transferencia de carga de las ruedas internas a las externas debido a que el CG está localizado a una cierta altura del suelo. Esto es debido a la reacción inercial de fuerza centrífuga experimentada por el automóvil, la cual se opone a la aceleración lateral, 2 푎푦 (en m/s ). No obstante, en los cálculos se ha utilizado una versión adimensional de esta aceleración,

퐴푦, para así trabajar en kilogramos en vez de en Newtons tal que

푎푦 푎푦 퐴 = = 푦 푔 9.81

(Ec. 6.12)

Para calcular esta transferencia de carga hay que definir diversos conceptos: • Centro de balanceo delantero: punto en el plano vertical transversal a los centros de las ruedas delanteras y equidistante a ambas. • Centro de balanceo trasero: punto en el plano vertical transversal a los centros de las ruedas traseras y equidistante a ambas. • Eje neutro de balanceo: línea que une los centros de Roll delantero y trasero. • Rigidez de balanceo: momento que realiza la suspensión para corregir el balanceo de la masa del vehículo por ángulo de balanceo

46 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Lo más exacto para realizar este cálculo es considerar que el vehículo consta de un sistema de 3 masas: la masa suspendida (el chasis y el cuerpo del automóvil) y la no suspendida (ruedas, frenos, suspensiones, ejes…).

En la Figura 6.9 se muestra el modelo del caso tratado. Como se puede observar, las matemáticas implicadas son más que complejas y por ello no se ha profundizado en la demostración de cada uno de los cálculos, pero sí que se han explicado los pasos seguidos hasta llegar a la solución buscada.

푊푢퐹 = 푀푎푠푎 푑푒푙푎푛푡푒푟푎 푛표 푠푢푠푝푒푛푑푖푑푎 (푘푔) 푎 푢푛푎 푎푙푡푢푟푎 푧푊퐹(푚)

푊푢푅 = 푀푎푠푎 푡푟푎푠푒푟푎 푛표 푠푢푠푝푒푛푑푖푑푎 (푘푔) 푎 푢푛푎 푎푙푡푢푟푎 푧푊푅(푚)

푊푠 = 푀푎푠푎 푠푢푠푝푒푛푑푖푑푎 (푘푔) 푎 푢푛푎 푎푙푡푢푟푎 ℎ푠(푚) 푦 푎 푢푛푎 푑푖푠푡푎푛푐푖푎

푝푒푟푝푒푛푑푖푐푢푙푎푟 ℎ2(푚) 푑푒푙 푒푗푒 푛푒푢푡푟표 푑푒 푏푎푙푎푛푐푒표

푊 = 푀푎푠푎 푡표푡푎푙 푑푒푙 푣푒ℎí푐푢푙표 (푘푔) 푎 푢푛푎 푎푙푡푢푟푎 ℎ (푚) 푦 푎 푢푛푎 푑푖푠푡푎푛푐푖푎

푣푒푟푡푖푐푎푙 퐻(푚) 푑푒푙 푒푗푒 푛푒푢푡푟표 푑푒 푏푎푙푎푛푐푒표

푧푅퐹, 푧푅푅 = 퐴푙푡푢푟푎푠 푑푒 푙표푠 푐푒푛푡푟표푠 푑푒 푏푎푙푎푛푐푒표 푑푒푙푎푛푡푒푟표 푦 푡푟푎푠푒푟표 (푚)

휃 = 퐼푛푐푙푖푛푎푐푖ó푛 푑푒푙 푒푗푒 푛푒푢푡푟푎푙 푑푒 푏푎푙푎푛푐푒표 (푟푎푑) Figura 6.9 Geometría de la transferencia lateral de carga.

Observando primero el eje neutro de balanceo, la aceleración centrífuga, 퐴푌, produce una fuerza centrífuga, 퐹푠, y en consecuencia, un momento sobre el punto O de magnitud

47 Memoria

푀푠 = −푊푠 ℎ2 (퐴푌 − Φ)

(Ec. 6.13) donde Φ es el ángulo de balanceo del chasis.

La fuerza centrífuga a una altura ℎ푠 equivale a la misma fuerza en el punto O más el momento 푀푠. Luego esta fuerza se puede descomponer en una componente delantera y otra trasera, las cuales producirán una transferencia de carga en su eje respectivamente. Posteriormente, el momento 푀푠 puede ser descompuesto para los ejes delantero y trasero, acorde a sus respectivas rigideces de balanceo, 퐾퐹 y 퐾푅.

Si ahora se tiene en cuenta 푀푠 junto con los momentos causados por las rigideces de balanceo

퐾퐹 Φ + 퐾푅 Φ − (−푊푠 ℎ2 (퐴푌 − Φ)) = 0

(Ec. 6.14)

Luego se puede obtener una expresión para conocer el ángulo de balanceo del chasis.

−푊푠 ℎ2 Φ = 퐴푌 = 퐾Φ 퐴푌 퐾퐹 + 퐾푅 − 푊푠 ℎ2

(Ec. 6.15)

Sumando todo lo anterior e incluyendo las reacciones inerciales de las masas no suspendidas se llega a la siguiente expresión para la transferencia lateral de carga en las ruedas delanteras:

푊푠 퐴푌 ℎ2 퐾퐹′ 푙 − 푎푠 푊푢퐹 퐴푌 Δ푊퐹 = [ + 푧푅퐹] + 푧푊퐹 푡퐹 퐾퐹 + 퐾푅 − 푊푠 ℎ2 푙 푡퐹

(Ec. 6.16)

48 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

donde

퐾퐹′ = 퐾퐹 − (푙 − 푎푠) 푊푠 ℎ2⁄푙

(Ec. 6.17)

De manera similar, para las ruedas traseras

푊푠 퐴푌 ℎ2 퐾푅′ 푎푠 푊푢푅 퐴푌 Δ푊푅 = [ + 푧푅푅] + 푧푊푅 푡푅 퐾퐹 + 퐾푅 − 푊푠 ℎ2 푙 푡푅

(Ec. 6.18) donde

퐾푅′ = 퐾푅 − 푎푠 푊푠 ℎ2⁄푙

(Ec. 6.19)

No obstante, las ecuaciones anteriores presentan una gran complejidad de cálculo, además de la necesidad de conocer muchos parámetros geométricos del vehículo estudiado. Una forma de facilitar y simplificar estas ecuaciones es considerar que el vehículo consta de un sistema de 1 sola masa, la masa total del automóvil (en vez de 3 como se ha realizado anteriormente). Esta suposición implicaría los siguientes cambios de propiedades:

푊푢퐹 ≈ 푊푢푅 ≈ 0

푊푠 ≈ 푊

푎푠 ≈ 푎

ℎ2 ≈ 퐻

퐾퐹′ ≈ 퐾퐹

퐾푅′ ≈ 퐾푅

49 Memoria

Y las ecuaciones anteriores se reducirían a

푊 퐴푌 퐻 퐾퐹 푏 Δ푊퐹 = [ + 푧푅퐹] 푡퐹 퐾퐹 + 퐾푅 푙

(Ec. 6.20)

푊 퐴푌 퐻 퐾푅 푎 Δ푊푅 = [ + 푧푅푅] 푡푅 퐾퐹 + 퐾푅 푙

(Ec. 6.21)

Las ecuaciones que se usarán para los cálculos son las dos últimas, debido a la mayor facilidad de cálculo, la poca diferencia de resultados con respecto a la hipótesis de 3 masas y el menor número de datos del vehículo que hay que conocer. Este último factor es la razón de mayor peso por lo que se utiliza la suposición de 1 masa, ya que estos parámetros geométricos son muy complicados de conseguir debido a que suelen ser propios de cada empresa particular y no se hacen públicos.

Cabe remarcar que una vez aplicada la simplificación de 1 masa, esta se mantendrá a lo largo de todos los cálculos de la dinámica del vehículo con la finalidad de homogeneizar resultados.

De acuerdo con el sistema de coordenadas elegido, el criterio de signos adoptado será que los incrementos de carga Δ푊퐹 y Δ푊푅 se sumarán en las ruedas de la izquierda (1 y 3) y se restarán en las ruedas de la derecha (2 y 4). Esto es debido a que una aceleración lateral positiva, la cual implicaría que el vehículo gira hacia la derecha y que por ello las ruedas de la izquierda (1 y 3) son las más cargadas al ser las externas, conllevaría unos incrementos de carga Δ푊퐹 y Δ푊푅 positivos de acuerdo a las ecuaciones planteadas.

6.3.3. Transferencia longitudinal de carga

2 Cuando el vehículo es sometido a una aceleración longitudinal positiva, 푎푥 (en m/s ), se produce una transferencia de carga de las ruedas delanteras a las traseras. Con una aceleración longitudinal negativa (freno) ocurriría lo mismo pero esta vez sería de las ruedas traseras a las delanteras. Igual que sucedía con la aceleración lateral, la aceleración longitudinal produce una fuerza inercial en el sentido opuesto a la misma. Nuevamente, se utiliza una versión adimensional de la aceleración longitudinal para los cálculos.

50 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

푎푥 푎푥 퐴 = = 푥 푔 9.81

(Ec. 6.22)

Figura 6.10. Geometría de la transferencia longitudinal de carga.

Observando el modelo presentado en la Figura 6.10, aplicando momentos en el punto O se obtiene la siguiente expresión:

∆푊푋 푙 = ℎ 푊 퐴푋

(Ec. 6.23)

Luego

ℎ ∆푊 = 푊 퐴 푋 푙 푋

(Ec. 6.24)

El criterio de signos adoptado ha sido que el incremento de carga ∆푊푋 se sume a las ruedas traseras (3 y 4) y se reste a las delanteras (1 y 2). Esto es debido a que una aceleración longitudinal positiva, la cual implicaría que el vehículo acelera y que por ello las ruedas traseras (3 y 4) son las más cargadas, conllevaría un incremento de carga Δ푊푋 positivo de acuerdo a la (Ec. 6.24).

51 Memoria

De forma análoga a la transferencia lateral de carga, se puede obtener una expresión para conocer el ángulo de cabeceo del chasis.

γ = 퐾γ 퐴푋

(Ec. 6.25)

6.3.4. Efectos de la inclinación lateral (banking)

En las secciones previas se han obtenido ecuaciones para poder calcular las transferencias de carga longitudinal y lateral del vehículo en una superficie horizontal plana. Ahora, se mirarán los efectos de la inclinación de la superficie en las ecuaciones obtenidas anteriormente, más concretamente de la inclinación lateral o banking en inglés. Para ello, debido a que los efectos de la inclinación lateral sobre la aceleración longitudinal son mínimos, se ha considerado solo la aceleración lateral para los cálculos que siguen.

Figura 6.11. Giro con inclinación lateral. Vista posterior.

Observando la Figura 6.11, se puede ver que la aceleración que siente el vehículo en su eje Y no es exactamente la lateral debido a la inclinación del terreno. Por ello, es necesaria una transformación de esta mediante trigonometría.

퐴푌 cos 훼 = 퐴훼

(Ec. 6.26)

52 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Por lo que

퐴푌 퐴 = 훼 cos 훼

(Ec. 6.27)

Tal y como muestra la Figura 6.11, uno de los efectos de la inclinación lateral del terreno es cambiar las componentes del peso del vehículo. Descomponiendo primero la fuerza centrífuga se obtiene que

′ 퐹푦 = −퐹훼 cos 훼

(Ec. 6.28)

′ 퐹푧 = 퐹훼 sin 훼

(Ec. 6.29)

Aplicando ahora equilibrio de fuerzas en los ejes Y y Z

퐹푦 = −퐹훼 cos 훼 + 푊 sin 훼

(Ec. 6.30)

퐹푧 = 퐹훼 sin 훼 + 푊 cos 훼

(Ec. 6.31)

Para el caso particular de 훼 = 0 se tendría que cos 훼 = 1 y sin 훼 = 0, por lo que las expresiones anteriores quedarían como en el caso de superficie plana horizontal.

퐹푦 = −푊 퐴훼

퐹푧 = 푊

Sabiendo que 퐹훼 = 푊 퐴훼, se puede sustituir en la (Ec. 6.30) y la (Ec. 6.31) para extraer factor común y simplificar así las expresiones

53 Memoria

퐹푦 = 푊 (−퐴훼 cos 훼 + sin 훼)

(Ec. 6.32)

퐹푧 = 푊 (퐴훼 sin 훼 + cos 훼)

(Ec. 6.33)

Por lo que los efectos que tendría la inclinación lateral del vehículo en el eje Z cambiarían el peso del mismo tal que

′ 푊 = 푊 (퐴훼 sin 훼 + cos 훼)

(Ec. 6.34)

Que expresado como las reparticiones delantera y trasera quedaría

푏 푏 푊′ = 푊′ = 푊 (퐴 sin 훼 + cos 훼) 퐹 푙 훼 푙

(Ec. 6.35)

푎 푎 푊′ = 푊′ = 푊 (퐴 sin 훼 + cos 훼) 푅 푙 훼 푙

(Ec. 6.36)

Y finalmente, los efectos que tendría el banking en la transferencia de carga lateral debido a la aceleración lateral modificarían la (Ec. 6.20) y la (Ec. 6.21) tal que

푊 퐻 퐾퐹 푏 Δ푊퐹 = (퐴훼 cos 훼 − sin 훼) [ + 푧푅퐹] 푡퐹 퐾퐹 + 퐾푅 푙

(Ec. 6.37)

푊 퐻 퐾푅 푎 Δ푊푅 = (퐴훼 cos 훼 − sin 훼) [ + 푧푅푅] 푡푅 퐾퐹 + 퐾푅 푙

(Ec. 6.38)

54 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

El criterio de signos utilizado respecto a la transferencia de carga se mantiene, al igual que la hipótesis de 1 masa.

6.3.5. Efectos de la inclinación longitudinal o pendiente (grade)

Tal y como se observa en la Figura 6.12 y de forma similar a la inclinación lateral del terreno, la inclinación longitudinal causa una descomposición del vector del peso total del vehículo, ya que este sigue apuntando al centro de la Tierra pero el sistema de coordenadas se ha inclinado junto con el vehículo.

Figura 6.12. Efecto de la pendiente.

Aplicando equilibrio de fuerzas en el eje Z

′ ′ 푊퐹 + 푊푅 = 푊 cos 휃

(Ec. 6.39)

55 Memoria

Y realizando momentos sobre el punto O

푎 ℎ 푊′ = 푊 cos 휃 + 푊 (퐴 + sin 휃) 푅 푙 푙 푋

(Ec. 6.40)

Sustituyendo en la (Ec. 6.39)

푏 ℎ 푊′ = 푊 cos 휃 − 푊 (퐴 + sin 휃) 퐹 푙 푙 푋

(Ec. 6.41)

Para el caso particular de 퐴푋 = 0 y 휃 = 0, se tendría que cos 훼 = 1 y sin 훼 = 0, por lo que las expresiones anteriores quedarían

푏 푊′ = 푊 퐹 푙

푎 푊′ = 푊 푅 푙

Por lo tanto, las transferencias de carga entre las ruedas delanteras y traseras debidas a la inclinación longitudinal del terreno y a la aceleración longitudinal serían

푏 ℎ ∆푊 = 푊′ − 푊 = 푊 (cos 휃 − 1) − 푊 (퐴 + sin 휃) 퐹 퐹 퐹 푙 푙 푋

(Ec. 6.42)

푎 ℎ ∆푊 = 푊′ − 푊 = 푊 (cos 휃 − 1) + 푊 (퐴 + sin 휃) 푅 푅 푅 푙 푙 푋

(Ec. 6.43)

56 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

6.3.6. Cargas aerodinámicas del vehículo

Para el cálculo de la aerodinámica del vehículo se considerarán diversas suposiciones: • Solo se considera el aire frontal que llega al automóvil, y este tendrá una velocidad de mismo módulo y sentido opuesto a la velocidad del vehículo. • No se considera la posibilidad de viento ni lateral, ni en la dirección del propio vehículo ya que, aparte de dificultar en gran medida los cálculos, no existe una forma precisa de medir estos datos. • Debido al punto anterior y a que se ha considerado previamente que el coche presenta una simetría de derecha a izquierda, el momento de balanceo causado por el viento será nulo. Además, la causa principal de la aparición de un momento de guiñada es el viento lateral, por lo que este último también valdrá 0. • En definitiva, las únicas cargas que se tendrán en cuenta serán las fuerzas de drag y lift, y el momento de cabeceo.

Como se ha visto en el apartado de los fundamentos teóricos básicos de la aerodinámica, las fórmulas para calcular las cargas presentadas son

2 퐶퐿 𝜌 푢 퐴 퐿 = 2

(Ec. 6.44)

2 퐶퐷 𝜌 푢 퐴 퐷 = 2

(Ec. 6.45)

2 퐶푃푀 𝜌 푢 퐴 푙 푃푀 = 2

(Ec. 6.46)

Donde

퐶퐿 = 푐표푒푓푖푐푖푒푛푡푒 푎푑푖푚푒푛푠푖표푛푎푙 푑푒 푙푖푓푡

퐶퐷 = 푐표푒푓푖푐푖푒푛푡푒 푎푑푖푚푒푛푠푖표푛푎푙 푑푒 푑푟푎푔

퐶푃푀 = 푐표푒푓푖푐푖푒푛푡푒 푎푑푖푚푒푛푠푖표푛푎푙 푑푒 푚표푚푒푛푡표 푑푒 푐푎푏푒푐푒표

57 Memoria

푘푔 𝜌 = 푑푒푛푠푖푑푎푑 푑푒푙 푎푖푟푒 ( ) 푚3

푚 푢 = 푣푒푙표푐푖푑푎푑 푙표푛푔푖푡푢푑푖푛푎푙 푑푒푙 푣푒ℎí푐푢푙표 ( ) 푠

퐴 = á푟푒푎 푑푒 푟푒푓푒푟푒푛푐푖푎 푢푡푖푙푖푧푎푑푎 푝푎푟푎 푐푎푙푐푢푙푎푟 푙표푠 푐표푒푓푖푐푖푒푛푡푒푠 푎푑푖푚푒푛푠푖표푛푎푙푒푠 (푚2)

푙 = 푑푖푠푡푎푛푐푖푎 푒푛푡푟푒 푒푗푒푠 표 푏푎푡푎푙푙푎 (푚)

Debido a las físicas subyacentes de estas cargas, es habitual combinar la fuerza de lift y el momento de cabeceo y separarlas luego en una componente delantera y otra trasera de forma que

2 퐶퐿퐹 𝜌 푢 퐴 퐿퐹 = 2

(Ec. 6.47)

2 퐶퐿푅 𝜌 푢 퐴 퐿푅 = 2

(Ec. 6.48)

Donde los coeficientes adimensionales de lift frontal (퐶퐿퐹) y trasero (퐶퐿푅) se han calculado como

퐶퐿 퐶 = + 퐶 퐿퐹 2 푃푀

(Ec. 6.49)

퐶퐿 퐶 = − 퐶 퐿푅 2 푃푀

(Ec. 6.50)

Para calcular la influencia que tendría el drag en la transferencia de carga basta con aplicar momentos en el punto O (Figura 6.13).

ℎ퐷 ∆푊 = 퐷 퐷 푙

(Ec. 6.51)

58 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 6.13. Afectación de la carga aerodinámica de drag en el vehículo.

Esta transferencia de carga se sumaría en las ruedas traseras y se restaría en las delanteras. Las fuerzas de lift se sumarían en cada eje respectivamente. Además, cada una de las cargas se tendrían que dividir entre 2 debido a la simetría que presenta el vehículo de izquierda a derecha. Cabe destacar que se está trabajando con kg en vez de Newtons, por lo que antes de aplicar las cargas habría que dividirlas entre la aceleración gravitatoria (9.81 m/s2). Teniendo en cuenta todo lo anterior y aplicando superposición, la expresión final para cada rueda quedaría:

1 ℎ퐷 1 퐿퐹 ∆푊 = ∆푊 = −퐷 + 1 2 2 9.81 푙 2 9.81

(Ec. 6.52)

1 ℎ퐷 1 퐿푅 ∆푊 = ∆푊 = 퐷 + 3 4 2 9.81 푙 2 9.81

(Ec. 6.53)

6.3.7. Cargas aerodinámicas del alerón

Las últimas fuerzas a tratar son las producidas por el alerón del automóvil. Antes de realizar cálculos, cabe recordar que el principio de superposición se puede aplicar cuando las variables implicadas en ello son lineales (por ejemplo, con las fuerzas y momentos). No obstante, esta condición no se cumple con los coeficientes adimensionales que rigen la aerodinámica y el comportamiento de sus fuerzas. En otras palabras, la presencia o no del alerón modifica toda la aerodinámica del vehículo, incluidos los coeficientes utilizados en el apartado anterior. Sin embargo, debido a que estos cambios no son

59 Memoria

excesivamente significativos y que este trabajo no profundiza tanto en estas propiedades como para necesitar observar los cambios de la aerodinámica global del automóvil para cada posición del alerón, se tratarán ambas aerodinámicas por separado y posteriormente se agruparán mediante superposición.

El alerón equipado consta de 3 zonas (Figura 6.14): • Zona izquierda (1): móvil y de longitud 0.75 metros. • Zona media (m): fija y de longitud 0.3 metros. • Zona derecha (2): móvil y de longitud 0.75 metros.

Figura 6.14. Vista en planta del alerón. Unidades en mm.

El hecho de que las zonas laterales se puedan mover independientemente es el punto de mayor complejidad del apartado, ya que esto genera asimetría de las cargas y por lo tanto momentos.

Para el cálculo de la aerodinámica del alerón se han considerado las mismas suposiciones que para la del vehículo, añadiendo las siguientes variaciones: • Debido a la asimetría geométrica de izquierda a derecha, el vehículo experimentará momentos de balanceo, cabeceo y guiñada. No obstante, debido a que el momento de guiñada es producido únicamente por la fuerza de drag (una fuerza mucho menor que la de lift) se ha considerado despreciable. • En definitiva, las cargas que se tendrán en cuenta serán las fuerzas de drag y lift. Los momentos de balanceo y cabeceo se han obtenido a partir del equilibrio de fuerzas y momentos del modelo, y el momento de guiñada se ha considerado nulo. • Las fuerzas de arrastre y sustentación producidas por cada parte del alerón están aplicadas en el centro de presiones de su zona. Estos 3 centros se consideran fijos, alineados a lo largo de la dirección Y y cada uno de ellos en la parte media de su zona. La variación de el ángulo de ataque de las partes móviles modifica la posición del centro de presiones, pero este desplazamiento es tan pequeño en comparación con la distancia del alerón a los ejes de las ruedas que puede considerarse despreciable.

60 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

La primera operación realizada ha sido la traslación de las fuerzas de drag y lift producidas por las zonas laterales del alerón al plano medio del vehículo. La traslación horizontal de la fuerza de Drag genera un momento de guiñada, el cual ya se ha indicado que se considera nulo. La traslación horizontal de la fuerza de lift genera un momento de balanceo, el cual equivale a

(퐿1 − 퐿2) 푀 = 푑 푏 2

(Ec. 6.54)

Donde d es la distancia entre los puntos de aplicación de las fuerzas de lift, la cual vale 1.05 m.

Si la zona izquierda del alerón está más cargada que la derecha, se generará un momento positivo que cargará más las ruedas de la izquierda (1 y 3). Este momento está distribuido en los ejes delantero y trasero de manera proporcional a las rigideces de balanceo.

Una vez trasladadas todas las fuerzas al plano medio del vehículo y recordando la hipótesis de que todos los centros de presiones estaban alineados, es posible sumarlas obteniendo así dos únicas fuerzas resultantes.

퐷푇 = 퐷1 + 퐷푚 + 퐷2

(Ec. 6.55)

퐿푇 = 퐿1 + 퐿푚 + 퐿2

(Ec. 6.56)

El cálculo de cada una de estas fuerzas individuales se haría igual que en el apartado anterior. Atendiendo ahora al modelo del vehículo (Figura 6.15), si se aplican momentos en el punto O y se impone equilibrio de fuerzas:

퐿푇 푟 + 퐷푇 ℎ퐷 ∆푊 = − 퐹 푙

(Ec. 6.57)

61 Memoria

퐿푇 푟 + 퐷푇 ℎ퐷 ∆푊 = + 퐿 푅 푙 푇

(Ec. 6.58)

Figura 6.15. Afectación de las cargas aerodinámicas del alerón.

Considerando el criterio de signos seguido a lo largo de los apartados anteriores y aplicando superposición, se tendría que las afectaciones de carga para cada rueda del vehículo son:

1 퐿푇 푟 + 퐷푇 ℎ퐷 퐾퐹 1 (퐿1 − 퐿2) ∆푊1 = − + 푑 2 9.81 푙 퐾퐹 + 퐾푅 2 9.81 푡퐹

(Ec. 6.59)

1 퐿푇 푟 + 퐷푇 ℎ퐷 퐾퐹 1 (퐿1 − 퐿2) ∆푊2 = − − 푑 2 9.81 푙 퐾퐹 + 퐾푅 2 9.81 푡퐹

(Ec. 6.60)

1 퐿푇 푟 + 퐷푇 ℎ퐷 1 퐿푇 퐾푅 1 (퐿1 − 퐿2) ∆푊3 = + + 푑 2 9.81 푙 2 9.81 퐾퐹 + 퐾푅 2 9.81 푡푅

(Ec. 6.61)

62 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

1 퐿푇 푟 + 퐷푇 ℎ퐷 1 퐿푇 퐾푅 1 (퐿1 − 퐿2) ∆푊4 = + − 푑 2 9.81 푙 2 9.81 퐾퐹 + 퐾푅 2 9.81 푡푅

(Ec. 6.62)

6.3.8. Superposición de cargas

Finalmente, agrupando todas las posibles transferencias de carga impulsadas en el vehículo debido a: - Aceleración e inclinación laterales - Aceleración e inclinación longitudinales - Aerodinámica del vehículo - Aerodinámica del alerón

Y aplicando el criterio de signos escogido, la carga para cada rueda del automóvil variaría de la siguiente forma:

푏 푊 퐻 퐾퐹 푏 ∆푊1 = [(푊 (퐴훼 sin 훼 + cos 훼 − 1) )⁄2 + (퐴훼 cos 훼 − sin 훼) [ + 푧푅퐹]] + 푙 푡퐹 퐾퐹 + 퐾푅 푙

푏 ℎ + [(푊 (cos 휃 − 1) − 푊 (퐴 + sin 휃))⁄2] + 푙 푙 푋

1 ℎ퐷 1 퐿퐹 + [−퐷 + ] + 2 9.81 푙 2 9.81

1 퐿푇 푟 + 퐷푇 ℎ퐷 퐾퐹 1 (퐿1 − 퐿2) + [− + 푑] 2 9.81 푙 퐾퐹 + 퐾푅 2 9.81 푡퐹

(Ec. 6.63)

푏 푊 퐻 퐾퐹 푏 ∆푊2 = [(푊 (퐴훼 sin 훼 + cos 훼 − 1) )⁄2 − (퐴훼 cos 훼 − sin 훼) [ + 푧푅퐹]] + 푙 푡퐹 퐾퐹 + 퐾푅 푙

푏 ℎ + [(푊 (cos 휃 − 1) − 푊 (퐴 + sin 휃))⁄2] + 푙 푙 푋

1 ℎ퐷 1 퐿퐹 + [−퐷 + ] + 2 9.81 푙 2 9.81

1 퐿푇 푟 + 퐷푇 ℎ퐷 퐾퐹 1 (퐿1 − 퐿2) + [− − 푑] 2 9.81 푙 퐾퐹 + 퐾푅 2 9.81 푡퐹

(Ec. 6.64)

63 Memoria

푎 푊 퐻 퐾푅 푎 ∆푊3 = [(푊 (퐴훼 sin 훼 + cos 훼 − 1) )⁄2 + (퐴훼 cos 훼 − sin 훼) [ + 푧푅푅]] + 푙 푡푅 퐾퐹 + 퐾푅 푙

푎 ℎ + [(푊 (cos 휃 − 1) + 푊 (퐴 + sin 휃))⁄2] + 푙 푙 푋

1 ℎ퐷 1 퐿푅 + [퐷 + ] + 2 9.81 푙 2 9.81

1 퐿푇 푟 + 퐷푇 ℎ퐷 1 퐿푇 퐾푅 1 (퐿1 − 퐿2) + [ + + 푑] 2 9.81 푙 2 9.81 퐾퐹 + 퐾푅 2 9.81 푡푅

(Ec. 6.65)

푎 푊 퐻 퐾푅 푎 ∆푊4 = [(푊 (퐴훼 sin 훼 + cos 훼 − 1) )⁄2 − (퐴훼 cos 훼 − sin 훼) [ + 푧푅푅]] + 푙 푡푅 퐾퐹 + 퐾푅 푙

푎 ℎ + [(푊 (cos 휃 − 1) + 푊 (퐴 + sin 휃))⁄2] + 푙 푙 푋

1 ℎ퐷 1 퐿푅 + [퐷 + ] + 2 9.81 푙 2 9.81

1 퐿푇 푟 + 퐷푇 ℎ퐷 1 퐿푇 퐾푅 1 (퐿1 − 퐿2) + [ + − 푑] 2 9.81 푙 2 9.81 퐾퐹 + 퐾푅 2 9.81 푡푅

(Ec. 6.66)

64 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

7. Implementación en el modelo

7.1. Elementos de control

Una vez aclarado el objetivo de control y vista la magnitud de los cálculos matemáticos a realizar por la unidad encargada de ello para obtener las variables deseadas de salida en función de las entradas al sistema, es momento de implementar todo ese sistema en una unidad física. Cabe destacar que se llevarán a cabo dos instalaciones distintas finales: un producto real, objeto de estudio del presente proyecto, incluido dentro del marco de un vehículo; y una maqueta a escala 1:3 con finalidad didáctica. Este segundo entorno, al carecer de un marco adecuado para proveer de manera dinámica los sensores que controlan el funcionamiento del sistema aerodinámico activo tales como aceleraciones y velocidades, tendrá un hardware específico pensado para poder simular de manera realista las condiciones cambiantes de un vehículo en marcha: el equipo de cómputo será común, pero la parte de sensórica y actuadores diferirá en función de si se implementará en el modelo real o en la maqueta.

Volviendo al equipo común, este debe de ser de pequeñas dimensiones, ya que irá ubicado en el propio vehículo, a ser posible en una localización cercana al propio alerón; también debe poseer la potencia de cálculo necesaria para poder realizar las operaciones aritméticas vistas con anterioridad, las cuales no son triviales; adicionalmente, este equipo debe disponer del hardware necesario para poder interactuar con los sensores encargados de proporcionar información sobre la situación del vehículo, asimismo como poder dar señales de salida a los actuadores que articularán las partes móviles del sistema aerodinámico activo. Por lo tanto, se necesita de un microcontrolador o microprocesador con hardware apropiado para poder leer/escribir señales (I/O) y una arquitectura suficiente para la carga requerida. Dados estos requisitos, se ha seleccionado el microprocesador Raspberry Pi para ejecutar las operaciones matemáticas y el microcontrolador Arduino para llevar a cabo las tareas que requieren lecturas de datos y/o escrituras analógicas.

Raspberry Pi es un ordenador de placa única (SBC, por sus siglas en inglés, Single Board Computer), es decir, un ordenador con todos sus componentes (procesador, memoria, puertos, etc.) distribuidos en una sola placa, en este caso de unas dimensiones muy reducidas, aproximadamente el tamaño de una tarjeta de crédito. El componente más importante de este equipo es un procesador de cuatro núcleos y arquitectura ARM de 64 bits, capaz de funcionar a frecuencias hasta 1,2 gigahercios, apoyado también por 1 gigabyte de RAM. Esta placa dispone también de 40 pines de entrada/salida, capaces de leer y escribir señales digitales a altas frecuencias, además de tener hardware específico dedicado a distintos protocolos estándares de comunicación entre dispositivos. Adicionalmente, Raspberry Pi cuenta con comunicación inalámbrica WiFi y Bluetooth, muy conveniente en caso de tener que

65 Memoria

modificar algún parámetro sin tener que acceder físicamente al propio equipo. La idoneidad de estas características, combinadas con la gran comunidad y recursos que apoyan esta plataforma, hacen de Raspberry Pi el candidato perfecto para llevar a cabo la parte más ardua de la implementación electrónica de este proyecto.

Figura 7.1. Raspberry Pi 3 Model B.

Este microprocesador, a diferencia de microcontroladores como Arduino, necesita de un sistema operativo que gobierne todo el hardware y software. En el caso de Raspberry Pi, el sistema operativo oficial proporcionado por la misma fundación que distribuye la placa se llama Raspbian, y es una distribución Linux basada en Debian y optimizada para las características singulares de este dispositivo. El lenguaje de programación escogido para este proyecto ha sido Python, dada su adecuación a esta plataforma y las innumerables librerías con enfoque científico desarrolladas por la comunidad y disponibles para su uso.

Por otro lado, Arduino es una plataforma de desarrollo entorno a un microcontrolador de arquitectura AVR de 8 bits, mucho menos potente en cuanto a procesamiento y cálculo que Raspberry Pi pero más adecuado en cuanto a lectura y escritura de señales debido a la simplicidad de su estructura. La característica más importante de Arduino de cara a este proyecto, la cual falta en Raspberry Pi, es la capacidad para procesar señales analógicas gracias al DAC (Digital-Analog Converter) incorporado: esto será necesario para recoger datos de posición (normalmente obtenidos mediante potenciómetros), tanto de los actuadores como de posibles sistemas para simular entradas (en el caso del modelo a escala). El lenguaje de programación sobre el que se basa la plataforma Arduino es una versión modificada de C/C++, por lo que la parte de código relacionada con este equipo deberá usar este lenguaje.

66 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 7.2. Arduino UNO R3.

7.2. Protocolo de comunicación

Con tal de comunicar ambos sistemas para la transmisión de datos entre ellos, y dado que cada parte tiene unas características internas distintas, es necesario el uso de un protocolo de comunicación estandarizado y soportado por ambos equipos (y potencialmente por todos los sensores y/o actuadores que lo requieran). Tanto Arduino como Raspberry Pi disponen de manera nativa de soporte en hardware para comunicación UART, SPI e I2C, por lo que la elección del protocolo recae en la funcionalidad e idoneidad del proyecto.

UART, siendo el protocolo más antiguo de los mencionados, ha quedado desplazado por los demás estándares, mucho más avanzados en cuanto a velocidad de transmisión y facilidad de uso. Las diferencias más relevantes entre SPI e I2C radican en la velocidad de transmisión, la cantidad de líneas necesarias para la comunicación, la escalabilidad del número de dispositivos adheridos al bus de datos y la versatilidad de funciones. En la Tabla 7.1 se pueden ver las diferencias en estos ámbitos entre los protocolos mencionados:

67 Memoria

SPI I2C

Velocidad de transmisión máxima Sin límite (10-20 Mbps) 3.4 Mpbs

Número de líneas de bus 3+n (n = número de 2 dispositivos)

Tipo de comunicación Maestro-esclavo (Multi)-maestro-escalvo Tabla 7.1. Comparativa entre los protocolos bus SPI e I2C.

En vista de las características anteriores, y siendo las más relevante de ellas para el actual proyecto el número de líneas necesarias para la comunicación, ya que estarán en zonas abiertas a las condiciones atmosféricas e inclemencias del tiempo, el protocolo seleccionado para la comunicación entre sistemas es I2C.

Este estándar de comunicación bus, inter-integrated circuit en inglés, fue creado en 1982 por Philips, y se ha ido extendiendo poco a poco como uno de los protocolos más usados entre componentes de un mismo circuito. Se trata de una comunicación basada en la relación maestro-esclavo, donde uno o varios participantes, llamados maestros, solicitan o envían datos a los demás participantes del bus, llamados esclavos, que solo actúan bajo demanda de los maestros. Toda esta comunicación se lleva a cabo en solo 2 líneas de bus comunes, SDA (serial data) y SCL (serial clock), encargadas de transmitir los datos y de proporcionar la frecuencia de reloj, respectivamente. Los bits se transmiten de manera síncrona a la frecuencia de pulsos a través de la línea SDA: esta línea, que normalmente está a un voltaje concreto asociado al nivel lógico alto (proporcionado por el maestro), se puede llevar a un nivel lógico bajo (correspondiente al voltaje referencia de 0 V) tanto por el maestro como por los esclavos, permitiendo así el envío y recepción de secuencias de datos. Estas secuencias tienen una estructura común, incluyendo, a parte de los datos en sí, una dirección única de 7 bits que se encarga de seleccionar qué dispositivo es el encargado de comunicarse con el maestro en cada transmisión.

Figura 7.3. Estructura de comunicación I2C.

68 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Ambos dispositivos, Arduino y Raspberry Pi, son capaces de ejercer tanto de maestro como de esclavo en un bus I2C. No obstante, el nivel lógico alto de Arduino equivale a 5 V, mientras que el nivel lógico alto de Raspberry Pi corresponde a 3,3 V, no aceptando este último equipo voltajes superiores en los pines de conexión. Esta limitación obliga a esta última placa a actuar como maestro: si Arduino llevase a cabo ese trabajo, al conectar la línea de bus al pin de Raspberry Pi este último se dañaría.

7.3. Sensores

Visto el equipo electrónico encargado de procesar los datos y calcular en tiempo real las salidas adecuadas para la situación en que se encuentre el vehículo, se pasará a hablar de los sistemas designados para recoger datos y parámetros, sensores.

Como se ha comentado en apartados anteriores, el lazo de control recibe 7 entradas (2 de ellas analógicas y 5 digitales) que dan cuenta de la situación dinámica del vehículo: ángulo del perfil aerodinámico izquierdo, ángulo del perfil aerodinámico derecho, aceleración en el eje X del vehículo, aceleración en el eje Y, inclinación en el eje X, inclinación en el eje Y y velocidad del vehículo. El origen de estas señales será diferente según la implementación sea la final en el vehículo o la maqueta.

En el caso del producto final, todas las aceleraciones e inclinaciones vienen proporcionadas por una unidad de medición inercial o IMU (Inertial Measurement Unit, en inglés) que combina acelerómetro y giroscopio; la velocidad es la única señal dada por un pequeño módulo GPS incorporado en el sistema; y, por último, los ángulos de ambos elementos aerodinámicos móviles provienen de los potenciómetros incorporados en los actuadores correspondientes. En la maqueta, en cambio, las aceleraciones y velocidad vienen simuladas por las entradas de un joystick analógico, mientras que las inclinaciones provienen del mismo IMU utilizado en el producto final y los ángulos de ambos perfiles móviles se tratan como variables internas obtenidas a partir de las variables de salida de bucles anteriores (no son entradas físicas como tal). Se pasará ahora a describir con más detalle todos los sensores que proveen entradas en ambos entornos.

7.3.1. Unidad de medición inercial

La unidad de medición inercial utilizada cuenta con un acelerómetro triaxial y un giroscopio triaxial, ambos basados en la tecnología MEMS. MEMS son las siglas en inglés de MicroElectroMechanical System, y hace referencia a la tecnología que aplica sistemas mecánicos y eléctricos de tamaño comprendido entre una micra y un milímetro. A estas dimensiones, las propiedades físicas dominantes son distintas a las de un objeto de tamaño ordinario, aportándole a estos sistemas características

69 Memoria

únicas muy útiles. En el caso concreto de los acelerómetros y giroscopios, la tecnología MEMS se emplea para fabricar complejas estructuras tridimensionales vibratorias que, ante alteraciones mínimas de la aceleración o la velocidad de giro, producen variaciones eléctricas medibles.

Figura 7.4. Estructura MEMS utilizada en sensores de teléfonos móviles.

La unidad de medición inercial incorporada en el presente proyecto (InvenSense MPU-6050) cuenta con un acelerómetro capaz de variar su escala de manera configurable entre ±2 g y ±16 g, además de un giroscopio también capaz de variar su escala entre ±250º/s y ±2000º/s. Una característica clave de este producto es la incorporación de un procesador de movimiento digital (DMP, Digital Movement Processor) capaz de realizar en tiempo real operaciones con las lecturas del acelerómetro y giroscopio, de manera programable también: con la implementación del correcto algoritmo, el DMP puede devolver en tiempo real, a parte de las medidas de aceleración y velocidad angular, las inclinaciones en los 3 ejes respecto una posición dada. Por lo tanto, en la implementación en un vehículo real se pueden llegar a obtener todas las aceleraciones e inclinaciones con un único sistema que, montado en la placa GY-521 (que incorpora un regulador de voltaje para admitir alimentaciones superiores a los 5 V), no ocupa más que una moneda.

70 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 7.5. Unidad inercial MPU-6050, en comparación con una moneda.

Esta unidad de medición inercial se comunica mediante el estándar bus elegido para este proyecto, I2C, por lo que su incorporación dentro del equipo electrónico no presenta, a priori, ningún problema aparente.

7.3.2. Módulo GPS

La velocidad es una variable muy importante ya que de ella depende en gran medida el comportamiento de los distintos elementos aerodinámicos que se incluyen en este proyecto. El método más preciso para conocer la velocidad relativa respecto el aire es la utilización de una sonda de Pitot o Prandtl, que miden la presión dinámica y, a partir de variables atmosféricas, calculan con gran exactitud la velocidad incidente del fluido. Esta solución, sin embargo, conlleva ciertas desventajas en su implementación en un vehículo: necesidad de albergar tubos con fluido en su interior, instalación de la sonda Pitot / Prandtl en el exterior de la carrocería y en una zona en la que al aire incidente se encuentre sin perturbar, etc. Por todos estos motivos se ha decidido utilizar un método más sencillo aún y perder cierta precisión en la medición: un módulo GPS, en concreto el NEO-6M de u-blox, incorporado en la placa GY-GPS6MV2. Este elemento, de dimensiones muy reducidas, es capaz de obtener su posición (con un error máximo de 2,5 metros) a partir de la trilateración inversa con un mínimo de tres satélites: esto consiste en deducir la distancia que separa a cada uno de estos satélites del receptor teniendo en cuenta el tiempo que emplea una determinada onda en llegar desde el emisor hasta el receptor. Este método y su aplicación concreta en el módulo escogido son muy precisos, llegando a poder calcular la velocidad (tanto módulo como sentido) con una precisión de nada menos que ±0,5 m/s. Toda la información disponible será enviada por comunicación Serial al Arduino, que después de tratarla adecuadamente transferirá las variables de interés a la Raspberry Pi.

71 Memoria

Figura 7.6. Módulo GPS con su correspondiente antera receptora.

7.3.3. Potenciómetro

La posición real del actuador se puede conocer en todo momento gracias a la incorporación de un potenciómetro deslizante que registra la carrera que el vástago realiza. Un potenciómetro está formado por dos resistencias en serie el valor de las cuales es variable de manera mecánica. Los terminales se encuentran conectados a ambos lados de las dos resistencias, disponiendo así de tres terminales (dos extremos y un central entre las dos resistencias). La resistencia total entre los dos terminales extremos es fija, ya que la suma de los valores en serie de ambas resistencias es constante; sin embargo, el valor independiente de cada una de ellas sí que varía según la acción mecánica de usuario (en el caso del actuador según la posición del vástago). Aplicando una determinada diferencia de potencial entre los terminales extremos el sistema se convierte en un divisor de tensión, por lo que leyendo las lecturas de potencial del terminal central se puede llegar a deducir (una vez calibrado el sensor) la posición lineal del actuador.

Figura 7.7. Representación interna de un potenciómetro como dos resistencias en serie.

72 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

7.3.4. Joystick

Para simular de manera realista e intuitiva las aceleraciones sufridas por el vehículo de cara a la implementación de control en la maqueta didáctica se usará un joystick analógico (placa KY-023) con botón digital central. Esto se hace así ya que es muy difícil aplicar una aceleración de valor considerable y constante en el tiempo a un acelerómetro real (tal y como ocurriría en un vehículo real). En definitiva, un joystick consta de dos potenciómetros dispuestos de manera perpendicular en los dos ejes sobre los que se puede llegar a mover la seta, la señal analógica de salida de los cuales pasa de un valor mínimo a otro máximo en cada eje en función de donde se coloque la seta. Adicionalmente, si se pulsa el elemento de control contra la superficie de apoyo se presiona un interruptor sencillo, la salida digital del cual también se puede leer. Las lecturas analógicas de este equipo son, en parte, la causa de la obligatoriedad del Arduino en la implementación electrónica.

Figura 7.8. Joystick.

Con este se cierra el grupo de sensores incorporados en la parte electrónica de control del sistema de aerodinámica activa, pasando a continuación a comentar uno a uno los actuadores.

7.4. Actuadores

El lazo de control da como salidas dos variables: los ángulos óptimos de ataque de ambos elementos aerodinámicos móviles. Para pasar de un dato en forma de señal eléctrica a un movimiento real del alerón se necesita un elemento actuador. La selección de dicho elemento en el sistema variará en función de si se trata de la implementación real en el vehículo o en la maqueta didáctica. Esto se debe a las distintas necesidades y restricciones que hay en cada uno de los casos.

73 Memoria

7.4.1. Actuador lineal

En la implementación real en el vehículo se necesita un actuador capaz de soportar y vencer fuerzas opositoras de grandes magnitudes: como se ha podido apreciar en los resultados de las simulaciones estructurales llevadas a cabo mediante el método de elementos finitos (apartado Análisis estructural de [2]), en una situación crítica de frenado a alta velocidad el elemento actuador debe soportar más de 6 kN de fuerza. Dicho requisito se une a la necesidad de una alta velocidad de respuesta a las órdenes dadas, para así poder reaccionar a tiempo a las condiciones dinámicas cambiantes del vehículo. Estos dos motivos han sido el principal criterio de selección de actuador en la implementación real, aunque no los únicos; el proceso de selección se encuentra explicado de manera más detallada en el apartado Selección de elementos actuadores de [2].

Siguiendo el proceso detallado en el apartado citado se ha concluido que un actuador lineal de alta carga alimentado a 24 V en corriente continua es la mejor opción en cuanto a elemento actuador en la implementación real en el vehículo.

Un actuador lineal es un conjunto de elementos formado por un motor eléctrico, un seguido de engranajes reductores, un sistema de transmisión de potencia y un vástago: el momento generado por el motor eléctrico es transmitido a través de los distintos grupos de engranajes, encargados de multiplicar su par (a cambio de perder velocidad angular); el sistema de transmisión se encarga de convertir el movimiento rotatorio de los engranajes en un movimiento lineal del vástago, que es el elemento actuador como tal. Dependiendo de la potencia del motor eléctrico, la relación de transmisión entre los diferentes pares de engranajes reductores y el número de estos, los materiales empleados en dichos engranajes y el sistema de transmisión de movimiento, un actuador lineal ofrecerá unas prestaciones u otras, debiendo el usuario escoger el actuador más apto para cada uso en particular.

74 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 7.9. Componentes internos de un actuador lineal.

El elegido para la aplicación en el vehículo, SKF CAHM-3510-BN0100-D2-R0P-000, cuenta con un motor eléctrico de 720 W de potencia, una transmisión metálica que proporciona una relación final de 10 y un sistema de husillo de bolas y tornillo sin fin para la conversión de la rotación en traslación. La combinación de todos estos elementos permite mover el vástago a una velocidad máxima de 37 mm/s, viéndose esta disminuida a 27 mm/s en caso de soportar la carga máxima de 10 kN.

La alimentación de este actuador lineal se realiza mediante solo dos terminales, los cuales en recibir una diferencia de potencial adecuada (24 V a corriente continua) hacen girar el motor eléctrico en su sentido de giro habitual; con tal de realizar un movimiento en el sentido contrario solo se debe invertir la polaridad aplicada a los terminales de alimentación. Este modo de actuación solo habilita el actuador lineal para realizar movimientos completos desde su posición replegada hasta su posición desplegada y viceversa, sin posibilidad de regulación más precisa. Es por ello que se necesita de un elemento de respuesta (también llamado feedback) como es el potenciómetro anteriormente comentado. Este añade tres terminales más al conjunto del actuador lineal, que acaba contando con cinco cables para su regulación y uso.

75 Memoria

Figura 7.10. Actuador lineal escogido.

La alta carga que es capaz de soportar el actuador del sistema implica una corriente eléctrica considerable, que puede llegar hasta los 30 A a máxima carga. El control de un sistema con tales características es impensable de implementar en un microcontrolador como Arduino solamente, ya que este no es capaz de proporcionar ni una centésima parte de la corriente necesaria; tampoco se puede conectar directamente el actuador lineal a una fuente de alimentación, ya que se perdería la capacidad de control y su implementación sería inútil. Es por ello que se ha incorporado un elemento de control del motor apto para tales trabajos, el cual será el encargado de proporcionar la energía necesaria en cada momento al actuador lineal siguiendo las órdenes de un microcontrolador, en este caso de un Arduino.

7.4.2. Controlador de motor

El controlador de motor escogido, Cytron MD30C R2, es un circuito integrado que se sitúa entre la fuente de alimentación y el actuador lineal y cuenta con los suficientes componentes electrónicos para poder convertir las órdenes que recibe de un microcontrolador externo (velocidad y sentido de giro) en una salida apta para motores eléctricos de dos terminales. Esta conversión se realiza a partir de la utilización de transistores de efecto de campo metal-óxido-semiconductor (MOSFET) de tipo N, los cuales permiten la coexistencia de dos circuitos independientes, uno de control y otro de actuación, siendo el primero de baja potencia y el segundo de alta potencia. Los transistores MOSFET son más eficientes energéticamente y rápidos que un supuesto sistema formado por relés, además de silenciosos.

76 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 7.11. Controlador de motor escogido.

La entrada que recibe para controlar el sentido de giro del motor es digital, por lo que solo puede aceptar dos valores lógicos, cada uno correspondiente a un sentido de giro; la velocidad de rotación, a pesar de representar un rango analógico, se transmite mediante otra señal digital a través de la técnica de modulación por ancho de pulsos, también conocida como PWM (pulse-width modulation). Esta consiste en la transmisión de una señal digital periódica (normalmente una onda cuadrada) de frecuencia concreta; la relación entre el tiempo que la señal se encuentra en el valor lógico alto respecto el tiempo en que se encuentra en el valor lógico bajo se llama ciclo de trabajo, y es variable por el usuario: un ciclo de trabajo de 0 corresponde a una señal continua baja, mientras que un ciclo de trabajo de 0,5 corresponde a una señal de onda cuadrada habitual. La salida que el controlador dará será también una señal PWM de la misma frecuencia y ciclo de trabajo que la de entrada, solo que transmitida mediante el sistema de alta potencia al motor. El uso de señales PWM para controlar las velocidades de giro de motores eléctricos es una práctica habitual, ya que se consigue la salida deseada sin malgastar energía en el proceso.

Adicionalmente, el controlador de motor escogido dispone también de características adicionales tales como generación interna de señales PWM y lectura de velocidades mediante potenciómetro externo, que aunque no se utilizarán en el presente proyecto, es útil disponer para una posible futura ampliación de funciones.

77 Memoria

7.4.3. Servomotor

Para la maqueta, sin embargo, no es necesaria tanta potencia ni resistencia a altas cargas, ya que la propia constitución interna de los componentes constituyentes hace que sean extremadamente ligeros. Si que es necesario una alta velocidad de respuesta, al igual que en el caso real, con el fin de demostrar un movimiento lo más fiel posible al prototipo real. Otra característica a tener en cuenta para la selección del actuador en la maqueta es el tamaño de dicho elemento: los actuadores lineales, por lo general, no se escalan de acuerdo a su carrera disponible ni a su potencia, siendo la diferencia de tamaño mínima entre las diferentes opciones. Por esta última cuestión se ha descartado principalmente el uso de un actuador lineal de menor potencia en la maqueta, dejando prácticamente las opciones reducidas al uso de un servo.

Un servomotor, comúnmente abreviado como servo, es un conjunto de elementos formado por un motor eléctrico y un conjunto de engranajes reductores. En esencia, es un elemento muy similar a un actuador lineal, solo que no realiza la conversión de rotación a traslación y que, por norma general, los motores eléctricos incorporados son de menor potencia que los ya mencionados actuadores lineales. Otra característica de los servos es la incorporación de un controlador interno que hace que su uso y control se realice directamente mediante el uso de una señal PWM, donde un determinado rango de ciclos de trabajo corresponde al rango de ángulos de salida del servo: esto lo hace muy útil para pequeñas utilidades donde la facilidad de uso es un requisito. La mayoría de servos tiene un rango de ángulos de salida limitado, aunque con pequeñas modificaciones se puede conseguir un giro continuo si es necesario.

El inconveniente que presenta el uso de un servo para la aplicación concreta de este proyecto es que le movimiento de salida viene dado en forma de rotación, por lo que se debería añadir algún tipo de sistema externo de transmisión. Existen servos lineales que, en esencia, son actuadores lineales con mecanismos de transmisión simples como engranajes. Aún y así, estos servos lineales tienen el inconveniente de disponer de muy pocos pares de engranajes reductores, por lo que la fuerza de salida en el vástago actuador es minúscula, menor incluso de la necesaria para mover los flaps en el sistema aerodinámico activo.

Debido a las pocas diferencias entre ambos a nivel mecánico pero a la gran diferencia de usos a nivel práctico entre un servo normal y uno lineal se ha decidido combinar la potencia de uno con la versatilidad del otro añadiendo una simple transmisión del tipo piñón cremallera a un servo normal y así convirtiendo el movimiento rotativo de salida en uno lineal, emulando por tanto el movimiento real de un actuador lineal. El proceso de diseño y todos los cálculos necesarios para el correcto funcionamiento de este se hayan explicados al detalle en Modelo de [2].

78 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

El servo escogido es un modelo muy común en aeromodelismo, TowerPro Micro SG90, capaz de ejercer un par de 1,8 kg·cm y mover 60º en tan solo 0,1 segundos, por lo que cumple los requisitos técnicos necesarios para la implementación en la maqueta. Además, las dimensiones son muy reducidas (32x12 mm), por lo que encaja perfectamente en el proyecto.

Figura 7.12. Servo escogido.

Con esto finaliza el conjunto de sensores y actuadores implementados en el sistema de aerodinámica activo, tanto en su versión para un vehículo final como en su versión para la maqueta educativa.

7.4.4. Otros elementos

Cabe destacar que entre los equipos aquí listados se encuentran algunos alimentados a 5 V, como Arduino o Raspberry Pi, y otro que deben ir alimentados a 24 V. Teniendo en cuenta que la batería principal del vehículo proporciona 24 V, se deberá utilizar un medio de conversión entre estos dos niveles. Esta conversión se puede realizar mediante diferentes técnicas, siendo las dos más utilizadas la disipación de calor y la conmutación: en la primera la conversión de voltaje se realiza mediante el uso de resistencias, las cuales disipan la energía sobrante en forma de calor, mientras que en la segunda la conversión se realiza almacenando temporalmente la energía (en condensadores o bobinas) y entregándola al voltaje deseado de manera alternativa. El método de disipación de calor es más barato en cuanto a componentes integrados pero tiene una gran desventaja: su baja eficiencia. Por ello, la mayoría de aplicaciones en que se necesita utilizar una conversión (ya sea una disminución o aumento del voltaje) utiliza un método de conmutación, que alcanza eficiencias superiores al 95%.

En este proyecto se decidido utilizar un conversor conmutado, Hobbywing UBEC 5V 3A, que disminuye el voltaje (comúnmente apodados step-down o buck) desde 5,5-26 V hasta entregar de manera continua 5 V en la salida, con una corriente máxima de 3 A, más que suficiente para la alimentación de todos los equipos que se alimentan a 5 V. Este conversor almacena la energía en forma de campo

79 Memoria

magnético en una bobina, ayudándose de un condensador para mantener la tensión de salida constante durante el ciclo de trabajo.

Figura 7.13. Esquema simplificado de un convertidor DC-DC Buck.

Por último, comentar que, por seguridad, se ha decidido separar la fuente de alimentación del sistema de alta corriente (actuadores lineales o servos) con el de baja corriente (Arduino o Raspberry Pi). En el caso de la implementación real es fácil de llevar a cabo, ya que los actuadores lineales van alimentados a 24 V mientras que para alimentar todos los demás componentes se necesita un convertidor DC-DC que ya ofrece ese grado de separación. En la maqueta, sin embargo, se pueden alimentar tanto sistemas de control como de actuación al mismo voltaje (5 V), por lo que se ha decidido separar ambos mediante el uso de una pila de suficiente voltaje para la alimentación del sistema de actuación compuesto por los dos servos. El componente encargado de regular el voltaje para su adecuación al servo es la placa MB102, el cual será alimentado mediante el conector de barril para obtener una salida de 5 V para ambos actuadores.

Figura 7.14. Placa de alimentación de servos a partir de pila.

Todos los equipos, así como las conexiones entre estos, se encuentran detallados en los esquemas eléctricos en el Anexo D. Esquemas eléctricos.

80 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

8. Datos de referencia

El correcto control del funcionamiento del sistema de aerodinámica activa se fundamente en conocer la situación dinámica del vehículo para, de esta manera, calcular mediante el lazo de control explicado en el apartado Dinámica del sistema las cargas necesarias a aplicar con el movimiento independiente de los elementos móviles laterales o flaps. Como se ha podido apreciar en el apartado Dinámica vehicular, el cálculo de esta situación dinámica incorpora muchos datos técnicos del vehículo como posiciones de centros de giro sobre el eje de roll, constantes de rigidez en los diferentes ejes, etc. que afectan de manera significativa el comportamiento final del sistema. Por ello, y para permitir flexibilidad al sistema en cuanto a rango de vehículos posibles en que incorporarse, se ha decidido parametrizar la totalidad del programa de control: de esta manera, antes de implementarse en un vehículo concreto, se procederá a introducir los datos técnicos específicos de este para optimizar así el funcionamiento del conjunto. Adicionalmente, esta estrategia de mantener los datos propios del vehículo aislados del programa principal de control permite el rápido ajuste y calibración posterior a su instalación, pudiendo cada usuario refinar el comportamiento de todo el sistema simplemente con el cambio de algunas constantes aisladas.

A pesar de todas las ventajas que brinda la parametrización del lazo de control, para su testeo e implementación en la maqueta es necesario contar con unos datos de referencia de un hipotético vehículo usuario en el que se haya instalado el sistema aerodinámico activo. Por ello se ha decidido realizar un modelo de vehículo estándar sobre el que trabajar y probar el correcto funcionamiento de todas las funciones de las que dispone el sistema.

Para obtener los datos de este vehículo de referencia se ha contactado con distintas OEM (Original Equipment Manufacturer, o fabricante original de equipos en cuanto a automoción se refiere) que disponen de modelos en el mercado de unas prestaciones y características coincidentes con el mercado objetivo de este proyecto: superdeportivos de altas prestaciones, biplazas con motor central, etc. Dado el carácter reservado de algunos de estos datos requeridos, los cuales condicionan la dinámica y pueden suponer una ventaja de mercado respecto la competencia, no se ha podido obtener ningún dato técnico específico más allá de algunos parámetros básicos como posición del centro de gravedad, medidas generales como vía o batalla, peso, coeficiente de resistencia y balance de la carga aerodinámica. Aunque es un buen punto de partida resulta necesario obtener algún valor orientativo de esos datos más específicos como podría ser la constante de rigidez de los ejes delantero y trasero o la posición del centro de presiones. Para obtener estos valores se ha optado por una estrategia distinta, como es la de acudir a la literatura automotriz. Se han buscado ejemplos y referencias dentro de los diferentes libros y tratados sobre dinámica vehicular, tanto en el segmento comercial como en

81 Memoria

competición, y comparando los datos obtenidos por diferentes fuentes se ha escogido un valor aproximado que resulte plausible para el tipo de vehículo y las prestaciones que se esperan de él.

En la Tabla 8.1 se adjuntan todos los datos de referencia incorporados en la sección paramétrica del sistema de control, mientras que en la Tabla 8.2 se define qué representa cada uno.

W (kg) 1420 Zrf (m) 0,0762

a (m) 1,194 Zrr (m) 0,1905

b (m) 1,397 tf (m) 1,670

l (m) 2,591 tr (m) 1,645

H (m) 0,3068 CL (-) 0,15

h (m) 0,4357 CD (-) 0,26

Kf (kg m/rad) 9000 CPM (-) 0,025

Kr (kg m/rad) 3500 A (m2) 2,0

Kx (-) 0,1 hd (m) 0,7 Tabla 8.1. Datos de referencia del vehículo estándar utilizado.

82 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

W (kg) Peso total del vehículo

a (m) Distancia longitudinal entre el eje delantero y la proyección vertical del CdG

b (m) Distancia longitudinal entre el eje trasero y la proyección vertical del CdG

l (m) Distancia total entre el eje delantero y el trasero (batalla)

H (m) Distancia vertical entre el CdG y el eje de balanceo

h (m) Altura total del CdG

Kf (kg m/rad) Constante de rigidez respecto al balanceo, referida al eje delantero

Kr (kg m/rad) Constante de rigidez respecto al balanceo, referida al eje trasero

Kx (-) Constante de rigidez global respecto al cabeceo

Zrf (m) Altura del eje de balanceo sobre el eje delantero

Zrr (m) Altura del eje de balanceo sobre el eje trasero

tf (m) Distancia entre centros de rueda en el eje delantero (vía delantera)

tr (m) Distancia entre centros de rueda en el eje trasero (vía trasera)

CL (-) Coeficiente adimensional global de sustentación (lift coefficient)

CD (-) Coeficiente adimensional global de resistencia (drag coefficient)

CPM (-) Coeficiente adimensional global de momento de cabeceo (pitch momento coefficient)

A (m2) Área frontal de referencia

hd (m) Altura del centro de presiones Tabla 8.2. Definiciones de los datos parametrizados del vehículo.

De estos datos se desprende que no es un vehículo especialmente ligero, aunque sí si se compara con las dimensiones de batalla y vía (esta ligeramente mayor en el eje delantero); el reparto de pesos es de 54/46, siendo superior en el eje delantero pero muy cercano al equilibrio; el centro de gravedad se encuentra situado a poca altura respecto el suelo y la geometría de la suspensión favorece un eje de

83 Memoria

balanceo también muy bajo, aumentando a medida que se acerca al eje trasero; la rigidez de los elementos de suspensión es alta, por lo que es un vehículo enfocado más en rendimiento que en confort; la geometría externa, que se intuye baja y ancha dada el área frontal y la altura del centro de presiones, está optimizada para reducir la resistencia al aire, produciendo también una pequeña cantidad de fuerza de sustentación positiva.

En definitiva, se trata de un vehículo superdeportivo de motor central y con una geometría de suspensión y chasis optimizado para altas prestaciones, los parámetros del cual servirán para probar todos los elementos del sistema de control y comprobar su correcto funcionamiento una vez esté implementado en la maqueta demostrativa.

Adicionalmente a todos los parámetros propios del vehículo, existen otras variables que afectan la dinámica del vehículo de origen distinto: la posición y geometría del propio sistema aerodinámico, como se ha visto en el apartado Dinámica vehicular, también puede modificar la aportación de este al conjunto del sistema dinámico. Por ello, se ha optado por parametrizar también los datos más importantes en cuanto a colocación del alerón y geometría de este, permitiendo de esta manera la posibilidad de adaptar la influencia del sistema aerodinámico activo estudiado a cada vehículo de forma individual y personalizada.

Los datos pertenecientes al alerón que se han parametrizado en las ecuaciones de control del sistema aerodinámico se listan en la Tabla 8.3, con sus respectivas definiciones en la Tabla 8.4.

chrd (m) 0,25

span (m) 0,75

ycentral (m) 0,3

As (m) chrd·span (0,1875)

zs (m) 1,3

ys (m) (ycentral+span)/2 (0,525)

xs (m) 0,4 Tabla 8.3. Datos de referencia del sistema aerodinámico.

84 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

chrd (m) Longitud longitudinal del perfil móvil(cuerda)

span (m) Longitud transversal del perfil móvil (envergadura)

ycentral (m) Longitud transversal del perfil fijo central

As (m) Área de referencia frontal del perfil móvil

zs (m) Altura del punto de referencia del perfil móvil

ys (m) Distancia transversal entre el plano XZ del vehículo y el punto de referencia del perfil móvil

xs (m) Distancia longitudinal entre el eje trasero y el punto de referencia del perfil móvil Tabla 8.4. Definiciones de los datos parametrizados del sistema aerodinámico.

Como se puede ver en la Tabla 8.4, hay parámetros que se refieren a un punto de referencia en el perfil móvil. Este punto de referencia, a nivel físico, corresponde con el centro de presiones del propio perfil móvil. A nivel práctico, no obstante, se usará el punto medio del borde de ataque. Esta aproximación se realiza debido a la dificultad que supone incorporar un cálculo a tiempo real de la posición exacta de dicho centro de presiones, ya que este depende tanto del ángulo de ataque como de la velocidad incidente del viento; adicionalmente, la diferencia de posición de este punto es despreciable respecto las magnitudes tratadas a nivel del vehículo completo.

Con todos estos parámetros definidos se puede proceder a testear el sistema de control y comprobar su correcto funcionamiento.

85

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

9. Caracterización de la interacción aerodinámica

Un factor imprescindible a la hora de introducir el sistema de control en el equipo electrónico descrito es el conocimiento de la interacción que se produce entre el sistema aerodinámico activo y el aire que incide sobre este. De acuerdo a lo explicado en el apartado Simulación computacional de [1], el comportamiento de cada uno de los elementos móviles del alerón se ha caracterizado mediante la simulación computacional fluidodinámica aplicada a un modelo bidimensional que representa fielmente la sección del perfil alar escogido en el apartado Selección y diseño del perfil aerodinámico de [1]. Los resultados de estas simulaciones se han corroborado posteriormente con una serie de experimentos en un túnel de viento, los cuales se han llevado a cabo con un modelo a escala del perfil aerodinámico impreso mediante tecnología de fabricación por adición en plásticos; estas pruebas experimentales han servido para comprobar la validez del modelo simulado, así como para caracterizar las posibles causas de divergencias entre los resultados obtenidos en el modelo real y el virtual (tales como vórtices en los extremos del perfil, afectación de la rugosidad de superficie, etc.).

Todos los detalles sobre el procedimiento y fundamentos teóricos aplicados en la caracterización aerodinámica del perfil alar seleccionado se detallan en el apartado Simulación computacional de [1]. Sin embargo, los resultados de dichas simulaciones computacionales son de altísima importancia para el presente proyecto, ya que el correcto modelado del comportamiento aerodinámico de este perfil permitirá incorporar en el sistema de control y automatización un alto grado de fidelidad respecto el desempeño real del sistema incorporado en el vehículo.

Por ello, se muestran en la Tabla 9.1 los resultados de las simulaciones fluidodinámicas realizadas, las cuales se han realizado para los ángulos de ataque 0-3-6-9-12º y a velocidades de aire incidente de 15- 35-55 y 75 m/s.

87 Memoria

Velocidad Reynolds Ángulo de FL (N) FD (N) CL CD (m/s) ataque (º)

15 256657,0196 0 35,740838 0,86899008 1,03656338 0,02520263

15 256657,0196 3 44,980981 1,0503677 1,30454797 0,03046299

15 256657,0196 6 52,645386 1,3411929 1,52683267 0,03889756

15 256657,0196 9 58,257602 1,7824277 1,68959936 0,05169435

15 256657,0196 12 61,130694 2,5245102 1,77292538 0,07321638

35 598866,3791 0 204,6823 4,083856 1,09032972 0,02175444

35 598866,3791 3 255,56482 4,9898469 1,36137769 0,0265806

35 598866,3791 6 298,61283 6,3840536 1,59069173 0,03400745

35 598866,3791 9 331,08794 8,4633855 1,7636846 0,04508392

35 598866,3791 12 347,44194 12,087326 1,85080132 0,06438842

55 941075,7386 0 516,33985 9,4832765 1,11384283 0,02045722

55 941075,7386 3 642,20907 11,6608 1,38536657 0,02515455

55 941075,7386 6 748,80226 14,986798 1,61530827 0,03232936

55 941075,7386 9 831,83049 19,739288 1,79441588 0,04258138

55 941075,7386 12 875,19682 28,042683 1,88796527 0,06049338

75 1283285,098 0 971,07915 17,028374 1,12653776 0,01975442

75 1283285,098 3 1205,766 20,960064 1,39879527 0,02431553

75 1283285,098 6 1405,4941 26,944972 1,63049754 0,03125855

75 1283285,098 9 1563,1119 35,392465 1,81334814 0,04105839

75 1283285,098 12 1648,1425 49,877836 1,91199116 0,0578627 Tabla 9.1. Resultados de las simulaciones computacionales fluidodinámicas.

88 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Las fuerzas que se muestran en la Tabla 9.1 son los resultados directos de las simulaciones, mientras que los coeficientes adimensionales se han derivado de estas. Las fuerzas obtenidas son para un alerón de un metro de envergadura, por lo que no son extrapolables a el sistema estudiado; los coeficientes, sin embargo, solo dependen de la geometría y no de las dimensiones de esta, por lo que resultan útiles para ser escalados al perfil móvil del sistema real.

Por lo tanto, se utilizarán los resultados de coeficientes tanto de sustentación como de resistencia, que dependen de dos variables independientes (Reynolds y ángulo de ataque), para la creación de un modelo de predicción que sea capaz de encontrar valores para ambos coeficientes dado cualquier variable de entrada dentro del rango útil.

El método más habitual para obtener un modelo matemático capaz de predecir valores a partir de unos datos originales es una interpolación, siendo la más simple la lineal (polinómica de grado uno). Como todas las interpolaciones, el resultado de esta es una función de una dimensión menos que los datos originales la cual minimiza la suma de los errores cuadráticos respecto dichos puntos. El hecho de que el conjunto de datos original sea tridimensional obliga a utilizar un tipo de interpolación más compleja de lo habitual, tratándose de una superficie la función resultado de esta (en vez de una línea, que sería el resultado de una interpolación bidimensional).

Para la creación de dicha superficie de interpolación se ha decidido usar un software específico para el tratamiento y cálculo de datos como es MATLAB, ya que este incorpora una serie de funciones (y aplicaciones gráficas) muy potentes a la hora de conseguir ajustar datos a diferentes tipos de modelos matemáticos.

9.1. Proceso de creación del modelo

El primer paso para el modelado matemático ha sido la creación de una hoja de cálculo en formato CSV con todos los puntos obtenidos a partir de las simulaciones ordenados verticalmente, siendo los números adimensionales de Reynolds los valores en la primera fila, los ángulos de ataque en la segunda, los coeficientes de sustentación en la tercera y los coeficientes de resistencia en la cuarta y última; se obtiene de esta manera una matriz de 4 filas y 20 columnas (se dispone de 5 ángulos de ataque para cada una de las 4 velocidades estudiadas).

Una vez preparado el archivo base se crea un script en lenguaje MATLAB que cargará cada una de las filas de este documento CSV como un vector, obteniendo así 4 vectores de 20 componentes cada uno ya disponibles en el Workspace de MATLAB para poder ser utilizados por las diferentes funciones y

89 Memoria

aplicaciones que este ofrece. En concreto, la función más relevante a la hora de ajustar distintos tipos de función a una serie de datos originales se llama fit, y dispone de una interfaz gráfica (Curve Fitting) que permite ver en tiempo real el resultado del ajuste, así como los puntos originales. Se utilizará, por tanto, la aplicación Curve Fitting para escoger en tiempo real el tipo de función de ajuste que más se asemeje al conjunto de datos original, el cual se programará después utilizando los comandos pertinentes para poder ser exportado como script MATLAB y así automatizar el proceso en caso de futuros cambios.

La interfaz de la aplicación Curve Fitting es muy sencilla e intuitiva: en la parte superior izquierda permite la selección mediante menús desplegables del conjunto original de datos en forma de vectores (agrupados por ejes), pudiendo realizar un ajuste bidimensional (escogiendo solo dos vectores en los ejes X e Y) o tridimensional (escogiendo tres vectores, cada uno en un eje); si la opción Weights (influencia de cada eje) se deja en su valor por defecto se obtiene un ajuste estándar que no favorecerá ninguna de las magnitudes a ajustar. En la zona superior central se escoge el tipo de ajuste a realizar, pudiendo seleccionar entre interpolaciones de diferentes tipos, ajustes del tipo LOWESS (Locally Weighted Scatter plot Smooth), ajustes polinómicos o mediante un tipo de ecuación definida por el usuario.

Figura 9.1. Interfaz gráfica de la aplicación Curve Fitting.

90 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Dado que la función resultante de este ajuste se deberá implementar en el código de Python para ser ejecutada en cada instante por la Raspberry Pi se ha decidido utilizar el tipo de modelo de ajuste polinómico, ya que este devuelve directamente una serie de coeficientes y una ecuación en la que, una vez sustituidos los coeficientes por los valores obtenidos, solo se tienen como incógnitas las dos variables independientes, consiguiendo así una rápida programación en Python y una ejecución en el sistema de control eficiente.

Una vez seleccionados los datos correspondientes para cada uno de los ejes (Reynolds en el X, ángulos de ataque en el Y y el coeficiente deseado, en este caso se hará con el de sustentación en el Z), y fijado el tipo de ajuste a polinómico, aparecen nuevas opciones en el cuadro superior central, tales como los grados del polinomio en cada uno de los ejes; la flexibilidad que esto otorga, el ser capaz de definir polinomios de diferentes grados para cada uno de los ejes, es uno de los motivos más importantes para utilizar el software MATLAB en este punto de proyecto.

Como la aplicación ya dispone de suficientes datos por defecto como para realizar un modelo en la parte central se muestra un plano de ajuste polinómico de grado 1 en todos los ejes, el cual ofrece (según la información de correlación mostrada en la parte inferior) una R2 de 0,9660, un valor nada despreciable para tratarse de un polinomio tan simple.

Figura 9.2. Resultado de un ajuste polinómico lineal en ambos ejes.

91 Memoria

La zona central izquierda muestra alguna información útil del ajuste realizado, como puede ser la forma general de la función resultante y sus coeficientes: al tratarse de un polinomio lineal en ambos ejes, la ecuación es del tipo:

푓(푥, 푦) = 푝00 + 푝10 푥 + 푝01 푦

(Ec. 9.1)

Como se puede ver, programar una expresión en Python que ejecute una función de este tipo no representa ninguna dificultad, obteniendo con este tipo de ajuste una correlación superior al 0,96.

Para intentar mejorar aún más la correlación se ha aumentado el grado del polinomio en el eje Y, donde se representan los ángulos de ataque: de acuerdo a los fundamentos teóricos, la variación de los coeficientes adimensionales en función del Reynolds debería de ser muy baja, por lo que el aumento del grado del polinomio en el eje en que más variaciones se esperan (ángulos de ataque) debería de producir un salto cualitativo del modelo. Con una selección de grado 2 en el eje de las Y (y manteniendo el grado 1 para el eje de las X), la R2 sube hasta un 0,9975.

Para comprobar que el coeficiente de sustentación (y el de resistencia de manera análoga) presenta más variación de valores a lo largo de los diferentes ángulos de ataque que a lo largo de los diferentes Reynolds se ha probado de invertir las selecciones de grado de polinomio, seleccionando un polinomio cuadrático para el eje de las X y un polinomio lineal para el eje de las Y: como se esperaba, la correlación aumenta ligeramente respecto la primera iteración (ambos lineales) pero no de manera tan significativa como cuando se modelaba el ángulo de ataque con un polinomio de grado 2, llegando esta vez el valor de R2 ajustada a 0,9683.

Dada la simplicidad de la función matemática resultante, se ha decidido aumentar el grado del polinomio de ajuste en ambos ejes hasta 2, obteniendo así un equilibrio entre complejidad y precisión al conseguir una R2 de 0,9994 con tan solo 6 coeficientes distintos, siendo la función del tipo:

푓(푥, 푦) = 푝00 + 푝10 푥 + 푝01 푦 + 푝20 푥2 + 푝11 푥 푦 + 푝02 푦2

(Ec. 9.2)

Los coeficientes obtenidos para ambos ajustes, tanto para el coeficiente de sustentación como para el coeficiente de resistencia, se muestran en la Tabla 9.2.

92 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

p00 p10 p01 p20 p11 p02

CL 0,9798 2,399e-7 0,1007 -1,036e-13 4,077e-9 -0,003285

CD 0,02928 -1,769e-8 0,001016 8,942e-15 -7,74e-10 0,0002507

Tabla 9.2. Coeficientes para los polinomios de ajuste de CL y CD.

En vista de los coeficientes de ambos polinomios de ajuste se puede corroborar la poca influencia que tiene la variación de Reynolds en los resultados, siendo los coeficientes que multiplican dicha variable independiente (p10, p11 y p20) los más bajos por hasta 10 órdenes de magnitud respecto los demás.

Figura 9.3. Función resultante con polinomios cuadráticos en ambos ejes.

Se concluye, por tanto, la caracterización de la interacción aerodinámica con la obtención de las dos funciones de ajuste (Ec. 9.3) y (Ec. 9.4):

−7 −13 2 −9 퐶퐿(푅푒, 푎) = 0,9798 + 2,399 10 푅푒 + 0,1007 푎 + 1,036 10 푅푒 + 4,077 10 푅푒 푎 − 0,003285 푎2

(Ec. 9.3)

93 Memoria

−8 −15 2 −10 퐶퐷(푅푒, 푎) = 0,02928 − 1,769 10 푅푒 + 0,001016 푎 + 8,942 10 푅푒 − 7,74 10 푅푒 푎 + 0,0002507 푎2

(Ec. 9.4)

94 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

10. Programación en Raspberry Pi y Arduino

El sistema de control descrito de manera genérica en el apartado Dinámica del sistema será ahora implementado en el equipo electrónico listado en el apartado Implementación en el modelo mediante la programación de las dos unidades de control presentes, Raspberry Pi y Arduino. Debido a las pequeñas diferencias de funcionalidad entre el sistema de control real en el vehículo y el utilizado en la maqueta, se explicará el primero de manera detallada y a continuación se mostrarán las partes que distan entre ambos, yendo dispositivo a dispositivo. Se pasará, por tanto, a describir el funcionamiento del Arduino.

10.1. Arduino

El Arduino UNO R3 es el encargado de leer todas las señales analógicas como potenciómetros o joysticks y transmitir la información obtenida a la Raspberry Pi a través de I2C, además de recibir de esta los datos de ángulos de ataque óptimos y, mediante un lazo de control realimentado feedback, dar las órdenes necesarias a los actuadores para que se lleven a cabo las acciones necesarias. Toda su programación se ha hecho en su propio lenguaje, el cual incorpora muchas características de C y C++.

10.1.1. Importación de librerías

Para facilitar la implementación de distintos elementos tanto de software como de hardware dentro de la programación de Arduino se utilizarán librerías externas, algunas de ellas proporcionadas junto con el entorno de desarrollo oficial (Arduino IDE) mientras que otras han sido creadas por terceras personas y compartidas bajo licencia de código abierto. Se listan a continuación las diferentes librerías importadas, así como su función dentro del proyecto. • Wire.h: librería que viene por defecto dentro del entorno de desarrollo oficial, incorpora herramientas muy sencillas para el uso del bus de comunicación I2C incorporado por hardware dentro de Arduino. Da la posibilidad de crear un bus como maestro o de incorporarse a un bus ya existente como esclavo, escogiendo la dirección I2C del Arduino mediante software. • TinyGPS++.h: esta pequeña librería creada por Mikal Hart permite la gestión de equipos que utilizan el formato universal NMEA 0183 (National Marine Electronics Association) como son la mayoría de módulos GPS disponibles para Arduino. Mediante la definición de unas funciones de llamada muy sencillas, TinyGPS++ permite obtener datos tales como posición, velocidad, fecha y hora, altitud y rumbo, además de incluir diferentes conversiones entre unidades.

95 Memoria

• AltSoftSerial.h: este módulo mejora la funcionalidad de la librería incluida por defecto con Arduino IDE, SoftwareSerial, al optimizar el uso de interrupts para la creación de puertos de comunicación Serial adicionales gestionados por software. Su utilidad se hace evidente al tener en cuenta que Arduino solo dispone de un par de puertos dedicados a la comunicación Serial a través de hardware (un canal de transmisión solo), por lo que si se quiere transmitir datos a un PC para monitorizar el funcionamiento del programa simultáneamente a la comunicación entre el sistema GPS y el propio Arduino se hace obligado el uso de un módulo como este.

10.1.2. Definiciones e inicialización

Antes de pasar a la primera ejecución se deben declarar e inicializar las variables e instancias de objetos que se quieran utilizar en el transcurso del programa. En este espacio dedicado a las declaraciones globales se definirán la mayoría de los parámetros ajustables del programa, para así poder ser modificados bajo demanda de una manera sencilla. Las declaraciones en esta sección son las siguientes: • Parámetros del bus I2C, tales como la dirección propia del Arduino como esclavo o el número de valores de tipo float que se quieran transmitir. • Velocidad de transmisión de datos mediante Serial entre el Arduino y el GPS, a través de la librería AltSoftSerial, así como creación de una instancia del tipo TinyGPSPlus correspondiente al módulo utilizado en este proyecto. • Definición del número de pines utilizados, tanto analógicos como digitales, así como la función de cada uno. • Creación de unions entre datos de tipo float y cadenas de bytes para facilitar la conversión de datos de un tipo a otro. Dado que la transmisión por bus I2C se realiza en forma de bytes, el hecho de compartir memoria entre estos dos tipos de estructuras de datos hace que se pueda utilizar y modificar uno de ellos actualizándose automáticamente el otro, funcionalidad muy útil cuando se trabaja con ambos formatos de manera indistinta.

Figura 10.1. Fragmento del código de Arduino donde se crean las unions.

96 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

• Parámetros del alerón (ángulo mínimo) y del sistema de realimentación de la posición de los actuadores (constante kp). Distintas variables que pueden ser alteradas a lo largo del uso del sistema aerodinámico activo para su fino ajuste. • Offsets de los actuadores lineales, correspondientes a las lecturas de los potenciómetros incorporados en estos para ángulos fijos como 0 o 60º. Adicionalmente se define un máximo error permisible entre la posición real y la deseada, para evitar constantes movimientos minúsculos por parte del sistema de realimentación feedback. • Inicialización de variables internas, tales como velocidad o ángulos de referencia. Se declaran fuera de las distintas funciones con tal de que sean de carácter global y, por lo tanto, modificables y reconocibles por las funciones estándares setup() y loop(). • Creación de una instancia de tipo AltSoftSerial, correspondiente al puerto Serial simulado por software para la comunicación con el módulo GPS.

10.1.3. Funciones auxiliares

Para el correcto funcionamiento del programa, así como para la optimización del código frente a tareas repetitivas, se han definido ciertas funciones las cuales serán llamadas dentro del bucle principal (o mediante interrupts) a su correcto momento. Dichas funciones pueden contar con variables de entrada y/o salida, así como interactuar con los distintos elementos conectados al Arduino. Las funciones definidas fuera de las obligatorias setup() y loop() son las siguientes: • sendDataRPi: función sin variables de entrada ni salida, que es llamada de manera automática mediante interrupts en el caso que la Raspberry Pi demande datos por parte del Arduino. El contenido es una sola instrucción que, mediante el módulo Wire, indica el lugar en memoria (mediante un indicador pointer) donde se alojan la union con los datos a enviar y la cantidad de bytes a partir de ese lugar que se deben enviar. Como solo se pretenden enviar 3 valores decimales de tipo float (velocidad y ángulo de ataque real de ambos elementos aerodinámicos móviles) y cada uno de ellos tiene una representación interna en forma de una cadena de 4 bytes, el número total de bytes a enviar es de 12. • receiveDataRPi: función con una variable de entrada obligatoria por parte de Wire al estar asociada al evento de recepción de datos por parte del maestro I2C, gestionado por interrupts. Esta variable de entrada corresponde al número de bytes recibidos, aunque en este caso no se utiliza. La función leerá los 9 primeros bytes disponibles en el bus I2C, un primero sin valor alguno que indica el inicio de la comunicación y los 8 siguientes correspondientes a 2 valores de tipo float (ángulos de referencia), y almacenará estos últimos 8 en la union

97 Memoria

correspondiente; el almacenamiento se hará en forma de bytes, aunque la naturaleza de la union permite su lectura posterior como valor float. No devuelve ninguna variable de salida.

Figura 10.2. Función receiveDataRPi, encargada de almacenar los datos recibidos de Raspberry Pi.

• controlLineal: esta función es la que gestiona el lazo realimentado de control encargado de asignar la posición de los actuadores lineales. Recibe cuatro variables de entrada: el ángulo de referencia de un actuador lineal, el ángulo real actual de este mismo, el pin correspondiente al control de dirección de dicho actuador lineal y el pin correspondiente al control de velocidad del elemento actuador; estos dos últimos pines se encuentran conectados a la placa controladora de motor, que gestiona la potencia de este de manera eficiente. Mediante la comparación de los valores de referencia y real del ángulo de ataque y, incorporando la constante de producto, el lazo de realimentación feedback calcula la velocidad de actuación y la dirección de esta y la aplica en forma de pulso PWM a la placa controladora de motor. Esta función no devuelve ningún parámetro de salida.

10.1.4. Primera ejecución

Ya definidas todas las estructuras necesarias se pasará a explicar las tareas solamente necesarias la primera ejecución, dado que la función setup() solo es llamada de manera autónoma por Arduino en el momento en que este se alimenta e inicializa. • Inicio las comunicaciones Serial tanto por hardware como por software, ambas a una velocidad de 9600 kbps en aras de la estabilidad del sistema. • Incorporación de Arduino en forma de esclavo al bus I2C mediante la librería Wire, asignando un par de funciones a los distintos eventos posibles a los que se enfrenta un esclavo: recepción de datos y demanda de datos. Estas funciones aquí definidas para cada evento se implementan en forma de rutinas de interrupción, por lo que se ejecutarán en el momento exacto en que sean requeridas interrumpiendo el código principal si resulta necesario. • Asignación de datos iniciales a los valores de las distintas unions creadas, mediante su tipo float.

98 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Con todo listo para la ejecución repetitiva del programa de control se pasa ahora a explicar detalladamente el flujo de trabajo en la función loop(), llamada cíclicamente una vez tras otra mientras el Arduino se encuentre alimentado correctamente.

10.1.5. Bucle de funcionamiento

El control principal tiene un comportamiento lineal, en el que una a una se van ejecutando las diferentes tareas necesarias, las cuales se listan a continuación: • Lectura del valor analógico de los potenciómetros que dan cuenta de la posición de los actuadores lineales. Como este valor es un valor en un rango propio dependiente de la carrera total del actuador, así como de la resolución del potenciómetro instalado, se realiza una conversión para obtener el valor en grados absolutos (tipo float) y se almacena en las variables correspondientes.

Figura 10.3. Fragmento del bucle principal donde se leen y convierten las posiciones de los actuadores.

• Lectura de los datos en formato NMEA provenientes de la comunicación Serial con el módulo GPS, de los cuales se almacena la velocidad en m/s en caso de haberse actualizado esta respecto la última obtención. • Actualización de los datos almacenados en la union (a través de su tipo float) con los valores de las variables recibidas anteriormente (ángulos reales y velocidad del vehículo). • Almacenamiento en variables de los datos albergados en la union que contiene los ángulos de referencia provenientes de la Raspberry Pi. Se extraen para poderlos manipular de manera más sencilla. • Llamada a la función controlLineal para ambos actuadores lineales, pasando como variables de entrada los pines respectivos de cada uno, así como los valores reales y de referencia de ángulos de ataque. • Comunicación Serial mediante los puertos de hardware para la monitorización en tiempo real de las variables de interés a través de un ordenador.

De manera paralela a este bucle de funcionamiento se van ejecutando síncronamente mediante interrupts las funciones sendDataRPi y receiveDataRPi, interrumpiendo para ello de manera momentánea la ejecución del proceso listado.

99 Memoria

Como se puede observar tanto de las definiciones de funciones como de la descripción de funcionamiento, las variables de velocidad y ángulos reales se actualizan en el bucle principal, mientras que las variables de ángulos de referencia se actualizan en la función receiveDataRPi, modificando todas ellas los valores en las unions correspondientes.

10.1.6. Diferencias de funcionamiento en la maqueta

Como se ha explicado anteriormente, el origen de algunas de las variables difiere en la implementación en la maqueta de la real. Es por ello que el proceso de funcionamiento en Arduino sufre alteraciones, tanto a nivel de librerías utilizadas como de funciones o flujo de proceso. Por todo ello se comentan a continuación las diferencias existentes en la sección de definiciones del código de Arduino en su uso en la maqueta respecto en su uso real: • Desestimación del uso de las librerías TinyGPS++ y AltSoftSerial, así como de todos los objetos derivados de estas y las referencias tanto al módulo GPS como a los puertos Serial simulados por software. En la maqueta la velocidad se calcula matemáticamente a partir de las aceleraciones simuladas, por lo que no es necesario el uso del GPS y, consecuentemente, la creación de un segundo puerto de comunicaciones Serial. • Inclusión del módulo Servo.h, el cual gestiona de manera elegante el control de diferentes servos a partir de la conversión de manera interna de un ángulo de salida de referencia (enviado por el usuario) a una señal PWM de ciclo de trabajo correspondiente, la cual se envía para ser interpretada por el propio equipo actuador. • Inclusión de la librería math.h, donde se reúnen diferentes funciones matemáticas útiles para la gestión de datos. En este caso, math se utiliza para redondear números decimales según las funciones floor o ceil, que redondean a la baja o al alta respectivamente. • Creación de dos objetos del tipo Servo en las definiciones globales, los cuales se asociarán con los pines correspondientes de señal (1 pin por servo) de cada uno de los actuadores incorporados en el sistema. • Definición de los pines utilizados por el joystick, el cual simulará las aceleraciones propias de un vehículo. Dicho joystick utilizará 2 pines de lectura analógica para obtener los valores analógicos de los potenciómetros incorporados, así como un pin de lectura digital para detectar la pulsación que alternará la función del joystick dentro del programa. • Cambio en los valores almacenados en las unions: así como en el programa real de control se almacenaban la velocidad y los ángulos reales de los actuadores lineales, en el programa de control de la maqueta se almacenan las aceleraciones longitudinal y transversal y la velocidad.

100 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 10.4. Datos almacenados en las dos union en el caso de la maqueta.

• Definición de los offset propios del joystick, cuantificando así los valores analógicos de salida del potenciómetro en sus posiciones extremas y de reposo, además de la definición de un margen de error para la actuación respecto el valor en reposo; esto último resulta imprescindible dado el ruido generado por los componentes electrónicos. • Definición de los rangos de aceleración simulada para cada eje. • Cuantificación de los offset de los servos, los cuales modificarán la conversión entre ángulos enviados al servo y ángulos reales del elemento aerodinámico móvil, la cual depende del sistema de transmisión diseñado (explicado en detalle en el apartado Modelo de [2]). • Inclusión de variables del tipo unsigned long, las cuales son capaces de albergar valores enteros de grandes magnitudes. Dichas variables serán utilizadas en el almacenamiento de magnitudes temporales (en milisegundos), las cuales servirán para integrar la aceleración y obtener la velocidad tal y como se explica en el apartado Programación en Raspberry Pi y Arduino. • Definición de una flag de tipo booleano el valor de la cual representará el modo de funcionamiento del joystick. • Definición de la función switchA, la cual se encarga de cambiar el valor de la flag booleana que representa el funcionamiento del joystick y alternar el encendido de un LED. Esta función será llamada de manera automática por una rutina de interrupción.

Figura 10.5. Definición de la función switchA.

Dadas las numerosas diferencias en la ejecución, tanto por primera vez como de manera cíclica, del programa de control en Arduino respecto su uso en un vehículo normal, se ha decidido explicar estas ejecuciones íntegramente.

La primera ejecución completa los siguientes pasos: • Inicio la comunicación Serial por hardware a una velocidad de 9600 kbps en aras de la estabilidad del sistema.

101 Memoria

• Incorporación de Arduino en forma de esclavo al bus I2C mediante la librería Wire, asignando un par de funciones a los distintos eventos posibles a los que se enfrenta un esclavo: recepción de datos y demanda de datos. Estas funciones aquí definidas para cada evento se implementan en forma de rutinas de interrupción, por lo que se ejecutarán en el momento exacto en que sean requeridas interrumpiendo el código principal si resulta necesario. • Asignación de un evento de interrupción asociado a la detección de un pulso descendente en uno de los pines digitales. Dicho pin se designa como entrada y se conecta internamente a una resistencia pull-up, es decir, se conecta a 5V mediante una resistencia interna de muy alto valor para evitar posibles lecturas ruidosas. El pulso a detectar proviene del pulsador digital del joystick, que se puede accionar manualmente para alternar el modo de funcionamiento de este en cuanto a aceleraciones se refiere. La función llamada durante la detección de este evento será swithA.

Figura 10.6. Asignación de la rutina de interrupción con la llamada a la función switchA.

• Asignación de datos iniciales a los valores de las distintas unions creadas, mediante su tipo float. • Escritura de un valor inicial a ambos servos, correspondiente este al ángulo mínimo del elemento aerodinámico móvil. Este paso resulta necesario ya que los servos dejan de ejercer fuerza una vez se desconectan de la alimentación. • Lectura de tiempo inicial y almacenamiento de esta en una variable del tipo unsigned long. Las diferentes lecturas de tiempo de ejecución servirán para obtener el periodo de cada ciclo, pudiendo utilizar luego este en la integración de la aceleración.

Una vez realizada esta se entra en el bucle principal, alojado en la función loop(), el cual sigue el siguiente proceso: • Lectura del valor analógico de los potenciómetros que dan cuenta de la posición del joystick. Así como ya se ha hecho con las lecturas de los potenciómetros de los actuadores lineales, se realiza una conversión para obtener el valor en unidades de aceleración g (tipo float) y se almacenan en las variables correspondientes.

102 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

• Obtención de un valor actualizado de velocidad a partir de la integración de la aceleración longitudinal X en función del tiempo, utilizando para ello el periodo de ejecución del bucle y el valor anterior de velocidad almacenada.

Figura 10.7. Obtención de la velocidad mediante integración.

• Actualización de los datos almacenados en la union (a través de su tipo float) con los valores de las variables recibidas anteriormente (aceleraciones longitudinal y transversal y velocidad del vehículo). • Almacenamiento en variables de los datos albergados en la union que contiene los ángulos de referencia provenientes de la Raspberry Pi. Se extraen para poderlos manipular de manera más sencilla. • Conversión de los ángulos de referencia al ángulo propio de cada uno de los servos, así como escritura de este último valor al actuador correspondiente. • Actualización de los valores de tiempo de ejecución. • Comunicación Serial para la monitorización en tiempo real de las variables de interés a través de un ordenador.

Con esto se concluye el bucle de funcionamiento de Arduino en su implementación en la maqueta demostrativa.

10.1.7. Simulación de aceleraciones y velocidad

Dada la imposibilidad de obtener de manera sencilla aceleraciones similares a las que ocurren en un vehículo durante su conducción, se ha decidido simular la entrada de aceleraciones al sistema de control mediante el uso de un joystick bidireccional. Las lecturas analógicas de los potenciómetros de este darán unos valores que solo dependen de la posición de la seta del mismo en ese momento. Sin embargo, se pueden implementar a nivel de software diferentes interpretaciones de estas posiciones, añadiendo así significancia a este elemento y su función dentro del sistema electrónico de control de la maqueta.

Por ello, se han programado dos modos distintos de cálculo de aceleraciones en función de las lecturas del joystick, alternándose estos mediante el envío de una pulsación en el botón digital situado debajo

103 Memoria

de la seta del propio joystick (y la detección de este pulso y ejecución de la correspondiente rutina de interrupción switchA por parte del Arduino).

El primer modo y más simple trata el rango de movimiento de del joystick a lo largo de sus dos ejes como una trascripción exacta del rango de aceleraciones definido por el usuario, correspondiendo el valor de reposo del joystick a una aceleración nula en ambos ejes. Por lo tanto, el movimiento en el eje X del joystick se convertirá en la variación en la aceleración longitudinal X del vehículo, llegando a su valor máximo positivo cuando el joystick se encuentre en su posición más adelantada y llegando la aceleración a su máximo valor negativo cuando el joystick se encuentre en su posición más retrasada. De la misma, el eje Y del joystick controlará el valor de la aceleración transversal Y en el vehículo.

Este modo permite la simulación de aceleraciones mantenidas en el tiempo en ambos ejes, así como la combinación de estas, que se conseguiría moviendo la seta del joystick tanto en el eje X como Y de manera simultánea.

La aceleración proveniente del eje X (convertida en aceleración longitudinal del vehículo) se integrará por rectángulos en función del periodo de ejecución de la función loop(), obteniendo así un valor actualizado de velocidad en cada uno de los ciclos del programa.

Este modo, aunque útil, no representa el comportamiento de un vehículo real, ya que permite la aplicación de aceleraciones transversales aún y estando el vehículo en reposo. Por ello se ha programado un segundo modo, más complejo, el cual relaciona las aceleraciones obtenidas en función de la velocidad actual del vehículo, aportando así un mayor grado de similitud con el comportamiento dinámico de un vehículo real.

Este segundo modo se subdivide en distintas situaciones para cada uno de los ejes de aceleraciones. Por un lado está la situación de frenado, correspondiente a una aceleración longitudinal negativa. Si se detecta esta se aplica una conversión similar al modo sencillo, disponiendo de el valor de aceleración máximo (negativo) sin tener en cuenta la velocidad: un vehículo es capaz de frenar a máxima potencia independientemente de la velocidad a la que circule originalmente.

Por otro lado está la situación de aceleración (en cuanto a incremento de velocidad), correspondiente a una aceleración longitudinal positiva. En este caso, para emular el comportamiento de un vehículo real se ha relacionado la aceleración máxima posible a obtener con la velocidad de manera inversamente proporcional. Esto lleva a que se dispondrá de una aceleración posible de valor máxima (determinada por el rango descrito por el usuario) a velocidad nula, disminuyendo esta aceleración posible de manera lineal hasta llegar a una aceleración posible nula a velocidad máxima.

Para ejemplificar este comportamiento, si se mantiene el joystick en la posición más avanzada del eje X partiendo de una velocidad nula se verá como el valor calculado de aceleración longitudinal del

104 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

vehículo comienza siendo el máximo definido por el rango del usuario e irá decreciendo de manera progresiva hasta llegar a ser nulo cuando el vehículo alcanza su velocidad máxima. Esta estrategia permite simular de una manera más realista el comportamiento que tendría un vehículo al pisar el pedal del acelerador de manera continua.

Finalmente, y de manera paralela a la situación de frenado o aceleración está la situación de cambio de dirección, correspondiente a una aceleración transversal (positiva o negativa). En este caso, y siguiendo la estrategia inversa a la aplicada anteriormente, se vinculará el valor máximo de aceleración transversal disponible a la velocidad, esta vez de manera directamente proporcional. Esto lleva a que se dispondrá de una aceleración posible nula a velocidad nula, aumentando esta aceleración posible de manera lineal hasta llegar a una aceleración posible máxima (determinada por el rango descrito por el usuario) a velocidad máxima.

Para ejemplificar este comportamiento, si se mantiene el joystick en la posición más retirada en el eje Y partiendo de una velocidad nula se verá como el valor calculado de aceleración transversal del vehículo comienza siendo nulo e irá creciendo de manera progresiva hasta llegar a ser el valor máximo definido por el rango del usuario cuando el vehículo alcanza su velocidad máxima. Esta estrategia permite simular de una manera más realista el comportamiento que tendría un vehículo al girar el volante a diferentes velocidades.

Este segundo modo, como se puede apreciar más complejo que el primero, cambia el significado del joystick de ser un simulador de aceleraciones a ser un simulador de un vehículo, pudiendo así realizar la analogía siguiente: el eje X positivo del joystick correspondería al pedal del acelerador; el eje X negativo del joystick correspondería al pedal del freno; y el eje Y del joystick correspondería al ángulo de giro del volante.

A continuación se encuentra la Tabla 10.1, que resume las estrategias adoptadas en los distintos modos de cálculo de las aceleraciones simuladas.

105 Memoria

Velocidad Posición del Aceleración X/Y Aceleración X modo Aceleración Y modo (respecto máxima) joystick modo simple avanzado avanzado (recorrido por (respecto máxima) (respecto máxima) (respecto máxima) eje)

0 Reposo Nula Nula Nula

+50% +50% +50% Nula

+100% 100% 100% Nula

-50% -50% -50% Nula

-100% -100% -100% Nula

50% Reposo Nula Nula Nula

+50% +50% +25% +25%

+100% 100% +50% +50%

-50% -50% -25% -25%

-100% -100% -50% -50%

100% Reposo Nula Nula Nula

+50% +50% Nula +50%

+100% 100% Nula 100%

-50% -50% Nula -50%

-100% -100% Nula -100% Tabla 10.1. Relación entre la posición del joystick y la aceleración calculada según el modo.

106 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

10.2. Raspberry Pi

La Raspberry Pi 3B lleva a cabo la mayoría de los cálculos, recibiendo datos a través del bus I2C tanto del Arduino como de la unidad IMU y, una vez procesados estos, devolviendo las salidas del bucle feedforward al propio Arduino. Toda su programación se ha hecho en Python utilizando en los casos necesarios módulos escritos y mantenidos por la comunidad para ampliar las funciones de este lenguaje.

10.2.1. Importación de variables y módulos

El primer paso en la programación de la Raspberry Pi es importar las librerías externas el uso de las cuales posibilitará ampliar las funcionalidades del lenguaje y comunicarse de manera sencilla con algunos de los componentes del sistema. En este caso, las librerías importadas son las siguientes: • constantes.py: este pequeño script independiente del programa principal cuenta con las constantes que definen el comportamiento tanto del vehículo como del propio alerón, siendo estas: o Datos del vehículo de referencia. Todos los datos técnicos específicos del vehículo sobre el que se incorporará el sistema de aerodinámica activa se encuentran aquí listados, según la nomenclatura listada en el apartado Datos de referencia.

Figura 10.8. Fragmento de la librería constantes.py con los datos del vehículo de referencia.

o Propiedades constantes del aire. Se incluyen dos propiedades, la densidad y viscosidad dinámica, con tal de caracterizar el comportamiento de este. o Parámetros del alerón. Longitudes propias de las diferentes partes del alerón como la cuerda y la envergadura pueden ser modificados en caso de una posible adaptación de la geometría original al vehículo objetivo. o Calibración del IMU. Los sensores de la unidad IMU tienen unos valores de deriva u offsets específicos para cada uno de las unidades producidas, ya que estos son el resultado de su compleja estructura interna. Para la obtención de dichos valores se ha utilizado un código para Arduino el cual determina los offset a partir de una medición en condiciones en estático; este código se encuentra en el Anexo C. Código de

107 Memoria

calibración de MPU6050. Adicionalmente se pueden alterar opciones internas del IMU como el modo depuración o el bus I2C (principal o secundario). o Parámetros de control. Aquí se pueden modificar algunos parámetros fundamentales de comportamiento del sistema de control, como podrían ser los valores límite para la selección de los diferentes modos de actuación del alerón (velocidad mínima para actuar o aceleración negativa mínima para activar la ayuda en frenada), así como ángulos mínimos y máximos que puede alcanzar este durante su funcionamiento.

Figura 10.9. Fragmento del script constantes.py.

• MPU6050: librería escrita originalmente en C++ por Jeff Rowberg como parte de su colección de dispositivos basados en la comunicación I2C, esta implementa de manera nativa la comunicación entre la unidad lógica utilizada y la unidad IMU InvenSense MPU6050. El factor característico de esta librería es la incorporación, a través de ingeniería inversa, de la posibilidad de programar la pequeña unidad de cálculo DMP incluida en la unidad IMU para obtener directamente los ángulos de inclinación, a parte de las variables generales obtenidas de manera directa como son las aceleraciones y velocidades angulares. La librería ha sido portada a Python y, en concreto, adaptada a la Raspberry Pi por Geir Istad. • RPi.GPIO: librería incorporada de manera nativa en el sistema operativo Raspbian que permite la sencilla interacción a través del lenguaje Python con los 40 pines GPIO (General purpose Input/Output), pudiendo con ella seleccionar algunos de estos como entradas, salidas o buses de comunicación incorporados tanto en hardware como en software. • math: librería básica incorporada con Python la cual dispone de constantes matemáticas, notaciones específicas y funciones trigonométricas que amplían la funcionalidad de este lenguaje de programación.

108 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

• smbus: implementación en Python del subconjunto de comunicación SMBus (System Management Bus), a través del cual se administra la creación de buses I2C y las funciones básicas de estos. • struct: módulo que incorpora útiles herramientas de conversión entre estructuras de datos de C y Python. Con la ayuda de este módulo se consigue transcribir los valores almacenados en memoria y enviados mediante el bus de datos entre las dos unidades lógicas presentes en este proyecto. • scipy.optimize: SciPy es una de las librerías más amplias y utilizadas en Python, dotando a este de una inmensa cantidad de funcionalidades en el ámbito del tratamiento de datos científicos, tales como rutinas de optimización o integración. Incorpora ya de por sí otro gran módulo, NumPy, el cual dota a Python de estructuras matemáticas abstractas, así como de funciones matemáticas de tratamiento numérico avanzado. La combinación de estas dos librerías hace de Python una herramienta tan o más potente que el propio MATLAB.

10.2.2. Definiciones e inicialización

Importados los módulos y librerías pertinentes comienza la inicialización de las diferentes funciones y variables que se utilizarán a lo largo de todo el sistema de control.

Primero de todo se crean variables internas del programa tales como: • flags que se activarán una vez el sistema tenga datos nuevos por parte de la unidad IMU y una vez el DMP tenga datos nuevos en su registro. • variables que definen el pin GPIO utilizado para la detección de nuevos datos en el DMP y la dirección de I2C correspondiente al esclavo (Arduino), la cual deberá coincidir con el valor especificado en el código de Arduino para la correcta comunicación entre maestro y esclavo. • cargas normales que soporta cada rueda del vehículo en una situación estática sobre una superficie horizontal.

A continuación se configuran las diferentes interacciones que se realizarán a través de los pines GPIO de la Raspberry Pi. En primer lugar se define la nomenclatura a utilizar para los pines, pudiendo elegir entre la referida a la placa (números del 1 al 40, empezando por el pin superior izquierdo y acabando por el pin inferior derecho) o la referida al chip (notación interna de las conexiones de los GPIO a los terminales del procesador); por facilidad de uso se utilizará la referida a la placa.

Continuando con los parámetros de los GPIO se define el número del pin que se utilizará como interrupt del registro del DMP: cada vez que el DMP calcula una serie de ángulos de inclinación y los vuelca en su propio registro (FIFO), un terminal de la propia unidad IMU da un pulso digital de duración

109 Memoria

determinada. Este terminal se encuentra conectado al anteriormente mencionado pin GPIO, pudiendo detectar ese pulso y realizando las acciones correspondientes al hacerlo.

Cabe destacar que la detección de ese pulso se hará mediante interrupts y no a través del método llamado polling: los interrupts se ejecutan en segundo plano pudiendo detectar en cualquier momento su activación e interrumpir la ejecución del programa principal para realizar las acciones asignadas, comportamiento que hace que deban ser muy escuetos en programas muy sensibles a la frecuencia de ejecución; el método de polling consiste en dedicar una parte del código principal a comprobar el estado de una variable (ver si el pin determinado se encuentra en un estado lógico alto o bajo), lo que no altera el funcionamiento general pero pude dar lugar a una posible pérdida de pulsos si el código principal es muy complejo o ineficiente.

Por lo tanto, se asigna el pin mencionado como una entrada y se conecta este a una resistencia pull- down (se conecta internamente el pin a el terminal de voltaje de referencia GND mediante el uso de una resistencia de alto valor), lo cual evita las posibles perturbaciones de electricidad estática para así no detectar falsos niveles lógicos altos no pertenecientes a los pulsos objetivo. A la detección de un pulso ascendente (cambio de nivel lógico bajo a alto) este pin se asocia a una función que será ejecutada cada vez que dicho evento ocurra.

Figura 10.10. Asignación de la rutina de interrupción.

A continuación se inicializa el bus I2C con la Raspberry Pi como maestro, utilizando para ello el módulo smbus para crear un objeto del tipo SMBus. El único parámetro pasado a este objeto es el número del bus I2C empleado en el hardware de la Raspberry Pi, siendo para los modelos recientes el número 1 por defecto (correspondiente a los pines 3 para SDA y 5 para SCL, según nomenclatura de placa).

Por último se inicializa la unidad IMU como instancia de la clase MPU6050, pasando como argumentos las diversas variables declaradas en el script constantes.py. Para finalizar este proceso se llevan a cabo diversas tareas descritas por la propia librería, como programación del DMP, activación de este y reseteo del registro FIFO del que dispone la unidad IMU.

10.2.3. Funciones principales del sistema de control

Después se definen las funciones principales que se utilizarán a la hora de llevar a cabo los cálculos matemáticos repetitivos y las lecturas y escrituras de datos mediante el bus I2C. Las funciones que se declaran en este espacio son las siguientes:

110 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

• readArduino: función sin argumentos que, una vez ejecutada, exige al Arduino el envío a la Raspberry Pi de un bloque de datos de 12 bytes (correspondiente a 3 números decimales del tipo float, ya que cada float se almacena en 4 bytes). Este bloque contiene almacenados los diferentes valores de velocidad del vehículo y posición de los dos elementos aerodinámicos móviles. Para la conversión entre el formato de bytes recibido y el de floats requerido se utiliza la función auxiliar floatArduino. Devuelve un vector de 3 floats.

Figura 10.11. Función readArduino, encargada de almacenar los datos provenientes de Arduino.

• floatArduino: función auxiliar que recibe como argumentos un bloque de bytes y un índice y, mediante la implementación del módulo struct, convierte un fragmento del bloque original (indicando mediante el índice la posición de inicio) de 4 bytes en un número decimal del tipo float, según las estructuras del lenguaje de programación Python. Devuelve un valor del tipo float. • writeArduino: función que acepta una lista de valores del tipo float como argumento, principalmente dos (ángulos de ataque de referencia calculados mediante las ecuaciones de equilibrio en la dinámica vehicular). Mediante el uso de la librería struct se convierte cada uno de estos floats a un fragmento de cuatro bytes, agrupando todos hasta obtener un bloque de 8 bytes que se envía a la dirección I2C correspondiente al Arduino. No se devuelve ningún valor. • risingEdge: pequeña función que solo recibe un argumento, el número del pin al que se asignará como rutina de interrupción. Esta función será llamada mediante dichas interrupciones cada vez que se detecte el evento asociado, en este caso cada vez que se detecte un cambio del valor lógico bajo al alto en el pin GPIO asignado. Internamente esta función solo cambia el valor de la flag creada al comienzo a True, permitiendo saber al bucle principal la disponibilidad de nuevos datos volcados por parte del DMP en el registro de la propia unidad IMU. No se devuelve ningún valor. • LiftA: función que acepta como argumentos dos parámetros del tipo float, uno perteneciente al número adimensional de Reynolds (cuya explicación se encuentra en el apartado Fundamentos de la aerodinámica de [1]) y otro al ángulo de ataque del elemento aerodinámico móvil. Esta función solo está compuesta de un polinomio de segundo grado cuyas variables independientes son los argumentos pasados, el resultado del cual corresponde al coeficiente de sustentación negativa generada por dicho elemento aerodinámico en las condiciones concretas referidas. La obtención de los coeficientes de dicho polinomio se explica

111 Memoria

de manera detallada en el apartado Caracterización de la interacción aerodinámica. Devuelve un valor decimal del tipo float.

Figura 10.12. Función LiftA que incorpora los coeficientes de las simulaciones CFD.

• DragA: función análoga a LiftA que recibe dos float pertenecientes al número adimensional de Reynolds y al ángulo de ataque del perfil móvil y devuelve, mediante un polinomio similar al comentado, el valor del coeficiente de resistencia generada por la interacción del perfil móvil con el aire incidente. Devuelve un valor decimal del tipo float. • eqs: función que recibe como variable de entrada un vector con dos componentes del tipo float, las cuales servirán como variables independientes para el sistema de ecuaciones que incorpora en su interior. Estas dos ecuaciones corresponden a las ya explicadas en el apartado Dinámica vehicular, las cuales modelizan el comportamiento ideal de equilibrio (tanto en el eje transversal como longitudinal del vehículo) que se obtendría al aplicar dos ángulos de ataque óptimos en ambos elementos aerodinámicos móviles. Esta función devuelve un vector con los resultados numéricos de ambas ecuaciones en forma general, es decir, con todos sus términos aislados en un lado de la igualdad. Por ello, si los valores almacenados en las variables de entrada son la solución del sistema esta función devolverá un vector con dos valores decimales nulos, 0,00. Este comportamiento viene dado por el lugar en que se llama a esta función dentro del bucle principal, como se explicará más adelante en este mismo apartado.

Figura 10.13. Función eqs, con el formato correcto para el módulo scipy.optimize.

• carga_actual: función sin argumentos de entrada que lleva a cabo los cálculos matemáticos relacionados con la dinámica vehicular, explicados todos ellos en el apartado Dinámica vehicular. El flujo de trabajo es el siguiente. o Obtención de aceleración transversal absoluta (Aalpha), en referencia a los ejes globales. o Obtención de los ángulos de cabeceo y balanceo del vehículo respecto el suelo, a partir de las aceleraciones globales (pitch_acc y roll_acc, respectivamente). o Obtención de las inclinación del suelo respecto los ejes globales X e Y (roll y pitch, respectivamente).

112 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

o Cálculo de las aportaciones a la transferencia de carga a causa de las aceleraciones laterales, además de la inclinación del peralte del suelo (banking). o Cálculo de las aportaciones a la transferencia de carga a causa de las aceleraciones longitudinales, además de la inclinación de la pendiente del suelo (grade). o Descomposición del coeficiente de sustentación del vehículo en los ejes delantero y trasero, a partir del coeficiente de momento de cabeceo (pitch moment coefficient). o Definición de presión dinámica así como cálculo del número adimensional de Reynolds. o Cálculo de las cargas generadas por la aerodinámica, tales como sustentación en el eje delantero y trasero y resistencia. o Interpolación mediante las funciones LiftA y DragA de los coeficientes adimensionales de sustentación y resistencia de ambos elementos móviles, así como cálculo de las fuerzas resultantes de estas interacciones. o Cálculo de las afectaciones de las fuerzas calculadas en el punto anterior a la dinámica vehicular, divididas por eje del vehículo y por el eje sobre el que se ejerce el momento. o Superposición de carga normal por cada rueda a partir de la suma de todas las interacciones calculadas en los puntos anteriores.

Esta función devuelve la carga normal actual ejercida en cada una de las ruedas, expresada en forma de vector con cuatro componentes de tipo float. • carga_ideal: función principal del sistema de control feedforward. Dicha función no acepta variables de entrada y calcula la resolución de las ecuaciones almacenadas en la función eqs (cabe recordar que estas ecuaciones están expresadas a partir de variables como la carga actual y la carga en estático). Este cálculo se realiza mediante la implementación del módulo scipy.optimize y su función fsolve. Introduciendo como datos de entrada una función que contenga las ecuaciones a resolver (eqs) y una tupla que contenga tantos valores iniciales como incógnitas deban resolverse (2 en este caso, los dos ángulos de ataque óptimos), fsolve resuelve mediante métodos iterativos el sistema de ecuaciones proporcionando un vector con tantas componentes del tipo float como salida. Devuelve un vector con dos valores decimales del tipo float.

Con esto se finaliza el bloque de definiciones de funciones, por lo que se puede comenzar a describir la ejecución del bucle principal.

113 Memoria

10.2.4. Bucle de funcionamiento

Una vez se ejecuta el script con el código mostrado hasta ahora se dispone de todas las herramientas necesarias para proceder a la ejecución de manera cíclica del sistema de control del elemento aerodinámico activo. Este se encuentra programado como un bucle while, con la condición a cumplir para entrar fijada en True, por lo que se ejecuta de manera repetitiva hasta que el usuario decida interrumpirlo o se genere algún error imprevisto. Para manejar este último caso se ha decidido introducir todo el bucle de funcionamiento principal en una cláusula de manejo de errores try, de manera que si durante la ejecución se produce algún tipo de error que lleve a la parada del proceso de control se ejecutará una acción especial final encargada de resetear todos los ajustes realizados sobre los pines GPIO, evitando así que alguna de las definiciones permanezca activa después del reinicio del programa y pueda llegar a causar errores.

El flujo del proceso de control dentro del bucle principal es el siguiente: • Obtención del tamaño actual del registro FIFO perteneciente a la unidad IMU, así como el estado interno del registro. • Evaluación de la posibilidad de nuevos datos pertenecientes al DMP del IMU, contrastando el estado de la flag destinada a ello (llamada interrupt) y comparando el tamaño (en bytes) del registro FIFO con el mínimo asociado a un paquete de datos válido (42 bytes). En caso de la existencia de nuevos datos, se avanza a otra sección del programa; si no hay ningún dato nuevo se entra en una sección destinada a la comunicación con Arduino, la cual se explica a continuación: o Llamada a la función de lectura de datos readArduino, almacenando el resultado de esta (velocidad y ángulos de ataque reales) en variables globales. o Comprobación del tamaño actual del registro FIFO. o Evaluación de la posibilidad de nuevos datos almacenados de aceleración e inclinación, contrastando el estado de la flag destinada a ello, llamada newData. En caso de no haber nuevos datos se finaliza este bucle y se vuelve a la evaluación de interrupt; si se da la existencia de nuevos datos se entra en otro bucle que se comenta a continuación: ▪ Reseteo de la flag newData para no volver a leer de manera redundante los datos de aceleración e inclinación. ▪ Llamada a la función de cálculo de la situación dinámica del vehículo carga_actual, actualizando las variables que representan la carga actual normal por cada rueda del vehículo. ▪ Evaluación del modo de actuación a través de distintas comparaciones: si la velocidad actual es inferior al umbral mínimo de actuación, los ángulos de referencia se fijarán en sus valores mínimos (alerón replegado); si la

114 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

aceleración longitudinal es inferior al umbral mínimo se fijarán los ángulos de referencia en sus valores máximos (alerón totalmente desplegado, modo de ayuda de frenado); si, por el contrario, ninguna de estas dos condiciones es cierta, se entra en el modo normal de funcionamiento, el cual lleva a cabo las siguientes funciones: • Llamada a la función de cálculo de los ángulos de referencia (carga_ideal) mediante la resolución del sistema de ecuaciones pertinente. • Evaluación resultado a resultado para comprobar si se encuentran dentro del rango operativo del propio sistema: si algún valor resulta mayor al límite superior, este se fija en el ángulo de referencia máximo; si por el contrario algún valor resultante es menor que el umbral inferior, este se fija en el ángulo de referencia mínimo. Así se asegura que los datos almacenados de referencia siempre se podrán conseguir a través de los sistemas de actuación pertinentes.

Figura 10.14. Comprobaciones sobre los ángulos de referencia y llamada a la escritura a Arduino.

▪ Llamada a la función de escritura de datos a Arduino writeArduino, pasando como argumento el vector que almacena los dos ángulos de referencia calculados según el modo correspondiente. ▪ Actualización del tamaño del registro FIFO para asegurar su correcta evaluación en la salida del bucle. • En caso de disponer de datos nuevos provenientes de la unidad IMU se procede a la lectura e interpretación de estos, la cual empieza por el reseteo de la flag interrupt, así como una actualización del tamaño del registro FIFO y del estado de la unidad IMU. • Evaluación del estado interno del registro para asegurar su correcto funcionamiento: si la comparación del tamaño de este con el valor máximo posible (1024 bytes) o la comparación del estado interno del interrupt con su código de error (0x10) dan positivas, el registro se ha ido llenando de valores sin leer hasta alcanzar su valor máximo de almacenamiento, por lo que

115 Memoria

los posibles nuevos valores no se pueden escribir y está ocurriendo una pérdida de información. Si esto ocurre, se vacía el registro y se vuelve al comienzo del bucle principal. En caso que no resulte positiva ninguna de las dos comparaciones mencionadas se prosigue al siguiente punto. • Si no se encuentra ningún desbordamiento de registro se entra en un último bucle encargado del procesado de los datos contenidos en el registro. o Pequeño bucle (en caso de ser necesario) de espera hasta alcanzar el tamaño mínimo asociado a nuevos datos disponibles, corroborando continuamente el tamaño actual del registro hasta que este supera el umbral de los 42 bytes. o Llamada a la función específica de la librería MPU6050 encargada de leer un paquete de datos del registro FIFO del IMU y almacenarlos en una variable temporal. Como todo registro FIFO, el hecho de realizar una lectura resulta en la eliminación de estos datos del propio registro, disminuyendo por tanto su tamaño actual en 42 bytes. o Llamada a la función específica de la librería MPU6050 encargada de interpretar el paquete de datos temporal y, a partir de este, obtener un vector en el cual se almacenan los tres integer pertenecientes a los valores sin procesar de las aceleraciones en los tres ejes (longitudinal, transversal y vertical). o Llamada a la función específica de la librería MPU6050 encargada de interpretar el paquete de datos temporal y, a partir de este, obtener un vector en el cual se almacenan los cuatro integers pertenecientes a los valores del cuaternión que representa la aceleración registrada. Los cuaterniones son una extensión de los números reales que añaden tres dimensiones a estos; la aplicación de estos resulta muy útil en cuanto a representaciones espaciales. o Llamada a la función específica de la librería MPU6050 encargada de interpretar el paquete de datos temporal y, a partir de este, obtener un vector en el cual se almacenan los tres integers pertenecientes a los valores de la aceleración de la gravedad en sus tres ejes. o Llamada a la función específica de la librería MPU6050 encargada de interpretar tanto el cuaternión obtenido como la gravedad y, a partir de distintos cálculos matemáticos internos, devolver un vector de tres floats pertenecientes a los valores de los ángulos de inclinación sobre los tres ejes (longitudinal, transversal y vertical). o Conversión de los valores sin procesar de aceleraciones a tipo float en unidades g y almacenamiento de estos en sus variables correspondientes.

116 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

o Activación de la flag newData para avisar de la disponibilidad de nuevos datos provenientes de la unidad IMU. Después de esta acción se vuelve al inicio del bucle principal.

Figura 10.15. Funciones específicas de la librería MPU6050 para la obtención de datos.

Como se puede apreciar en la explicación anterior, el comportamiento del sistema de control es significativamente complejo, debiendo atender a distintas funciones que y eventos que van ocurriendo de manera simultánea durante la ejecución del programa principal. Es por ello que resulta necesario y de gran importancia el correcto control del tiempo que el sistema emplea en cada una de las secciones, pudiendo llevar la mala gestión de este a distintos tipos de errores, siendo el más común el llenado del registro FIFO de la unidad IMU (el cual resulta en la necesidad de vaciarlo, perdiendo por lo tanto todos los datos almacenados en este).

Para facilitar la sincronización de todos los sistemas involucrados en el proceso de control y, principalmente, para evitar el error comentado de llenado del registro, se ha disminuido la frecuencia de escritura de la unidad IMU del valor predeterminado de 200Hz a un valor de 20Hz: esta nueva frecuencia es lo suficientemente alta para obtener un buen comportamiento de todo el sistema sin ver afectada la robustez de este debido a acumulaciones de datos sin leer en el registro FIFO. El cambio se ha llevado a cabo modificando uno de los bytes dentro de los bloques de datos de la propia librería con los que se programa el DMP al inicio de cada sesión. Según la documentación, el valor de dicho byte corresponde a la variable x en la (Ec. 10.1):

200 퐹푟푒푐푢푒푛푐푖푎 푑푒 푒푠푐푟푖푡푢푟푎 (퐻푧) = 1 + 푥

(Ec. 10.1)

117 Memoria

El valor del nuevo byte se ha fijado, por tanto, en 0x09 tal y como se ve en la Figura 10.16:

Figura 10.16. Fragmento de la librería MPU6050 donde se ajusta la frecuencia de escritura del IMU.

Con el mismo objetivo de mejorar la robustez del sistema se ha decidido modificar también la velocidad de transmisión de datos mediante el bus I2C. Al ser la Raspberry Pi el maestro de dicho bus, debe programarse esta para la disminución de la frecuencia de reloj en las transmisiones. Este proceso se lleva a cabo añadiendo una línea de código en el archivo de parámetros de inicio del sistema operativo Raspbian, boot.conf, ya que al ser una configuración de hardware se debe de aplicar al iniciar el sistema.

La línea añadida, mostrada en la Figura 10.17, disminuye la velocidad de transmisión de datos de 100kbps (velocidad por defecto) a 10kbps, más que suficiente para la aplicación en el sistema de control y automatización.

Figura 10.17. Línea añadida al archivo boot.conf para disminuir la velocidad de transmisión del bus I2C.

10.2.5. Modificaciones posteriores

El modelo de funcionamiento aquí descrito es la idea principal de la que se ha partido. No obstante, a medida que se han ido realizando pruebas con los diferentes equipos que forman el sistema electrónico de manera combinada han ido apareciendo algunas incompatibilidades y problemas, por lo que ha sido necesario realizar varias iteraciones alterando algunos parámetros de funcionamiento hasta que se ha conseguido una total sincronía entre todos los elementos constituyentes. A continuación se listan las modificaciones que se han realizado posteriormente a partir de la experimentación con los equipos reales. • Eliminación de los interrupt por parte del registro de la unidad IMU. Este método para notificar la llegada de nuevos datos al registro interno de la unidad IMU es muy útil cuando las funciones a ejecutar en dichos interrupts son muy sencillas y hay pocas posibilidades de interferencia con

118 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

otras funciones que sean sensibles a la frecuencia de llamada; en el caso de esta implementación, la necesidad constante de comunicación mediante I2C tanto con la unidad IMU como con el Arduino hacen que el uso de interrupts resulte poco efectivo al ser activados estos durante otras rutinas de interrupción y, por tanto, llevar a un desbordamiento continuo del registro FIFO. La eliminación de los interrupts hace innecesarios algunos elementos como la flag interrupt o el uso del módulo RPi.GPIO (el bus I2C principal de hardware de la Raspberry Pi no se gestiona mediante esta librería). Como consecuencia de este cambio, la llegada de nuevos datos al registro de la unidad IMU se gestionará mediante el método de polling al evaluar de manera continua el tamaño de dicho registro y compararlo con el mínimo que corresponde a un paquete de datos válido (42 bytes). • Ajuste de la velocidad de transmisión del bus I2C. Anteriormente se ha comentado que, para asegurar el correcto funcionamiento de la comunicación entre el Arduino y la Raspberry Pi se había disminuido la velocidad de transmisión del bus de datos a 10 kbps. Este cambio, que por sí solo no debería afectar al funcionamiento del programa, altera también el modo de comunicación entre la Raspberry Pi y la unidad IMU, los cuales se encuentran todos conectados al mismo bus de datos I2C. La disminución de velocidad en un 90% ha resultado en una transmisión de datos entre Rasberry Pi y unidad IMU inaceptablemente lenta, bajando la frecuencia mínima de lectura de datos de la unidad IMU hasta aproximadamente 푓 = 0,33 퐻푧, que equivale a un dato cada tres segundos. Por este motivo se ha decidido realizar distintas iteraciones alterando la velocidad de transmisión hasta encontrar un equilibrio entre el correcto funcionamiento de la comunicación con Arduino y una frecuencia de transmisión por parte de la unidad IMU aceptable. La Tabla 10.2 muestra los resultados de dicho proceso.

119 Memoria

Velocidad de transmisión (kbps) Funcionamiento de la Frecuencia mínima aproximada comunicación con Arduino de lectura IMU (Hz)

100000 Inestable 30

10000 Estable 0,33

50000 Estable 1,5

70000 Estable 3

80000 Inestable 10

75000 Estable 5 Tabla 10.2. Proceso de selección de la velocidad de transmisión del bus I2C adecuada.

Como se puede apreciar, la velocidad resultante escogida es 75000 kbps, encontrando en ese punto tanto robustez como practicidad en cuanto a frecuencia de obtención de lecturas de la unidad IMU.

10.2.6. Diferencias de funcionamiento en la maqueta

Como ya se ha mencionado anteriormente en el apartado Implementación en el modelo, la implementación en el equipo electrónico de cara a la maqueta a escala difiere de la real en algunos de sus componentes, por lo que el funcionamiento de este control se ve ligeramente alterado. A continuación se mostrarán los cambios que se han realizado en el código de la Raspberry Pi para ajustar estos nuevos componentes al sistema ya diseñado, los cuales se encuentran en las siguientes secciones: • readArduino: la función de lectura del bloque de datos proveniente del Arduino debe modificar la asignación de variables a realizar, ya que anteriormente recibía 3 valores de tipo float (correspondientes a la velocidad y los dos ángulos de ataque reales) y ahora debe recibir 3 valores igual pero correspondientes a las aceleraciones longitudinal y transversal, así como la velocidad. • carga_actual: ya que los servos no proporcionan datos de la posición actual de estos, el cálculo de la carga normal actual se deberá de realizar con los datos de ángulos de referencia, suponiendo que ambos actuadores han logrado mantener la posición ordenada (acorde al funcionamiento interno de un servo). • Almacenamiento de datos de la unidad IMU: la sección donde se obtienen los datos provenientes de la unidad IMU debe adaptarse al nuevo origen de tales datos. En el código

120 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

anterior la asignación de las variables Ax y Ay se realizaba a partir de los datos de la unidad IMU, mientras que ahora estos datos se actualizan a partir de la lectura de datos de Arduino. Por lo tanto, los datos de aceleración provenientes de la unidad IMU no se usarán, por lo que no es necesario realizar la conversión a unidades g.

El resto del código se mantiene intacto a causa de que la Raspberry Pi es la unidad centrada en realizar los cálculos matemáticos del lazo de control feedforward, mientras que la mayoría de diferencias entre la implementación real y la maqueta se producen en el lazo de control feedback, del que se encarga el Arduino.

121

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Análisis del impacto ambiental

Durante la ejecución de este proyecto se han utilizado diversos equipos electrónicos y eléctricos, siendo los principales ordenadores (tanto sobremesa como portátiles), impresoras 3D y el propio túnel de viento. Estos equipos, dada su potencia, suponen un gasto eléctrico a tener en cuenta a la hora de analizar el impacto de este proyecto en el medio ambiente, por lo que se estimará su consumo para cada uno de ellos.

Primeramente se analizarán los ordenadores utilizados durante el proyecto. Se dispone de tres portátiles que se han usado de manera asidua para el modelado tridimensional en software CAD, preparación de los archivos de simulación, búsqueda de información y referencias, redacción, simulaciones estructurales de bajo coste computacional, etc. Se estima un uso total de unas 1800h entre los tres autores, que teniendo en cuenta una potencia media de cada portátil de 40W resulta en un gasto alrededor de 72 kW h.

El departamento de fluidos ha puesto a nuestra disposición un ordenador de sobremesa de altas prestaciones diseñado para resolver simulaciones computacionales de la manera más eficiente posible. Este ordenador tiene una potencia media de uso de 350 W y se ha utilizado para resolver 30 simulaciones de coste computacional medio (aproximadamente 4 horas cada una) y 10 de alto coste computacional (aproximadamente 40 horas cada una), lo que da un total de 520 horas, que expresado en consumo eléctrico asciende hasta un total de 182 kW h.

Para la fabricación de la maqueta a escala, así como de los modelos para realizar las experimentaciones en el túnel de viento, se ha utilizado la fabricación por adición de material plástico mediante impresoras BCN3D+. Dicho equipo tiene una potencia media de 200 W y se ha utilizado durante 60 horas en el campus universitario y durante 40 horas en servicios externos, dando un consumo total aproximado de 20 kW h. Además se han encargado a empresas externas algunas piezas que no ha sido posible fabricar, la obtención de las cuales se ha hecho mediante tecnología MJT en un equipo HP Jet Fusion 3D 4200/3200 de potencia media de 10 kW. Estos elementos han tardado 3 horas entre la impresión y el posterior procesado de refrigeración, consumiendo en total 30 kW h

La parte experimental de comprobación de resultados de las simulaciones computacionales fluidodinámicas se ha llevado a cabo en el túnel de viento TecQuipment AF100, con una potencia media de 20 kW y un uso de 20 horas, lo que equivale a un consumo de 400 kW h.

En total, el consumo eléctrico se estima en 684 kW h.

123 Memoria

En cuanto al gasto material, los únicos componentes fabricados han sido los perfiles a escala utilizados en el túnel de viento (junto con los soportes necesarios para su experimentación) y la maqueta a escala de exposición. El material utilizado en la impresión 3D ha sido PLA, el cual es un polímero termoplástico reciclable y reutilizable, mientras que el material utilizado en los soportes del túnel de viento es acero. Dichos soportes, juntamente con la mayoría de los perfiles utilizados en la experimentación en el túnel de viento, van a ser reutilizados por el departamento de fluidos para la realización de prácticas académicas. De manera aproximada, se ha consumido una cantidad de PLA de 800 gramos, de los cuales 500 han sido impresos en las instalaciones universitarias y el resto en servicios externos.

Adicionalmente, se ha comprado tornillería para su utilización en la maqueta a modo de uniones desmontables, por lo que se pueden reutilizar después de uso en la maqueta.

En la implementación real en el vehículo el sistema aerodinámico activo aquí estudiado se alimenta a partir de la batería de 24V del propio vehículo. Por ello, el gasto energético que esto conlleva corre a cargo de la electricidad generada por el alternador, que va conectado mecánicamente al eje del propio motor de combustión. El consumo medio aproximado de todo el sistema aerodinámico activo es de 612 W, perteneciendo 600 W al conjunto de actuación y el resto a la electrónica de control.

Un proyecto de esta envergadura tiene una extensión considerable en cuanto a número de páginas se refiere, por lo que la impresión de este supondría un gasto notable de papel, además de la encuadernación del mismo. Adicionalmente, al tratarse de un proyecto global conformado por tres trabajos que se presentan de manera individual, los fundamentos teóricos y una parte de los resultados obtenidos son de interés común, por lo que existe una cantidad considerable de capítulos que se deberían de imprimir de manera redundante. Por ello, el hecho de que la Universidad haya decidido prescindir de la obligatoriedad de entregar físicamente el Trabajo Final de Grado resulta en un ahorro de papel a tener en cuenta, superando con facilidad el millar de páginas no impresas.

124 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Conclusiones

Una vez finalizado el estudio y obtenidos todos los resultados pertinentes, se han extraído una serie de conclusiones a partir de la correcta interpretación de estos. Como este trabajo no se encuentra en el campo de la investigación, no se partía de una serie de hipótesis que confirmar, por lo que a nivel de conclusiones estas son de un carácter más técnico.

En primer lugar, se han obtenido unos resultados lógicos en cuanto al comportamiento aerodinámico del perfil seleccionado, en concordancia con otros perfiles alares de geometría similar.

En segundo lugar, se ha conseguido un diseño mecánico completo y funcional, fruto de un proceso iterativo siguiendo las pautas marcadas por algunas de las asignaturas impartidas en la universidad.

En tercer lugar, la implementación electrónica conseguida ha sido capaz de simular el comportamiento dinámico de un vehículo (a partir de los datos captados por diferentes sensores) y regular sus salidas acorde a este.

Por último, se ha fabricado una maqueta a escala con todos los grados de libertad con los que cuenta el prototipo diseñado, incorporando en esta todo el sistema electrónico de control y regulación. El sistema actuación, sin embargo, se ha emulado con una solución similar.

En el camino a la consecución de los objetivos marcados inicialmente se han ido adquiriendo una serie de competencias que han facilitado el desarrollo de este. Estos conocimientos de carácter más práctico no se aprenden en las aulas, sino que provienen de la experiencia.

Por un lado, la tarea llevada a cabo en el túnel de viento, que pretendía ser una verificación de la veracidad de los resultados obtenidos mediante simulación computacional fluidodinámica, ha puesto en evidencia las simplificaciones que lleva a cabo una simulación bidimensional: los vórtices de extremo, por ejemplo, que se suponían despreciables frente a otros efectos, han acabado siendo de vital relevancia aun cuando la ratio envergadura-cuerda es relativamente elevada. Esto hace ver la gran dificultad que supone correlacionar la teoría con la práctica. En consecuencia, resulta evidente la necesidad de llevar a cabo experimentos para validar los modelos virtuales, no significando esto que los métodos CFD no sean excelentes herramientas para obtener una idea muy clara del comportamiento aerodinámico con el correcto pre y postprocesado.

Por otro lado, durante el proceso de diseño se ha hecho patente el carácter iterativo de este, debiendo realizar diversas revisiones a los componentes mecánicos y a los materiales de estos conforme se avanzaba en el proyecto dado las interdependencias presentes. Esto se ha hecho presente a la hora de

125 Memoria

tener en cuenta la viabilidad en cuanto a la fabricación, un factor que no se tiene en cuenta en los niveles teóricos más elementales.

En relación al proceso de diseño resulta evidente la practicidad de herramientas que implementen el método de elementos finitos para el análisis estructural, suponiendo un ahorro tanto de recursos como de tiempo considerable que se puede invertir en mejorar el diseño existente.

Finalmente se ha podido apreciar de una manera mucho más clara y cercana el uso de la electrónica dentro de un sistema real, con todas las dificultades y problemas que ello conlleva. El modelo de dinámica vehicular incorporado ha ayudado a comprender la enorme dificultad de representar matemáticamente un sistema tan complejo como es un vehículo, suponiendo un ligero incremento en la precisión un gran coste de cálculo

En definitiva, la realización de este ambicioso proyecto nos ha aportado un conjunto de habilidades y conocimientos muy útiles de cara a nuestro desarrollo profesional como futuros ingenieros.

126 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Posibles vías de futuro desarrollo

Pese al gran alcance de este proyecto, el cual abarca tres áreas diferenciadas de la ingeniería y toca múltiples temáticas, se ha conseguido cumplir en gran medida las expectativas que todos los autores teníamos puestas en este trabajo. No obstante, somos plenamente conscientes de que se ha tenido que renunciar a algunos puntos, ya sea por restricciones de conocimiento o de tiempo, que nos habría gustado incorporar al proyecto.

Es por ello que se han pensado una serie de posibles vías de futuro desarrollo, que podrían dotar de mayor rigurosidad, profesionalidad y profundidad al sistema aquí estudiado.

• Realizar simulaciones computacionales fluidodinámicas con modelos tridimensionales, las cuales tendrían en cuenta más factores de la realidad tales como vórtices laterales. • Realizar simulaciones computacionales estructurales con el modelo completo, es decir, sin aplicar ningún tipo de simetría, para así observar casos en que los elementos móviles se encuentren en posiciones muy diferentes entre sí. • Aplicar una carga aerodinámica de presión sobre los perfiles aerodinámicos como una función definida por puntos, emulando así el perfil de presiones obtenido mediante CFD. • Encontrar una relación entre los factores perturbadores tridimensionales (como la ratio envergadura-cuerda) para así poder extrapolar de manera más precisa los resultados CFD a la realidad. • Valorar la posibilidad y viabilidad de la sustitución de los actuadores lineales por un sistema neumático. • Optimizar la sincronía de las diferentes funciones de cálculo y transmisión de datos en el código del sistema de control. • Valorar la sustitución del microcontrolador por un equipo electrónico con una frecuencia de reloj más alta, para así poder explorar todas las posibilidades del bus de datos. • Profundización de la búsqueda de datos vehiculares para la aplicación del modelo dinámico de tres masas. • Implementación de una realimentación negativa regulada mediante PID.

127

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Presupuesto

En esta sección se detallarán los recursos tanto materiales como intangibles que se han empleado a lo largo de este trabajo.

Por un lado, durante la realización de este proyecto se ha necesitado del uso y/o adquisición de distintos materiales y productos, los cuales se listan en la Tabla 1.

Material o producto Coste Unidades Coste subtotal unitario Filamento plástico PLA 30,00 €/kg 0,8 kg 24,00 € Barra calibrada acero 12mm 3,60 €/m 0,8 m 2,88 € Papel de lija 0,90 €/ud 3 ud 2,70 € Masilla 15,20 €/kg 0,25 kg 3,80 € Raspberry Pi Model 3B 38,00 €/ud 1 ud 38,00 € Arduino UNO R3 20,00 €/ud 1 ud 20,00 € InvenSense GY-521 2,44 €/ud 1 ud 2,44 € Joystick 0,99 €/ud 1 ud 0,99 € Pack 120 cables 6,10 €/ud 1 ud 6,10 € Protoboard 170 puntos 1,79 € /ud 2 ud 3,58 € Fuente protoboard MB102 0,60 €/ud 1 ud 0,60 € Servo Micro SG90 5,20 €/ud 2 ud 10,40 € Tornillo M2x20 y tuerca 0,145 €/ud 20 ud 2,90 € Tornillo M2x16 y tuerca 0,125 €/ud 20 ud 2,50 € Tornillo M3x10 y tuerca 0,115 €/ud 20 ud 2,30 € Licencia ANSYS* 0,70 €/h 550 h 385 € Licencia SolidWorks* 0,50 €/h 150 h 75 € Uso de túnel de viento* 150,00 €/dia 5 días 750 € Subtotal 1.333,19 € Tabla 1. Presupuesto subtotal de materiales y productos.

Debido a la imposibilidad de obtener ciertas piezas se han derivado servicios de impresión 3D a agentes externos, el presupuesto de los cuales se lista en la Tabla 2.

129 Memoria

Servicios Coste unitario Unidades Coste subtotal Impresión 3D MJF* 2,40 €/h 3 h 7,20 € Impresión 3D FFF* 1,45 €/h 40 h 58,00 € Subtotal 65,2 € Tabla 2. Presupuesto subtotal de servicios.

De acuerdo a la estimación de consumo energético realizada en el apartado de Análisis del impacto ambiental se ha calculado el coste que supondría.

Electricidad Coste unitario Unidades Coste subtotal Ordenadores portátile*s 0,12 €/(kW h) 72 kW h 8,64 € Ordenador sobremesa* 0,12 €/(kW h) 182 kW h 21,84 € Impresión 3D* 0,12 €/(kW h) 12 kW h 1,44 € Túnel de viento* 0,12 €/(kW h) 400 kW h 48,00 € Subtotal 79,92 € Tabla 3. Presupuesto subtotal de electricidad.

Por último, considerando unos honorarios medios tanto para ingenieros junior como para ingenieros senior, se ha obtenido el presupuesto mostrado en la Tabla 4.

Servicios de ingeniería Coste unitario Unidades Coste subtotal Honorarios de ingeniería* 50,00 €/h 2.500 h 125.000,00 € Subtotal 125.000,00 € Tabla 4. Presupuesto subtotal de servicios de ingeniería.

Agrupando todos estos costes y aplicando el 21% IVA a los productos marcados con un asterisco se obtiene el presupuesto total del proyecto, tal y como se muestra en la Tabla 5. Material o producto 1.333,19 € Servicios 65,20 € Electricidad 79,92 € Servicios de ingeniería 125.000,00 € IVA (21%) 26.534,58 € Total 153.012,89 € Tabla 5. Presupuesto total del proyecto

130 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Bibliografía

Referencias

[1] López, Eric. “Estudio de un sistema aerodinámico activo en automóviles: elementos aerodinámicos”. Trabajo Final de Grado. Universitat Politècnica de Catalunya: Escola d’Enginyeria Barcelona Est, 2018.

[2] Rivet, Iván. “Estudio de un sistema aerodinámico activo en automóviles: elementos mecánicos”. Trabajo Final de Grado. Universitat Politècnica de Catalunya: Escola d’ Enginyeria Barcelona Est, 2018.

Bibliografía complementaria

Abbot, Ira H.; von Doenhoff, Albert E. y Stivers Jr., Louis S. “Summary of Airfoil Data”. Technical report, National Advisory Committee for Aeronautics (NACA), 1945. https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19930090976.pdf

Abreu, O. V.; Alvear, D.; Capote, J. A.; Espina, J. y Lázaro, M. “Influencia del modelo de turbulencia y del refinamiento de la discretización espacial en la exactitud de las simulaciones computacionales de incendios”. Revista Internacional de Métodos Numéricos para Cálculo y DIseño en Ingeniería 24, no. 3 (2008): 227-45. https://upcommons.upc.edu/bitstream/handle/2099/10445/III%20-%20V24N3.pdf

Alam, Firoz; Steiner, Tom; Chowdhury, Harun; Moria, Hazim; Khan, Iftekhar; Aldawi, Fayez y Subic, Aleksandar. “A study of ball aerodynamic drag.” Procedia Engineering 13 (2011) 226-231. https://www.sciencedirect.com/science/article/pii/S187770581100991X

Ashby, Michael F. Materials selection in mechanical design. 3ª ed. Amsterdam: Butterworth- Heinemann, 2005.

Becker, Jared y Valdez, Jonathan. Texas Instruments. “Understanding the I2C Bus”. Technical report, 2005. http://www.ti.com/lit/an/slva704/slva704.pdf

Budynas, Richard G; Nisbett, J. Keith y Shigley, Joseph Edward. Diseño en ingeniería mecánica de Shigley. 9ª ed. México: McGraw-Hill, 2012.

Capece, V. R.; Kirk, William T.; Nayeri, C. N.; Paschereit, C. O. y Pechlivanoglou, G. “Comparative Study Of CFD Solver Models For Modeling Of Flow Over Wind Turbine Airfoils”. Proceedings of ASME Turbo

131 Memoria

Expo 2014: Turbine Technical Conference and Exposition (2014). http://proceedings.asmedigitalcollection.asme.org/proceeding.aspx?articleid=1907865

Castillo, Esmeralda. “Análisis de criterios de fallo para materiales compuestos”. Trabajo Final de Grado. Universidad Politécnica de Valencia: Escuela Técnica Superior de Ingeniería de Diseño, 2016.

CFD Online. “Introduction to Turbulence”. [Disponible 5 de mayo 2018]. https://www.cfd- online.com/Wiki/Turbulence

Components101. “Arduino UNO”. [Disponible 9 de marzo 2018]. https://components101.com/microcontrollers/arduino-uno

Components101. “Raspberry Pi 3”. [Disponible 9 de marzo 2018]. https://components101.com/microcontrollers/raspberry-pi-3-pinout-features-datasheet

Comsol Cyclopedia. “The Finite Element Method (FEM)”. [Disponible 22 de febrero 2018]. https://www.comsol.com/multiphysics/finite-element-method

Çengel, Yunus A. y Cimbala, John M. Mecánica de fluidos. Fundamentos y aplicación. 1ª ed. México, D.F.: McGraw-Hill, 2006.

De Pouplana Queralt, Marcos. “Diseño de un generador de vórtices”. Trabajo Final de Grado. Universitat Politècnica de Catalunya. Escola Tècnica Superior d’Enginyeria Industrial de Barcelona, 2017.

Dorf, Richard C. Sistemas de control moderno. 10a ed. Madrid [etc.]: Prentice Hall, 2005.

Egorov, Yury y Menter, Florian. “A Scale-Adaptive Simulation Model using Two-Equation Models”. AIAA Aerospace Sciences Meeting and Exhibit (2005). https://arc.aiaa.org/doi/abs/10.2514/6.2005-1095

Fixor. “Tuercas remachables e insertos.” [Disponible 15 de mayo 2018]. https://www.fixor.es/insertos- tuercas-remachables/

Frei, Walter. “Understanding the Solvers”. Comsol Tokyo Conference (2014). https://www.kesco.co.jp/conference/2014/data/ConfTokyo2014Mini_Solvers.pdf

Frei, Walter. Comsol Blog. “Which Turbulence Model Should I Choose for My CFD Application?”. [Disponible 3 de febrero 2018]. https://www.comsol.com/blogs/which-turbulence-model-should- choose-cfd-application/

132 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Gillespie, Thomas D. Fundamentals of . 1ª ed. Warrendale, Pa: Society of Automotive Engineers.

Hirsch, C. Numerical Computation of Internal and External Flows. Elsevier, 2007.

Kuo, Benjamin C. Sistemas Control Automático. 7a ed. México: Prentice Hall, 1996.

LearnCAx. “Basics of Y Plus, Boundary Layer and Wall Function in Turbulent Flows.” [Disponible 26 de marzo 2018]. https://www.learncax.com/knowledge-base/blog/by-category/cfd/basics-of-y-plus- boundary-layer-and-wall-function-in-turbulent-flows.

LINAK. “Actuadores Lineales” [Disponible 7 de mayo 2018]. http://www.linak.es/productos/linear- actuators.aspx

MathWorks Documentation. “Fit curve or surface to data – MATLAB fit”. [Disponible 29 de abril 2018]. https://es.mathworks.com/help/curvefit/fit.html

Matyushenko, Aleksey A; Kotov, Eugeniy V. y Garbaruk, Andrey V. “Calculations of flow around airfoils using two-dimensional RANS: an analysis of the reduction in accuracy.” St. Petersburg Polytechnical University Journal: Physics and Mathematcs Vol.3, Issue 1 (Marzo 2017) 15-21. https://www.sciencedirect.com/science/article/pii/S2405722317300191?via%3Dihub

Milliken, W. F. y Milliken, D. L. Race Car Vehicle Dynamics. 1ª ed. Warrendale, Pa: Society of Automotive Engineers, 1995.

Mott, Robert L. Mecánica de fluidos. 6ª ed. México D.F.: Pearson Prentice Hall, 2006.

Mullen, Benjamin J. Cornell Confluence. “FLUENT- Flow over an Airfoil”. [Disponible 8 de febrero 2018]. https://confluence.cornell.edu/display/SIMULATION/FLUENT+-+Flow+over+an+Airfoil

Mulsanne Corner. “Race Car Aerodynamics Database”. [Disponible 12 de mayo 2018]. http://www.mulsannescorner.com/data.html

Muñoz, Alberto. “Diseño y análisis computacional para túnel de viento de baja velocidad”. Proyecto fin de Carrera. Universidad Carlos lll de Madrid: Escuela Politécnica Superior, 2012.

Oñate, E. Structural analysis with the finite element method: linear statics. Barcelona: [London]: CIMNE, Springer, 2009.

Pacejka, Hans B. Tire and Vehicle Dynamics. 3ª ed. Oxford: Butterworth-Heinemann, 2012.

133 Memoria

P. Beer, Ferdinand; Johnston Jr, E. Russel y Mazurek, David F. Mecánica vectorial para ingenieros. Estática. 10ª ed. México, McGraw-Hill, 2010.

Pritchard, Philip J.; Fox, Robert W. y McDonald, Alan T. Fox and McDonald’s Introduction to Fluid Mechanics. 8ª ed. Manhattan: Wiley, 2011.

Python Documentation. “7.3. struct — Interpret strings as packed binary data”. [Disponible 15 de mayo 2018]. https://docs.python.org/2/library/struct.html

Quartus Engineering. “Composites 101”. [Disponible 24 de abril 2018]. https://www.quartus.com/resources/composites-101/

Rumsey, Christopher. Langley Research Center. “Turbulence Modeling Resource”. [Disponible 4 de mayo 2018]. https://turbmodels.larc.nasa.gov/

Schaeffler. “Casquillos de fricción INA de material compuesto de metal-polímetro.” [Disponible 17 de mayo 2018]. https://www.schaeffler.es/content.schaeffler.es/es/products_services/inafagproducts/rotativ_produ cts/plain_bearings/plain_bearings_maintenance_free/metal_polymer_composite_plain_bearings/co mposite_plain_bearings.jsp

Schieche, Bettina. “The strength of the weak form”. [Disponible 22 de febrero 2018]. https://www.comsol.com/blogs/strength-weak-form/

SHARCNET. “ANSYS Composite PrepPost User’s Guide”. [Disponible 4 de mayo 2018]. https://www.sharcnet.ca/Software/Ansys/16.2.3/en-us/help/acp_ug/acp_book.html

SKF. “Linear actuators product range” [Disponible 8 de mayo 2018]. http://www.linak.es/productos/linear-actuators.aspx

Storey, Neil. Electrónica: de los sistemas a los componentes. Wilmington, Delaware: Addison-Wesley Iberoamericana, 1995.

Timotion. “Linearantriebe” [Disponible 8 de mayo 2018]. https://www.timotion.com/de/products/intro/Linear_Actuators?guid=1481269298

Versteeg, H.K. y Malalasekera, W. An Introduction to Computational Fluid Dynamics. The Finite Volume Method. 2ª ed. Pearson Education, 2007.

Warner Linear. “Rugged Duty Linear Actuators”. [Disponible 8 de mayo 2018]. https://www.warnerlinear.com/Products/linear-actuators/rugged-duty-actuators

134 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Zhou, Ying y Wang, Z.J. “Effects of Surface Roughness on Separated and Transitional Flows over a Wing.” AIAA Journal Vol. 50, No.3 (Marzo 2012) 593-609. http://www.dept.ku.edu/~cfdku/papers/2012-aiaaj.pdf

135

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo A. Código completo de Arduino

A1. Implementación real

137 Anexos

138 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

A2. Implementación en la maqueta

139 Anexos

140 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

141

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo B. Código completo de Raspberry Pi

B.1. Partes comunes

143 Anexos

B.2. Implementación real

144 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

145 Anexos

146 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

B.3. Implementación en la maqueta

147 Anexos

148 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

149

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo C. Código de calibración de MPU6050

151 Anexos

152 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

153

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo D. Esquemas eléctricos

D.1. Implementación real

155 Anexos

D.2 Implementación en la maqueta

156 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo E. Imágenes de la maqueta a escala

Figura 1. Vista isométrica del modelo CAD renderizado de la maqueta.

Figura 2. Vista en perspectiva de la maqueta real.

157 Anexos

Figura 3. Vista en detalle de las cajas laterales y el sistema mecánico de la maqueta.

Figura 4. Vista en detalle del rocker y el brazo de la cremallera en la maqueta.

158 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Figura 5. Vista trasera completa de la maqueta. Ángulos de ataque a 55 grados.

Figura 6. Vista en detalle del interior de la caja central, con los elementos de control y sus conexiones.

159

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo F. Datasheet de Raspberry Pi Model 3B

161 Anexos

162 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

163 Anexos

164 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

165 Anexos

166 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

167 Anexos

168 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo G. Esquema eléctrico de Raspberry Pi 3 Model B

169

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo H. Datasheet de Arduino UNO R3

171 Anexos

172 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

173 Anexos

174 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo I. Esquema eléctrico de Arduino UNO R3

175

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo J. Datasheet de GY-521

177 Anexos

178 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

179 Anexos

180 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

181 Anexos

182 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

183 Anexos

184 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

185 Anexos

186 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

187 Anexos

188 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

189 Anexos

190 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

191 Anexos

192 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

193 Anexos

194 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

195 Anexos

196 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

197 Anexos

198 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

199

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo K. Datasheet de GY-GPS6MV2

201 Anexos

202 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

203 Anexos

204 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

205 Anexos

206 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

207 Anexos

208 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

209

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo L. Datasheet de KY-023

211 Anexos

212 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

213

Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo M. Datasheet SKF CAHM-3510-BN0100-D2-R0P-000

215 Anexos

216 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

217 Anexos

218 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

219 Anexos

220 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo N. Datasheet de Cytron MD30C R2

221 Anexos

222 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

223 Anexos

224 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

225 Anexos

226 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

227 Anexos

228 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo O. Datasheet de TowerPro Micro SG90

229 Anexos

230 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

Anexo P. Datasheet de MB102

231 Anexos

232 Estudio de un sistema aerodinámico activo en automóviles: control y automatización del sistema

233