s t u investigación, desarrollo e g implementación de un
TRANSCRIPT
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
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.
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
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)
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
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
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
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
Í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
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
Í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
Í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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
B Planificación del tiempo
Version: 8 de noviembre de 2018 43
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
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