Sistema de localización de objetos basado en tecnología de Código Abierto de Arduino
-
Upload
rfic-iuma -
Category
Engineering
-
view
865 -
download
4
Transcript of 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
Í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