Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

60
Titulación: Grado en Ingeniería en Tecnologías en Telecomunicación Tutores: Francisco Javier del Pino Suárez Sunil Lalchand Khemchandani Autor: Cristóbal Guedes Suárez Fecha: Julio 2.014 Sistema de Localización de Objetos Basado en Tecnología de Código Abierto de Arduino

Transcript of Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Page 1: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Titulación: Grado en Ingeniería en Tecnologías en Telecomunicación

Tutores: Francisco Javier del Pino Suárez Sunil Lalchand Khemchandani

Autor: Cristóbal Guedes SuárezFecha: Julio 2.014

Sistema de Localización de Objetos Basado en Tecnología de Código Abierto de Arduino

Page 2: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Índice

• Introducción• Objetivos• Estudio de la Tecnología Arduino• Diseño del Localizador• Programación del Localizador• Realización de Pruebas• Conclusiones y líneas futuras de

trabajo• Presupuesto

Page 3: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Introducción

Page 4: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Introducción

Page 5: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Introducción

• Sistemas de Seguridad Ineficientes• Especialización de ladrones• Dificultad para recuperar las pertenencias sustraídas

Page 6: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Introducción• Objetivos• Estudio de la Tecnología Arduino• Diseño del Localizador• Programación del Localizador• Realización de Pruebas• Conclusiones y líneas futuras de

trabajo• Presupuesto

Índice

Page 7: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Estudiar la tecnología Arduino con sus respectivas placas, shields y accesorios.

• Diseñar el localizador y programar las funciones.

• Verificar el funcionamiento a nivel individual de cada placa como en conjunto del dispositivo.

Objetivos

Page 8: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Introducción• Objetivos• Estudio de la Tecnología Arduino• Diseño del Localizador• Programación del Localizador• Realización de Pruebas• Conclusiones y líneas futuras de

trabajo• Presupuesto

Índice

Page 9: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Historia

Estudio de la Tecnología Arduino

– Nace en 2005 en Italia en el Instituto IVREA.– Recibe su nombre por el lugar donde se

reunían sus fundadores “Bar di Re Arduino”.– Creación conjunta entre profesores y alumnos.

Premisas1. Placas Económicas.2. Código Abierto.3. Rápido aprendizaje.4. Color azul de sus placas.

Page 10: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Microcontroladores

Estudio de la Tecnología Arduino

Circuito integrado de muy alta escala de integración (VLSI). Un PC en miniatura. Integra:

1. CPU.2. Memorias volátiles (RAM).3. Memorias no volátiles (ROM,

PROM, EPROM).4. Líneas de entrada y salida.5. Algunos periféricos (comunicación

serie, temporizador, convertidor A/D, etc.).

Page 11: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Microcontroladores Arduino

Estudio de la Tecnología Arduino

Arquitectura Harvard Modificada

Software RISC– Pocas instrucciones.– Facilidad aprendizaje programación.– Mayor tamaño código del programa.Micros AVR familia RISC de Atmel.

Page 12: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Tecnología Arduino

Estudio de la Tecnología Arduino

Tres componentes:– Boards ó placa base.– Shields ó módulos.– Accesorios (programación y visualización).

Board Arduino Uno Shield GPRS Libelium Accesorio Pantalla TFT

Page 13: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Tecnología Arduino

Estudio de la Tecnología Arduino

Cuenta con placas para diferentes usos.

Arduino Uno6,9×5,33cm

Arduino Nano1,85×4,32cm

Arduino Mini Pro1,8×3cm

Arduino LilypadØ5cm

Arduino RobotØ19cm

Page 14: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Herramienta Diseño (Fritzing)

Estudio de la Tecnología Arduino

Aplicación para representar nuestros proyectos.

Vista Protoboard Vista Esquema Vista PCB

Libreríade piezas

Inspectorde piezas

Page 15: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Nociones programación

Estudio de la Tecnología Arduino

El IDE de Arduino está basado en Wiring implementado en C/C++.

Novedades programas o sketches:– 2 funciones fundamentales

• void setup ( ), inicialización.• void loop ( ), bucle.

– Funciones digitales: pinMode(pin, mode); digitalRead(pin) y digitalWrite(pin, nivel).

– Funciones analógicas: analogRead(pin).

Page 16: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Introducción• Objetivos• Estudio de la Tecnología Arduino• Diseño del Localizador• Programación del Localizador• Realización de Pruebas• Conclusiones y líneas futuras de

trabajo• Presupuesto

Índice

Page 17: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Localizador

Diseño del Localizador

Se emplea:– 1 placa Arduino Uno R2

– 1 Shield GPRS Quadband para Arduino (HILO) de SAGEM.• Módulo GPRS• Radio y Antena

– 1 Shield GPS para Arduino.

– 1 Circuitería adicional.

Page 18: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Arduino Uno R2

Diseño del Localizador

Alimentación.

6 pines de entradas analógicas.

Micro ATmega328.

12 pines de E/S digitales

Puertos comunicación serie (RX, TX y USB)

Page 19: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Módulo GPRS Quadband (HILO)

Diseño del Localizador

Alimentación.

5 pines de E/S digitales

2 pines comunicación serie (RX y TX).

6 pines de E/S analógicos.

Radio

Soporte de la tarjeta SIM

Page 20: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Radio

Diseño del Localizador

– Provista de 40 pines.– Tamaño 27×27×3.6mm

(Largo×Alto×Ancho).– Peso < 4 gramos– Consumos

• Modo inactivo < 1,5mA.• Modo off <50μA.

– Soporta SMS modo PDU y Text.• Antena

– Frecuencia 900MHz-2.1GHz-1800MHz.– Impedancia 50Ω.– Polarización Vertical.– Ganancia 0dBi.

Page 21: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Shield GPS para Arduino

Diseño del Localizador

– Frecuencia L1-1575MHz.– Sensibilidad

• Rastreo: -159dBm.• Adquisición (en frío):-142dBm.

– Tensión de entrada 3.0 a 3.6V DC.– Cuadro de corrientes

• Adquisición 28mA.• Rastreo 23mA.• Standby 20μA.

• Antena– Frecuencia 1575.42 MHz.– Impedancia 50Ω.– Polarización RHCP.– Ganancia 24-26dBi.

Page 22: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Circuitería Adicional

Diseño del Localizador

.

Page 23: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Conexiones

Diseño del Localizador

Configuración placa GPRS.

Page 24: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Diseño

Diseño del Localizador

Page 25: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Diseño Real

Diseño del Localizador

Page 26: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Introducción• Objetivos• Estudio de la Tecnología Arduino• Diseño del Localizador• Programación del Localizador• Realización de Pruebas• Conclusiones y líneas futuras de

trabajo• Presupuesto

Índice

Page 27: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Procedimiento

Programación del Localizador

Programación individual, para pasar a lo general. Consiguiendo:– Comprobación funcionamiento.– Compresión respuesta a la codificación.

Consideraciones– Uso de Arrays de caracteres en vez de cadenas.– Recursos limitados.– Separación configuraciones arranque y bucles (setup

( ) y loop ( )).

Page 28: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Procedimiento

Programación del Localizador

‘H’, ‘O’, ’L’, ‘A’Buffer

Registro

00100001001011000010111100101000‘H’, ’L’, ‘O’, ‘A’

Hola

Page 29: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Programación del Localizador

• La funciones a programar se resumen en:

– Sistema por defecto en Standby.

– Sistema se activa cada intervalo, comprueba posición si es similar a la de referencia vuelve al reposo en caso contrario envía SMS.

– Control de estado de batería.

t min

Page 30: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Rutinas individuales

Programación del Localizador

– Envío de SMS.

– Posicionamiento (GPS).

– Interrupción por temporizador

Page 31: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Envío de SMS

Programación del Localizador

Variables– Número Móvil– Pin activar GPRS

Función Activar GPRS

Setup– Inicialización

puerto serie, pines y activar GPRS

Activación SMS modo texto

Page 32: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Envío de SMS

Programación del Localizador

Lazo– Comando envío

SMS– Nº móvil– Mensaje– Cierre mensaje

Desactivar módulo

Page 33: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Programación del Localizador

Desglose trama GPGGA.

$GPGGA,1,2,3,4,5,6,7,8,9,10,11,12,13,14*15

1. Hora UTC (Tiempo Universal Coordinado) en formato: hhmmss2. Latitud en formato: ggmm.ssss3. Orientación en latitud: N (norte) o S (sur)4. Longitud en formato:gggmm.ssss5. Orientación en longitud: E (este) o W (oeste)6. Indicación de calidad GPS: 0=nula; 1=GPS fija7. Número de satélites visibles por el receptor: nn8. Dilución horizontal de posición: xx.x9. Altitud de la antena por encima/por debajo del nivel del mar (geoidal): xxxxx.x10. Unidades de altitud: M (metros)11. Separación geoidal: xxx.x12. Unidades de separación: M (metros)13. Tiempo en segundos desde la última actualización: xx14. ID de referencia de la estación15. Checksum: *xx

• Posicionamiento GPS

Page 34: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Programación del Localizador

Desglose trama GPGGA.

$GPGGA,1,2,3,4,5,6,7,8,9,10,11,12,13,14*15

1. Hora UTC (Tiempo Universal Coordinado) en formato: hhmmss2. Latitud en formato: ggmm.ssss3. Orientación en latitud: N (norte) o S (sur)4. Longitud en formato:gggmm.ssss5. Orientación en longitud: E (este) o W (oeste)6. Indicación de calidad GPS: 0=nula; 1=GPS fija7. Número de satélites visibles por el receptor: nn8. Dilución horizontal de posición: xx.x9. Altitud de la antena por encima/por debajo del nivel del mar (geoidal): xxxxx.x10. Unidades de altitud: M (metros)11. Separación geoidal: xxx.x12. Unidades de separación: M (metros)13. Tiempo en segundos desde la última actualización: xx14. ID de referencia de la estación15. Checksum: *xx

• Posicionamiento GPS

Page 35: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Programación del Localizador

Inclusión librería SoftwareSerial.

Configuración puerto serie virtual.

Variables

Setup

• Posicionamiento GPS

Page 36: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Programación del Localizador

Loop– Se prepara

para leer datos GPS.

– Inicio cadena ‘$’.

– Guarda en array.

– Llamada a función string( ).

• Posicionamiento GPS

Page 37: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Posicionamiento GPS

Programación del Localizador

Funciones– string ( ).– plot ( ).

Page 38: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Interrupción por temporizador, watchdog

Programación del Localizador

Inclusión librería sleep.

Variables– sleep contador.– intervalo.– Sleep_total.

Setup– watchdogOn( ).

Page 39: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Interrupción por temporizador, watchdog

Programación del Localizador

Lazo– inicialización.– goToSeleep( ).– Condición para

llegar a t >8s.

Page 40: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Interrupción por temporizador, watchdog

Programación del Localizador

Funciones– goToSleep( ).– watchdogOn

( ).– ISR(wdt_vect

)

Page 41: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Programación en conjunto

Programación del Localizador

Facilidad en la programación mediante pestañas.

Consiguiendo:– Código ordenado.– Rapidez en la búsqueda.– Optimizar rutinas.

Page 42: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Localizador

Programación del Localizador

LibreríasVariables

– Constantes pines puerto serie virtual.

– GPRS– GPS– Ahorro de

energía

Page 43: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Localizador

Programación del Localizador

Setup– Comunicación

GPS.– Activar GPRS.– Configuración

SMS.– watchdogOn

( ).

Page 44: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Localizador

Programación del Localizador

Lazo

Tres partes:1. Comprobación

valor pulsador e intercambio posiciones referencia.

Page 45: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Localizador

Programación del Localizador

Lazo

Tres partes:1. Comprobación

valor pulsador e intercambio posiciones referencia.

2. Comprobar estado de batería.

Page 46: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Localizador

Programación del Localizador

Lazo

Tres partes:1. Comprobación

valor pulsador e intercambio posiciones referencia.

2. Comprobar estado de batería.

3. Comprobar posición.

Page 47: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Introducción• Objetivos• Estudio de la Tecnología Arduino• Diseño del Localizador• Programación del Localizador• Realización de Pruebas• Conclusiones y líneas futuras de

trabajo• Presupuesto

Índice

Page 48: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Pruebas Individuales

Realización de pruebas

GPRS• Envío SMS

GPS• Posicionamient

o

Page 49: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Pruebas Individuales

Realización de pruebas

Ahorro Energía

𝐼 𝑐 .𝑑𝑜𝑟𝑚𝑖𝑑𝑜=120𝑠×0.75𝜇 𝐴+15×0.1𝜇 𝐴⏟𝑚𝑖𝑐𝑟𝑜𝑑𝑜𝑟𝑚𝑖𝑑𝑜

+115 𝑠× (1.5𝑚𝐴+20𝜇 𝐴 )⏟𝐺𝑃𝑅𝑆 𝑦 𝐺𝑃𝑆𝑖𝑛𝑎𝑐𝑡𝑖𝑣𝑜

+5 𝑠× (50𝑚𝐴+23𝑚𝐴 )⏟𝐺𝑃𝑅𝑆𝑎𝑐𝑡𝑖𝑣𝑜

𝐼 𝑐 .𝑑𝑜𝑟𝑚𝑖𝑑𝑜 ≅539.8𝑚𝐴𝑠120𝑠 =4.49𝑚𝐴

𝐼 𝑐 𝑑𝑒𝑠𝑝𝑖𝑒𝑟𝑡𝑜=[60 𝑠× (0.2𝑚𝐴+23𝑚𝐴 )⏟𝑚𝑖𝑐𝑟𝑜+𝐺𝑃𝑆

+55 𝑠×1.5𝑚𝐴⏟𝐺𝑃𝑅𝑆𝑖𝑛𝑎𝑐𝑡𝑖𝑣𝑜

+5 𝑠×50𝑚𝐴⏟𝐺𝑃𝑅𝑆𝑎𝑐𝑡𝑖𝑣𝑜 ]

𝐼 𝑐 𝑑𝑒𝑠𝑝𝑖𝑒𝑟𝑡𝑜=1724𝑚𝐴𝑠60 𝑠 =28.7𝑚𝐴

Page 50: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Pruebas Individuales

Realización de pruebas

Ahorro EnergíaOperando y realizando la conversión de 1VA=60 Julios/min. Tenemos:

Sabiendo que está 2 minutos en interrupción y 1 minuto despierto queda:

Frente al consumo despierto (3 minutos).

3.81𝑉𝐴𝑑𝑜𝑟𝑚𝑖𝑑𝑜=2.42 𝐽𝑢𝑙𝑖𝑜𝑠 /𝑚𝑖𝑛15.52𝑉𝐴𝑑𝑒𝑠𝑝𝑖𝑒𝑟𝑡𝑜=15.5 𝐽𝑢𝑙𝑖𝑜𝑠 /𝑚𝑖𝑛

𝐶𝑜𝑛𝑠𝑢𝑚𝑜𝑙𝑜𝑐𝑎𝑙𝑖𝑧𝑎𝑑𝑜𝑟 𝑐𝑜𝑛𝑖𝑛𝑡𝑒𝑟𝑟𝑢𝑝𝑐𝑖 ó𝑛=(2×2.42+15.5 )=20.34 𝐽𝑢𝑙𝑖𝑜𝑠

Page 51: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Pruebas Individuales

Realización de pruebas

Ahorro Energía

El ahorro es de:

h𝐴 𝑜𝑟𝑟𝑜 (% )=20.3446.5 ∙100=43.74 %

Page 52: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Pruebas conjuntas

Realización de pruebas

GPRS+GPS• Envío SMS

coordenadas

Estado Batería

Mensaje Bienvenida

Page 53: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Pruebas conjuntas

Realización de pruebas

Volcado de coordenadas con ruta en Google Earth.

Page 54: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Introducción• Objetivos• Estudio de la Tecnología Arduino• Diseño del Localizador• Programación del Localizador• Realización de Pruebas• Conclusiones y líneas futuras de

trabajo• Presupuesto

Índice

Page 55: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Conclusiones• Este trabajo cubre todas las áreas del campo de la

Telecomunicación (Energía, Electrónica, Redes y Radiocomunicaciones), así como las fases de un proyecto: – Documentación. Hemos estudiado la tecnología Arduino.

– Análisis. Se ha decidido que elementos son los más apropiados para nuestro dispositivo.

– Diseño. Hemos detallado las conexiones de las diferentes unidades a nivel esquemático.

– Ejecución/Implementación. Se han realizado las conexiones físicas.

– Pruebas. Hemos evaluado los elementos de nuestro dispositivo, consiguiendo depurar el código y se han contrastado con la realidad.

Page 56: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Conclusiones

• La tecnología Arduino es válida para el diseño de localizadores.

• Esta plataforma supone una alternativa de trabajo.

Page 57: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Líneas futuras de trabajo

• Integración. Reducir las dimensiones en una única placa. Al ser hardware abierto disponemos de los esquemáticos

• Introducción de nuevos elementos. Añadir módulos que puedan aportar más datos (sensores, shields WiFi, etc.).

• Mejorar el consumo. Aunque en este diseño se ha implementado una rutina para disminuir el consumo, se ha observado que existen tiempos muertos en los que se podría apagar algún módulo y aumentar la eficiencia.

• Comandar dispositivo. Poder actuar sobre él a petición.

• Otras soluciones tecnológicas. Tags (etiquetas).

• Aplicación trazar ruta. Crear una app para automatizar el trazado de la ruta seguida por el dispositivo.

Page 58: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

• Introducción• Objetivos• Estudio de la Tecnología Arduino• Diseño del Localizador• Programación del Localizador• Realización de Pruebas• Conclusiones y líneas futuras de

trabajo• Presupuesto

Índice

Page 59: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Presupuesto

CostesTotal(€)

Costes de herramientas software

13,51

Costes de equipos informáticos

7,75

Costes de recursos humanos

7500

Coste material localizador 177Otros costes 596,80

Subtotal 8295,06IGIC(7%) 580,65

PRESUPUESTO TOTAL 8875,71€

Page 60: Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino

Titulación: Grado en Ingeniería en Tecnologías en Telecomunicación

Tutores: Francisco Javier del Pino Suárez Sunil Lalchand Khemchandani

Autor: Cristóbal Guedes SuárezFecha: Julio 2.014

Sistema de Localización de Objetos Basado en Tecnología de Código Abierto de Arduino