Proyecto fin de carrera. ingeniería...
Transcript of Proyecto fin de carrera. ingeniería...
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
1
Proyecto de Fin de Carrera
Departamento de Ingeniería mecánica y de los materiales
Desarrollo, instrumentación y construcción de un vehículo
radiocontrolado para la medida de irregularidades del terreno
mediante sensores inerciales
Autor: Blas Blanco Mula
Tutor: José Luis Escalona Franco
Fecha: 10 de Septiembre 2014
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
2
1. Introducción .......................................................................................................................... 4
2. Antecedentes ........................................................................................................................ 5
2.1. LA AUSCULTACIÓN DE VIAS ........................................................................................... 5
2.2. DEFICIENCIAS Y POSIBLES MEJORAS ............................................................................. 6
2.3. OBJETIVOS DEL PROYECTO DE EXCELENCIA .................................................................. 8
3. Fundamento teórico .............................................................................................................. 9
4. Componentes ...................................................................................................................... 14
4.1. Mbed LCP1768 ............................................................................................................ 14
4.2. Arduino Fio .................................................................................................................. 15
4.3. Módulos Xbee ............................................................................................................. 17
4.3.1. Configuración de las radios Xbee ........................................................................ 19
4.4. Puente H ...................................................................................................................... 21
4.5. Motores ....................................................................................................................... 21
4.6. Accesorios ................................................................................................................... 23
4.7. Chasis ........................................................................................................................... 23
4.8. Pantalla LCD................................................................................................................. 24
4.9. Joystick ........................................................................................................................ 24
4.10. Puerto USB .............................................................................................................. 24
4.11. Fuentes de alimentación ......................................................................................... 25
5. Montaje ............................................................................................................................... 25
5.1. Conexiones Radio Control ........................................................................................... 25
5.2. Conexiones Rover ........................................................................................................ 29
5.3. Montaje final ............................................................................................................... 32
6. Código del Radiocontrol ...................................................................................................... 35
6.1. Compilador arduino .................................................................................................... 35
6.2. Flujo de información ................................................................................................... 36
6.2.1. Flujo de información entrante ............................................................................ 36
6.2.2. Flujo de información saliente .............................................................................. 36
6.3. Funcionamiento del mando radio control .................................................................. 36
6.3.1. Joystick ................................................................................................................ 36
6.3.2. Protocolo de comunicación ................................................................................. 37
6.3.3. Pantalla ................................................................................................................ 37
6.3.4. Consideraciones importantes a la hora de utilizar .............................................. 38
7. Código del rover .................................................................................................................. 44
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
3
7.1. Compilador mbed ........................................................................................................ 44
7.2. Flujo de información ................................................................................................... 45
7.3. Funcionamiento del software del rover ...................................................................... 45
7.3.1. Obtención de la información ............................................................................... 45
7.3.2. Cambio de velocidad ........................................................................................... 46
7.3.3. Giro ...................................................................................................................... 46
7.3.4. Medición de velocidad ........................................................................................ 46
7.3.5. Control de velocidad ........................................................................................... 47
7.3.6. Envío de información .......................................................................................... 48
7.3.7. Almacenamiento de información ........................................................................ 49
7.3.8. Acelerómetros ..................................................................................................... 49
8. Costes .................................................................................................................................. 60
9. Conclusión ........................................................................................................................... 60
10. Bibliografía ...................................................................................................................... 61
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
4
1. Introducción
Este Proyecto de Fin de Carrera, ha tenido como objetivo la construcción
de un rover teledirigido, que cumpliese una serie de requisitos, relacionados
con la función para la que fue diseñado, la auscultación de superficies.
El objetivo a cumplir era satisfacer una necesidad de un grupo de
investigación del Departamento de Mecánica de la Escuela Superior de
Ingenieros de Sevilla, la construcción de un rover teledirigido con capacidad
para auscultar, que sirviese como plataforma para desarrollar un software que
posteriormente se aplicaría sobre un vehículo ferroviario a escala.
Aprovechando la oportunidad que brindaba esta necesidad, se decidió ofertar
este proyecto el cual venía a cumplimentar la formación como ingeniero
mecánico del autor, mediante el uso de acelerómetros y microprocesadores,
los cuales le permitieron adquirir unos conocimientos básicos sobre
mecatrónica muy preciados hoy día en el ámbito de la ingeniería mecánica.
La construcción del rover se llevo a cabo siguiendo en cierta manera la
filosofía DIY (Do it yourself), que inspira hoy día la utilización de
microprocesadores. Todos los componentes que se utilizaron en la
construcción del rover fueron adquiridos de forma individual, respondiendo a
las necesidades que se presentaron a lo largo del proceso de montaje. Por otro
lado, el software incorporado en los microprocesadores, fue creado en parte
desde cero ad hoc con los requerimientos funcionales, y otras partes del mismo
fueron obtenidas directamente desde plataformas de software libre, y
adaptadas para ser operativas en nuestro proceso.
No se pretende por lo tanto con este proyecto la creación de una
solución única para un determinado problema, de hecho, es probable que una
persona más familiarizada con el uso de estos dispositivos y con la
programación, encuentre no del todo eficiente el uso que se ha hecho de los
mismo, pero si responde a unos requerimientos determinados, y abre la
posibilidad a futuras mejoras por parte de otros alumnos interesados.
En lo siguiente, se procederá a comentar los antecedentes que han
motivado la realización del proyecto, vinculados con al desarrollo de
tecnologías a tiempo real de auscultación. Se continuará describiendo los
componentes que se han utilizado en el proyecto así como su ensamblaje y se
llevará a cabo una descripción detallada del software creado para su correcto
funcionamiento.
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
5
2. Antecedentes
Este proyecto se desarrolla dentro del marco de trabajo del Proyecto de
Excelencia Motriz “Desarrollo de nuevas tecnologías de auscultación de vías
ferroviarias basadas en la simulación dinámica en tiempo real”. Este proyecto
tiene como objetivo el desarrollo de “nuevas tecnologías basadas en el
modelado matemático de vehículos y su simulación dinámica en tiempo real
para mejorar la calidad de la información que se obtiene en el proceso de
auscultación”. A continuación se procede hacer una breve descripción de las
motivaciones que han llevado a la realización del Proyecto de Excelencia en el
que se encuadra este Proyecto de Fin de Carrera.
Estos modelos matemáticos son generados mediante la Dinámica de
Sistemas Multicuerpos y se pretende que sean suficientemente eficientes como
para que puedan resolverse en tiempo real. La auscultación en tiempo real
permitiría mejorar el proceso de auscultación en varios aspectos:
1. Obtención de una información completa de la cinemática y dinámica del
vehículo auscultador en cualquier instante.
2. Estimación de la cinemática y dinámica que tendrían vehículos distintos
al auscultador viajando por la misma vía.
3. Consideración de la receptacina de distintos vehículos en la evaluación
de la longitud de onda de las irregularidades de la vía.
4. Estimación de las fuerzas de contacto rueda- carril.
2.1. LA AUSCULTACIÓN DE VIAS
Durante la auscultación de vías con vehículos laboratorio, de registro o
auscultadores se mide la geometría de los carriles y de la catenaria. Existen
dos tipos de medidas: geométricas y dinámicas. Las geométricas miden las
desviaciones con respecto a una geometría de referencia de los carriles y del
hilo de la catenaria. Las dinámicas miden la respuesta dinámica del vehículo
ante dichas irregularidades. El resto de esta memoria se refiere a la
auscultación de vías.
Los defectos de los carriles se clasifican por las desviaciones de la
geometría de estos de acuerdo a los siguientes parámetros:
Alineamiento.
Nivelación.
Ancho de vía.
Perfil vertical.
Peralte.
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
6
Alabeo (Ritmo de cambio de la nivelación de los carriles).
Desgaste del perfil.
La auscultación geométrica se realiza utilizando las siguientes
tecnologías:
Medidas con láser.
Videograbación y análisis digital de imagen.
DGPS (differential GPS)
Ultrasonidos.
Registro de arcos eléctricos.
Sensores de proximidad.
Pinturas spray.
La auscultación dinámica se realiza usando las siguientes tecnologías:
Acelerómetros .
Giróscopos.
2.2. DEFICIENCIAS Y POSIBLES MEJORAS
Para comprender las deficiencias
del proceso actual de auscultación de
vías y las posibles mejoras que se
pueden desarrollar es necesario
introducir la respuesta dinámica de
vehículos ferroviarios ante la irregularidad
geométrica. La siguiente figura 1 [1]
muestra la receptancia de un vehículo
ferroviario sobre una vía deformable
obtenida mediante un modelo
computacional. La receptacia muestra la
amplitud de las oscilaciones del vehículo
y la vía ante excitaciones de distintas
frecuencias. La excitación puede ser, por
ejemplo, los defectos de la vía. La
frecuencia de la excitación (f) está
relacionada con la amplitud de onda de
los defectos de la vía ( ) mediante la
relación , donde es la velocidad de avance del vehiculo.
Figura 1. Receptacia vehículo-vía
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
7
La receptancia muestra frecuencias de resonancia (máximos relativos) y
de antiresonancia (mínimos relativos). Excitaciones debidas a los defectos en
frecuencias de resonancia o antiresonancia dan lugar a marcha peligrosa o
inconfortable. En el caso de las resonancias, por las altas amplitudes de
vibración se producen en el caso de antiresonancias, por los altos niveles de
fuerzas de contacto dinámicas (osicilaciones de la fuerza de contacto con
respecto a los valores estáticos) que aparecen. Las oscilaciones del vehículo
pueden a su vez aumentar la amplitud de los defectos en un fenómeno
retroalimentado, no del todo comprendido, que se da lugar a la corrugación de
carriles.
A continuación se mencionan algunos defectos del proceso de
auscultación de los carriles o de evaluación de los defecto y posibles mejoras
que se podría realizar utilizando dinámica computacional.
En el proceso de auscultación de vías con vehículos laboratorio
no se puede medir la fuerza de contacto rueda carril. Se usan en
algunos casos ejes dinamométricos, pero su uso no es extendido
y la medida de fuerzas son sólo válidas por debajo de la
frecuencia natural del eje.
Los límites permitidos para los defectos geométricos tienen muy
poco en cuenta la amplitud de onda de los defectos.
Los límites permitidos para los defectos geométricos no tienen en
cuenta la receptancia de los vehículos que pueden circular por
dicha vía.
La receptancia del vehículo laboratorio no tiene que coincidir con
la d otros vehículos comerciales que viajen por la misma vía. Por
tanto el vehículo laboratorio puede mostrar un comportamiento
dinámico normal mientras que otro vehículo con otras
características puede mostrar un marcha peligrosa o inconfortable
sin que sea detectado por el proceso de auscultación.
El proyecto propone el uso de la simulación computacional junto con
medidas de irregularidad obtenidas mediante auscultación para la validación de
nuevos diseños de vehículos ferroviarios.
En la actualidad el campo de la instrumentación en Ingeniería Mecánica
está experimentando un gran avance por el tremendo descenso de precio de
los sensores y el auge de los MEMS (micro-electro-mechanical systems). El
proyecto se basa en la utilización del filtrado de Kalman, el cual aporta la
tecnología necesaria para obtener el estado de un sistema a partir de un
conjunto incompleto de medidas experimentales. En este sentido algunos
estudios [2] han conseguido la monitorización continua de vehículos
ferroviarios basado en la simulación dinámica. Utilizando el filtrado de Kalman
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
8
consiguen evaluar en tiempo real una estimación del perfil de la rueda y el carril
y del coeficiente de fricción entre ambas superficies para detectar zonas de
baja adhesión donde son necesarias largas distancias para la freanada.
Por otro lado también pretende servirse de estudios como el de Smith y
Wu [3] que proponen combinar medidas de desplazamiento, precisas para baja
frecuencia, y aceleración, precisas para alta frecuencia, para obtener datos de
desplazamiento de alta precisión utilizando filtrado de Kalman multicanal.
Por otro lado ya se han realizado estudios que llevan a cabo
simulaciones en tiempo real realizada de forma on-line como sistema de apoyo
a la auscultación geométrica Bonaventura et al. [4]. Su sistema puede realizar
simulaciones del comportamiento de 80 vehículos en paralelo con l proceso de
auscultación utilizado como input el resultado de la auscultación geométrica.
Con esto se consigue un sistema inteligente que permite detectar zonas de
riesgo para el ferrocarril. Los modelos de simulación que se muestran en este
trabajo son lineales y muy simplificados, pudiéndose utilizar modelos más
avanzados que permitan la simulación en tiempo real.
2.3. OBJETIVOS DEL PROYECTO DE EXCELENCIA
El proyecto pretende desarrollar técnicas basadas en la simulación
dinámica que mejoren el proceso de auscultación de vías que realizan las
administraciones de infraestructuras ferroviarias. Concretamente, las nuevas
técnicas consistirían en:
1. Utilización de la simulación en tiempo real de las ecuaciones del
vehículo auscultador para obtener información completa y fiable de la
respuesta dinámica del vehículo. Con esto se podrán obtener de
forma indirecta parámetros fundamentales del comportamiento del
vehículo como las fuerzas rueda-carril en cualquier eje.
2. Simulación en tiempo real durante el proceso de auscultación de la
respuesta dinámica de vehículos distintos, del auscultador utilizando
como input los resultados de la auscultación geométrica.
3. Desarrollo de una metodología de cálculo de receptancias de
distintos vehículos ferroviarios que permitan identificar resonancias y
antiresonancias para mejor la labor de mantenimiento de vías
ferroviarías.
Las mejoras que introducen estas técnicas en el proceso de
auscultación de vías se resumen como sigue:
1. Una mejor estimación de las amplitudes admisibles en cada longitud
de onda de la irregularidad de la vía teniendo en cuenta la respuesta
dinámica de los distintos vehículos que pueden circular por ella.
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
9
2. Cálculo indirecto de fuerzas de contacto rueda carril sin utilizar ejes
dinanométricos.
3. Estimación en tiempo real durante el proceso de auscultación de la
respuesta dinámica de vehículos distintos del auscultador.
3. Fundamento teórico
El problema del rover se planteará como un sistema de dos grados de
libertad (desplazamiento vertical y giro), al cual se le imponen un
desplazamiento en la base asociado al perfil de la superficie que recorre el
rover. Los datos que podemos obtener del sistema son la aceleración vertical y
la velocidad angular, y debemos plantear las ecuaciones que proporcionen la
función de transferencia entre estos parámetros y el desplazamiento vertical.
Para realizar el modelado del problema es fundamental que la velocidad
del coche sea constante, para así relacionar el desplazamiento vertical de la
base con el perfil de la superficie.
Figura 2 Planteamiento del problema
Objetivo: Se pretende calcular el perfil de un terreno, al que
denominaremos ( ).
Datos:
- ( ) Medida acelerómetro
- ( ) Medida del giróscopo
Tomamos como hipótesis:
- = cte
- Neumáticos rígidos. Vehículo sin suspensión
Ecuaciones:
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
10
( ) ( )
( )
( ( ) ( ) ( )
Aceleración:
⏟
( )
( ( ) ( )) ( )
Velocidad angular:
( )
( ( ) ( )) ( )
Aceleración:
Suponemos: ( ) (
)
(Distribución senoidal de irregularidades)
( ⁄ )
( ) ( )
( )
( ( ) ( ))
( ( ))
( )( )
( )
⏟ ( )
( )
( ) ( )
( )
( )
( )
| ( )|
√
√
√
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
11
| | ( )
( ) | ( )|
Estas serían las frecuencias espaciales que inducirían los modos de
vibración del coche.
Velocidad angular
( )
( ( ))
( )
( )
⏟ ( )
( )
Figura 3 R1
Figura 4 Función de transferencia T1
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
12
( )
[ ]⏟
( )
( )
[ ]
[ ]
[ ( )]
| ( )|
√
√
√
| ( )|
( ) | ( )|
Representación de la función de transferencia según lo calculado
anteriormente.
Cálculo de la ( ) mediante la transformada de Fourier
( ) [ ( )] ( ) [ ( )] ( ) [ ( )]
Figura 5 R2
Figura 6 Función de transferencia T2
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
13
( ) ( ) ( ) ( ) ( ) ( )
A partir de ( ) acelerómetro:
( ) ⁄
→ ( ) → ( )
( )⁄
→ ( ) → ( )
A partir de ( ) giróscopo:
( ) ⁄
→ ( ) → ( )
( )⁄
→ ( ) → ( )
Fusión de sensores:
( ) ( ) ( ) ( ) ( ) ( ) [ ( )]
Donde
( ) ( )
( )
( ) ( )
( )
( ) ( )
} ( )
Las funciones de ponderación dependerán de las características del
sistema, dependiendo de éstas de la misma forma en que lo haría un sistema
de 2 gdl de la rigidez y la masa.
Características de estas funciones de ponderación:
| ( )| | ( )|
| ( )| {
| ( )| {
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
14
4. Componentes
4.1. Mbed LCP1768
Los dispositivos mbed son unos uno microcontroladores ARM (Advanced
RISC (Reduced Instruction Set Computer) Machine) diseñados para realizar
tareas de programación rápida.
El microcontrolador mbed NXP LPC1768 está especialmente diseñado para
modelar todo tipo de dispositivos, especialmente aquellos que incluyen
Ethernet, USB, para controlar una gran cantidad de sistemas de comunicación
periféricos, y sistemas de memoría FLASH. Se encuentra encapsulado en
forma DIP (Dual in-line), con perforaciones en la placa PCB, e incluye un puerto
USB que permite programar el microprocesador. (mbed.org)
Figura 7 mbed
Figura 8 Esquema conexiones mbed
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
15
El microprocesador está formado por un procesador tipo 32-bit ARM Cortex-
M3 que funciona a 96 MHz. También incluye una memoria FLASH de 512 KB
de capacidad, 32 KB RAM y varios sistemas de comunicación como Ehternet,
puerto USB, CAN, SPIm I2C, ADC DAC PWM y pines I/O. El esquema de pines
es el siguiente:
En este esquema podemos apreciar la posición normal de los pinos. Es
necesario tener en cuenta que los pines numerados entre (p5-p30) pueden ser
usados también como pines DigitalIn y DigitalOut.
El microprocesador mBed tiene una alta capacidad de procesamiento, con
lo que su uso en el coche resulta ideal, dado el alto número de dispositivos que
se han de controlar (Xbee, puerto H, encoders, acelerómetro y Jack USB)
4.2. Arduino Fio
Figura 9 Arduino Fio. Se aprecia a la derecha la radio Xbee
El Arduino Fio está diseñado para aplicaciones inalámbricas. Por esta razón
incluye un zócalo especialmente adaptado para incorporar un dispositivo de
radiotransmisión Xbee. En el caso del Arduino UNO es necesario incluir un
Shield adaptador, con el consecuente consumo de espacio y de energía.
Es una placa para microcntrolador que incorpora como componente
principal el microprocesador ATmega328P. Funciona a 3.3V y 8 MHz.
Incorpora 14 pines I/O de carácter digital y 8 entradas analógicas. La tabla que
resime sus propiedades es la siguiente:
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
16
Microcontrolador ATmega328P
Voltaje de operación 3.3 V
Voltaje de entrada 3.35 – 12 V
Pines digitales 14 (6 de ellos proporcionan salida PWM)
Pines analógicos 8
Corriente DC por I/O pin 40 mA
Memoria Flash 32 KB
SRAM 2 KB
EEPROM 1 KB
Clock Speed 8 MHz
Como sistema de alimentación puede funcionar con baterías de polímero de
Litio ya que incluye las conexiones pertinentes o bien alimentado mediante una
conexión mini USB, la cual a diferencia de la mBed no puede ser utilizada para
programar el microprocesador. También puede ser alimentado mediante un
conector FTDI. Para programarlo es necesario usar un adaptador FTDI.
Cada uno de los 14 pines digitales en la Fio pueden ser usados como un
input o output, usando las siguientes funciones: pinMode(), digitalWrite() y
digitalRead(). Estos pines operarán a 3.3 V, y pueden suministrar o recibir una
corriente máxima de 40 mA.
La siguiente figura incorpora una descripción de los distintos pines del
Arduino Fio
Figura 10 Descripción detallada de la placa del Arduino Fio
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
17
El arduino fio será utilizado como el microprocesador encargado de
controlar el mando a distancia, con lo que su pequeño tamaño facilita un diseño
más compacto.
4.3. Módulos Xbee
XBee es el nombre que reciben una serie de dispositivos de radio
fabricados por Digi International. Estos módulos son una forma relativamente
sencilla de operar inalámbricamente. Proporcionan dos tipos de comunicación:
Transmisión serial transparente (modo AT) y el modo API que se usa en
diseños avanzados. El modo a AT se utiliza para arquitectura de redes punto a
punto, mientras que el modo API se utiliza para comunicación punto a multi
punto o en una red mesh. (digi.com)
Existen 2 series de estos módulos. La serie 1 y la serie 2 o también
conocida como 2.5. Los módulos de la Serie 1 y la Serie 2 tienen el mismo pin-
out, sin embargo, NO son compatibles entre sí ya que utilizan distintos chipset
y trabajan con protocolos diferentes.
La serie 1 está basada en el chipset Freescale y está pensado para ser
utilizado en redes punto a punto y punto a multipunto. Los módulos de la serie
2 están basados en el chipset de Ember y están diseñados para ser utilizados
en aplicaciones que requieren repetidores o una red mesh. Ambos módulos
pueden ser utilizados en los modos AT y API. En nuestro caso usando el modo
AT podremos poner en funcionamiento el rover.
Figura 11 Distintas roles de los Xbee
Según el modelo de radio Xbee, el radio de acción de estos puede ir entre
100 m hasta 1 km, para nuestra aplicación un radio de acción de 100 m resulta
suficiente. Por este motivo se ha elegido la radio Xbee S2 con antena. La tabla
de características del dispositivo es la siguiente
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
18
Ratio máximo de información 250 kbps
Banda de frecuencia 2.4 GHz
Potencia de transmisión 2 mW output
Antena Incorporada
Pines digitales I/O 8
Entradas ADC 10-bit
Alcance (Espacio abierto) 130 m
A continuación se muestra un esquema de los pines que forma una Xbee
S2, modelo utilizado en el proyecto, para su conexión con la placa mbed solo
serán utilizados los pines Serial (Data in y Data Out) y los de pines de
alimentación (GND y VCC)
Figura 12 Esquema conexiones xbee
El protocolo de comunicación usado por las radios Xbee es el IEEE
802.14.5. Es alimentada a 3.3V y el espaciamiento entre pines es menor (2
mm), por este motivo para la Xbee asociada a la mbed, será necesario el uso
de una placa adaptadora. También será necesario utilizar un adaptador, con
conexión USB para poder configurar las radios.
Figura 14 Adaptador Xbee-USB
Figura 13 Adaptador Xbee pines
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
19
4.3.1. Configuración de las radios Xbee
La configuración de la radios se llevo a cabo mediante el programa X-CTU,
facilitado por Digi International.
El primer paso necesario para programar las radios, es proceder a su
identificación:
1. Accedemos a la pestaña PC Settings.
2. Seleccionamos el puerto USB al cual se encuentra conectado el
adaptador que porta la radio Xbee.
3. Se pulsa el botón Test/Query.
Nota: en ciertas ocasiones este procedimiento no es funciona, y se hace
necesario re intentarlo, pero realizando un contacto momentáneo entre
el pin Reset y el GND.
Figura 15 Configuración Xbee Rover
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
20
De realizar este proceso se obtuvo que nuestras radios eran de dos
modelos distintos, XB-24B y XB-24ZB, siendo el último modelo algo más
moderno. El problema se soluciono configurando el modelo XB-24B como un
modelo XB-24ZB. El modelo XB-24B se conectó en mando radiocontrol y el
modelo XB-24ZB se fue conectado en el rover. A continuación se muestra la
interfaz del programa X-CTU y la configuración que se dio a cada radio.
Los valores que se tomaron fueron los asociados por defecto a la
función, End Device AT o Coordinator AT.
Figura 16 Configuración Xbee Radiocontrol
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
21
4.4. Puente H
Un puente H es un circuito electrónico que permite a un motor eléctrico DC
girar en ambos sentidos, avance y retroceso. En nuestro caso el puente H lo
formaba un circuito integrado. Para controlar el puente H se utilizo un software
disponible en la página de mbed que toma como referencia de velocidad
valores normalizados entre -1 y 1. Lo que quiere decir esto es que el puente H
dejará pasar al motor el 100 % de la carga de las baterías, si el valor de esta
velocidad es -1 ó 1, diferenciándose en cada caso el sentido de la corriente a la
hora de atravesar el motor.
Figura 17 Puente H similar al usado
4.5. Motores
Los motores utilizados son motores de corriente continua y engranajes
metálicos. El fabricante es Pololu, se eligieron por incluir un enconder de efecto
Hall de canal doble. Las características técnicas del motor son las siguientes:
Tamaño 37D x 64L mm
Peso 213 g
Diámetro del eje 6 mm
Reducción 30:1
Velocidad eje libre (6 V) 175 rpm
Velocidad eje libre (12V) 350 rpm
Par en el eje (6 V) 4 kg cm
Par en el eje (6 V) 8 kg cm
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
22
Figura 18 Motor usado con la rueda acoplada
El encoder funciona por el efecto Hall y esta formado por dos canales. El
encoder esta diseñado para la sentir la rotación de un disco magnético solidario
al eje del motor. El encoder nos proporciona una resolución de 64 pasos por
revolución del eje del motor cuando contamos ambos canales. En nuestro caso
solo utilizaremos un canal, con lo que contaríamos con 32 pasos. Dado que la
relación de reducción del motor es 29:1, el número de pasos por cada
revolución en la rueda es de 928.
A continuación se muestra cuales son las conexiones del motor, en función
del color del cable:
Rojo Alimentación del motor (conectado al terminal de un motor)
Negro Alimentación del motor (conectado al otro terminal del motor)
Verde GND encoder
Azul Encoder Vcc (3.5 – 20 V)
Amarillo Encoder Salida canal A
Blanco Encoder Salida canal B
La tensión de salida del encoder será algo inferior a la alimentación, con
lo que no se puede alimentar a tensiones altas en primer lugar, porque el pin
I/O no interpretará la señal, y en segundo lugar puede dañar el
microprocesador.
Figura 19 Vista del encoder del motor
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
23
4.6. Accesorios
A la hora de realizar el montaje fue necesario utilizar varios accesorios
suministrados por Pololu:
- Ruedas de 9 cm: Las ruedas fueron elegidas de este tamaño porque
nos permitiría alcanzar velocidades máximas de 1.65 m/s , aunque
posteriormente bajo carga esta velocidad quedo reducida a 1.4 m/s.
Esta velocidad se consideró más que suficiente para que el coche
registrase la excitación necesaria por parte del relieve de la
superficie. Las ruedas utilizadas son muy similares a las mostradas
anteriormente.
- Adaptador para ejes de 6 mm: Fue necesario para acoplar la rueda
con el eje.
- Soporte para motores 37 D mm: Fue necesario utilizar soportes para
unir de forma segura el motor al chasis del rover.
4.7. Chasis
El chasis utilizado fue es bastante similar
al mostrado en la imagen, en un principio este
chasis estaba pensado para portar motores con
engranajes de plástico, pero la baja velocidad de
éstos y la imprecisión a la que estaban sujetos a
la hora de medir su velocidad, provocó su
sustitución por parte de los motores
anteriormente citados. Se decidió aprovechar el
chasis, al ser de una aleación de aluminio, ligera
y resistente. Para que los motores cupiesen fue
necesario invertir la posición natural del chasis.
Figura 20 Adaptadores eje Figura 21 Soportes de motor
Figura 22 Chasis Rover
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
24
4.8. Pantalla LCD
La pantalla utilizada fue una pantalla Nokia
LCD 5110. La pantalla tienen unas dimensiones
de 4.5 cm x 4.5 cm. Y una resolución de 84 x 48
píxeles, la comunicación entre el Arduino y la
pantalla LCD es de tipo SPI, por lo que se
controla con muy pocos pines. Para representar
textos hicimos uso de la librería desarrollada por
Adafruit.
4.9. Joystick
El joystick funciona gracias a dos (uno
para cada eje) potenciómetros que en función del
ángulo girado por el vástago cambiarán su
tensión de salida. La alimentación es de 3.3 V.
Para una posición neutra la tensión de salida será
1.15 V, pasando a ser 0 ó 3.3 V cuando se
mueve el vástago. También incorpora que un
pulsador que fue utilizado como orden de parada.
La señal del joystick debe ser conectada a los
pines analógicos del microprocesador.
4.10. Puerto USB
Si se quisiese almacenar un recorrido
largo, la capacidad de almacenamiento del
microporcesador podría resultar ser insuficiente.
Por este motivo se optó por incorporar un puerto
USB y así poder conectar cualquier tipo de
dispositivo de almacenamiento masivo,
eliminando así el problema del almacenamiento
de datos.
Figura 23 Pantalla LCD
Figura 24 Joystick
Figura 25 USB Jack
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
25
4.11. Fuentes de alimentación
Las fuentes de alimentación fueron pilas
alcalinas AA de 1.5 V, para el caso del mando radio
control, y baterías LiPo de 3.7 V, para alimentar el
coche (motores y mbed). En ambos casos se
dispusieron tres celdas en serie.
Las abreviatura LiPo hace referencia a
polímero Ion-Litio. Se componen generalmente de
varias células secundarias para aumentar la
capacidad de la corriente de descarga. Una
precaución importante a la hora de utilizar baterías
LiPo es el evitar que se produzca un cortocircuito,
dado que este puede llevar a la explosión de las
baterías Tal y como fueron adquiridas fue necesario
realizar una conexión manual de las tres celdas en
serie, cada vez que hubieron de ser recargadas. Para
recargarlas se usaron tanto cargadores USB como
cargadores alimentados por corriente doméstica
5. Montaje
5.1. Conexiones Radio Control
Las conexiones del radio control se hicieron siguiendo el siguiente
esquema.
Figura 26 Bateria LiPo y cargador USB
Figura 27 Cargador toma doméstica
Figura 28 Esquema conexiones radiocontrol
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
26
- Alimentación:
Microprocesador Arduino: es alimentado por una fuente de
4.5 V formada por tres pilas AA de 1.5 V dispuestas en serie.
Joystick y pantalla LCD: El microprocesador a su vez
usando la salida de tensión de 3.3 V alimenta tanto la pantalla
como el joystick a su tensión nominal.
- Conexiones:
Joystick:
o 2 Conexiones al microprocesador arduino: El joystick ha
de ser conectado a dos pines analógicos del
microporcesador.
o 2 Conexiones de alimentación a 3.3 V
Pantalla LCD
o 5 Conexiones al microprocesador arduino: Las
conexiones se realizan a pines digitales, sin importar el
tipo. Cada una de las conexiones tiene la siguiente
función:
SCE: LCD chip select
RESET: LCD reset
DC: Data/Command select
DIN: Serial data out
SCLK: Serial clock out
o 2 Conexiones de alimentación a 3.3V.
Cabe mencionar que se incluyo en el sistema un interruptor para un
manejo sencillo y seguro.
Con los prototipos se trabajo sobre usando una placa de pruebas, y
posteriormente una vez se diseño una configuración funcional, se utilizaron
placas perforadas para construir un diseño vistoso quedando de la siguiente
forma:
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
27
Figura 29 Vista superior del radiocontrol
Figura 30 Vista en perspectiva del radiocontrol
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
28
Figura 31 Vista del posterior de los circuitos del radiocontrol
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
29
5.2. Conexiones Rover
Las conexiones del rover se hicieron siguiendo el siguiente esquema
Los puntos a destacar del circuito son los siguientes:
- Alimentación:
Microprocesador y motores: Como se comentó cuando se
expusieron los motores utilizados, la máxima tensión de
funcionamiento de éstos es 12 V. Dado que la tensión máxima
admisible de alimentación de la mbed es de 14 V, se decidió
alimentar motores y mbed mediante la misma fuente. Para
alimentarlo se hizo uso de baterías de polímero Ion-Litio, con
una capacidad de 3.7 V cada una. Estas baterías pueden ser
cargadas hasta los 4 V, y conectando 3 en serie, tenemos una
tensión de funcionamiento de unos 11-12V, lo cual está dentro
de los límites recomendados.
Encoders, Xbee y acelerómetro: La placa mbed tiende dos
salidas de tensión regulada, una a 5 V y otra a 3.3 V, la salida
a 5 V solo es operativa si la alimentación procede de una
conexión USB. Se usa por lo tanto la Vout de 3.3 V, para
alimentar el resto de componentes. Además la tensión de
Figura 21 Esquema de las conexiones en el rover
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
30
operación de la Xbee y el acelerómetro es 3.3 V, siendo muy
susceptibles a sufrir daños cuando se les somete a cargas
mayores.
- Conexiones:
Puente H:
o 6 Conexiones a la mbed (entrada de información): La
conexión se realiza a pines digitales I/O. Cada motor
está vinculado a 3 de estas conexiones, dos para
indicar el sentido de la marcha (IN), y otra para indicar
la cantidad de tensión que ha de dejar pasar a los
motores (EN).
o 4 Conexiones a los motores (salida de información):
Cada conexión implica un sentido en la marcha (2 por
cada uno).
o 2 Conexiones correspondientes a la alimentación a
12V.
Encoder:
o 2 Conexiones a la mbed por cada encoder: La conexión
se realiza a pines digitales I/O. Cada conexión indica el
estado de uno de los dos canales, para permitir el
conteo de los pasos.
o 2 Conexiones de alimentación a 3.3 V.
Acelerómetros:
o 2 Conexiones a la mbed: La conexión se realiza a pines
digitales con comunicación I2C (SDA y SCL) que en la
mbed se encuentran en los pines 9 y 10 ó en los pines
27 y 28. En nuestro caso se realizo sobre los pines 28 y
27.
o 2 Conexiones de alimentación a 3.3 V.
Xbee:
o 2 Conexiones a la mbed: La conexión se realizón a uno
de los tres puertos de comunicación TX/RX de la mbed,
en nuestro caso al que contienen los pines 9 y 10.
o 2 Conexiones de alimentación a 3.3v.
Puerto USB:
o 2 Conexiones a la mbed: El puerto USB debe ir
conectado a los pines D+ y D- del microprocesador.
o 2 Conexiones de alimentación a 5V: Durante el tiempo
de operación del coche, la salida de tensión a 5V no se
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
31
encuentra operativa, al no encontrarse éste conectado
mediante USB. Por lo tanto, fue necesario usar un
regulador de tensión que convirtiese la tensión de la
alimentación de las baterías. Se uso un regulador 7805.
Al igual que para el radio control una vez superada la fase de diseño del
circuito se procedió a plasmar la configuración en una placa impresa para
mejorar su presentación.
Figura 33 Vista superior del rover
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
32
El circuito que fue soldado en la parte posterior de la placa perforada fue
el siguiente:
Figura 34 Vista posterior de la placa perforada del rover
5.3. Montaje final
En un primer momento el rover fue pensado como un vehículo de cuatro
ruedas, pero al ser estas fijas el giro provocaría el deslizamiento de éste, con lo
que no podría describir su trayectoria. Por esta razón se decidió acoplar una
rueda trasera en la parte del rover que girase libremente, con lo que se evitaría
el deslizamiento del vehículo. Para llevarla a cabo se realizó una estructura
artesana con restos de carpintería, y una rueda similar a la de los carritos de
los supermercados.
Como ya se ha mencionado los circuitos se soldaron a una placa
perforada, una vez finalizada la etapa de diseño. Las placas perforadas a su
vez se unieron a un contrachapado dejando un espacio intermedio de 1 cm
aproximadamente entre la placa y el contrachapado, en el caso del rover, y
aproximadamente unos 2 cm en el caso del radiocontrol.
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
33
Para el radicontrol este espacio sirvió para alojar las pilas AA que lo
alimentan, las cuales están contenidas en un soporte diseñando para
conectarlas en serie. Por otro lado esta configuración nos permitió dar solidez
al radio control.
En el caso del chasis separar el circuito del chasis resulta importante
para evitar contactos y daños de los circuitos y las soldaduras, el espacio de 1
cm es suficiente para cumplir este objetivo. El contrachapado fue
posteriormente atornillado al chasis mediante unas hendiduras existentes en
éste.
Las baterías LiPo que alimentan los motores y el microprocesador se
adhirieron de forma segura a uno de los laterales del coche, teniendo
precaución a la hora de realizar las conexiones de forma que no se produzcan
contactos.
Figura 35 Vista conjunta del rover y el radiocontrol
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
34
Figura 36 Vista izquierda rover
Figura 37 Vista derecha rover
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
35
6. Código del Radiocontrol
6.1. Compilador arduino
El entorno de Desarrollo Arduino está constituido por un editor de texto, un área de mensajes, la consola de texto, una barra de herramientas con las funciones comunes y una serie de menús. Permite la conexión con el hardware Arduino para cargar los programas y comunicarse con ellos. El puerto serie y el modelo de placa a utilizar se pueden especificar en uno de los menús. Cada programa creado es denominado “sketch” y el propio entorno de
desarrollo provee un comprobador de errores, compilador y volcado del texto
creado en la placa. Como en cualquier otro entorno de desarrollo, se proveen
librerías y ejemplos ya creados. Éstos últimos están en las definidas “librerías
de sketches”. Además, en el programa se dispone de un Monitor Serie que
muestra los datos enviados desde la placa Arduino y simplifica el trabajo. El
lenguaje de programación empleado es C/C++ con excepciones (Arduino,
2005-2013).
Figura 38 Vista del compilador Arduino
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
36
6.2. Flujo de información
6.2.1. Flujo de información entrante
El programa implementado en Arduino se basa en la información que obtiene
de dos canales:
- La señal analógica proveniente del Joystick.
- La señal de radio obtenida a través de los dispositivos Xbee.
Dicho esto, la información prioritario en el desarrollo del programa es la
obtenida a través del Joystick, dado que el programa actúa en consecuencia a
esta, sin embargo con la información recibida a través de los Xbee se limita a
realizar su impresión por pantalla.
6.2.2. Flujo de información saliente
La información saliente son las órdenes que se envían desde el radio
control hasta el rover vía xbee. Estas órdenes, pueden ser giros, paradas o
velocidades de referencia. Es importante tener en cuenta que las radios xbee,
solo pueden transmitir valores enteros, y flotantes
6.3. Funcionamiento del mando radio control
6.3.1. Joystick
Por lo tanto procedemos a comentar forma básica el funcionamiento del
Joystick, cuales son las tareas que se pueden llevar a cabo.
- Desplazamiento: El desplazamiento que realiza el rover es
únicamente hacia delante, dado que su configuración, con la rueda
trasera con rotación permitida impide la implementación de una
marcha atrás.
- Aceleración y deceleración: Los cambios de velocidad se pueden
llevar a cabo de dos formas distintas.
Paso a paso: Si se empuja el joystick hacia delante o hacia
atrás e inmediatamente después se suelta, la velocidad de
referencia aumenta o disminuye en 0.05 m/s.
Salto de velocidad: Si se mantiene el joystick en posición de
aceleración o deceleración la velocidad de referencia
comienza a disminuir a razón de 0.2 m/s/s.
- Giro: Una de las limitaciones del rover se encuentra precisamente en
este punto. En fases de prediseño se ideo un sistema que detectase
el grado de desplazamiento lateral del joystick. Pero la inestabilidad
de la señal analógica impedía definir rangos claros, y por otro lado la
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
37
naturaleza de la comunicación hacia muy difícil transmitir la
información requerida de forma eficiente.
Finalmente se optó por un sistema extremadamente sencillo, que se
limitaba a mandar la orden de giro, a la derecha o a la izquierda, y
dejaba al programa del rover la “decisión” de cual debía de ser la
magnitud de ese giro.
Esta orden de giro, al igual que la de aceleración y deceleración, se
basa en que una vez el joystick se desplaza lateralmente se envía la
orden de giro. Pero en este caso, la permanencia del joystick fuera
de la posición neutra no tiene ningún efecto.
- Parada: Para implementar un sistema de parada se decidió utilizar el
pulsador que incorporaba el joystick. Si se pulsa una sola vez el rover
se detendrá.
Si una vez detenido el rover, se vuelve a pulsar el botón de parada, el
microprocesador mbed ejecutará el protocolo de cierre de sus
programas, y la información estará lista para ser extraida.
6.3.2. Protocolo de comunicación
Se consideró que había diferentes grados de prioridad a la hora de
transmitir información. Por ejemplo, el hecho de que no reciba información
sobre una aceleración o deceleración no es tan prioritario como que reciba una
orden de parada. Por lo que el software se diseño de forma que la información
respectiva a aceleraciones y giros, se enviaría solo una vez sin reiteración (no
tenemos en cuenta la programación interna de las radios). Sin embargo, en el
caso de una orden de parada, el radiocontrol quedará bloqueado, enviando de
forma periódica la orden de parada, hasta que no reciba confirmación por parte
del rover de que se ha producido la parada.
6.3.3. Pantalla
El programa está diseñado para mostrar por pantalla el siguiente
mensaje:
Velocidad: 1.30
Vel. real: 1.31
Con ‘velocidad’ hace referencia a la velocidad de referencia ordenada
por el joystick, y con ‘vel. real’ a la velocidad real del rover, obtenida por los
encoders, y transmitida via xbee.
Cuando se produzca un salto de velocidad este menú desaparecerá y s
mostrará en tiempo real, como el valor de la velocidad de referencia va
cambiando.
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
38
A parte de lo dicho, la pantalla también mostrará otros mensajes, cuando
se estén realizando tareas de transmisión de datos. Por ejemplo para el caso
de un giro a la derecha aparecerá:
Velocidad: 1.30
Vel. real: 1.31 Trans. Giro D
Para el caso de un giro a la izquierda, el mensaje que aparece será ‘Trans. Giro I’; si se produce un cambio de velocidad el mensaje será ‘Transmitiendo’; y para el caso de parada temporal y definitiva, el mensaje será ‘Parada’ y ‘Cerrando’, respectivamente.
6.3.4. Consideraciones importantes a la hora de utilizar
A la hora de manejar el radiocontrol hay que tener en cuenta dos consideraciones:
- La comunicación entre el rover y el radiocontrol es muy susceptible a
la saturación, por lo que al manejar el coche, no se pueden realizar
muchas maniobras en un espacio de tiempo corto. Siendo
recomendable esperar 1 ó 2 segundos entre cada orden.
- Una vez se ordene una parada, el coche parara rápidamente, pero el
radiocontrol tardará un tiempo considerable en volver a estar
operativo. Esto se debe a que en este momento la transmisión de
información entre las dos radios es bidireccional, lo cual ralentiza de
forma considerable la comunicación.
Dicho esto, en las siguientes páginas se procede a exponer el código
que fue implementado en el radiocontrol.
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
39
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
40
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
41
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
42
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
43
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
44
7. Código del rover
7.1. Compilador mbed
El compilador mbed nos provee de un IDE (entorno de desarrollo
integrado) online, que usa lenguaje C/C++, y cuyo uso resulta sencillo. Este
compilador está configurado para permitir la rápida escritura de programas, su
compilación y descarga para ser ejecutados por el microcontrolador mbed. Esta
herramienta no necesita instalación o actualizaciones de ningún tipo para ser
ejecutada por la mbed. Esta aplicación web tiene la ventaja de permitir la
identificación del usuario desde cualquier lugar y modificar los programas en
desde el punto en el que estaban durante la última sesión. (mbed.org)
Figura 39 Vista compilador on-line mbed
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
45
7.2. Flujo de información
Información entrante: La información entrante a la mbed se debe al
dispositivo xbee, a los encoder y al acelerómetro.
- Xbee: La información entrante vía xbee son las órdenes que el
radiocontrol envía al rover. En función de esta información el
microprocesador del rover actúa sobre los motores.
- Encoder: La información proveniente de los encoders nos permite
obtener la velocidad real del coche, en función de la cual, y de la
velocidad de referencia obtenida vía xbee, el microprocesador actúa
sobre los motores.
- Acelerómetros: Obtienen las aceleraciones que posteriormente nos
permitirían estimar el perfil de la superficie recorrida.
Información saliente: La información saliente de la mbed va dirigida a los
motores y al transmisor de radio.
- Motores: La información que se envía a los motores es la respuesta
del microcontrolador para mantener la velocidad de referencia.
- Xbee: La información saliente de la mbed al radiotransmisor es el
dato de la velocidad real del coche, que se mostrará por la pantalla
LCD del radiocontrol.
7.3. Funcionamiento del software del rover
El software implementado en el rover consta de un bucle que va
repitiendo las siguientes funciones, hasta que recibe por parte del control
remoto la orden que le permite salir del bucle.
7.3.1. Obtención de la información
La información obtenida vía xbee es un número entero (estos
dispositivos no pueden transmitir flotantes), que puede tomar del valor 0 al
valor 255, según la programación que se ha tomado en las radios. La función
que se encarga de recibir e interpretar esta información es ‘LeeXbee’. La
información entrante puede ser una velocidad de referencia, una orden de giro,
una orden de parada o una orden de cierre. Los valores asociados a cada
orden son:
Giro: Valor entero 3 y 4, giro derecha y izquierda
respectivamente.
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
46
Parada: 1, detiene el vehículo.
Cierre: 2, permite salir del bucle principal del programa.
Cambio de velocidad: Cualquier dato distinto a los anteriores
será tomado como la velocidad de referencia que debe
alcanzar el rover. Estos valores serán múltiplos de 5, y su
significado estricto sería la velocidad de referencia del rover en
cm/s. El programa utiliza m/s, así que se transforma el entero
en un flotante, dividiendo el entero entre 100.
7.3.2. Cambio de velocidad
En el caso de que la información recibida vía xbee sea una velocidad
el programa actualizará su velocidad de referencia. Esto introducirá en la
mayoría de los caso un cambio en la velocidad de referencia, salvo extraños
casos, en los que por ejemplo se haya perdido una transmisión. Cuando se
produce un cambio en la velocidad de referencia, el rover hace un esfuerzo de
control hasta actualizar su velocidad real hasta un valor que oscilará en torno a
la velocidad de referencia.
7.3.3. Giro
Cuando la orden entrante es un giro, la velocidad de referencia de uno
de los motores se reduce en un porcentaje, durante un determinado lapso de
tiempo. Por ejemplo, un giro a la derecha impone una reducción temporal de la
velocidad de referencia de esta rueda. El software implementado establece que
la reducción de velocidad ha de ser de un 25% durante un lapso de tiempo de
0.3s.
Este mecanismo de giro no aporta una gran maniobrabilidad al rover.
Aunque se intentó implementar un mecanismo de giro que permitiese una
mayor maniobrabilidad, la falta de conocimiento de los protocolos internos de
comunicación de los dispositivos de radio, hizo que ésta fuese una tarea
demasiado ardua, en comparación con los beneficios que aportaría.
Aún así la maniobrabilidad aportada, resulta suficientemente útil para
la actividad de auscultar que se pretende con el rover, dado que nos permite
mantener una trayectoria rectilínea.
7.3.4. Medición de velocidad
La medición de la velocidad es uno de los aspectos más importantes
durante el funcionamiento del rover. En primer una medición precisa de la
velocidad nos permite resolver las ecuaciones, a partir de las que se obtiene el
perfil del terreno. En segundo lugar la medición de velocidad es necesaria para
permitir un control adecuado del rover.
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
47
La velocidad del rover es obtenida a partir de la información
proveniente de los encoders. La función a partir de la que se obtiene la
velocidad del encoder es ‘LeeEncodersRight’ y ‘LeeEncodersLeft’, para el
derecho y el izquierdo respectivamente. Y éstas se ejecutan cada 0.1 s,
frecuencia también de ejecución del controlador de PID.
Una vez se ejecutan estas funciones, el programa se detiene a
observar la información procedente de los canales de los encoders, en el
momento en el que se produce un cambio en la señal de alguno de ellos (A o
B, recordamos que cada encoder tiene dos canales), el programa mide cuanto
tiempo pasa hasta el siguiente cambio. Una vez calculado este cambio basta
saber el número de pasos por revolución, que en nuestro caso es 928, para
obtener la velocidad angular. Dado que las ruedas tienen un radio de 9 cm,
podemos obtener fácilmente la velocidad lineal de la rueda.
7.3.5. Control de velocidad
El control de velocidad se realiza mediante una biblioteca descargada
del ‘Cookbook’ de mbed, esto es una plataforma donde los usuarios cargan sus
trabajos.
El control de velocidad trabaja utilizando la velocidad de referencia
(SetPoint) y la velocidad real del rover (ProcessValue), en función de estos
valores el PID genera una respuesta que es directamente utilizada por el
software que controla el puente H. Esta respuesta va corrigiendo la velocidad
del rover, de tal forma que permite tanto permanecer en un cierto valor de
velocidad, como afrontar cambios de ésta.
Figura 40 Seguimiento de la velocidad por el rover
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
48
A continuación se muestra un gráfico en el cual se aprecia como la
velocidad de referencia del rover va cambiando, y como gracias al trabajo de
control del PID, la velocidad real del rover se estabiliza entrono a este valor.
Los parámetros de diseño del controlador son . Estos son los
parámetros asociados a la parte proporcional, integral y derivativa del
controlador. Los cuales fueron ajustados mediante ensayo y que finalmente
fuero fijados en:
El parámetro asociado a la parte derivativa no es útil en el control de un
sistema que está sujeto a tantas inestabilidades como es un vehículo, dado que
tratará de forma infructuosa de corregirlas.
Otro parámetro que debe establecerse es denominado como RATE,
esto es el tiempo que invierte el procesador en calcular la respuesta con los
datos de entrada de que dispone. Fue fijado en 0.01 s.
Otros parámetros que deben de establecerse para el correcto
funcionamiento, son intrínsecos a las características del rover. Por ejemplo el
rango de velocidad que puede desarrollar el vehículo (0 a 1.4 m/s en nuestro
caso), y el rango de valores en la respuesta del controlador (puente H, en
nuestro caso de 0 a 1)
7.3.6. Envío de información
El envío de información tiene como objetivo transmitir la velocidad real
del coche al radiocontrol. No es una parte primordial del funcionamiento del
rover, dado que simplemente sirve para asegurar que la velocidad del coche es
la deseada, lo cual normalmente será cierto. Sin embargo, tiene un alto coste
en la fluidez del tráfico de información entre el rover y el radicontrol. Por este
motivo se restringe el envío de información, siendo necesario que pasen 6
segundos entre el último envío de velocidad como mínimo, y 6 segundos desde
que el rover recibió la última orden. De esta forma se trata de impedir que la
comunicación se sature, y así ocurre en la mayor parte de los casos. En
cualquier caso este punto es uno de los más susceptibles a futuras mejoras.
La función que lleva a cabo el envió de información es ‘ftoi’, este
nombre hace referencia a la transformación que es necesario hacer del valor
de la velocidad real de un valor flotante, a un valor entero para poder ser
transmitido vía xbee (float to int).
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
49
La función ‘ftoi’ obtiene el valor de las unidades, las décimas y las
centésimas de la velocidad flotante, y las convierte en las centenas, las
decenas y las unidades, respectivamente, de un entero. Una vez obtenido el
entero procede a enviarlo vía xbee.
7.3.7. Almacenamiento de información
Para almacenar la información se ha implementado un sistema de
buffers de memoria. El cual por ahora no resulta necesario, pero en el caso de
que se empiecen a tomar datos de aceleración con una alta frecuencia,
usando el ‘tickering’, podrían llegar a ser necesarios. Por esta razón se han
implementado en esta fase de programación.
Su uso es necesario, porque cuando se recibe información en
intervalos de tiempo cortos, hay un instante en que la memoría flash del
microprocesador deja de almacenar información. Para no perder los datos
correspondientes a ese instante, se habilitan unos buffer de memoria, a los
cuales se les asigna una cierta capacidad de almacenamiento.
El fundamento es que los datos una vez tomados se guarda en el
buffer, y posteriormente pasan a la memoria flash. La velocidad de grabación
en la memoría Flash, es mayor que la velocidad de adquisición, excepto en un
lapso de tiempo, en el que la memoria Flash pasa de un punto de
almacenamiento a otro. En este lapso, la capacidad del buffer tiene que ser
suficientemente grande como para almacenar todos los datos que se vayan
generando, hasta que la memoria Flash comience de nuevo a almacenar los
datos del buffer, y libere el espacio de este.
7.3.8. Acelerómetros
Otra parte del programa se dedica al control de los acelerómetros y
los giróscopos. Esta parte del código no ha sido desarrollada por el autor, sino
que fue implementada para garantizar la operatividad del vehículo auscultador.
Una vez garantizada la toma de datos por el acelerómetro se demostró su
funcionalidad. No vamos a entrar en el análisis de esta sección porque se
queda fuera del campo de este proyecto.
A continuación se expone el código comentado, que fue introducido
en el microprocesador del rover.
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
50
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
51
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
52
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
53
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
54
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
55
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
56
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
57
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
58
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
59
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
60
8. Costes
2 Motores 61.9 €
2 Ruedas 7.75 €
2 Soportes motores 6.00 €
2 Adaptador Ruedas 6.00 €
2 Xbee S2 32.6 €
Arduion Fio 19.4 €
Mbed LCP 1768 60.38 €
Pantalla LCD 2.83 €
Joystick 2.82 €
2 Placas perforadas 4.00 €
Puente H 15.52 €
Adaptador Xbee USB 19.38 €
Adaptador FTDI 11.60 €
Cargador LiPo 6.16 €
3 Baterías Lipo 23.25 €
Chasis No se puede determinar
El coste total aproximado es: 279 €
9. Conclusión
Finalmente a partir de unos conocimientos básicos de electrónica se consiguió
construir un vehículo teledirigido, que cumplía los requisitos necesarios para realizar las tareas
de auscultación. No obstante no obviamos que este vehículo es susceptible a diversas mejoras,
especialmente en lo que se refiere a la transmisión de la información.
Teniendo en cuenta lo dicho, el vehículo se encuentra a punto para llevar a cabo
trabajos sobre él. Quedan pendientes de futuros proyectos la realización de ensayos sobre
superficies de control, con el fin de calibrar la instrumentación, y el cálculo de las funciones de
ponderación que permitan realizar una correcta combinación de las funciones de transferencia
asociados a cada uno de los modos de vibración.
Una vez calibrado el rover, y modelado su comportamiento dinámico se podrá
proceder a auscultar diversos tipos de superficie con él.
Blas Blanco Mula PROYECTO FIN DE CARRERA. INGENIERÍA INDUSTRIAL
61
10. Bibliografía
1. Berggren, E.G, Li, M.X.D, y Spännar, J, “A new approach to the
analysis and presentation of vertical track geometry quality and
rail roughness”, Wear, 265, 1488 – 1496, 2008.
2. Charles, G, Goodall, R, Dixon, R, “Model-based condition
monitoring at the wheel-rail interface”, Vehicle System Dynamics,
46,
3. Smith, A, Wu, M, “Multi-rate Kalman filtering for the data diffusion
of displacement and acceleration response measurements in
dynamic system monitoring”, Mechanical System and Signal
Processing, 21, 706-723, 2007.
4. Bonaventura C.S, Zarembski, A.M y Palese, J.W, “Tracksafe: a
track geometry car based real-time dynamics simulator”,
Proceedings of JRC2005, Pueblo, Colorado, 2005.
5. Robert Faludi “Building Wireless Sensor Networks” O’Reilly (2011)
6. Rob Toulson, Tim Wilmshurst “Fast and Effective Embedded
Systems Design Applying the ARM mbed” Newnes (2012)
7. https://mbed.org/cookbook/PID
8. https://mbed.org/users/aberk/code/PIDRover/
9. http://playground.arduino.cc/Code/PCD8544
10. http://www.digi.com/products/wireless-wired-embedded-
solutions/zigbee-rf-modules/point-multipoint-rfmodules/xbee-
series1-module#overview
11. http://www.pololu.com/product/1443