s t u investigación, desarrollo e g implementación de un

58
Investigación, desarrollo e implementación de un sistema de medición de ángulo para una plataforma de vehículos. Noviembre 2018 Arturo Guridi Tartás DIRECTOR DEL TRABAJO FIN DE GRADO: Antonio Barrientos Arturo Guridi Tartás TRABAJO FIN DE GRADO PARA LA OBTENCIÓN DEL TÍTULO DE GRADUADO EN INGENIERÍA EN TECNOLOGÍAS INDUSTRIALES

Upload: others

Post on 27-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: s T u Investigación, desarrollo e G implementación de un

Investigación, desarrollo e implementación de un sistema de medición de ángulo para una plataforma de vehículos.

Noviembre 2018

Arturo Guridi Tartás

DIRECTOR DEL TRABAJO FIN DE GRADO:

Antonio Barrientos

Art

uro

Gu

rid

i T

artá

sTRABAJO FIN DE GRADO PARA

LA OBTENCIÓN DEL TÍTULO DE

GRADUADO EN INGENIERÍA EN

TECNOLOGÍAS INDUSTRIALES

Page 2: s T u Investigación, desarrollo e G implementación de un

Selection and Implementationof an angle and turning ratecontrol for a car turntableInvestigación, desarrollo e implementación de un sistema de medición de ángulo para unaplataforma de vehículosAuthor: Arturo Guridi | 14204Supervisor: Antonio BarrientosCo-supervisor: Philipp Rosenberger, M.Sc.

Page 3: s T u Investigación, desarrollo e G implementación de un

Arturo GuridiMatrikelnummer: 14204Studiengang: Mechatronik

Bachelor-Thesis Nr. 1318/18Thema: Investigación, desarrollo e implementación de un sistema de medición de ángulo para unaplataforma de vehículos

Eingereicht: 8 de noviembre de 2018

Technische Universität DarmstadtFachgebiet FahrzeugtechnikProf. Dr. rer. nat. Hermann WinnerOtto-Berndt-Straße 264287 Darmstadt

Page 4: s T u Investigación, desarrollo e G implementación de un

Erklärung zur Bachelor-Thesis

Hiermit versichere ich, Arturo Guridi, die vorliegende Bachelor-Thesis gemäß § 22 Abs.7 APB der TU Darmstadt ohne Hilfe Dritter nur mit den angegebenen Quellen undHilfsmitteln angefertigt zu haben. Alle Stellen, die aus Quellen entnommen wurden, sindals solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Formnoch keiner Prüfungsbehörde vorgelegen.Mir ist bekannt, dass im Falle eines Plagiats (§38 Abs.2 APB) ein Täuschungsversuchvorliegt, der dazu führt, dass die Arbeit mit 5,0 bewertet und damit ein Prüfungsversuchverbraucht wird. Abschlussarbeiten dürfen nur einmal wiederholt werden.Bei der abgegebenen Thesis stimmen die schriftliche und die zur Archivierung eingereichteelektronische Fassung gemäß § 23 Abs. 7 APB überein.

Darmstadt, den 8 de noviembre de 2018

(Arturo Guridi)

Page 5: s T u Investigación, desarrollo e G implementación de un

Resumen

En el desarrollo de nuevos sistemas más complejos para la conducción autónoma, se están poniendoen práctica muchos nuevos métodos para simular situaciones reales , los cuales hacen posible to-mar medidas más realistas y mejorar las tecnologías actuales. Por este motivo, en el departamento devehículos FZD de la TU Darmstadt, se pretende configurar una plataforma giratoria para vehículosque pretenda simular un vehículo en rotación o con un ángulo respecto a otro sistema. Para ello, sepretende medir el ángulo girado por la plataforma y luego usar este como referencia para calibrar sis-temas modelados de Radar, los cuales son capaces de medir también el ángulo de un vehículo dentrode su amplio radio de alcance. Esta plataforma posee ya un sistema anterior de medición de ángu-lo que hace uso de un sensor de ratón mouse y Matlab, aunque con poco éxito en su propósito ycondiciones necesarias, a parte de una gran complejidad de uso para un usuario sin conocimientosavanzados de Matlab. Por este motivo, se quiere implementar un nuevo sistema que sea capaz de su-plir al anterior y, si es posible, incorporar más características.Los requisitos para dicho sistema son primero una precisión muy alta, al menos mayor que 0.3°y conun error mínimo. Esto se debe a que, ya que el sistema se va a usar como referencia, si el error esmayor, el error acumulado luego en el modelo crecerá. Además, se requiere una buena robustez fren-te a interferencias, ya sean de la propia plataforma o externas. Esto es por el mismo motivo que elrequisito anterior, además de que se pretende que el sistema a desarrollar sea duradero y pueda serusado en caso de necesidad en proyectos futuros. Por último, es un punto favorable que el sistemadesarrollado sea sencillo y se pueda usar con relativa facilidad sin necesidad de conocer el sistema.La estructura a seguir consiste primero en evaluar las soluciones posibles que cumplen con las con-diciones exigidas, teniendo en cuenta las dificultades que plantea la plataforma. Para ello se sigueuna metodología basada en investigar los principios físicos de cada método y su compatibilidad conlas condiciones de contorno dadas. Todas las soluciones planteadas son descartadas en base a pro-blemas en su funcionamiento o derivados de su interacción con la plataforma, los cuales puedenllevar luego a una solución insuficiente, como es el caso del sistema previamente implementado en laplataforma. Paralelamente a este proceso, se va a investigar el funcionamiento y características de laplataforma para aprovechar el sistema actual y así reducir el trabajo y los costes. Una vez encontradaslas dos mejores soluciones, estás se probarán de manera empírica con equipos concretos, verificandosi tienen las ventajas e inconvenientes esperados. Tras esto, la mejor solución es elegida e implemen-tada . El proyecto culmina con unas vías futuras de investigación y una conclusión general, que valoralos métodos usados y si se han cumplido los objetivos deseados.Dados los requisitos y objetivos,se han encontrado una gran variedad de sensores, los cuales sonviables para la medición de ángulo de una plataforma de gran masa. Para ello, antes de explicar lossistemas, es necesario una comprensión previa de la plataforma y sus características.La plataforma dada está especialmente diseñada para vehículos, no obstante es de tipo concesiona-rio y no incorpora ningún sistema de regulación o medida. La rotación se realiza alrededor de su ejeZ, el cual es perpendicular al plano de la plataforma ( y al suelo), y situado en el centro geométrico dela plataforma, en el cual se encuentra el transformador eléctrico. Este transformador es el que recibela corriente de alimentación y, una vez transformada, pasa a un regulador de frecuencia que da unaseñal de salida cuyos parámetros pueden ser controlados mediante dicho regulador, la cual es envia-da a los dos motores que accionan la plataforma. Para que el regulador de frecuencia emita una señalde salida, debe ser activado por una entrada digital, la cual es enviada desde un microcontrolador si-tuado en una caja metálica en la plataforma. Las partes fijas de la plataforma son la base circular y el

Page 6: s T u Investigación, desarrollo e G implementación de un

transformador, rotando todo el resto de la plataforma. Por lo tanto la solución buscada debe utilizaruna de estas dos partes para obtener una referencia fija.

(a) Representación de la plataforma1

(b) Foto real2

Figura 1: Figuras de representación de la plataforma usada

Los sensores investigados para medición de ángulo son muchos, aunque sus sistemas son los quecondicionan su error y principio de funcionamiento, por lo que se han agrupado según estos pará-metros.Los diferentes sistemas estudiados se exponen en las siguientes tablas, teniendo en cuenta los pará-metros más importantes y características. El factor de "Precisión / Precisión requerida.es un indicadorde lo cerca que está el sistema de conseguir su requisito principal, por lo que valores de Baja no sonadmisibles. Por otra parte las dos viabilidades estudiadas, tanto la mecánica como la electrónica, sonfactores de necesidad que necesitan tener al menos un valor Medio para poder ser aplicables. Losvalores de la segunda tabla no son de tanta importancia como la primera, aunque también se hantenido en cuenta, especialmente la columna de error, que abarca tanto el error que tiene el sistemacomo las posibilidades de corregirlo.

Cuadro 1: Comparación de soluciones viables I

Tipo de solución Precisión / Precisión requerida Viabilidad mecánica Viabilidad electrónicaPotenciómetro Media Alta Muy BajaSensores Hall Media Media Muy BajaSensores láser Baja Media MediaDiscos ópticos Alta Baja Alta

Código Gray Alta Media AltaEncoder óptico Alta Alta Alta

IMU Alta Alta Media

Tras esto vemos que las mejores opciones son la IMU y el encoder óptico. No obstante, la IMU tie-ne un alto error que debe ser corregido y no se puede mediante un GPS, sistema típicamente usadopara este cometido, por lo que se va a implementar otra solución usando un código Gray. La segun-

1 Dada por el departamento FZD2 Foto hecha por el autor

Version: 8 de noviembre de 2018

Page 7: s T u Investigación, desarrollo e G implementación de un

Cuadro 2: Comparación de soluciones viables II

Tipo de solución Dificultad informática Error Posibilidad de trabajos futuros PrecioPotenciómetro Baja Medio Media Bajo =CSensores Hall Baja Alto Media Bajo =CSensores láser Media Alto Baja Bajo =CDiscos ópticos Media Bajo Baja Muy Alto =C=C=C=C

Código Gray Media Bajo Baja Medio =CEncoder óptico Alta Bajo Alta Alto =C=C=C

IMU Alta Alto Alta Medio =C=C

da opción a probar en caso de fallo de la primera es el encoder óptico, algo más caro pero fiable yadecuado dadas las características de la plataforma.

IMU + código GrayLa base de este sistema es usar una IMU, la cual es capaz de medir la velocidad angular y de ahí extraerel ángulo. Para la corrección de posición, ya que no se puede usar un sistema GPS debido a su falta deprecisión en este caso, se va a usar un código Gray, el cual tiene problemas de precisión para ángulosmuy pequeños pero funciona a buen nivel para ángulos mayores. La mayor dificultad de esta soluciónestá en comprobar la viabilidad de la IMU proporcionada y asegurar que efectivamente es adecuadapara esta solución. Tras una serie de comprobaciones prácticas y la revisión del manual teórico, se

Figura 2: IMU MTi-100 series usada en el experimento1

ha concluido que la IMU no es adecuada para este proyecto. Aunque el sistema funciona según loesperado, el error es mayor en circunstancias de baja aceleración y velocidad, como es el caso de laplataforma, y su corrección es muy difícil mediante el sistema Gray, por lo que, en coordinación conel departamento, se ha decidido prescindir de esta opción y usar como método final el encoder óptico

Encoder ópticoEsta opción es la que se presenta más viable a nivel teórico y práctico. Tras haber descartado la IMU,es la mejor opción para medir el ángulo y así se ha demostrado posteriormente. Tras una investiga-ción de modelos, todos de una empresa alemana sugerida por el profesor del departamento, se hacomprado un modelo capaz de dar dos ángulos, uno incremental y uno absoluto, el cual se diferenciadel primero por dar además el sentido y una referencia del cero.A nivel mecánico el encoder no ha planteado demasiadas dificultades. Se ha configurado medianteel mecanizado de 2 piezas y la impresión en 3D de una tercera, las tres diseñadas por el autor de for-

1 De la página web oficial de la empresa Xsens

Version: 8 de noviembre de 2018

Page 8: s T u Investigación, desarrollo e G implementación de un

ma que no haya deslizamiento ni juego entre ellas y así no tener pérdidas en la transmisión de par.Estas adiciones son configurables en el futuro y son capaces de resistir las vibraciones y demás per-turbaciones que pueda haber en la plataforma. Además, el montaje de el sensor se puede retirar confacilidad para su mantenimiento o en caso de fallo.

Figura 3: Configuración mecánica del sensor basada en 3 piezas2

A nivel del programación sí han surgido más problemas, tal y como se ha reflejado en la tabla ante-rior. La interfaz de comunicación es BiSS, un sistema ampliamente usado en sensores industriales deposición y ángulo debido a su fiabilidad y alta frecuencia de transmisión, hasta 10 MHz. Con el fin deevitar más costes añadidos y obtener un mejor conocimiento de su funcionamiento, se ha programa-do a bajo nivel usando el microcontrolador ya existente en la plataforma. Para obtener el ángulo delsensor según como dicta la interfaz BiSS, es necesario que la placa emita una señal PWM a modo dereloj a el sensor y este, al recibirla, transmite a la placa la información codificada en bits binarios, loscuales se sincronizan con la señal PWM enviada. Por este motivo, alcanzar una sincronización exactaentre señal y lectura de datos del sensor es vital, sin la cual no habría datos correctos y por lo tanto nose podría obtener un valor del sensor.Tras la programación realizada, se ha observado que faltan datos por dar, los cuales no han sido pro-porcionados por la empresa suministradora. Esto se debe a que la implementación a bajo nivel des-crita no es común con este tipo de sistemas, si no que normalmente se usa hardware adicional yaconfigurado para leer este tipo de datos sin necesidad de entrar tanto en ese nivel de programación.Debido a limitaciones de tiempo y problemas de comunicación con la empresa, estos datos no sehan podido obtener a tiempo para la finalización estipulada en el proyecto, motivos por los que haquedado el breve trabajo restante para su continuación por el coordinador de este proyecto.Como conclusión del autor, el trabajo realizado ha demostrado que se ha alcanzado la mejor soluciónpara medir el ángulo, además de que se ha realizado una implementación mecánica y a nivel de soft-ware se ha dejado un modelo general a espera de los datos y constantes necesarios, los cuales seránsuministrados por la empresa. La evaluación del departamento FZD ha sido positiva con el proyecto,dejando clara su satisfacción por el trabajo realizado y por las nuevas vías de investigación que seabren a partir del desarrollo de este trabajo.

2 Foto realizada por el autor

Version: 8 de noviembre de 2018

Page 9: s T u Investigación, desarrollo e G implementación de un

Índice

1 Introducción 1

2 Metodología de trabajo 2

3 Evaluación y soluciones 33.1 Estado inicial de la plataforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3.1.1 Sensor de mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.1.2 Transformador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.1.3 Regulador de frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.1.4 Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.2 Posibles soluciones para la medición de ángulo . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2.1 Potenciómetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2.2 Sensores Hall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2.3 Sensores láser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2.4 Sensores ópticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2.5 Unidad de medición inercial IMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3 Resumen general de soluciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Evaluación y discusión de las mejores soluciones 144.1 Fusión de sensores: IMU + Código Gray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.1.1 Tests en ordenador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.1.2 Especificaciones técnicas del IMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2 Encoder óptico absoluto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2.1 Elección del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2.2 Datos técnicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5 Resultados 215.1 Montaje mecánico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.2 Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.2.1 Interfaz del sensor, SSI y BiSS-b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.2.2 STM32F4 programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2.3 Programa del sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.3 Comprobación de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6 Trabajos futuros y aplicaciones 336.1 Futuro inmediato y lejano del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.1.1 Cambios a futuro próximo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.1.2 Mejoras más avanzadas y cambios a largo plazo . . . . . . . . . . . . . . . . . . . . . 33

6.2 Otras aplicaciones y proyectos posibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7 Conclusiones 367.1 Evaluación general y elección de la mejor solución . . . . . . . . . . . . . . . . . . . . . . . . 367.2 Resultados y conclusiones finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Version: 8 de noviembre de 2018 i

Page 10: s T u Investigación, desarrollo e G implementación de un

Literatura 38

A User Manual 39A.1 Hardware Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39A.2 Software Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

B Planificación del tiempo 43

C Presupuesto y cálculos de tiempo 45

Version: 8 de noviembre de 2018 ii

Page 11: s T u Investigación, desarrollo e G implementación de un

Índice de figuras

1 Figuras de representación de la plataforma usada . . . . . . . . . . . . . . . . . . . . . . . . .2 IMU MTi-100 series usada en el experimento . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Configuración mecánica del sensor basada en 3 piezas . . . . . . . . . . . . . . . . . . . . .4 Representación de la plataforma con un vehículo encima . . . . . . . . . . . . . . . . . . . 15 Plataforma DB2/25 adaptable para vehículos . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Transformador original de la plataforma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Representación de un potenciómetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Efecto Hall usado para medir aplicaciones lineares o angulares . . . . . . . . . . . . . . . . 79 Encoder óptico incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810 Código Gray absoluto de 4 bits (22,5°) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911 Encoder óptico industrial de la empresa alemana Hengstler . . . . . . . . . . . . . . . . . . 1012 IMU tridimensional capaz de medir variables en los 3 ejes . . . . . . . . . . . . . . . . . . . 1113 Ilustración del funcionamiento de un filtro Kalman . . . . . . . . . . . . . . . . . . . . . . . 1214 IMU Xsens MTi-G-700 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1515 Foto del encoder AD58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1816 Mechanical Montage of the sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2117 ARRIBA:Pieza original de transformador;ABAJO: Pieza impresa en 3D de sustitución . . 2218 Montaje completo con todas las piezas definitivas . . . . . . . . . . . . . . . . . . . . . . . . 2319 Las dos partes del SSI, Master(Controlador) y Slave (Sensor) . . . . . . . . . . . . . . . . . . 2420 Interfaz BiSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 Llamadas a funciones de inicio y configuración . . . . . . . . . . . . . . . . . . . . . . . . . . 2822 Primera parte del bucle infinito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2923 Segunda parte del bucle infinito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2924 Terminal con los resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3125 Screenshot of the MDK-ARM program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4026 Flash Tool Menu configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4027 Realterm terminal configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Version: 8 de noviembre de 2018 iii

Page 12: s T u Investigación, desarrollo e G implementación de un

Índice de cuadros

1 Comparación de soluciones viables I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Comparación de soluciones viables II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Análisis de posibles opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Análisis de posibles opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Datos técnicos de la IMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Especificaciones del AD58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Cables del AD58(inglés) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Parámetros de BiSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Cable connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3910 Tiempo invertido en el proyecto por los diferentes integrantes . . . . . . . . . . . . . . . . 4511 Tabla de costes del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Version: 8 de noviembre de 2018 iv

Page 13: s T u Investigación, desarrollo e G implementación de un

Lista de símbolos y abreviaciones

° - ángulo sexagesimal

ω - velocidad angular

µ - coeficiente de fricción

θ - ángulo rotado

µs - micro segundos

ns - nano segundos

b - número de bits

PCB - "Printed Circuit Board", Placa de circuito impreso

STM - STMicroelectronics (marca)

STM32F4 - STM32F407 Discovery microcontrolador

FR - Regulador de Frecuencia

LED - "Light Emitting Diode", Diodo Emisor de Luz

SSI - "Synchronous Serial Interface", Interfaz síncrona en serie

Biss-b - "Bidirectional SSI- binary"Bidireccional SSI- binario (data)

IMU - Ïnertial Measurement Unit", Unidad de medición inercial

GPS - "Global Positioning system", Sistema de Posicionamiento Global

FZD - "Fahrzeugfachbereich Darmstadt", Departamento de vehículos de la TU Darmstadt

RADAR - Radio Detecting and Ranging", Sistema de detección por ondas de radio

Version: 8 de noviembre de 2018 v

Page 14: s T u Investigación, desarrollo e G implementación de un

1 Introducción

En el marco actual de la investigación en conducción autónoma, nuevas tecnologías están sien-

do desarrolladas para una mejor experiencia de conducción asistida. Para ello nuevos sistemas de

medición y seguridad son mejorados y adaptados a este nuevo campo de investigación. Uno de los

principales sistemas lo encontramos en el RADAR, cuya tecnología es ya antigua pero está siendo de

nuevo usada en las últimas décadas para su aplicación en los coches autónomos.

El RADAR es un sistema de emisión de microondas, una frecuencia entorno a los 100 GHz, para detec-

ción de distancia y velocidad relativa de un objeto, ya sea fijo o móvil, mediante el cálculo de el tiempo

de vuelo y el efecto Doppler para la velocidad. El sensor suele ser implantado en la parte delantera del

vehículo y permite estimar las distancias y velocidades de otros objetos enfrente del mismo, pudien-

do así con información complementaria de otros sensores clasificar objetos de su entorno y regular

su velocidad propia. Además el RADAR tiene la capacidad de medir el ángulo relativo de un objeto,

algo muy útil en curvas para medir el radio de curva y el ángulo del vehículo anterior. Esta última

capacidad está siendo investigada y modelizada en el departamento FZD y es un proyecto conjunto

en el cual intervienen varios trabajos de doctorado, máster y grado.

Para ello el departamento necesita realizar experimentos de comprobación y calibración del sensor.

El mismo departamento posee una plataforma giratoria para vehículos la cual va a ser usada para este

proyecto. No obstante al ser el RADAR el objeto de estudio, se necesita un sistema fiable de medición

de ángulo externo para usarlo como referencia y así obtener el ángulo θ . El sistema buscado tiene que

tener una precisión de al menos 0.3°y ser capaz de dar el sentido de giro. La plataforma gira a bajas

velocidades por lo que el sistema tiene que trabajar en esas condiciones, sin necesidad de cambios

bruscos en velocidad o aceleración. Además para mayor precisión se busca que tenga el menor peso

y volumen posible, alterando así poco el momento inercial de la plataforma. Esto es importante ya

que otro TFM en el mismo departamento está investigando un modelo matemático de la plataforma

con diferentes vehículos encima. La plataforma ya posee un sistema anterior de medición de ángulo

Figura 4: Representación de la plataforma con un vehículo encima3

basado en un ratón óptico que no funciona de manera correcta y se pretende cambiar. Este sistema

será descrito en detalle más adelante. El objetivo del proyecto es investigar e implementar en la me-

dida de lo posible un nuevo sistema de medición con la precisión solicitada, que use software libre y

gratuito y que sea fácil de utilizar para futuros experimentos.

3 Representación dada por el departamento FZD

Version: 8 de noviembre de 2018 1

Page 15: s T u Investigación, desarrollo e G implementación de un

2 Metodología de trabajo

Antes de empezar el proyecto de investigación, se va a describir la metodología usada, así como

los criterios seguidos a la hora de evaluar diferentes soluciones y luego probarlas a nivel práctico.

El trabajo realizado es de tipo científico y por lo tanto el método correspondiente será aplicado a la

hora de realizar y elegir una vía u otra. Para ello primero se establecerá una hipótesis, la cual será des-

pués probada y afirmada o desechada según sus datos objetivos. Los criterios a seguir son la precisión

del sensor, su eficiencia y adaptabilidad a la mecánica de la plataforma y por último su viabilidad eco-

nómica.

Dada la naturaleza del trabajo primero todos los posibles principios que son capaces de medir un

ángulo serán evaluados, además de sus diferentes aplicaciones prácticas y usos. Descartando aque-

llos principios incompatibles con el sistema dado, las diferentes aplicaciones viables serán evaluadas,

teniendo en cuenta, además de su precisión, si es posible su montaje en la plataforma, dado el redu-

cido espacio que hay la complejidad del funcionamiento de la misma. Con este método dos mejores

soluciones serán elegidas. Esto se hace en el improbable caso de que una comparación teórica no lle-

gue a un nivel de profundidad necesario para diferenciar dos soluciones, además de que esto permite

establecer una segunda solución también viable para trabajos futuros similares. Debido al método

usado, estas dos soluciones serán muy diferentes y por lo tanto cada una tendrá una serie de ventajas

e inconvenientes. Al final la elección del sistema final se realizará en conjunto con el departamento

FZD interesado en el proyecto y el cual realizará la inversión económica necesaria.

Posteriormente estas dos soluciones serán puestas a prueba para una mejor evaluación empírica de

sus resultados. Esto servirá además para comprobar si verdaderamente la mejor solución es la mejor

y así probar que la metodología seguida es correcta. Debido a limitaciones de tiempo, la prueba de

cada una será breve, descartando en seguida aquella que presente mayor problema inicial o cuya so-

lución no pueda ser implementada hasta un nivel avanzado en este proyecto. Este mismo criterio se

seguirá en la parte de programación, no obstante está vendrá más marcada por el sistema elegido y

es además de menor importancia en el proyecto, ya que el software va a ser trabajado posteriormente

a la finalización del proyecto y modificado acorde a necesidades más específicas del departamento.

En la parte final del trabajo un análisis de los resultados y del trabajo realizado será hecho, así co-

mo las posibles aplicaciones futuras que tiene el proyecto. Los criterios a seguir serán además de si

cumple satisfactoriamente los resultados esperados, si es de fácil uso para su desarrollo futuro y si

la solución elegida e implementada es al final la mejor o ha presentado errores inesperados. Es im-

portante para ello considerar la simplicidad del sistema, lo cual favorece un rápido aprendizaje del

mismo y evita errores imprevistos. Por último se tendrá en cuenta la evaluación del departamento, el

principal interesado en el desarrollo del proyecto, el cual evaluará no solo los resultados sino todos

los puntos anteriormente descritos y establecerá el camino a seguir en sus investigaciones futuras.

Version: 8 de noviembre de 2018 2

Page 16: s T u Investigación, desarrollo e G implementación de un

3 Evaluación y soluciones

La plataforma dada es de la empresa alemana BUMAT, modelo DB2/25. Todos los sistemas se

encuentran dentro de la caja, tal y como se muestra en la Figura 2. Esta tapa estará hasta los últimos

test quitada para facilitar el trabajo y la modificación de los componentes.

Figura 5: Plataforma DB2/25 adaptable para vehículos4

3.1 Estado inicial de la plataforma

La plataforma dada venía ya modificada por un trabajo anterior5. Por ello algunos de los com-

ponentes habían sido cambiados o el comportamiento inicial de una plataforma industrial no es el

esperado. El primer punto por lo tanto consiste en evaluar estos sistemas, comprobar el estado inicial

de todo lo necesario para su funcionamiento y de ser necesario, realizar los cambios pertinentes.

La intención original era que la plataforma funcione con Matlab y un sensor que da el ángulo de giro

y regula mediante Simulink el giro de la misma. Este sistema es el original a desechar, ya que el depar-

tamento pretende obtener una solución independiente de Matlab y más simple. Una gran cantidad

de problemas de compatibilidad han sido encontrados con el Matlab, el microcontrolador y el sensor,

por lo que ha sido ya descartado y no se pretende usar el sensor o Matlab en el resto del proyecto.

3.1.1 Sensor de mouse

La primera parte visible es un ratón de ordenador modificado y adjunto mediante pequeñas vi-

guetas en L a un borde de la plataforma. Este sensor está además conectado mediante un cable del

ratón que sale a unos conectores tipo "Duppont.a el microcontrolador de la plataforma. El estado del

sensor es desconocido ya que solo funciona con Matlab y como ya se ha dicho por múltiples proble-

mas fue desechado por lo que se ha supuesto defectuoso debido al pobre estado físico en el que se

encontraba. El sensor se ha desmontado por lo tanto y ningún trabajo futuro se hará con él en este

proyecto.

3.1.2 Transformador

En el centro de la plataforma de manera altamente visible se aprecia un transformador. Este es-

tá compuesto por varias capas de anillos interpuestos de conductores (dorados) y aislantes (negros).

4 Sacada de la web de la empresa5 citeFaried2016

Version: 8 de noviembre de 2018 3

Page 17: s T u Investigación, desarrollo e G implementación de un

Sobresaliendo del mismo están 4 cilindros macizos roscados los cuales están fijos a la base de la pla-

taforma y sostienen los anillos aislantes. Por lo tanto esta parte está fija a la plataforma circular de la

base y las dos son las únicas partes fijas mientras que todo el resto de la plataforma gira entorno a sí

misma. La instalación eléctrica del transformador ha sido modificada. Por una parte el transforma-

Figura 6: Transformador original de la plataforma6

dor toma corriente directamente de la red sin pasar antes por un regulador de corriente, el cual era

inicialmente usado para regular la velocidad. En su lugar la corriente va a un regulador de frecuencia,

FR, el cual se encarga de controlar los parámetros eléctricos y puede a su vez ser regulado por la pla-

ca. La configuración eléctrica no va a ser modificada durante el proyecto, no obstante es importante

destacar que en el centro del transformador existe un pequeño campo magnético y ciertas partes de

la misma son metales ferromagnéticos, por lo que estas soluciones parten con desventaja a la hora de

ser elegidas.

3.1.3 Regulador de frecuencia

Como ya se ha explicado antes, el actuador eléctrico es controlado mediante un regulador de fre-

cuencia. Como Ïnput"tiene los cables del transformador los cuales le envían una señal eléctrica con

unos parámetros determinados. El FR tiene que ser activado mediante una señal para emitir un pulso

de salida a los motores y habilitar el giro. Esta señal se envía mediante el microcontrolador , pasando

primero por unos fusibles, a una entrada digital del regulador. Cabe destacar que este es indispensa-

ble para el funcionamiento de la plataforma y esta no puede girar sin el mismo, por lo que todos los

programas tienen que incorporar en alguna fase la emisión de esa señal. Este permite además nuevas

funciones como cambiar la dirección de giro y registrar una serie de parámetros eléctricos, los cuales

no son necesarios para el proyecto.

Cabe destacar que durante la realización de este proyecto, por necesidad de otro trabajo, hubo que

cambiar el FR por otro más moderno y con más parámetros a regular. Por lo tanto en la fase final del

proyecto la programación del nuevo regulador se dejó de lado debido a problemas de horario y a la

nueva complejidad añadida del mismo.

6 Foto tomada por el autor

Version: 8 de noviembre de 2018 4

Page 18: s T u Investigación, desarrollo e G implementación de un

3.1.4 Microcontrolador

La última pieza clave de la plataforma es un microcontrolador situado en una caja metálica es-

tanca en un lado de la plataforma. Está protegido a agentes invasivos externos como el polvo o el

agua y los cables de entrada y salida también están protegidos por aislantes. La placa es de la marca

"STMicroelectronics", de la serie "STM407VG Discovery", una placa apta para este tipo de trabajos

por sus altas velocidades de computación su capacidad de memoria. La programación de la misma

se hace mediante un lenguaje basado en C++ muy similar a Arduino, usando funciones comunes pe-

ro también propias para todas las funciones de Hardware. Para su programación se ha usado la IDE

.ARM Keil uVision v5.0". Cabe destacar que aunque la placa posee algunas características especiales,

es también más compleja de programar que una Arduino debido precisamente a estas características

añadidas. Para usarla son necesario dos cables, un micro-USB que da la alimentación y descarga los

programas, y un segundo cable del tipo USB-USART que permite transmitir información de la placa a

un ordenador y leerla mediante un terminal. Más sobre ello se explica en el apartado de programación

de la placa y en la guía de usuario.

3.2 Posibles soluciones para la medición de ángulo

En este capítulo se discutirán las diferentes soluciones evaluadas para la plataforma. En este pri-

mer nivel solo se analizarán a nivel teórico sin llegar a su prueba. Más adelante en el siguiente capítulo

las dos mejores soluciones encontradas serán probadas y corroboradas. Este primer análisis teórico se

justifica basándose en la metodología usada y en las limitaciones físicas que tienen algunos sistemas

que los hacen de partida incompatibles o con un error demasiado grande para este proyecto.

3.2.1 Potenciómetro

El potenciómetro es una conocida, sencilla y barata solución para hacer mediciones de ángulo.

Su principio de funcionamiento es sencillo, basándose en un resistor variable en función de su eje de

entrada, el cual se acopla a la parte móvil de la cual se quiere medir el ángulo. Con esta entrada y una

corriente fija el sensor da una corriente de salida variable la cual se puede medir sencillamente con

un microcontrolador y así obtener una medición de ángulo.

Figura 7: Representación de un potenciómetro7

Version: 8 de noviembre de 2018 5

Page 19: s T u Investigación, desarrollo e G implementación de un

Una ventaja de este método es la precisión teórica casi infinita. Al basarse en un gradiente de

tensión para dar el ángulo, el sensor puede dar una vuelta entera de hasta 360°con incrementos tan

pequeños como se desee. Los sistemas más modernos son capaces de dar además una cifra de conta-

dor para el número de vueltas efectuado. No obstante un concepto a tener en cuenta en estos sensores

es su linearidad 8. Debido a que el circuito eléctrico no es ideal, existe una diferencia de voltaje entre

el teórico que debería emitir el sensor y el emitido por el mismo debido a la precisión de los resistores

internos y las pérdidas no contempladas. Además cabe destacar que es importante siempre mantener

el sensor fijo y de manera estable para obtener medidas fiables sin mucho fallo mecánico. A pesar de

todo esto en los potenciómetros comerciales de hoy en día es posible obtener precisiones de hasta

0.1 °a un coste moderado.

El mayor problema planteado es su colocación. La parte fija más segura de la plataforma es el trans-

formador, el cual permanece estático mientras que el resto gira. No obstante debido a la acción de

campos magnéticos en esa parte es imposible su montaje en esa zona, ya que la influencia de estos

campos podría provocar un error mayor que la precisión deseada. Otra solución sería colocarlo en

una de las vigas móviles y que gire con respecto a la base circular. Esta tiene un bajo coeficiente de

rozamiento µ, ya que la base es de acero que ha recibido un trabajado superficial muy fino. Por ello se

debería recubrir esta base de un material de alto rozamiento que esté siempre en contacto con el eje.

Esto hace la solución a efectos globales más cara y no tan alta fiabilidad, ya que los errores derivados

son de más difícil corrección y dependen de la velocidad angularω.

Por estas razones no es conveniente elegir esta opción como una de las óptimas. Posteriormente esto

se reflejará en una tabla comparativa.

3.2.2 Sensores Hall

El efecto Hall, descubierto por Edwin Hall en 18799 es el proceso en el cual un voltaje es generado

como resultado de un campo magnético que atraviesa perpendicularmente una corriente. Una de

sus más importantes aplicaciones se da en el campo de la electrónica de sensores y control, debido

a su sencillez y alta fiabilidad. Se encuentran tanto en sistemas sencillos como interruptores de luz

o medidores de altura en depósitos, como en sistemas más complejos, por ejemplo en los vehículos

para medir el ángulo girado por el volante o las rpm de las ruedas. Su uso además está potenciado por

el hecho de que al estar basados en campos magnéticos son insensibles a perturbaciones de tipo luz

o polvo, por lo que tienen una alta durabilidad10. En el caso de la plataforma hay varias maneras en

las que se podrían usar estos sensores.

Una opción sería usar los sensores para medir el ángulo rotado por las pequeñas ruedecillas que

posee la plataforma. Como ya se ha explicado el apoyo es un disco grande situado en la base, y la

parte móvil se apoya sobre este disco con 4 pequeñas ruedas situadas a 90°. Esta solución ha sido

rápidamente descartada no obstante, ya que las ruedas rotan con un notable deslizamiento que se

puede apreciar de manera visible. Esto es debido al ya mencionado bajo coeficiente de rozamiento µ

7 http://resistorspecialists.com.au/wire-wound-potentiometer-reliability/8 Kostik, B.: Potentiometers article (2011)9 Wikipedia: Hall effect10 Pengra, D. B.: Hall effect introduction (2015)11 http://www.ti.com/sensors/magnetic-sensors/overview.html

Version: 8 de noviembre de 2018 6

Page 20: s T u Investigación, desarrollo e G implementación de un

Figura 8: Efecto Hall usado para medir aplicaciones lineares o angulares11

que tiene la base circular. Ninguna otra opción similar es posible usando estas ruedas o la base que

no acarree el mismo error.

Otro método sería usar la aplicación similar en la industria del automóvil para medir el ángulo girado

por el volante de dirección. Para ello se acopla al eje una rueda dentada que a su vez va conectado

a otra rueda dentada que posee en su centro un imán. Este por efecto Hall registra sus vueltas y por

lo tanto permite medir ángulos muy pequeños. Normalmente en la industria para reducir el error se

usan dos ruedas más pequeñas de diferente módulo de dientes. Entonces para medir el ángulo solo

haría falta acoplar una rueda dentada a una parte fija, el transformador o la base, y otras móviles que

giren. El anillo podría mecanizarse en el taller o usar uno de plástico impreso en 3D en caso de es-

tar cerca del transformador. Esta solución, aunque plausible, tiene tanto problemas mecánicos como

magnéticos. Primero la precisión de las ruedas dentadas debería ser excelente para evitar fallos me-

cánicos por deslizamiento o juego entre engranajes. Además deberían soportar ciertas vibraciones e

inclinaciones debido a la acción de vehículos en la plataforma. Esto traería también, como la solu-

ción anterior, problemas de imprecisión difícilmente medibles. El segundo problema es que también

se debería colocar lejos del transformador para evitar un efecto Hall indeseado en el transformador o

influencias mutuas en ambos sistemas.

3.2.3 Sensores láser

Los sensores láser son muy utilizados en la industria de la medición y sensores, aunque su apli-

cación está más orientada a sistemas de movimiento o distancia antes que ángulo puro. El más claro

ejemplo lo encontramos en los ratones de ordenador, los cuales detectan cambios en su posición me-

diante un láser acoplado en su base. No obstante aunque preciso para movimientos y de bajo coste,

no es tan preciso para medir un ángulo directo. Además posee el problema de que la base de disco

usada está muy pulida y refleja algunas luces en determinadas condiciones. Para ello sería necesario

modificar toda la superficie de la base, algo mecánicamente difícil dada la naturaleza de la platafor-

ma.

Como ya se ha dicho antes, la plataforma ya poseía un sensor de mouse para medir el ángulo. De la

información extraída del informe anterior 12 se hace notar que el sistema no funciona a la perfección

y no se alcanza la precisión requerida. También la respuesta recibida depende de la velocidad de ro-

12 Makansi, F.: Entwurf einer Regelung für eine Fahrzeugdrehbühne (2016)

Version: 8 de noviembre de 2018 7

Page 21: s T u Investigación, desarrollo e G implementación de un

tación ω y tiene el problema que requiere un mantenimiento más constate al tener que limpiar el

emisor y la superficie de manera periódica.

3.2.4 Sensores ópticos

Los sensores ópticos o encoders ópticos son los más usados en la industria para medición de án-

gulo con precisión y también en sistemas de telecomunicación. Normalmente consisten en un disco

codificado o con algún tipo de división y un sistema electro-mecánico para medir las variaciones en

ese disco. Por ejemplo en la foto se puede ver un sistema de disco por ranuras muy pequeñas y un pe-

queño emisor receptor fotoeléctrico que registra cambios en esas ranuras. Estos sensores se pueden

encontrar de forma incremental o absoluta.

Figura 9: Encoder óptico incremental13

Las mediciones incrementales solo dan información acerca de cambios en el ángulo, por lo que es ca-

paz de medir con precisión pero no puede medir la dirección o dar un valor de referencia. No obstante

en sistemas más modernos y complejos esto se corrige con un segundo disco que aporta información

de dirección y una referencia para saber cuando se ha dado una vuelta completa de 360°. El sistema

más común es el de la foto, con las ranuras hechas en un disco metálico robusto sin deformacio-

nes y medido mediante láser o emisor receptor fotoeléctrico a ambos lados del disco. Las precisiones

alcanzadas pueden ser de hasta 0.0001° y tienen buena respuesta tanto a altas como a bajas velocida-

des. En este caso el problema que dan estos discos es su situación mecánica, ya que normalmente las

máquinas que llevan estos discos son diseñadas con espacio para contenerlos ( el diámetro de estos

discos suele estar entorno a 0.5 metros pero puede ser mayor incluso para precisiones más grandes).

En la plataforma sin embargo la colocación del disco es más bien difícil, y más aún la de los senso-

res láser para medirlo. Por esto y además por una cuestión de elevado precio es una opción difícil de

considerar.

Las mediciones absolutas por otro lado pueden dar no solo información precisa de ángulo, sino que

aportan dirección, una referencia de medida e incluso pueden registrar valores para aplicaciones más

complejas. La superficie del disco es codificada y cada parte representa un ángulo correspondiente,

de forma que a más divisiones y partes más pequeñas más precisión se obtiene. Esto hace que una

13 http://blog.nidec-avtron.com/encoders/how-optical-encoders-work

Version: 8 de noviembre de 2018 8

Page 22: s T u Investigación, desarrollo e G implementación de un

vez fabricado el sistema los fallos pueden venir del sistema mecánico si no se monta adecuadamente,

pero la codificación no da lugar a ningún error ya que no hay dos iguales. Normalmente por sencillez

estos discos se imprimen en codificación binaria usando blanco y negro. Una mejora de este méto-

do es el código Gray, el cual es también binario pero permite que cada variación de ángulo se haga

cambiando solo un bit, lo cual hace el sistema más sencillo y evita más fallos de lectura. En ambos

métodos la precisión obtenida es: P =3602b

donde P es el ángulo medido (θ ), y b es el número de bits

que tiene el encoder. Ambos métodos serían adecuados a priori para el problema dado, ya que ambos

Figura 10: Código Gray absoluto de 4 bits (22,5°)14

son robustos y carecen de un error inherente al aportar un valor absoluto de ángulo ya codificado. No

obstante para facilitar la acción de sensores y la medición más precisa el código Gray sería la opción

mas viable. Existen algunas empresas que comercializan discos ya prefabricados con el código impre-

so, aunque esta parte es bastante sencilla ya que sólo se requeriría una impresora de tamaño grande

y luego pegar ese impreso sobre la base circular de la plataforma. No obstante surge un problema

debido a la precisión requerida. Para obtener al menos un ángulo de 0,3 lo mínimo exigible serían 11

bits, lo cual daría una precisión de360211= 0,17. Para obtener este disco sería necesaria una impresión

y montaje preciso, ya que el tamaño de cada bit sería aproximadamente 2∗π∗50211 = 0,15cm, es decir 1.5

mm. Con semejante tamaño ,el cual por razones de espacio no es ampliable, los sensores lectores de

blanco y negro necesitan tener una precisión muy elevada para no leer el bit de al lado y dar pequeños

errores de ángulo, los cuales serían solo detectables una vez realizado el sistema tras un testado con

otros sistemas. Por ello esta solución, aunque podría aportar una referencia, no es aplicable para las

condiciones requeridas de precisión.

Existe también una tercera alternativa que combina la solución anteriormente vista de código Gray

14 https://scienceprog.com/using-gray-code-for-rotary-encoders/

Version: 8 de noviembre de 2018 9

Page 23: s T u Investigación, desarrollo e G implementación de un

con un pequeño disco mecánico similar al descrito antes. Esto son los encoders ópticos, los cuales

son más baratos que los grandes discos ópticos descritos anteriormente, aunque un poco más caros

que la impresión de un código Gray. No obstante, debido a su buena precisión y robustez en diferentes

situaciones representan una muy buena opción para estos casos.

Figura 11: Encoder óptico industrial de la empresa alemana Hengstler15

El encoder es capaz de trabajar bajo circunstancias adversas, como la acción de campos mag-

néticos o velocidades de giro variables en el tiempo. Por esta razón es la única opción viable que se

podría acoplar dentro del transformador y por lo tanto usar esa parte como referencia, simplificando

así el montaje ya que este transformador también representa el centro geométrico de la plataforma.

Aunque su precio supera un poco el de otras soluciones ( 250 =C ) no es una opción muy cara y aporta

la seguridad y garantía de un producto industrial respaldado por una empresa. Además ofrece la op-

ción de dar información adicional, como el giro y una referencia absoluta para contar el número de

vueltas.

Por ello el encoder es una solución buena y adecuada para el problema propuesto, ya que ofrece fia-

bilidad y buena respuesta ante los diferentes estados de la plataforma. Otra opción es el código Gray,

el cual puede servir como sistema en conjunto con otros métodos. Más sobre ello se discutirá en el

siguiente capítulo.

3.2.5 Unidad de medición inercial IMU

Una IMU, de sus siglas en inglés Inertial Measurement Unit, es un pequeño clúster de sensores,

principalmente giroscopios y acelerómetros, puestos en un pequeño dispositivo que da información

de varias variables dinámicas, como rotación, velocidad o aceleración. Su aplicación es muy amplia

en la industria para medir todo tipo de parámetros, debido a su versatilidad y su adaptabilidad a dife-

rentes problemas. Su uso se da especialmente en electrónica de vehículos, como coches o aviones, ya

que puede aportar mucha información de utilidad en tiempo real. En el caso que se plantea, la IMU

podría medir la velocidad angular dada en cada momento y con eso calcular pequeñas variaciones

de ángulo. Debido a su alta respuesta y la velocidad del microcontrolador, este pequeño cálculo no

supondría ningún problema. La mayor dificultad que plantean estos sensores es el error inevitable

que poseen. Este error de deslizamiento, más conocido como Drift en inglés, es causado por la dife-

15 https://www.hengstler.de/de/s_c10030103/Drehgeber/Absolute_Drehgeber/ACURO_AC58/16 http://smokespark.blogspot.com/2015/10/69-sense-hat-using-inertial-measurement.html

Version: 8 de noviembre de 2018 10

Page 24: s T u Investigación, desarrollo e G implementación de un

Figura 12: IMU tridimensional capaz de medir variables en los 3 ejes 16

rencia que existe entre la posición real del sensor y la posición virtual calculada por la IMU. Este error

además es creciente con el tiempo y puede llegar a ser muy grande si no se corrige, dando lugar a

diferencias pronunciadas, las cuales afectan a todos los parámetros que mide la IMU, acumulándose

de manera exponencial, de forma que en cuestión de varios segundos, dependiendo de la IMU, la

información puede ser ya inservible.

Normalmente las IMUs se combinan con un filtro Kalman, llamado así por el matemático Rudolf E.

Kalman17. El filtro opera con los datos reales dados por el sensor y un modelo matemático del mo-

vimiento del sensor usando otros parámetros, como por ejemplo la gravedad o el campo magnético

de la tierra. Esto significa que aunque el modelo es general, el filtro se ajusta luego a cada situación y

condiciones estipuladas. Es por esto que las IMUs necesitan un pequeño tiempo de inicio para medir

esas variables que se usarán como referencia. La mayoría de IMUs modernas incorporan un filtro Kal-

man que se ajusta automáticamente según variables externas que la IMU puede medir. Este método

es recursivo y se mejora automáticamente con más información, por lo que al cabo de un tiempo lo-

gra corregir en gran medida este error. Además al corregir constantemente los parámetros el error del

sensor no aumenta de manera exponencial si no que se consigue mantener bajo unos límites. Ade-

más en algunos casos se programa un segundo filtro específico para la aplicación en la que se usa, el

cual en combinación con el anterior logra mantener el error bajo unos límites muy estrictos18.

A pesar de todo este método no es absoluto ya que no aporta ninguna información de referencia, solo

corrige la información dada basándose en predicciones y estimaciones. Por ello normalmente se usa

un segundo sistema de referencia capaz de dar la posición real del sensor de manera periódica y así

corregir este error y ponerlo de nuevo a cero. En la mayoría de aplicaciones de vehículos esto se con-

sigue con un sistema GPS, aunque en este caso dado el bajo desplazamiento que se va a dar entorno a

la plataforma la precisión de un sistema GPS estándar no sería suficiente para corregir esta posición.

17 Wikipedia: Kalman Filter18 YingweiZhao, Optimized Filter Design for Non Differential GPS IMU Integrated Navigation .19 https://de.mathworks.com/videos/understanding-kalman-filters-part-1-why-use-kalman-filters--1485813028675.

html

Version: 8 de noviembre de 2018 11

Page 25: s T u Investigación, desarrollo e G implementación de un

Figura 13: Ilustración del funcionamiento de un filtro Kalman19

Por todo ello el IMU es una opción viable pero no como solución única, ya que necesita una referen-

cia de posición fiable dentro de la plataforma. Con una programación extensa y usando diferentes

sistemas el IMU representa una opción válida para la medición del ángulo.

Version: 8 de noviembre de 2018 12

Page 26: s T u Investigación, desarrollo e G implementación de un

3.3 Resumen general de soluciones

En esta sección se agrupan las diferentes soluciones resumidas en una tabla que evalúa los dife-

rentes parámetros requeridos, tanto a nivel técnico como de aplicabilidad y comercial. Estas tablas

ilustran las opciones evaluadas y justifican la elección de las dos mejores soluciones puestas a prueba

en el siguiente capítulo. Para ello los parámetros se han representado con patrón de colores, siendo

Bueno/Deseable, Medio/No aporta nada, Malo/Influye negativamente y las que están en negrita Ex-

cluyentes/hacen inviable

Cuadro 3: Análisis de posibles opciones

Tipo de solución Precisión / Precisión requerida Viabilidad mecánica Viabilidad electrónicaPotenciómetro Media Alta Muy BajaSensores Hall Media Media Muy BajaSensores láser Baja Media MediaDiscos ópticos Alta Baja Alta

Código Gray Alta Media AltaEncoder óptico Alta Alta Alta

IMU Alta Alta Media

Cuadro 4: Análisis de posibles opciones

Tipo de solución Dificultad informática Error Posibilidad de trabajos futuros PrecioPotenciómetro Baja Medio Media Bajo =CSensores Hall Baja Alto Media Bajo =CSensores láser Media Alto Baja Bajo =CDiscos ópticos Media Bajo Baja Muy Alto =C=C=C=C

Código Gray Media Bajo Baja Medio =CEncoder óptico Alta Bajo Alta Alto =C=C=C

IMU Alta Alto Alta Medio =C=C

Tras analizar estos datos vemos como el encoder óptico y el IMU tienen una clara viabilidad y son

buenas opciones para su implementación a pesar de su dificultad a la hora de programarlos. Por otra

parte el IMU además tiene un alto error el cual si se puede corregir con alguna de las otras soluciones

aporta una solución menos costosa que el encoder óptico.

Version: 8 de noviembre de 2018 13

Page 27: s T u Investigación, desarrollo e G implementación de un

4 Evaluación y discusión de las mejores soluciones

En este capítulo se explicará cómo las mejores soluciones de las anteriores han sido implementa-

das y el proceso para descartar una de las dos. También se expondrán datos más reales de los sistemas

concretos, con sus pros y sus contras.

De todas las soluciones posibles las dos mejores encontradas serían usar una IMU con un código

Gray, o un encoder industrial que mide el ángulo directamente. La primera se beneficia de usar dos

sistemas y la fusión de datos, dos fuentes de información independientes que trabajan de manera

conjunta, pudiendo minimizar así su error total, además de un precio más reducido, motivo por el

cual se empezará primero por esta, además de que el departamento posee ya una IMU. La segun-

da solución posee un error teórico menor, un sistema más simple, lo cual puede dar lugar a menos

errores, y una precisión mejor en las mismas condiciones, por lo que cuenta con una ventaja favo-

rable. Esto corrobora que se pruebe primero la primera opción para ver si los datos experimentales

son mejor de lo esperados y su funcionamiento compite por un precio más barato con el encoder

industrial.

4.1 Fusión de sensores: IMU + Código Gray

Primero de todo se usará una IMU para medir el ángulo de rotación del eje Z (Yaw). Como ya se

ha explicado antes, estas IMUs tienen un error intrínseco que crece con el tiempo y necesita ser con-

trolado y corregido. Por esto son necesarios dos sistemas, uno de control y otro de corrección. Para el

primero un filtro Kalman es la opción más común y la que ofrece mejores resultados. Esto hace úti-

les las medidas en intervalos cortos de tiempo y evita un error creciente muy elevado, especialmente

en situaciones de movimientos uniformes o sin cortas variaciones de sus parámetros dinámicos (ej,

cambios bruscos en velocidad o aceleración). Este sistema puede venir con uno básico incorporado

en el sensor, el cual para prestaciones más exigentes se puede complementar con uno mejorado es-

pecíficamente con parámetros del sistema en cuestión.

No obstante, para la corrección, no es posible usar un GPS que es lo que se usa habitualmente para

esta tarea. Un sistema SPS (Standard Positioning System) no tiene la precisión suficiente para detec-

tar cambios de cm en el giro, por lo que es totalmente inviable. Por ello se ha decidido sustituir esta

opción por un código Gray implementado en la plataforma para medir ángulos más grandes y así co-

rregir la posición. Como ya se ha explicado antes, un código impreso de estas características no cabría

correctamente en la plataforma para conseguir la precisión requerida, no obstante un código que mi-

da sólo variaciones de 1°o 2°es mucho más viable y se puede conseguir de manera más sencilla.

La idea por lo tanto combina ambos sistemas en sus áreas de acción más precisas respectivamente y

con menos posibilidad de error. Por ello se ha considerado como una opción viable, aunque también

mas impredecible ya que es una idea solo a nivel teórico y no se ha testado antes todavía. Para ponerla

en práctica se va a empezar primero por la IMU, ya que plantea más problemas iniciales y es la que

define la viabilidad de esta solución. De demostrarse inviable, no se investigará ni probará nada acer-

ca del código Gray y se pasará a la siguiente solución, el encoder industrial, debido principalmente a

limitaciones de tiempo.

La IMU seleccionada ha sido dada por el departamento FZD, de la empresa Xsens, modelo MTi-G-

20 https://www.xsens.com/products/mti-g-710/

Version: 8 de noviembre de 2018 14

Page 28: s T u Investigación, desarrollo e G implementación de un

Figura 14: IMU Xsens MTi-G-70020

700. Esta fue elegida por formar parte del departamento ya, el cual las usa por su buena capacidad

de respuesta y robustez en sensores para vehículos. Esta viene con un kit completo de instalación

y montaje para diferentes aplicaciones industriales, por lo que su elección está justificada para este

caso. Primeramente la IMU será examinada solo en el ordenador, ya que viene con un cable y un pro-

grama de medición de sencilla instalación. Si se prueba su viabilidad, se procederá a un diseño de su

implementación y de un sistema más avanzado.

4.1.1 Tests en ordenador

La IMU viene con un cable USB que se conecta al ordenador y un disco de instalación de una

interfaz de fácil uso para medir los parámetros, errores y demás. Aunque se ha hecho toda la prepa-

ración indicada por la empresa y acudido a soporte técnico, la IMU no parece responder a ninguna

señal de entrada ni proporciona ningún dato. Dado que es imposible ver el fallo o abrirla se descono-

ce el por qué de esto, pero la opción más probable es que el cable USB esté defectuoso, ya que tenía

signos de haber sido duramente usado. Estos cables son muy específicos y solo se pueden comprar

al fabricante, ya que contiene un pequeño traductor interno para pasar a un formato legible por el

ordenador.

A pesar de ello se comprobarán los detalles técnicos del sensor, para ver si merece la pena comprar

otro cable o ya se puede descartar esta solución antes.

4.1.2 Especificaciones técnicas del IMU

El manual de usuario ha sido proporcionado por la empresa previa petición por email. Es una

guía completa que posee todos los detalles técnicos y de uso, posibles aplicaciones y mejores que se

pueden hacer, así como detalles de su precisión y funcionamiento en situaciones comunes de uso. A

continuación se exponen las principales características encontradas21.

Kalman Filter: Como ya se ha descrito antes, algunas IMUs modernas incorporan un filtro Kal-

man general para corregir la información. En este caso el filtro usa la variable de gravedad para

compensar mediciones en los planos X e Y y el campo magnético de la tierra para las medicio-

21 B.V., X. T.: IMU Manual (2018)

Version: 8 de noviembre de 2018 15

Page 29: s T u Investigación, desarrollo e G implementación de un

nes en Z. En el caso del proyecto entonces la medida del campo magnético es fundamental para

obtener un buen ángulo Yaw.

Giroscopio: Toda IMU posee su propio giroscopio para medir los ángulos de inclinación y posi-

ción, pudiendo así calcular su posición y velocidad angular de giro. Además la precisión de este

giroscopio es mayor cuanto mayores sean las velocidades y/o aceleraciones a las que se somete

el sensor. También es muy importante para el filtro Kalman y juega un papel clave en el control

del error.

Acelerómetro: También otra parte importante de la IMU, aunque en este proyecto no se va

a usar directamente para medir ninguna aceleración o hacer alguna corrección. Se usa para

medir también la gravedad, aunque este valor de control tampoco será necesario para el Yaw en

un principio.

Magnetómetro: La tercera pieza clave en una IMU, puede medir campos magnéticos y más pre-

cisamente variaciones en ellos. Es muy útil como elemento corrector en el ángulo Yaw, usando

el campo magnético de la tierra para corregir las medidas en el eje Z.

Active Heading Stabilization: (Estabilización de dirección activa) Este .add-onüsa los campos

magnéticos para determinar el error "Drift"de los giroscopios. Cuando el campo magnético es

débil funciona también pero no dará nueva información hasta no poder leer correctamente el

campo magnético. No obstante hay una situación en la que este no funciona, cuando la veloci-

dad angular es menor de 0.5°/s. Por esta razón el sensor no funcionará en todas las situaciones,

ya que con coches pesados se pueden alcanzar velocidades menores que 0.5°/s.

Calibración de brújula a tiempo real: Cuando el campo magnético es difícil de detectar, el sen-

sor puede calibrar su brújula en el acto. Cuando hay distorsiones magnéticas causadas por efec-

tos de metales ferromagnéticos, el sensor recalibra el magnetómetro para adaptarse a la nueva

situación. No obstante esto solo es para una situación temporal o un cambio puntual, y no pue-

de compensar en todo momento la .Active Heading Stablization"descrita anteriormente.

GPS receiver: Para otras aplicaciones, como las descritas en el capítulo 3, un receptor de GPS

es lo habitual para corregir el error de posición. Este kit carecía del receptor no obstante, aun-

que esto carece de importancia, ya que como ya se ha mencionado antes, es inútil para esta

aplicación en concreto.

Cuadro 5: Datos técnicos de la IMU22

Especificación Giroscopio Acelerómetro MagnetómetroRango completo 450 (deg/s) 200 (m/s2) ±8 (Gauss)

Error inicial 0.2 (deg/s) 0.05 (m/s2) -Error acumulado 10 (deg/h) 15 (µg) -

Ancho de banda (-3 dB) 415 (Hz) 375 Hz -Densidad del ruido 0.01 (deg/s/Hz) 60 (µg/ Hz) 0.5 (mGauss)

No-linearidad 0.01 0.1 t 0.2

Version: 8 de noviembre de 2018 16

Page 30: s T u Investigación, desarrollo e G implementación de un

Como podemos ver en la tabla, los datos concuerdan con las especificaciones requeridas y el error

se puede solucionar, aunque no es despreciable y es importante tenerlo en cuenta. El rango es sufi-

ciente, aunque no ideal. Mas aún, el ruido y su porcentaje de linearidad es adecuado para el proyecto,

ya que la frecuencia recibida por el IMU puede ser regulada por el microcontrolador, logrando así un

balance entre la cantidad de datos en el tiempo y la calidad de los mismos.

No obstante, como se ha explicado antes, hay una característica fundamental que no se puede uti-

lizar, el .Active Heading Stabilization", o sistema de estabilización activa. En nuestro caso existe un

campo magnético debido a la acción del transformador y determinados componentes de la plata-

forma que están hechos de metales ferromagnéticos, los cuales podrían afectar la débil medición del

campo magnético dentro de la misma. Es también importante saber que el sensor mide solo la veloci-

dad angularω, por lo que habría que integrar ese dato en el tiempo de manera periódica para obtener

el ángulo. No obstante, esto puede llevar a más problemas debido a velocidades no constantes.

Por estas razones expuestas, la IMU ha sido descartada a pesar de que no se ha probado empírica-

mente, los datos son suficientes para demostrar que aunque sea viable, el error obtenido puede ser

mayor que la precisión requerida y el tiempo requerido para corregirlo puede ser demasiado compa-

rado con el tiempo disponible. Esta decisión ha sido apoyada por el departamento además, debido a

los datos explicados se considera innecesario comprar un cable de sustitución y hacer las pruebas de

manera empírica. Por esto entonces se ha autorizado la compra de un encoder óptico industrial. En

la siguiente sección se describirá esta solución y en el siguiente capítulo se muestran los resultados

obtenidos con este sensor.

22 Extraído del manual técnico de la página oficial

Version: 8 de noviembre de 2018 17

Page 31: s T u Investigación, desarrollo e G implementación de un

4.2 Encoder óptico absoluto

La mejor opción teórica de usar, un encoder industrial de funcionamiento óptico anclado al

centro de la plataforma, dentro del transformador. Esta opción es mucho más simple y no nece-

sita confiar en una fusión de sensores ni varios sistemas complejos, usando un sensor directo que

proporciona información en tiempo real del ángulo. Como ya se ha explicado antes, esta opción era

la mejor expuesta y se ha dejado en segundo lugar ya que ofrecía una mayor confianza inicial, por lo

que si ya se ha descartado la opción anterior se puede usar esta sabiendo que su funcionamiento será

el esperado.

Lo primero de todo se discutirá la elección del modelo, seguida de una descripción de los datos téc-

nicos del sensor, los cuales incluyen también algunas maneras de configurarlo y usarlo. El modo de

funcionamiento, montaje y programación del sensor se explicarán más adelante en el capítulo 5. Por

último las posibilidades futuras que ofrece este sensor se expondrán en el capítulo 6.

4.2.1 Elección del modelo

Lo primero que se necesita hacer a la hora de la elección es valorar si el encoder elegido va a ser

absoluto o incremental. Uno absoluto ofrece más información que uno incremental, como la direc-

ción y una referencia nula, además de tener todas las características de uno incremental. Posee aún

más opciones de medidas, no solo de ángulo, si no también alertas por temperatura por posibles fa-

llos y ofrece una amplia gama de trabajos futuros mucho más allá que uno incremental. Los fallos que

tiene son una mayor dificultad de programación y un mayor precio de compra por la misma resolu-

ción.

Dados ambos lados de un encoder la opción absoluta es la que se va a elegir al final. La posibilidad

de más trabajo disponible, no solo en este proyecto si no en otros futuros, aporta un gran aliciente

para el departamento, el cual aprueba está decisión aunque suponga un sobrecoste, no muy grande,

del sensor. También el director del departamento, el Dr. Herman Winner, ha recomendado una em-

presa alemana de su conocimiento personal, Hengstler GmbH conocida por sus sensores usados en

muchas aplicaciones industriales. Esta empresa además ofrece buenos servicios de envío y al ser ya

de confianza, ha sido la seleccionada para el proyecto.

Figura 15: Foto del encoder AD5823

Version: 8 de noviembre de 2018 18

Page 32: s T u Investigación, desarrollo e G implementación de un

De todo el catálogo ofertado en encoders absolutos, las principales características buscadas son la

resolución y el tamaño, ya que todos poseen una programación y precio muy similares. La serie AD58

ofrece una buena calidad y precisión, robustez frente a perturbaciones y sus dimensiones encajan

perfectamente las requeridas por la plataforma. De las diferentes variaciones del modelo, el encoder

AD58 Absolute MT AD58/1213A1.0KBIB ha sido el seleccionado finalmente. Ofrece un sistema "mul-

titurn"que contabilizada los datos de manera absoluta así como también un sistema "singleturn",

para medir solo el ángulo θ en todo momento. Viene además con un cable PCB de 12 pins para co-

nectarlo al microcontrolador de manera efectiva y recibir información de la placa. Los detalles más

técnicos se exponen en la siguiente sección.

4.2.2 Datos técnicos

El modelo elegido ofrece una resolución simple, "singleturn.o ST, de hasta 13 bits y una resolución

absoluta, "Multiturn.o MT, de hasta 12 bits. Para calcular la resolución la fórmula descrita puede ser

usada: AngleResolut ion=360

2nbitslo que nos da : ST = 0,044° y M T = 0,088°.

Esta resolución cubre de manera suficiente los requisitos necesarios y asegura un error bajo por parte

de los datos y el sensor. Es posible que aparezcan otros errores imprevistos por mecánica o en la

programación, pero esto asegura un resultado positivo y la posibilidad de obtener más información

en el futuro.

En la siguiente tabla se muestran algunos datos técnicos del sensor24.

Cuadro 6: Especificaciones del AD58Diámetro exterior 58 mm

Diámetro del cilindro 10 mmMomento de inercia 3,8x10−6kgm

Protección IP40Juego existente en el cilindro ±0,5mm

Velocidad máxima 10.000 rpmTemperaturas permitidas -15°C... +85°C

Peso 310g aprox.Conexión PCB connector, 12 pole

Voltaje DC 5 VOutput código Binary BiSS-b

Intensidad 100 mASistema de alarma Bits de warning y alarma

Como podemos ver en la tabla el diámetro dado encaja el espacio dado25 en el transformador y

el eje cilíndrico se va a prolongar con una pieza de encaje diseñada específicamente para este pro-

yecto. Todas las otras partes eléctricas encajan con las especificaciones de la placa STM32 y los datos

funcionan correctamente. Al final del documento se adjunta un manual de usuario.

23 De la web https://www.hengstler.de/en/s_c10030109/Rotary_encoders/Absolute_rotary_encoders/ACURO_

AD58/24 Hengstler: Datasheet AD58 (2011)25 Referir al capítulo 3 para más información

Version: 8 de noviembre de 2018 19

Page 33: s T u Investigación, desarrollo e G implementación de un

El encoder usa un cable PCB de 12 pins que dan toda la información necesaria y aportan funciona-

lidades extra. Aquí se adjunta la funcionalidad de cada cable26. Los pins se refieren a los que están

Cuadro 7: Cables del AD58(inglés)Colour PIN SignalViolet 1a DataGreen 2a A+

Brown/green 3a 0 V SensorBlue 4a B+

Brown 5a ClockRed/blue 6a 5V Sensor

Gray/pink27 1b DC 5VWhite 2b Clock

Red 3b B-White/green 4b 0V Un

Yellow 5b A-Black 6b Data

dentro del sensor. El modelo elegido viene a pesar de ello con un conector macho de 12 pins, hacien-

do el montaje más sencillo. Los valores que tienen una línea por encima, como Data, se refieren a

los valores negativos de input/output. No obstante estos solo son necesarios para distancias de cable

muy grandes(>6 metros28). También existe la opción de usar señales analógicas A y B para medir el

ángulo, aunque esta opción es mucho más compleja y no será implementada por problemas de tiem-

po y dificultades de compatibilidad con la placa. Para este caso solo 5 Pins son necesarios, los cuales

dan la información en bits codificados de manera puramente digital.

1. 0 V Sensor - Brown/green

2. 5 V Sensor - Red/blue

3. DC 5V - Gray/pink

4. Clock (only positive) - White

5. Data(only positive) - Black

El resto de los cables se han dejado dentro de la caja del microcontrolador por si se requiere su uso en

el futuro. Aparte, más instrucciones de configuración se encuentran en el apéndice I.

26 Hengstler: Datasheet AD58 (2011)27 Este color fue corregido debido a que estaba mal descrito en el manual (Green/pink)28 Tal y como ha transmitido el equipo técnico de la empresa Hengstler

Version: 8 de noviembre de 2018 20

Page 34: s T u Investigación, desarrollo e G implementación de un

5 Resultados

Todos los resultados en este capítulo se refieren a los obtenidos por el encoder absoluto. Los test

hechos con el IMU están descritos en el capítulo anterior debido a su brevedad y a que no se han

podido obtener datos más reales para compararlos con el encoder29.

El encoder ha demostrado ser difícil de configurar y programar, tal y como ya se expuso en sus ca-

racterísticas. En esta sección se separan los diferentes aspectos de su implementación para asegurar

un entendimiento más profundo de como funcionan cada una de sus partes. Para una aproximación

práctica de cómo usarlo en su estado actual, se recomienda el apéndice I al final del documento.

5.1 Montaje mecánico

La plataforma rota alrededor de su eje Z localizado en el centro del transformador y de la pla-

taforma. El transformador está fijo a la base que permanece inmóvil en todo momento, rotando la

plataforma entera entorno a ese centro. Para su rotación la plataforma usa dos motores que accionan

dos ruedas las cuales hacen contacto y giran respecto a la base circular. Por lo tanto el sensor deberá

estar sujeto por un lado al transformador fijo, y por otro a las vigas metálicas móviles de la plataforma.

Aquí se adjuntan los primeros planos diseñados para la plataforma: El montaje consiste en 3 piezas.

DRAWNCHECKEDENG APPRMGR APPR

UNLESS OTHERWISE SPECIFIEDDIMENSIONS ARE IN MILLIMETERS

ANGLES ±X.X°2 PL ±X.XX 3 PL ±X.XXX

NAMEArturo

DATE07/30/18 Solid Edge

TITLE

SIZEA2

DWG NO REV

FILE NAME: Mont.dft

SCALE: WEIGHT: SHEET 1 OF 1

REVISION HISTORY

REV DESCRIPTION DATE APPROVED

35

12

4,5

8,8O

9,25O

1:105O

12

6

3

A

O80

O 8

40

40

12+0

.1

12 +0.1

7

12 +0.1

B

59,16

13,12

29,58

6,56

O 3,5

136

O 12

6O

5

50

126

C

A

B

C

Sensor

87,1°

9,25O

8,8O

93°

12

5O M

4,5

ElectricalTransformer

Figura 16: Mechanical Montage of the sensor30

La pieza A es un pequeño prisma de base cuadrada diseñado para encajar perfectamente en el eje

29 Para más información acudir al capítulo 4.130 Diseñados por el autor para este proyecto

Version: 8 de noviembre de 2018 21

Page 35: s T u Investigación, desarrollo e G implementación de un

cilíndrico-cónico del sensor, sin ningún tipo de pérdidas por rozamiento ni juego. La forma cuadrada

es fácil de mecanizar y permite encajar perfectamente con la pieza B sin ninguna pérdida por giro. La

pieza B es un disco con un agujero central que, como ya se ha indicado, encaja con el prisma cuadra-

do A. Este disco tiene además 4 agujeros para permitir el paso de los 4 tornillos del transformador y

ser fijado a ellos, de forma que el disco se quede fijo con el transformador. Por último, la pieza C es

una placa con forma de U diseñada para sostener el cuerpo del sensor y mantenerlo fijo con las vigas

y por ende con la parte móvil. Este montaje supone hacer un pequeño agujero en la tapa superior

para permitir el paso y luego aislarlo otra vez para proteger el sensor.

Debido a que los vehículos tienen una altura variable según su suspensión, la opción del agujero se

ha demostrado no posible y por lo tanto el montaje precisa de cambios. Debido a que las piezas es-

taban ya mecanizadas, se ha optado por mantener el diseño original y sustituir el disco B por otra

pieza, manteniendo las piezas A y C. La pieza B original ha sido sustituida por otra impresa en 3D que

sustituye además a los discos de plástico aislantes del transformador. Por lo tanto esta pieza actúa

como aislante eléctrico y a la vez posee un agujero cuadrado para alojar la pieza A, motivos por los

que la impresión 3D se justifica en esta ocasión frente a un mecanizado de taller. Además la parte

Figura 17: ARRIBA:Pieza original de transformador;ABAJO: Pieza impresa en 3D de sustitución31

nueva tiene unas cavidades en los agujeros para que las tuercas encajen mejor y a menor altura. Este

montaje supone cortar los tornillos una vez hecho todo el sistema para poder reducir la altura más

aun. Está calculado que con este nuevo método el sensor encaja en el interior de la plataforma sin

necesidad de perforar la tapa. Si existe un mínimo de contacto se puede subir esta añadiendo tiras de

plástico que la suban unos milímetros. Es importante notar que dados algunos cambios hechos en

la distribución eléctrica, el montaje no ha podido ser probado con la plataforma en funcionamien-

to. Durante el proyecto, el regulador de frecuencia, FR, que acciona la plataforma ha sido sustituido

debido a necesidades de un proyecto paralelo en la misma. Un nuevo montaje eléctrico similar al

anterior ha sido realizado y debido a este evento imprevisto no se ha programado el nuevo FR y, por

lo tanto, no se ha podido probar el circuito en condiciones de funcionamiento. Cabe destacar que el

31 Foto hecha por el autor32 Foto hecha por el autor

Version: 8 de noviembre de 2018 22

Page 36: s T u Investigación, desarrollo e G implementación de un

Figura 18: Montaje completo con todas las piezas definitivas32

sistema ha sido probado accionando la plataforma manualmente, por lo que la prueba solo ha sido a

muy bajas velocidades y no en condiciones de funcionamiento. No obstante, en las pruebas iniciales

no aparecieron vibraciones ni desequilibrios por lo que el montaje es adecuado y funcional para el

régimen de trabajo. Además las piezas son fácilmente modificables y el sistema está preparado para

ser cambiado en caso de necesidad, sin perder además la funcionalidad de transmisión del par y án-

gulo con pérdida nula.

El sensor viene con un cable PCB de 12 pins. Sin embargo, el cable, de longitud 1 m, no es lo sufi-

cientemente largo, por lo que los 5 cables usados33 han sido prolongados con cables estándar de tipo

Dupont. Los cables son macho-hembra, siendo el macho soldado a el extremo de el cable PCB y el

hembra se conecta directamente a la placa. Esto se ha hecho así para que los conectores puedan ser

intercambiados en proyectos futuros de manera sencilla. Cabe destacar además, que la parte soldada

no tenía otra opción robusta y es fácilmente desoldable. Por último, toda la circuitería eléctrica que

se conecta con la placa usa conectores Dupont hembra sin soldar al igual que el sensor, y no ha dado

ningún problema en condiciones de funcionamiento. Aunque como ya se ha explicado antes el nuevo

montaje no ha sido probado, los conectores son robustos y ya demostraron al principio del proyecto

ser adecuados para condiciones de funcionamiento, por lo que se justifica su implementación. Más

sobre lo que hace cada Pin se explica en el siguiente apartado.

5.2 Programación

Esta parte es el último punto del proyecto y es también el más complicado e impredecible, ya

que depende mucho del sensor elegido. Como esto no se sabía al inicio del proyecto, ha sido más

difícil de lo esperado debido al sensor escogido y el sistema que usa. No obstante esto se justifica ya

que el objetivo del proyecto primario era elegir el mejor sensor, la implementación del programa se

pretende ampliar y mejorar en el futuro. Esto se debe a que por restricciones de tiempo no se pueden

aprovechar todas las características que ofrece el sensor en los límites de tiempo dados.

Esta sección cubre toda la parte de software, tanto del sensor como del microcontrolador. Para un

uso simple del programa desarrollado se adjunta una guía en el apéndice. No obstante, si se quieren

hacer cambios en el programa o la placa, o mejorar el programa actual se recomienda esta sección, ya

que cubre todos los conocimientos necesarios para desarrollar un programa adecuado para el sensor.

33 Explicados en el capítulo 4.2

Version: 8 de noviembre de 2018 23

Page 37: s T u Investigación, desarrollo e G implementación de un

Primero se hará una introducción a la interfaz de transmisión del sensor, seguida de otra al estilo y ca-

racterísticas especiales de programación de la placa. Por último ambos serán puestos en común para

el desarrollo y comprensión del programa. El autor y el departamento se guardan los derechos del

programa realizado, para adquirirlo y utilizarlo será necesario dirigirse al tutor Philipp Rosenberger,

del departamento FZD de la TU Darmstadt.

5.2.1 Interfaz del sensor, SSI y BiSS-b

El sensor transmite los datos usando una interfaz BiSS-b. Esta interfaz es un desarrollo más avan-

zado de la original SSI. Para facilitar la comprensión de ambas se explicará primero el SSI y luego las

diferencias que tiene el nuevo sistema.

SSI

SSI (Synchronous Serial Interface) es un sistema internacional de transmisión de datos amplia-

mente usado en sensores, especialmente de posición y ángulo. Desarrollado primero por Max Steg-

mann GmbH en 198434, se ha posicionado como alternativa a otros sistemas debido a su sencillez de

fabricación, robustez y alta tasa de emisión de datos respecto a otros sistemas. El sistema necesita

para su uso dos partes, un Master o controlador que genera una serie de pulsos y recibe los datos, y

un Slave o sensor, que recibe los pulsos del Master y le transmite los datos.

Figura 19: Las dos partes del SSI, Master(Controlador) y Slave (Sensor)35

En este caso el Master es el microcontrolador STM32, que tiene que proporcionar una señal PWM

a modo de reloj al sensor AD58, el cual actúa como Slave. Tras detectar esta señal PWM entrante, el

sensor empezará a transmitir los datos en forma de bits que representan toda la información que da

el sensor, entre la cual se encuentra el ángulo medido. Esta información se transmite de forma sín-

crona con la señal PWM de entrada, de forma que el Master opera a la vez la emisión de la señal y

la recepción de estos datos. Esto permite a la placa controlar la velocidad de recepción de datos me-

diante la velocidad de la señal, de forma que el sistema funciona para una amplia gama y variedad

de controladores. En distancias de cable muy largas, la señal de reloj y los datos suelen necesitar un

cable para LOW y otro para HIGH, no obstante en este caso no es necesario, como no lo es tampoco

calcular las pérdidas que puede haber en el cable debido a estas distancias36.

34 Wikipedia:SSI35 De Anjan.nachiappa - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=1101348736 Hengstler: Manual AD58 (2017)

Version: 8 de noviembre de 2018 24

Page 38: s T u Investigación, desarrollo e G implementación de un

Cuadro 8: Parámetros de BiSS38

Parámetro Mínimo Recomendado Máximot imeoutsens (Ttos) 9.9µs 12.4µs -

Periodo permisible de reloj 100 ns - 2* TtosDuración del reloj en HIGH 50 ns - TtosDuración del reloj en LOW 50 ns - Ttos

BiSS

BiSS es una nueva interfaz más avanzada que nace de SSI y usa el mismo principio. Posee las

mismas ventajas que tiene SSI también y todos los sistemas BiSS son compatibles con SSI, por lo que

un programa para SSI valdrá también para BiSS. No obstante el sistema nuevo añade algunas nuevas

características y funcionalidades al anterior. Su principal característica es la opción bidireccional, de

la cual viene la B, que permite al Slave recibir información codificada mediante una señal PWM. Esto

permite modificar parámetros del sensor y obtener otra información aparte de la estándar, como por

ejemplo modificar el bit de alarma para que se active si el par es demasiado alto en lugar de la tem-

peratura.

También el sistema BiSS permite transmisiones más rápidas de los datos, si recibe una señal del Mas-

ter más rápida, con menores pérdidas de información además. Normalmente los datos se transmiten

empezando por el bit más significativo, MSB, hasta el menos significativo, LSB, seguido luego de bits

de alarma y error. Toda transmisión termina con un CRC (cyclic redundancy check) que asegura que

ha habido una transmisión correcta e informa si ha habido pérdidas o errores. Este valor CRC es cono-

cido por el programador y tras su leída, la señal de reloj PWM debe permanecer en HIGH un tiempo

mínimo antes de poder iniciar una nueva transmisión de datos. Como podemos ver en la foto, con

Figura 20: Interfaz BiSS37

cada subida de los pulsos de la señal, el sensor transmite un bit, hasta 33 en el caso de este sensor.

El valor t imeoutsens, es el mínimo requerido que la señal debe permanecer en HIGH. En la siguiente

tabla se dan los valores establecidos por la empresa para una correcta programación.

37 Hengstler: Datasheet AD58 (2011)38 Hengstler: Manual AD58 (2017)

Version: 8 de noviembre de 2018 25

Page 39: s T u Investigación, desarrollo e G implementación de un

5.2.2 STM32F4 programación

Esta sección cubre los aspectos básicos de el estilo de programación que tiene la placa, tanto en

líneas generales como características importantes para este proyecto en concreto. Más tarde, en la

siguiente sección, se analiza el programa concreto realizado.

La placa STM32F407VG, de la empresa STMicroelectronics, usa una interfaz basada en C/C++ con

características especiales y funciones específicas. Es importante saber que muchas de estas fórmulas

usadas son generales para todas las placas STM32, mientras que otras solo de la serie STM32F4. Sin

embargo, series posteriores o algunas anteriores tienen funciones similares o agrupan varias funcio-

nes en otras. A pesar de todo, todas las funciones de C++ y muchas de sus librerías son compatibles

con la placa, aunque algunas funcionan solo con .add-ons.específicos, como por ejemplo la función

"printf", la cual solo imprime si se ha conectado una pantalla LCD de la misma empresa diseñada

específicamente para eso y que soporta los formatos de la placa.

Para una programación más sencilla en el proyecto, como en muchos otros que usan esta placa, un

programa adicional se ha usado. El STMCubeMX permiteal usuario configurar de manera interactiva

los Pins, reloj interno, frecuencia y señales de salida usando una interfaz más sencilla y rápida, evi-

tando tener que configurar todo de primera mano y básico39. El programa genera un proyecto que

luego puede ser abierto por diferentes IDEs que pueden programar el microcontrolador. En el caso

de este proyecto la IDE usada es MDK Keil uVision v5, aunque existen otras que también funcionan

de manera similar y también permiten importar el programa generado por STMCubeMX. Este paso

es muy importante ya que el proyecto generado por STMCubeMX genera varias páginas de funcio-

nes necesarias y configuraciones, las cuales programadas manualmente llevarían considerablemente

más tiempo. La elección de la IDE MDK es debido a que es más intuitiva y posee más características

que otras, permitiendo descargar el programa directamente en la memoria de la placa y borrar pro-

gramas anteriores, de forma que cuando se encienda de nuevo la placa esta ejecutará el código del

último programa cargado.

La gran mayoría de funciones en este proyecto empiezan por el prefijo HAL (Hardware Abstract La-

yer), que cubre una amplia gama de funciones. Para una programación más avanzada existe el prefijo

LL (Low Layer), el cual puede ser configurado desde CubeMX. Este segundo prefijo ofrece más interac-

ción directa con la placa y sus características, pero también incluye menos funciones que la variedad

HAL. Los pins de la plataforma tienen múltiples configuraciones, pero una de las mas usadas es GPIO,

lo cual activa el Pin para emitir o recibir datos. Es importante saber que algunos Pins están ya reser-

vados, entonces por ejemplo si se activan los Pins GPIOD12 a GPIOD15, se iluminarán los LEDs de la

placa, los cuales no pueden actuar entonces como emisión/recepción de datos. Otra configuración

importante es USART, la cual transmite información desde un cable USART a un terminal, actuando

tanto como receptor como emisor. Esta utilidad es la que se usa normalmente para imprimir los datos

en un terminal en el ordenador, ya que como ya se ha explicado antes, la función printf no funciona

en estos casos. El tercer tipo usado e s el TIM, que configura el Pin como input/output de señales

periódicas, como la señal de reloj PWM que se va a usar. Más en los periféricos disponibles se puede

ver en la interfaz de CubeMX, aunque para una explicación de ellos se recomienda ir al manual de la

39 Más sobre como usar esta interfaz en la guía de uso del apéndice

Version: 8 de noviembre de 2018 26

Page 40: s T u Investigación, desarrollo e G implementación de un

placa. Aquí también se explican sufijos generales que admiten las funciones, como el _IT, el cual ope-

ra la función en modo interrupción, el cual puede ser usado para activarse/desactivarse en eventos

específicos.

Algunas de las funciones más comunes en este proyecto son:

HAL_GPIO_ReadPin(Pin type,Pin number): Lee el valor recibido en el pin especificado y lo de-

vuelve para ser guardado en una variable.

HAL_GPIO_WritePin(Pin type, Pin number, Writing): Escribe el valor de "Writing.en el pin espe-

cificado, teniendo que ser este tipo soportado por la plataforma y de un tamaño fijo, no valen

arrays completos.

HAL_UART_Transmit(USART type,Data, size,timeout): Equivalente a la función "printf", trans-

mite un valor a un terminal de ordenador a través de un cable USART, el cual tiene un conector

USB en un lado, y unos conectores tipo Dupont en otro lado.

HAL_UART_Receive(USART type, Data,size,timeout): Similar a la función anterior, lee los datos

transmitidos desde un terminal y los devuelve como valor. Cabe destacar que en algunos casos

sí que pueden ser arrays o punteros.

HAL_TIM_Base_Start(timer): Activa la configuración del pin establecido para ese timer TIM.

Dentro de la función se establecen los parámetros de ese timer y una vez llamada permite llamar

a otras funciones, por ejemplo para generar la señal o para activar un contador.

La mayoría de estas funciones son de uso común y se usan mucho en este proyecto. En la siguiente

sección se detallan funciones más específicas.

Para este proyecto es importante que la placa maneje y controle señales, en este caso una señal PWM

a modo de reloj. Cabe destacar que el modo en el que la placa controla las señales es diferente a otras

y funciona de una manera algo compleja. La frecuencia de la señal de salida no se corresponde con

la de entrada. La frecuencia de la señal primero se divide por un "prescaler", el cual sencillamente

actúa como divisor, para que para un reloj interno del microcontrolador la señal no sea muy rápida.

Este valor es ajustable desde 1 hasta un límite máximo variable según el modelo. Una vez se tiene esa

frecuencia de señal dividida, esa frecuencia representa la frecuencia del contador. El contador, pieza

clave de la formación de señales, es una variable interna usado para medir el período de las señales.

Por ejemplo, si se tiene una frecuenca de 1 MHz y un periodo de 10, el contador irá de 0 a 9 cada1

106= 1µs, o sea cada 1 microsegundo el contador va 1 arriba. Cuando llega a 10 genera un çounter

overflow", lo que significa que se ha pasado del límite y se reinicia a 0 otra vez. Esto significa que la

frecuencia de salida de la señal es 11µs∗10 = 100kHz. Para definir luego cuánto tiempo está la señal en

HIGH, existe otra variable que es el pulso. Para el ejemplo anterior un pulso=5 implicaría que la señal

está de 0 a 4 en HIGH y de 5 a 9 en LOW, lo cual nos da un ciclo del cincuenta por ciento.

5.2.3 Programa del sensor

En esta sección se cubre el programa entero usado para el sensor y, más específicamente, las fun-

ciones y rutinas usadas. Esta sección se centra sobre todo en las partes escritas por el autor o escritas

Version: 8 de noviembre de 2018 27

Page 41: s T u Investigación, desarrollo e G implementación de un

por CubeMX pero modificadas por el autor. Todas estas modificaciones se hacen en el main.c , mien-

tras que el resto de librerías no se han modificado una vez generadas. El código escrito es fácilmente

identificable por estar entre los comentarios /*USER CODE BEGIN*/ y /*USER CODE END*/.

Lo primero que se encuentra son las librerías incluiodas necesarias para el programa y debajo las va-

riables usadas. La variable auxiliar buff[50] representa el buffer, ya que el ángulo es convertido desde

un valor tipo double a uno tipo char para ser transmitido al terminal. El array x[Bitl] es el que almace-

na los bits recibidos en cada iteración del sensor. La constante Bitl se ha definido como 33, ya que es el

número de bits que emite el sensor. El resto de variables son auxiliares para operaciones y funciones

de control.

Más abajo encontramos en la función main() las inicializaciones de todos los sistemas y pins usados

en el programa. Es común además activar algunos LEDS para comprobar de manera visual que la pla-

ca está ejecutando el código y funciona correctamente. Más abajo la funciónTIM_BASE_START inicia

el control de tiempo y un temporizador. Esta función habilita los pins designados para luego comen-

zar la generación de la señal PWM. Se inician los canales 1, el complementario del 1 y el 4, aunque solo

se usa el 1. Los otros han sido usados para experimentación y control, por lo que se han mantenido

para futuras comprobaciones. Tras unas funciones que eliminan las interrupciones viene la función

HAL_TIM_PWM_START_IT(), que comienza la transmisión de una señal PWM en los canales 1 com-

plementario y 4, para las ya mencionadas comprobaciones. Unas líneas más abajo encontramos el

Figura 21: Llamadas a funciones de inicio y configuración40

bucle infinito, while(1). Todo lo que está dentro se repite en bucle después de todas las funciones e

inicializaciones de antes, y no termina hasta que no se desconecta la placa. Al principio encontramos

la asignación de determinadas variables. Más adelante se envía una señal HIGH y se hace una pausa

de 1 milisegundo antes de eliminar la señal y empezar la transmisión de la señal PWM. Esto es impor-

tante ya que, como se ha explicado antes, el sensor tiene que leer primer un HIGH antes de empezar

la señal. De aquí el orden para que la primera iteración funcione correctamente. Tras eso, el programa

entra en otro bucle para empezar a leer los valores que llegan del sensor. Aquí entra otra función muy

importante, HAL_TIM_GET_COUNTER(), que devuelve el valor actual del counter de la señal PWM.

Esta función es clave, ya que es la que permite sincronizar la señal que se está emitiendo con los datos

40 Captura de pantalla hecha por el autor41 Captura hecha por el autor

Version: 8 de noviembre de 2018 28

Page 42: s T u Investigación, desarrollo e G implementación de un

Figura 22: Primera parte del bucle infinito41

que se reciben en todo momento. Además, al saber que la función empieza siempre en HIGH hasta el

valor de pulse, permite obtener los datos en HIGH, que es cuando se transmite cada bit. En este caso

el valor del periodo es 20 y el del pulso 10, por lo que se ha igualado hasta que el contador sea 4. Esto

permite esperar un poco a que la señal se haya estabilizado en HIGH y así obtener el valor, además

de dar al sensor unos nanosegundos para procesar y recibir la señal, de forma segura recibiendo el

bit correspondiente, sin ser demasiado pronto o tarda. Se ha comprobado que eligiendo valores de

5 o 6 no cambian los datos recibidos, pero más debería ser evitado ya que puede haber pérdidas de

información por llegar demasiado tarde. El bucle do while es controlado por la variable ï", la cual solo

Figura 23: Segunda parte del bucle infinito42

aumenta cuando hay una recepción un bit, aumentandose así hasta 33. Esto hace que el número de

iteraciones exactas que hace el bucle es desconocido, pero se ha comprobado por tiempos de compu-

tación que entre iteración e iteración, si el contador estaba en 4 y ha leído y almacenado la variable en

el array x, de tamaño Bitl (33), tiene tiempo suficiente de avanzar hasta el siguiente número del con-

tador y por lo tanto no hay repetición de bits ( esto se comprobó con el código en comentarios que

usaba un vector count[]). Una vez finalizado el bucle se transforman los bits desde binario puro a una

posición númerica, que va desde 0 hasta 8191, ya que el ST tiene (2Singleturnbi ts) = 213 = 8192 posicio-

42 Captura hecha por el autor

Version: 8 de noviembre de 2018 29

Page 43: s T u Investigación, desarrollo e G implementación de un

nes. Tras esta posición se hace una conversión simple a un ángulo de tipo double, el cual se imprime

en el terminal, seguido de una cadena de caracteres que indican que se ha finalizado la transmisión

de ese ciclo. En comentarios podemos ver más código, como comprobaciones para ver si los bits de

alarma y error se estaban activando. No obstante, debido a problemas de comunicación con la em-

presa, no se ha podido averiguar el comportamiento exacto de estos bits y se ha decidido omitir. Tras

esto finaliza, para la emisión de la señal PWM y vuelve al comienzo del bucle, donde hará una pausa

de 1 milisegundo en HIGH.

Más abajo podemos ver, fuera de la función main, la función MX_TIM_Init(), donde se ven los pa-

rámetros del timer. Algunos de estos parámetros han sido ya configurados en CubeMX, no obstante

otros son configurados aquí directamente en código. El prescaler, el divisor de la frecuencia de en-

trada, funciona de la siguiente forma: F recuenciadel t imer = Relo jinternoprescaler+1 . El +1 del denominador se

justifica para no dividir entre 0, ya que si tenemos un prescaler de 0 no hay ninguna división y enton-

ces se adopta la frecuencia de entrada. En este proyecto la frecuencia interna del reloj es 168 MHz,

pero e l máximo que le llega al tim son 80 MHz. Esto significa que aunque la placa funcione al máxi-

mo de su capacidad, el contador funciona a 804+1 = 16MHz, por lo que cuenta a una velocidad elevada,

pero con diferencia suficiente en la placa para que pueda realizar otras operaciones. El prescaler está

ajustado de forma que no se puede variar, ya que si se cambia el valor a uno más alto la frecuencia de

la señal sera demasiado baja y puede haber repetición de bits. Por el contrario, si se pone uno muy

bajo irá demasiado rápido y no le dará tiempo al procesador a realizar otras tareas. Es vital que el

procesador tenga tiempo suficiente siempre que pase por el bucle de estar cuando el counter valga 4,

pero que luego al realizar las acciones de almacenado y lectura le haya dado tiempo a la señal a subir

el valor del contador. Esto implica que si el if() no se cumple debería tardar menos, pero si se cumple

debería tardar más de lo que se tarda en subir el contador. Más abajo vemos el pulso=10, que indica la

mitad del tiempo en HIGH, y el modo de contador, en modo uprise subirá con cada subida de pulso

de la señal.

Otros valores de esta función y las otras funciones han sido establecidos en CubeMX o brevemente

modificados en el programa, pero debido a la extensión del código no se va a explicar cada uno de

ellos. Muchos poseen comentarios y otros se pueden encontrar en el manual de la placa. Los esta-

blecidos por CubeMX automáticamente no se explican tampoco ya que se salen de los objetivos del

proyecto y carecen de información práctica para el entendimiento del programa.

5.3 Comprobación de resultados

Esta sección se centra en describir los resultados tras todo el proceso hecho y como de bien se

comportó el sistema dados el montaje y la programación anteriormente descritos. Esta sección es

solo sobre el capítulo actual, mientras que el capítulo 7 de conclusiones se centra en una valoración

más general del proyecto en su conjunto, teniendo en cuenta todo el trabajo y otros factores. Ambas

partes no obstante se atienen a los criterios de la metodología de trabajo descrita en el capítulo 2.

El programa descrito antes ha sido hecho combinando diferentes conceptos teóricos, pero no ha utili-

zado código de ningún otra parte. Es por ello que todo el programa descrito se ha hecho apoyándose

en esa base teórica y luego muchos datos y variables se han establecido mediante prueba y error,

observando que configuración es mejor ante diferentes situaciones, y comprobando si las hipótesis

Version: 8 de noviembre de 2018 30

Page 44: s T u Investigación, desarrollo e G implementación de un

hechas previamente son correctas. Esto significa que aunque todo tiene una base teórica correcta,

otras soluciones mejores pueden ser encontradas si se experimenta más con el programa. No obstan-

te la solución aportada, dado el limitado tiempo, es viable y se sustenta en principios correctos, por

lo que las mejores irán encaminadas en la misma línea.

Los resultados del final indican que se genera un ángulo incorrecto al final del proyecto. Tras ejecutar

el código el programa da un ángulo constante entre 0 y 360°mientras no se mueva el eje. No obs-

tante al rotar el eje ángulos conocidos, la variación de ángulo recibida no se corresponde con la que

debería ser. Por ejemplo, al rotar el eje aproximadamente 90°en pantalla no se aprecia esa variación

del ángulo, si no que aparece otra variación completamente diferente en cada rotación. Estos ángu-

los recibidos se han analizado y no se encuentra ninguna relación simple entre ellos, por lo que el

problema viene más de fondo. No obstante, al mantener el eje fijo el ángulo recibido no varía, por

lo que eso indica que no hay pérdida de datos en la transmisión. Esto se ha demostrado porque en

las primeras fases de programación, los ángulos obtenidos variaban aunque no se moviera el sensor,

indicando pérdida de datos en la transmisión.

Figura 24: Terminal con los resultados obtenidos43

Esto indica que aunque el programa no está terminado, el error no se debe a un mal planteamien-

to del programa, sino que probablemente la traducción de la posición desde binario a una posición

no se haga correctamente o que se estén cogiendo los bits equivocados. Esto se debe a que tanto la

hoja de datos como el manual técnico no aportan información sobre que bits son o cómo traducirlos,

debido a que cada modelo tiene un número y configuración diferente. En esto el autor quiere destacar

el buen servicio técnico recibido por la empresa Hengstler DE, a pesar de que por razones de tiempo y

problemas de plazos en la empresa no se ha podido obtener esta información a tiempo de la finaliza-

ción del proyecto. Además, esto se combina con la falta de experiencia del equipo en la programación

de este tipo de sensores y este sistema de transmisión, poco conocido por el departamento, carente

además del material para comprobar la interfaz ( por ejemplo un oscilloscopio) debido a que se sale

un poco de la línea de investigación tradicional del departamento, más centrado en electrónica del

automóvil más que de industria.

El programa fue probado con el instrumental que había, principalmente un oscilloscopio analógico

muy antiguo. Este ha permitido comprobar que efectivamente la señal enviada por la placa se corres-

43 Captura de pantalla hecha por el autor

Version: 8 de noviembre de 2018 31

Page 45: s T u Investigación, desarrollo e G implementación de un

ponde con una PWM con la frecuencia deseada, pero debido a la antigüedad de la misma no se han

podido comprobar otros parámetros, como la pausa de 1 milisegundo que se hace en HIGH. Además,

la placa ha presentado algunos problemas de conexiones y una se ha quemado durante la experimen-

tación del proyecto. La causa de este evento es todavía desconocida pero probablemente se deba a

un cable eléctrico que provocó un corto circuito en la placa. Para futuros experimentos con la placa

se recomienda una mejor instrumentación que permita medir mejor estas señales y detectar fallos

invisibles por otras vías.

Como conclusión, no se puede realizar ningún test más de calidad o efectividad del sensor debido a

este fallo en el ángulo. En el futuro inmediato el proyecto va a proseguir con la finalización del pro-

grama y poder así leer un ángulo correcto. Para ello se van a continuar las comunicaciones con el

equipo técnico y esperar los datos necesarios. Estos plazos tan largos se deben a que habitualmente

estos sensores no se programan a bajo nivel, si no que se conectan con Hardware específico que fa-

cilita la comunicación entre el sensor y la placa. No obstante esta información era desconocida a la

hora de comprar el sensor, debido a que mientras que existen varias empresas distribuidoras de estos

sensores, solo se han encontrado 2 que distribuya el hardware necesario para su interpretación. Esto

se cubre de manera más extensa en el siguiente capítulo de trabajos futuros. Como ya se ha indicado

en el apartado de montaje, los test de las piezas utilizadas son positivos y dan buenos resultados. El

programa hecho refleja la precisión del sensor, ya que registra cambios muy pequeños en el eje. Por

lo tanto hasta donde se ha llegado con el sensor los resultados son positivos y favorecen además la

continuación del proyecto y su finalización en un breve periodo de tiempo.

Version: 8 de noviembre de 2018 32

Page 46: s T u Investigación, desarrollo e G implementación de un

6 Trabajos futuros y aplicaciones

Este capítulo cubre todos los aspectos de futuro inmediato y aplicaciones a largo plazo, centrán-

dose en cómo el sistema puede ser mejorado y nuevos métodos de avanzar. También se describirán

aplicaciones indirectas del sistema, a parte de su uso original intencionado, como también nuevos

proyectos que pueden abrirse tras la finalización de este.

Las propuestas de mejora, al igual que las aplicaciones posibles, son expuestas de manera teórica ba-

sándose en los métodos aplicados y en la información que se tiene del proyecto y sus utilidades. No

obstante, muchos de estos proyectos tienen una viabilidad suficiente para iniciar su investigación ,

como ya ha ocurrido con algunos de ellos que precisan de un sistema de medición como el desarro-

llado. Estos proyectos no serán nombrados uno a uno, sino que se expondrán sus líneas generales y

su relación con este. Para más información práctica es necesario preguntar al departamento FZD.

6.1 Futuro inmediato y lejano del proyecto

Esta sección explica todas las mejoras posibles y correcciones que se pueden hacer en el siste-

ma, tanto centradas en el montaje como la programación. Todas estas mejoras, excepto una que se

explicará más adelante, son opcionales y no necesarias para un buen funcionamiento del sistema.

6.1.1 Cambios a futuro próximo

Como ya se explicó en la sección de programación, el sensor tiene algún defecto de programa-

ción que le impide funcionar de manera correcta en todas las situaciones y por lo tanto, el sistema

está todavía sin acabar y precisa de unas correcciones. Estos cambios son cruciales para el buen fun-

cionamiento del equipo y sin ellos el sistema no puede avanzar y, por lo tanto, ninguna de las otras

mejoras o aplicaciones futuras son posibles o tienen sentido antes de hacer esta. Estos cambios re-

quieren también probar y someter a examen el sensor una vez ya completado, confirmando que los

ángulos recibidos son correctos y los parámetros requeridos se cumplen.

Este objetivo ya ha sido registrado y comunicado al departamento encargado del proyecto, el cual se

encargará de solucionar este problema. Para esto, ya se han propuesto antes dos soluciones posibles,

las cuales son o bien obtener la información necesaria para terminar el programa de forma correcta,

o usar un hardware específico especializado en este tipo de interfaces. Toda la información necesaria

para ambas líneas la posee ya el departamento FZD, el cual tiene todos los derechos sobre la propie-

dad intelectual del proyecto y tomará, con la información aportada, la decisión de forma individual.

De cara a los siguientes apartados se asumirá que esto ya ha sido resuelto y por lo tanto las otras op-

ciones y mejoras son posibles.

6.1.2 Mejoras más avanzadas y cambios a largo plazo

Dados los cambios necesarios hechos, otras opciones de mejora y características pueden ser aña-

didas al modelo original. Lo primero de todo, hacer uso de el sistema absoluto de medición de ángulo,

todavía sin programar pero dado ya dentro del programa actual la base. Una vez se tenga la informa-

ción sobre el tipo de bits y cómo traducirlos, sería sencillamente hacer uso de ellos para registrar otro

Version: 8 de noviembre de 2018 33

Page 47: s T u Investigación, desarrollo e G implementación de un

segundo ángulo de forma absoluta, pudiendo registrar además variaciones negativas y un cero abso-

luto. Aunque ha sido ya probado en el proyecto actual, debido a exigencias de tiempo y fallo no ha

sido implementado de forma completa todavía en favor de terminar el programa actual. No obstante,

esta adición junto con un mejor uso de los bits de alarma y error, pueden dar más información del

sensor y una mejor visión del programa y su funcionamiento. Estas mejoras no necesitan de ningún

cambio en el montaje o disposición actual y son relativamente sencillas de aplicar dado el programa

actual.

En una escala más grande, el sistema puede admitir también mejoras más específicas. El montaje

está diseñado de forma que no ocurra ninguna pérdida de datos en el proyecto, por lo que ninguna

mejora es posible en ese aspecto, aunque una vez programado sí se podría comprobar la efectividad

de este sistema. Además, de forma experimental ya se ha diseñado un sistema basado en una trans-

misión por gomas elásticas para prevenir un cambio de nivel en la plataforma y que el ángulo entre

eje y disco varíe ligeramente de 90 °.

En un nivel de software, el programa escrito es funcional pero no usa funciones más avanzadas dadas

por el microcontrolador, ya que la diferencia entre el tiempo de reloj interno y el de la señal es sufi-

ciente para trabajar con el básico dado actualmente. Sin embargo, si el programa se quiere cambiar

para funcionar con otras características o más hardware, estos parámetros de menor importancia en

el proyecto actual deben de ser considerados.

Otras mejoras notables pueden ser el añadido de un filtro, un PID por ejemplo. Este filtro funcionaría

con algunos test adicionales para añadir los parámetros. Esto incrementaría la precisión y calidad de

los datos que se pueden exportar para ser tratados por otros programas, como por ejemplo Matlab. El

PID se puede programar a bajo nivel en C++ o hecho en colaboración con Matlab para el ajuste de los

parámetros dado un input de ángulo del sensor. Además, otros filtros pueden ser implementados en

lugar de este o de forma añadida, como un filtro Kalman. Este tipo de filtro, ya descrito cuando se ha

explicado la IMU, puede ser importante para situaciones de gran uso prolongado de la plataforma o

velocidades variables. Además, en el caso contrario, también se podría usar el sensor para comprobar

la validez del filtro, dada una situación más predecible y estable, de forma que se valide el modelo

realizado.

6.2 Otras aplicaciones y proyectos posibles

Esta sección se centra más en proyectos que surgen a raíz de la disponibilidad de tener este siste-

ma operativo. Con la capacidad de medir el ángulo de la plataforma de forma precisa, otros sensores

y sistemas más avanzados pueden ser calibrados con este sensor para comprobar su precisión y via-

bilidad en diferentes situaciones usando el encoder como referencia. Esto es , de hecho, una parte del

objetivo final del proyecto, tal y como se describe en la introducción.

El objetivo principal es simular nuevos modelos de RADAR que sean capaces de medir el ángulo de

un vehículo ya rotado o rotando a cierta distancia. Para esto es necesario un ángulo real de referencia

que sea aportado por un agente externo. Esto explica también por qué los requisitos fundamentales

son una alta precisión y robustez frente a cambios. En caso de no cumplirse estas dos condiciones, el

ángulo recibido sería erróneo por lo que la calibración del sistema acumularía ese error y por lo tanto

no sería una investigación de utilidad. Este proyecto dirigido por el departamento de FZD es amplio

Version: 8 de noviembre de 2018 34

Page 48: s T u Investigación, desarrollo e G implementación de un

y extenso, no siendo sólo objeto de uno o dos trabajos de grado, si no varios proyectos conjuntos que

implican colaboración y coordinación.

También otros sistemas se pueden mejorar usando este como referencia. Por ejemplo la IMU dentro

de un coche, capaz de medir el ángulo en condiciones dinámicas, puede ser mejorada y calibrada

para medir mejor estos parámetros en condiciones fuera de su margen habitual de trabajo, especial-

mente parámetros como el ángulo Yaw o la velocidad angular. También tecnologías de vídeo-cámaras

instaladas en vehículos modernos, pueden beneficiarse de este sistema mediante diferentes pruebas

rotando el vehículo con la cámara activa, de forma que se puedan implementar capacidades para de-

tectar el mismo objeto desde diferentes ángulos o diferenciar objetos bajo una rotación del vehículo.

Otras tecnologías como el Lidar, que usa pulsos de luz para medir distancias, pueden ser probadas

para medir la cantidad de luz recibida y la precisión en diferentes situaciones de ángulo.

Estas aplicaciones no han sido objeto de ningún estudio de viabilidad, salvo por supuesto la opción

del RADAR, por lo que es posible que no todas sean posibles o la mejor manera de realizar las mejoras

propuestas. Estas se basan en hipótesis teóricas que podrían funcionar dado el sistema actual y po-

seen una base científica sobre los métodos de funcionamiento de los diferentes sistemas propuestos.

Algunas de ellas han sido bien recibidas por el departamento y serán tenidas en cuenta en líneas de

futuras investigaciones todavía por concretar y determinar. No obstante, es importante resaltar que

la línea del proyecto precisamente ya se desvía un poco de las investigaciones actuales del departa-

mento, más centrado en la automatización y electrónica para vehículos que sistemas de medición

industriales, aunque su aplicación indirecta sí cubre una rama clave de el proyecto de investigación

del departamento,

Version: 8 de noviembre de 2018 35

Page 49: s T u Investigación, desarrollo e G implementación de un

7 Conclusiones

En esta sección se evalúan las conclusiones generales del proyecto, el trabajo y la investigación

realizada como también los resultados y las futuras aplicaciones del proyecto. Los criterios usados

para la evaluación siguen los métodos usados para el desarrollo, teniendo en cuenta el trabajo reali-

zado, la efectividad del mismo y los resultados obtenidos, comparándolos con otras maneras de haber

resuelto el problema y si efectivamente la solución encontrada es la mejor vistos los resultados obte-

nidos.

7.1 Evaluación general y elección de la mejor solución

Desde el inicio del proyecto se han producido una serie de dificultades, no obstante esto se con-

sidera inherente a un proyecto, especialmente si es de aplicación práctica. La curva de aprendizaje

de la placa STM32 ha sido pronunciada al principio, a pesar de los conocimientos previos de pro-

gramación, ya que muchas funciones son muy específicas y claves para el buen funcionamiento del

programa. Como resultado de ello, probar el estado inicial de la plataforma y el antiguo FR ha sido

complicado al principio, ya que muchos parámetros de la placa no funcionan igual que otros micro-

controladores.

La investigación y elección de la solución final ha durado más de lo esperado, así como también la

implementación del software. Lo primero se debe a que todas las opciones planteadas poseen algún

tipo de error o desventaja, por lo que ha sido difícil encontrar una solución óptima. Esto se ha solucio-

nado mediante un análisis de prioridades en conjunto con el departamento, ponderando los puntos

más fuertes considerados. Aunque algo más lento, esto ha llevado a la elección final de el mejor mé-

todo, el encoder óptico, probado superior en muchos

Como conclusión de esta sección, los primeros pasos y el enfoque de este proyecto han sido cruciales

para luego el desarrollo posterior del sistema, ya que han definido los siguientes puntos a desarrollar,

pero aún con los retrasos que se han producido y los nuevos problemas inesperados, se ha cumplido

el objetivo principal de llegar a la mejor solución, demostrar que es la mejor e implementarla. Ade-

más se ha cubierto el objetivo general del TFG de aprendizaje y desarrollo de un proyecto formativo

y complejo, que combina los conocimientos aprendidos en varias asignaturas para una aplicación

concreta.

7.2 Resultados y conclusiones finales

La segunda parte del trabajo, desarrollar e implementar el sistema elegido, ha sido satisfactoria

dada ya la elección hecha, a pesar de haber demostrado una especial dificultad a la hora de pro-

gramarlo. El montaje diseñado y después puesto en ejecución ha probado ser robusto y flexible,

manteniendo la transmisión total de par sin pérdidas de ángulo por juego o deslizamiento en nin-

gún momento. De esto se ve que las pérdidas mecánicas son muy bajas y por lo tanto cumplen con

su cometido de no acumular un mayor error sobre el sistema y no invalidar toda la precisión ganada

mediante el uso de el sensor. Esto además hace recaer el error más sobre la parte de programación,

más fácilmente detectable y corregible que un error mecánico.

La parte de programación no se suele enfocar desde tan bajo nivel, programando todo desde cero

Version: 8 de noviembre de 2018 36

Page 50: s T u Investigación, desarrollo e G implementación de un

sin la ayuda de ningún hardware adicional. Esto ha sido la causa de las dificultades que ha tenido

la programación y la problemática de encontrar una solución a un problema muy poco común. No

obstante, un gran avance ha sido realizado y el programa está cerca de cumplir su objetivo con sólo el

cambio de determinados parámetros, ya que la base del programa se ha probado efectiva y correcta.

Teniendo en cuenta el montaje y la programación mencionados antes, la efectividad global del pro-

yecto ha sido satisfactoria y el proyecto ha sido realizado en cuanto al plan hecho dadas las circuns-

tancias. También las aplicaciones futuras que ofrece el proyecto son buenas y ha sentado la base para

nuevas líneas de investigación, ahora posibles gracias a este sistema, las cuales ofrecerán nuevos mé-

todos de medición y simulación para el desarrollo de la conducción autónoma.

Como conclusión final, la similitud de este proyecto con uno real de ingeniería han cubierto el ob-

jetivo general de el TFG, que es el aprendizaje y desarrollo de un proyecto individual de múltiples

disciplinas, involucrando al alumno en el proyecto con parámetros similares a los que se encuen-

tran en la vida real, condiciones limitadas de recursos y tiempo, con una solución óptima a alcanzar.

El resultado general es satisfactorio y los retos planteados, tanto por el departamento como por el

proyecto en sí, han sido afrontados correctamente siguiendo las líneas científicas aprendidas y una

trayectoria constante de auto-aprendizaje y mejora continua. Esto ha llevado a unos resultados posi-

tivos y dentro de los requisitos propuestos, ofreciendo además la posibilidad de ampliar el trabajo en

el futuro. Los pequeños ajustes a realizar pueden ser precisamente la base inicial para luego mejorar y

ampliar el sistema existente. Finalmente, el trabajo ha cumplido su objetivo formativo, combinando

aprendizaje teórico y aplicación real de los conocimientos en un entorno avanzado para el desarro-

llo de un proyecto más grande común, el cual se ha realizado en colaboración con otros proyectos,

destinados a formar la base tecnológica para futuras investigaciones y trabajos.

Version: 8 de noviembre de 2018 37

Page 51: s T u Investigación, desarrollo e G implementación de un

Literatura

B.V., Xsens Technologies. MTi User Manual. IMU Manual. Feb. de 2018.Basler, S.: Encoder und Motor-Feedback-Systeme (2016)

Basler, Stefan: Encoder und Motor-Feedback-Systeme, (2016)Chloe Slim, J. T.: Aufbau und Einsatz von Messtastersystemen (2016)

Chloe Slim, Jason Taylor: Dimensionelle Messtechnik : Aufbau und Einsatz von Messtastersystemenin der Fertigung, Die Bibliothek der Technik ; Band 374, ISBN: 9783862361038 ; 3862361039, (2016)

Hengstler. Technical Datasheet AD58. Datasheet AD58. Ap de 2011.– Technical Manual SSI BiSS. eng. Manual AD58. Aldingen Germany: Hengstler DE, Mai de 2017.Kostik, B.: Potentiometers article (2011)

Kostik, Bill: Potentiometers: A Proven Position Sensing Solution that Every Engineer Needs to Con-sider in Modern Designs, en: Sensorsmag, (2011)

Ludwigsburg, T.: Sensoren und Meßsysteme 2004 (2004)Ludwigsburg, Tagung: Sensoren und Meßsysteme 2004, (2004)

Makansi, F.: Entwurf einer Regelung für eine Fahrzeugdrehbühne (2016)Makansi, Faried: Entwurf einer Regelung für eine Fahrzeugdrehbühne, (2016)

Pengra, D. B. The Hall effect. Ed. por J. Stoltenberg. Hall effect introduction. 2015. URL: %5Curl %7Bhttp://courses.washington.edu/phys431/hall_effect/hall_effect.pdf%7D.

Petersen, A.: Dissertation, Faculty of Engineering, Kiel University. (2014)Petersen, Arne: A Specialized Kalman Filter Framework for IMU Aided Stereo SLAM, Kiel ComputerScience Series, Department of Computer Science, CAU Kiel, (2014)

Reif, D. H. ; E. C.: Weg- und Winkelmessung (2003)Reif, Dietrich Homburg ; Ellen Christine: Weg- und Winkelmessung : absolute Messverfahren, Mo-saik der Automatisierung, Stutensee, ISBN: 3936200106, (2003)

Winner, H.: Handbuch Fahrerassistenzsysteme (2015)Winner, Hermann: Handbuch Fahrerassistenzsysteme : Grundlagen, Komponenten und Syste-me fur aktive Sicherheit und Komfort, 3.a ed., Wiesbaden : Springer Vieweg, ISBN: 3658057335 ;9783658057336, (2015)

YingweiZhao: Diss., Optimized Filter for GPS IMU (2015)YingweiZhao: Optimized Filter Design for Non Differential GPS IMU Integrated Navigation, (2015)

Version: 8 de noviembre de 2018 38

Page 52: s T u Investigación, desarrollo e G implementación de un

A User Manual

In this appendix a user manual on how to install and use the sensor is given. This guide only focuson the practical part and avoids deeper and more theoretical explanations. For a better understandingof how the system is working or the reasons of many things done, refer to chapters 4.2 and 5 .

A.1 Hardware Setup

Here it will be explained how to set up the hardware and the montage. There is also a small intro-duction in section 5.1 where more about the parts is shown.Starting in the transformer, the black disk of the original system is substituted by the newly printedorange disk( Figure 14). This disk is mechanised so it fits perfectly the prism shaft of the sensor. Theprinted disk fits inside the 4 bolts and the holes have been lowered so the nuts are at the same heightas the disk. After that the bolts need to be cut as low as possible so the new U shaped plate is alsolowered. New holes in both sides of the turntable’s beams need to be done. The new height allows thesensor to be much lower and therefore a hole in the turntable’s top is not needed. The top can also beset up a bit higher by putting more gummy stripes over the beams. This beams have also some holeswhere the sensor’s cable can go through.Inside the metallic box of electronics, the cables must be prolonged as they are not long enough. So-me basic male-female cables can be used, welding the male part to the sensor and using the femaleparts to connect it to the board. For this project only 5 cables are going to be used, which are goingto be connected to the Pins set. This cables come from the sensor’s black array of cables and must

Cuadro 9: Cable connectionsCable Colour PIN

0 V Sensor Brown/green Ground5 V Sensor Red/blue 5 V

DC 5 V Gray/pink 5VClock (only positive) White PE 9Data (only positive) Black PB 1

be connected to these pins. If any other pins are to be used, changes in the programming must alsobe made, and a new CubeMX project is to be set up. For these reasons, unless necessary, is stronglyrecommended to use these pins, as they were carefully chosen and some others may not function asdesired.Special mention also the USART cable, which has only 3 pins. The black cable connected to ground,and yellow and orange are connected to PA2 and PA3 respectively. This cable is then connected viaUSB to the user’s computer, as also the other STM32 microUSB cable used to download the programand power the board.

A.2 Software Program

This section covers all the programming and the special software needed to operate the sensor.All the programs have been mentioned before and explained why were they chosen, so here is onlya quick guide on how to use it. Also the code is not here explained, but in section 5.2 . For a moreadvanced explanation or making changes in the code, please refer first to the whole 5 chapter. It is alsoimportant to note that some names or menus may change with new versions of the programs, but thenames and set ups remain the same so there should not be any problem with the configuration. It willbe explained how it can be easily tested if all the arrangements have been made correctly.First of all is to mention the program CubeMX, which as said before it helps in setting up projects forSTM32 boards and activate pins. Still, it is not needed to operate the board so nothing of its installation

Version: 8 de noviembre de 2018 39

Page 53: s T u Investigación, desarrollo e G implementación de un

or use is to be found here. The IDE used to program the rest and to download the code is "MDK ARMKeil v5.a special interface of programming designed for STM32 boards and its many applications. Thewhole project is in the thesis folder and it can be opened by clicking the "testsensor2.uvprojx"file,inside the MDK-ARM folder. Once opened, something like this should appear. If the main.c file is not

Figura 25: Screenshot of the MDK-ARM program44

shown, it can be easily opened by clicking on the left menu on Application/User and then double clickon main.c should prompt the file as seen in the screenshot. First, a small configuration needs to beset up. By clicking on "Flash"menu (situated on the top menu) and going to Çonfigure Flash Tools",a small window should prompt, showing the flashing configuration menu. From the many tabs seen,"Debugïs selected and then inside the "Settings"button located on the top left. Once clicked, another

Figura 26: Flash Tool Menu configuration45

small menu with 3 tabs should prompt. Inside the "Flash Download"tab a small image should be

44 Screenshot made by the author45 Screenshot made by the author

Version: 8 de noviembre de 2018 40

Page 54: s T u Investigación, desarrollo e G implementación de un

seen picturing a download with the word flash on it. On the right two columns are seen. From thefirst column of the 3 possibilities, .Erase sectors"should be already selected, but if not select this one.The first one, .Erase full Chip", can also be selected but compiling times will rise by many seconds ifselected. On the second column the 3 lines must be ticked , "Program", "Verify.and Reset and Run".Once done , clicking on OK both in this "Settings"submenu and Çonfigure flash tools"menu will setup the flashing and the program is ready to use.To use the program it needs first to be compiled. For this the button "Build"located under the smallopen folder icon can be used. Next to it on the right, under the save icon, is the Rebuild icon, whichcan be used to recompile the whole project. It is recommended that when some changes are madethis button is used, so it can rebuild the whole project based on it. If nothing has been modified fromthe original build, the dialogue under the main file should prompt the message that no errors werefound, even though some warnings should be expected but also ignored.Once built, the program is ready to to download on the board. On the "Flash"menu on the top, clickingon the "Download"button will load the STM32 board with the program built. Please check that bothUSB cables are connected and the small green LED light next to the board’s microUSB connector is litbefore downloading the program. This LED indicates that the board is receiving a computer signal andit’s powered. Right after downloading the program, in the dialogue the message Reset and runningïsto be seen. If not, that means that the configuration explained before has not been made correctly. Ifyes, in the middle of the STM32 board 2 LEDs should be on, indicating that the program is runningand everything is okay.For reading the data output, we need a Terminal. Although many terminals can be used, in this projectit is recommended the Realterm "terminal, which displays data with high accuracy and no bit loss.Inside the terminal all the configuration needed is to be made in the "Port"menu. After configuringeverything the terminal should look like this:

Figura 27: Realterm terminal configuration

The important parameters are the Baud, which should be set to 115200 ( the first one on thelist) and under in "Parity"none, in "Data bits"8 and in "Stop bits"1. Then on the port clicking on theright arrow should prompt a list of the available ports. The port with the number followed by _//CPOshould be selected, in the picture’s case, port 4. After that it is important to check that the .Open"buttonis selected and then click on Çhange". All the changes made are not effective until the Çhange"button

45 Screenshot made by the author

Version: 8 de noviembre de 2018 41

Page 55: s T u Investigación, desarrollo e G implementación de un

is clicked. After that the display screen should look like the one on the figure, showing a constantangle and the .End of bit seriesçhar array. If the terminal is not working, please check first that theprogram is working as explained before. If yes, then the computer’s configuration does not match thisconfiguration. To fix this, in windows screen search for "device manager.and a new window shouldopen with all the devices connected. Down in the list is to be found the ports connected. There appearat least two, one with a number and between brackets "(USB0)", which refers to the cable poweringthe board, and another with a number being called (COM4). The "4"may change depending on theport assigned by the computer. This number is the number to be set up in the terminal’s "Port"menu.If the properties are opened, the parameters set up before (Baudrate, Parity and more) must matchthe ones set up in the terminal. If not, change them to match the ones described before. With all thatdone, the terminal should display now the numbers on screen.If everything has been followed correctly, the terminal displays now the angle and everything is set up.This concludes this guide for setting up the sensor system. If any further questions or problems arefound, it first advised to search for it on internet, as many of them can be found there. If not, pleaseask the department or the author for more instructions.

Version: 8 de noviembre de 2018 42

Page 56: s T u Investigación, desarrollo e G implementación de un

B Planificación del tiempo

Version: 8 de noviembre de 2018 43

Page 57: s T u Investigación, desarrollo e G implementación de un

Election and implementation of a turning rate control1

Weeks (first= 16th of April, last = 16th of September) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Introduction and Planning

1 2 1 2 100%

Investigation 2 6 2 7 100%

Testing the turntable 2 3 2 3 100%

Learning the basis 2 2 2 3 100%

Identification of components 2 2 2 2 100%

Run tests 2 1 2 1 100%

Hardware Implementation 9 5 9 6 100%

Harware research 9 2 9 1 100%

Testing the IMU 9 1 9 1 100%

Buying 10 2 10 2 100%

Set up of the optical encoder 11 3 11 3 100%

Comparison and choosing 12 1 12 1 100%

Software Implementation 14 6 14 8 100%

Design of specific software 14 2 14 2 100%

Pause 16 2 16 2 100%

Application 18 2 18 3 100%

Problem solving 20 2 20 3 85%

Closing 21 1 21 1 100%

Writing 8 15 8 15 100%

% Completed (out of plan)

Activity Planned Start Duration Real Start Real DurationPercentage Completed

Duration Real Start Real (out of plan)% Completed

Page 58: s T u Investigación, desarrollo e G implementación de un

C Presupuesto y cálculos de tiempo

En esta sección se detallan brevemente el tiempo y los costes asociados necesarios para la rea-lización de este proyecto. Para ello, se han tenido en cuenta todas las aportaciones que ha puesto eldepartamento FZD y el tiempo invertido por todos los miembros del programa, tanto presencialmen-te como a distancia en ambos países.Primero se adjunta una tabla con los tiempos generales invertidos por los diferentes miembros delproyecto. Todos estos tiempos son una estimación y pueden tener un error.

Cuadro 10: Tiempo invertido en el proyecto por los diferentes integrantes

Persona Tiempo (en horas)Arturo Guridi 360

Philipp Rosenberger (tutor en Alemania) 50Martin Holder (cotutor) 15

Prof. Herman Winner (director y catedrático del departamento) 4Personal del taller 6

Antonio Barrientos (tutor en España) 16

Para el cálculo de costes, solo se va a tener en cuenta el tiempo invertido por el autor y el tutoralemán. El resto de colaboradores se suponen incluidos en sus respectivos equipos y por lo tantocon un pequeño peso en sus respectivos precios. El coste de la plataforma se supone de los datosque ha dado P. Rosenberger de su coste aproximado, 8000 =C, amortizada a 10 años, fecha dada por laintención de uso del departamento. El coste del sensor proviene de la factura dada por la empresa. Elcoste de reponer el microcontrolador viene de otra factura de la empresa de distribución. El resto demateriales y herramientas usadas se ha agrupado en un coste único aproximado, bien sea su coste decompra o su amortización en caso de ser reutilizables. Todos los costes incluyen impuestos y gastosextras, como el envío si procede. Para todos los costes de tiempo se ha supuesto una duración de 6meses o los tiempos expuestos anteriormente.

Cuadro 11: Tabla de costes del proyecto

Producto/Servicio Coste unitario Coste totalTrabajo autor 600 =C / mes 3600 =C

Trabajo P. Rosenberger 30 =C / hora 1500 =CAmortización plataforma 800 =C /año 400 =C

Coste encoder 335,50 =C / unidad 335,50 =CCoste 2 piezas mecanizadas 18 =C / pieza 36 =C

Coste pieza impresa 2,5 =C / pieza 2,5 =CCoste 2º microcontrolador 50 =C / placa 50 =CCoste herramientas varias 5 =C / mes 30 =C

Coste total= 3600=C + 1500=C + 400=C + 335.50=C + 36=C + 2,5=C + 50=C + 30 =C = 5954=C

Version: 8 de noviembre de 2018 45