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

Preview:

Citation preview

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

Í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

Introducción

Introducción

Introducción

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

• 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

• 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

• 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

• 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.

• 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.).

• 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.

• 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

• 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

• 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

• 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).

• 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

• 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.

• 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)

• 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

• 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.

• 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.

• Circuitería Adicional

Diseño del Localizador

.

• Conexiones

Diseño del Localizador

Configuración placa GPRS.

• Diseño

Diseño del Localizador

• Diseño Real

Diseño del Localizador

• 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

• 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 ( )).

• Procedimiento

Programación del Localizador

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

Registro

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

Hola

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

• Rutinas individuales

Programación del Localizador

– Envío de SMS.

– Posicionamiento (GPS).

– Interrupción por temporizador

• 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

• Envío de SMS

Programación del Localizador

Lazo– Comando envío

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

Desactivar módulo

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

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

Programación del Localizador

Inclusión librería SoftwareSerial.

Configuración puerto serie virtual.

Variables

Setup

• Posicionamiento GPS

Programación del Localizador

Loop– Se prepara

para leer datos GPS.

– Inicio cadena ‘$’.

– Guarda en array.

– Llamada a función string( ).

• Posicionamiento GPS

• Posicionamiento GPS

Programación del Localizador

Funciones– string ( ).– plot ( ).

• Interrupción por temporizador, watchdog

Programación del Localizador

Inclusión librería sleep.

Variables– sleep contador.– intervalo.– Sleep_total.

Setup– watchdogOn( ).

• Interrupción por temporizador, watchdog

Programación del Localizador

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

llegar a t >8s.

• Interrupción por temporizador, watchdog

Programación del Localizador

Funciones– goToSleep( ).– watchdogOn

( ).– ISR(wdt_vect

)

• 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.

• Localizador

Programación del Localizador

LibreríasVariables

– Constantes pines puerto serie virtual.

– GPRS– GPS– Ahorro de

energía

• Localizador

Programación del Localizador

Setup– Comunicación

GPS.– Activar GPRS.– Configuración

SMS.– watchdogOn

( ).

• Localizador

Programación del Localizador

Lazo

Tres partes:1. Comprobación

valor pulsador e intercambio posiciones referencia.

• Localizador

Programación del Localizador

Lazo

Tres partes:1. Comprobación

valor pulsador e intercambio posiciones referencia.

2. Comprobar estado de batería.

• 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.

• 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

• Pruebas Individuales

Realización de pruebas

GPRS• Envío SMS

GPS• Posicionamient

o

• 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𝑚𝐴

• 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 𝐽𝑢𝑙𝑖𝑜𝑠

• Pruebas Individuales

Realización de pruebas

Ahorro Energía

El ahorro es de:

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

• Pruebas conjuntas

Realización de pruebas

GPRS+GPS• Envío SMS

coordenadas

Estado Batería

Mensaje Bienvenida

• Pruebas conjuntas

Realización de pruebas

Volcado de coordenadas con ruta en Google Earth.

• 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

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.

Conclusiones

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

• Esta plataforma supone una alternativa de trabajo.

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.

• 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

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€

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