+ All Categories
Home > Documents > Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

Date post: 03-Jun-2018
Category:
Upload: enic-aitcg
View: 247 times
Download: 0 times
Share this document with a friend

of 126

Transcript
  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    1/126

    INS

    CD. G

    ITUTO T

    Siste

    Consum

    QUE P

    AESTR

    JUAN

    M.C.

    ZMN, J

    ECNOL

    a De Mo

    o Elctric

    RA OBT

    EN ING

    PR

    CARLO

    DIRECT

    AVIER

    LISCO,

    GICO D

    TESIS

    EMA:

    nitoreo In

    o Con Mi

    ENER E

    ENIERA

    ESENTA

    CHAVE

    OR DE T

    UTIERR

    MXICO

    CIUDA

    almbric

    rocontro

    GRAD

    ELECTR

    :

    AMEZ

    ESIS:

    Z TORR

    . DICIEM

    GUZM

    De

    lador

    DE:

    NICA

    UA

    ES

    BRE DE

    N

    013

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    2/126

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    3/126

    I. INTRODUCCION

    2

    AGRADECIMIENTOS

    Primero que nada, quiero agradecer a dios por permitirme llegar a estas instancias,

    por guiarme en mi camino y darme salud. Tambin a mi quiero agradecer

    profundamente a mis padres y a mi esposa por su apoyo brindado

    incondicionalmente, por su compresin y paciencia.

    De igual manera, quiero agradecer al Consejo Nacional de Ciencia y

    Tecnologa por haberme otorgado la beca durante la totalidad de este posgrado,

    siendo esta mi soporte econmico que mantuvo el enfoque en mis estudios.

    A mi Director de Tesis el M.C. Javier Gutirrez Torres por su disposicin

    constante e inters para contribuir con el desarrollo de todo el trabajo de tesis.

    Tambin a todos mis compaeros de la generacin por sus comentarios ycrticas constructivas las cuales me ayudaron a mejorar este prototipo para la

    medicin y ahorro de energa.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    4/126

    I. INTRODUCCION

    3

    RESUMEN

    La finalidad de esta tesis es construir un sistema de monitoreo inalmbrico de

    consumo elctrico utilizando microcontroladores para medir y generar reportes enbase al consumo energtico realizado por cualquier enser domstico o industrial que

    se encuentre conectado a cualquier lnea monofsica o inclusive trifsica.

    Con el fin de realizar mediciones de manera precisa este sistema est provisto

    con un sensor de efecto hall, que ha resultado ser la manera ms eficiente y barata

    de medir la corriente que fluye a travs de un conductor. Por otro lado, al ser un

    dispositivo lineal y generar una salida en voltaje, se viene a convertir en un aliado

    perfecto de cualquier ADC o microcontrolador.

    Hoy en da existe una amplia gama de microcontroladores con caractersticas

    similares, pero el diseo se enfoc a utilizar dispositivos econmicos, accesibles y de

    software libre, que nos permitieran hacer uso de los protocolos bsicos de

    comunicacin (SPI, I2C) y convertidores analgico/digital entre los cuales pudimos

    encontrar los microcontroladores PIC 16F877A de Microchip y Arduino UNO R3 de

    Atmel.

    Los sistemas inalmbricos han sido objeto de estudio en la ltima dcada por

    los beneficios y comodidades que brinda. El prototipo se doto de una red inalmbricasemidplex utilizando Xbees Serie 2 para la transmisin de datos mediante el

    protocolo serial, mismo que se us para el manejo de las pantallas graficas del

    sistema.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    5/126

    I. INTRODUCCION

    4

    ABSTRACT

    The purpose of this thesis is build a wireless monitoring system power consumption

    using microcontrollers to measure and generate reports based on energyconsumption made by some domestic or industrial enser that is connected to any

    single-phase or three-phase inclusive.

    In order to make precise measurements of the system is provided with a hall effect

    sensor, that has proven to be the most efficient and inexpensive way to measure the

    current flowing through a conductor. On the other hand, as a linear device and

    generate an output voltage has been converted to a perfect ally any ADC or

    microcontroller.Today there is a wide range of microcontrollers with similar features, but the design is

    focused on devices using affordable, accessible and free software that allow us to

    make use of basic communication protocols (SPI, I2C) and analog / digital converters

    among which we find 16F877A PIC microcontrollers from Microchip and Atmel

    Arduino UNO R3.

    Wireless systems have been studied in the last decade for the benefits and amenities

    offered. The prototype was equipped with a wireless half-duplex using Xbee's Series

    2 for data transmission through the serial protocol, same as used for handling system

    graphic displays.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    6/126

    I. INTRODUCCION

    5

    ndice General

    CAPITULO. I INTRODUCCION 11

    1.2 Definicin Del Problema. 12

    1.3 Objetivo General 13

    1.4 Objetivos Especficos 13

    1.5 Metas. 13

    1.6 Antecedentes. 141.6.1 Kill a Watt EZ. 141.6.2 Google PowerMeter 161.6.3 Nucleus de General Electric 17

    CAPITULO II. MARCO TEORICO 21

    2.1 Introduccin a Zigbee 212.1.1 Frecuencias de trabajo y rango de velocidades 232.1.2 Tipos de dispositivos 242.1.3 Topologas de red 25

    2.2 Mdulos Xbee 272.2.1 Eleccin de la antena Xbee 28

    2.3 Qu es Arduino? 29

    2.3.1 Por Qu Elegir Arduino? 31

    2.3.2 El Modelo Del Microcontrolador 332.3.3 Memorias Del Microcontrolador 342.3.4 Protocolos De Comunicacin I2C/TWI Y SPI 352.3.5 El Chip ATmega16U2 402.3.6 Las Entradas y Salidas Digitales. 422.3.7 Las entradas analgicas 422.3.8 Otros Usos De Los Pines-Hembra De La Placa 452.3.9 Arduino Mega 2560 48

    2.4 Qu Es Un IDE? 492.4.1 El Serial Monitor y Otras Terminales Serie. 49

    2.5 Xbee Shields 522.5.1 Arduino Wireless SD Shield 532.5.2 Caractersticas de las tarjetas SD 55

    2.6 LCD grfico de 128x64 58

    2.7 Sensor De Corriente. Descripcin 602.7.1 Caractersticas Del Sensor De Corriente ACS712 61

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    7/126

    I. INTRODUCCION

    6

    3.1 Diseo de la lgica de programacin del PIC16F877A 64

    3.2 Hardware. Diseo del Transmisor. 67

    3.3 Programacin. Transmisor con PIC16F877A 68

    3.4 Transmisor. Descripcin Del Programa Fuente. 68

    3.5 Configuracin De Puertos Seriales Virtuales 82

    3.6 Simulacin del Transmisor 863.6.1 Generando Los Primeros Grficos. 873.6.2 Iniciando La Transmisin De Datos. 883.6.3 Conexin Establecida. 893.6.4 Transmitiendo Datos. 90

    3.7 Diseo de la lgica de programacin del ARDUINO MEGA. 913.7.1 Hardware. Diseo del receptor 933.7.2 Programacin. Receptor con Arduino MEGA 943.7.3 Receptor. Descripcin Del Programa Fuente. 94

    CAPITULO IV. RESULTADOS 105

    4.1 Presentacin de los primeros grficos. 105

    4.2 Transmisin de los primeros datos 106

    4.3 Gestin De Datos. Receptor 1084.3.1 Inicializacin de memoria microSD 1084.3.2 Recepcin de datos. 1094.3.3 Generacin de graficas en Excel. 110

    CAPTULO V. CONCLUSIONES 113

    CAPTULO VI. REFERENCIAS BIBLIOGRFICAS 115

    ANEXO A 117

    ANEXO B 119

    ANEXO C 121

    ANEXO D 121

    ANEXO E 122

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    8/126

    I. INTRODUCCION

    7

    ndice de figurasFIG. PAG.

    1.1 Kill a Watt EZ 151.2 Uso de energa en el hogar 17

    1.3 Sistema Nucleus de GE 181.4 Administrador del hogar Nucleus 181.5 Registro de consumo de energa 192.1 Tipos de dispositivos Zigbee / IEEE 802.15.4 242.2 Topologas de red. 262.3 Ventajas de enrutado de topologa Mesh. 262.4 Conexiones mnimas para utilizar Xbee. 272.5 Microcontrolador ATmega328P 33

    2.6 Estructura logia bsica I2C 362.7 Estructura bsica I2C 372.8 Estructura bsica SPI 392.9 ATmega16U2 402.10 Esquema Hardware de la placa Arduino Uno 472.11 Puertos seriales del Arduino MEGA 482.12 Monitor Serial 502.13 Arduino Wireless SD Shield 542.14 Memoria MicroSD 562.15 Configuracin de las memorias SD y MicroSD 572.16 Diagrama a bloques del LCD 128X64 582.17 LCD grafico 128X64 582.18 Configuracin para Alimentar el GLCD 128X64 602.19 Diagrama de bloques funcional del sensor de corriente ACS712. 623.1 Diagrama de flujo de la etapa de transmisin 663.2 Diagrama de prueba del transmisor. 673.3 Logo utilizado para crear imagen en transmisor 693.4 Programa gestor de imgenes LCD Assistant 703.5 Extensin, mapa de bits monocromatico 70

    3.6 Imagen monocromtica. 713.7 Configuracin de LCD Assistant. 713.8 Virtual Serial Port Driver 823.9 Seleccionando puertos seriales. 833.10 Puertos seriales instalados virtualmente. 833.11 Terminal V1.9b 84

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    9/126

    I. INTRODUCCION

    8

    3.12 COM 1 configurado e instalado 843.13 Configuracin de ISIS Proteus 853.14 ISIS Proteus configurado. 853.15 Circuito utilizado en ISIS Proteus 86

    3.16 Primer Grafico Generado Por Microcontrolador 873.17 Pantalla en Modo Stand by 883.18 Subrutina de conexin 883.19 Introduciendo respuesta de receptor 893.20 Transmisor emitiendo datos. 903.21 Logica de programacin del receptor 923.22 Diagrama del receptor 934.1 Generacin del primer grafico 1054.2 Pantalla de espera 1064.3 Subrutina de conexin y enlace. 1064.4 Transmisin de datos. 1074.5 Subrutina de reconexin. 1084.6 Inicializacin correcta, tarjeta presente. 1094.7 Inicializacin incorrecta, tarjeta ausente o conexin errnea. 1094.8 Recepcin de datos en monitor serial 1104.9 Datos en Excel 1114.10 Grafica de datos obtenidos 111

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    10/126

    I. INTRODUCCION

    9

    ndice de Tablas

    TABLA PAG.

    2.1 Cuadro comparativo entre WiFi, Bluetooth y Zigbee. 222.2 Bandas de frecuencia en Zigbee 232.3 Comparativa de prestaciones entre Xbee. 282.4 Comparativa de prestaciones entre Xbee. 292.5 Caractersticas tcnicas de Arduino. 442.6 Descripcin de Pines 592.7 Comparativa entre diferentes sensores de corriente. 60

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    11/126

    I. INTRODUCCION

    10

    CAPTULO I

    INTRODUCCIN

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    12/126

    I. INTRODUCCION

    11

    CAPITULO. I INTRODUCCION

    En este primer captulo se pretende describir de manera concreta las razones que

    motivaron la realizacin de este proyecto as como las metas, alcances y objetivos

    planteados, dando una resea de los antecedentes que dieron la pauta para su

    desarrollo.

    En el segundo captulo de la presente investigacin se plasman los

    fundamentos tericos y tcnicos necesarios que servirn como soporte para poder

    implementar este proyecto de innovacin.

    En el tercer captulo se muestra el desarrollo del proyecto de manera detallada

    y sencilla que permitir de manera simple al lector interpretar el proceso de

    elaboracin del mismo.

    En el cuarto captulo se mencionan los resultados obtenidos en base a la

    puesta en funcionamiento y comportamiento del proyecto.

    En el quinto captulo se plasman las conclusiones en base a los resultados

    obtenidos y la experimentacin realizada.

    Por ltimo, en el sexto captulo se menciona las referencias bibliogrficas

    utilizadas como fundamento terico y prctico, que fueron fundamentales para la

    elaboracin del este proyecto de tesis.Actualmente las tendencias en ahorro de energa han mostrado ser la forma ms

    efectiva de constituir un ahorro significativo tanto en el hogar como en la industria,

    con el fin de hacer ms eficiente un proceso industrial o simplemente monitorear el

    desempeo de un enser domstico, que quizs posteriormente pueda ser sustituido

    y/o nos ayude a saber cunto nos cuesta mantener cierto electrodomstico.

    Es por eso que en el mercado han surgido diferentes medidores de corriente

    para poder monitorear el consumo de energa en tiempo real, muchos de ellos han

    innovado poco o nada en la forma de obtener o inclusive manejar la informacin que

    generan. Por otro lado, al ser mdulos que se encuentran localmente realizando una

    medicin, muchas de las veces es poco factible adquirir este tipo de informacin,

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    13/126

    I. INTRODUCCION

    12

    pues el lugar donde se va a realizar el monitoreo o censado es poco accesible

    fsicamente hacindose complicado llevar un control estadstico de las mediciones.

    De ah surge la necesidad de construir un sistema de monitoreo de consumo

    elctrico, el cual nos pueda brindar una adquisicin continua de datosinalmbricamente que nos permita visualizar la informacin de manera remota y

    local, que sea capaz de generar un historial del consumo en cualquier momento

    determinado por el usuario. De esta manera, tratamos de incursionar no solo en el

    rea de domtica sino tambin en la industrial.

    Las ventajas de disear y construir un sistema de este tipo son muchas y

    variadas, pues nos ayudara a mantener un control sobre los consumos energticos

    que puede ser desde un enser domestico hasta un rea industrial completa. Adems,cumplir con el objetivo de generar un historial, que el usuario podr utilizar para

    medir el desempeo elctrico a lo largo del tiempo.

    Adems, ser un factor importante a tomar en cuenta el poder utilizar

    elementos electrnicos y microcontroladores comunes para su realizacin, pues

    tambin uno de los alcances que tiene el proyecto es ahorrar en la implementacin y

    desarrollo del mismo para poderlo hacer ms atractivo econmicamente al cliente

    con respecto a los sistemas contemporneos.

    1.2 Definicin Del Problema.

    Actualmente en Mxico, los sistemas de monitoreo de consumo elctrico solo han

    incursionado por medio de la compaa paraestatal de la Comisin Federal de

    Electricidad (CFE), implementando medidores elctricos bsicos, mostrando poco

    inters por mostrar informacin integral sobre costo/consumo como lo han hecho

    algunos pases en desarrollo y emergentes.

    Es por eso, que contar con un sistema que supervise el consumo elctrico es

    fundamental para el buen funcionamiento de empresas, edificios, universidades,

    hospitales o cualquier institucin que cuente reas crticas.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    14/126

    I. INTRODUCCION

    13

    1.3 Objetivo General

    Disear e implementar un sistema de monitoreo inalmbrico de consumo elctrico

    empleando microcontroladores, que nos permita obtener datos de gasto elctricodiariamente de cualquier dispositivo elctrico.

    1.4 Objetivos Especficos

    Investigar el desempeo del sistema de monitoreo inalmbrico de consumo elctrico

    usando un microcontrolador, con respecto a los existentes. As como los siguientes

    puntos.

    Proponer una metodologa de diseo de sistemas inalmbricos para el

    monitoreo de consumo.

    Disear e Implementar la etapa de acondicionamiento utilizando un sensor

    de efecto hall de tipo semiconductor.

    Disear y Simular usando el isis de proteus un buffer digital de datos para la

    etapa de sensado de corriente.

    Disear e Implementar la etapa de transmisin y recepcin para realizar lacomunicacin inalmbrica.

    Disear e Implementar un datalogger para almacenar los datos obtenidos

    peridicamente.

    Disear e Implementar un sistema de medicin local y remota del sistema

    utilizando pantallas tipo LCD.

    1.5 Metas.

    Se pretende que para al trmino del periodo Enero Junio del 2013 se cuente

    con:

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    15/126

    I. INTRODUCCION

    14

    Una red tipo mesh, para poder realizar la comunicacin inalmbrica.

    Un datalogger que nos permita guardar toda la informacin adquirida.

    Un sistema remoto y local de monitoreo.

    Un transmisor bajo la plataforma PIC y un receptor bajo la plataforma de

    Arduino.

    Un reporte donde se plasme todos los resultados obtenidos a lo largo del

    desarrollo de este proyecto.

    1.6 Antecedentes.

    Unmonitor de energa para el hogares un tipo devatihormetroocontador

    elctricoque proporciona informacin en tiempo real del consumo elctrico demanera comprensiblepara cualquier usuario sin necesidad de conocimientos

    tcnicos. Estos dispositivos tambin pueden mostrar al usuario el coste de la energa

    consumida y estimaciones de las emisiones de gases de efecto invernadero. Algunos

    estudios muestran unareduccin del consumo de energa en el hogarde 4-15%

    gracias al uso de monitores de energa.

    1.6.1 Kill a Watt EZ.

    En la figura 1.1 podemos observar el Kill a Watt EZ, el cual es un medidor de energa

    con el que fcilmente usted podr conectar cualquier aparato y as calcular cunto

    dinero le cuesta el tenerlo encendido. Adems informa cunto dinero gasta por da,

    mes y ao, los watts que usa, as como los kWh, de tal forma que se puede

    identificar si conviene apagarlo ms, conservarlo o cambiarlo.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    16/126

    I. INTRODUCCION

    15

    Kill a Watt EZ

    Este modelo cuenta con Memoria para Grabar los registros de cada aparato y

    se le pueden capturar los costos del KwH para que d automticamente los costos

    por hora, Da, Mes o Ao de ese dispositivo.

    Son miles de preguntas ante el gasto de energa de sus electrodomsticos, y

    la verdad es que todos desafortunadamente tenemos que pagar una cuenta cada

    mes de servicios. Y la economa actualmente no est para altos gastos. Si de verdad

    desea bajar significativamente su cuenta de servicios y saber cunto gasta cada

    aparato en su hogar, esta es la nica forma de hacerlo y muy fcil.

    As de simple, se puede ahorrar mucho dinero al mes y al ao sabiendo que

    se puede apagar los electrodomsticos en la noche o analizar que aparatos se tienen

    que cambiar. Tambin se puede ver la calidad de energa que se recibe, ya que

    muestra voltaje, Lnea, Frecuencia, y factor de potencia.

    Caractersticas:

    Pantalla LCD.

    Muestra Voltios, Amperes, watts, VA.

    Timer: para ver cunto tiempo lleva conectado el aparato (entre ms tiempo lo

    dejemos mejor lectura hace).

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    17/126

    I. INTRODUCCION

    16

    Memoria para Guardar informacin de Diferentes aparatos.

    Da informacin automtica de costo Diario, Mensual y Anual para cada

    aparato.

    El Kill a Watt EZ cuenta con memoria para guardar la informacin de

    diferentes aparatos. Y usted puede capturar el costo del kWh que viene en el recibo

    de energa y automticamente en la pantalla muestra cuento gasta en dinero ese

    aparato al da, mes y ao. Facilita la operacin para hacer mediciones ms rpidas y

    as poder encontrar el ahorro que se necesita hacer.

    El Kill a Watt Normalbrinda la informacin de kWh consumidos, as como Voltios,

    Amperes, Watts, VA. Pero para sacar el costo en dinero que cada aparato gasta hayque hacerlo de manera manual con una calculadora.

    1.6.2 Google PowerMeter

    Google se ha propuesto ayudarnos a reducir el consumo elctrico en nuestras casas,

    a travs de un ambicioso proyecto llamado: Google Powermeter.

    Bajo el lema de Lord Kelvin: "lo que no se puede medir, no se puede mejorar",

    a creado un software que nos permitir a travs de un gadget para el

    iGoogle conocer donde consumimos ms energa en nuestros hogares y as poder

    hacer esfuerzos focalizados para reducir estos consumos, por nuestro beneficio

    propio y el del planeta.

    Un verdadero reto tecnolgico y de coordinacin entre las principales

    compaas elctricas de Norte Amrica (USA y Canad), en primer lugar, para

    finalmente extenderse a todo el mundo.

    Google PowerMeter muestra a los usuarios su consumo de electricidad en tiempocasi real. Creen que PowerMeter ofrecer ms informacin til y prctica que las

    complicadas facturas mensuales de papel que proporcionan poca informacin sobre

    el consumo o la forma de ahorrar energa.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    18/126

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    19/126

    I. INTRODUCCION

    18

    casi real, puede realizar elecciones con mayor informacin y tomar medidas ms

    inteligentes para recibir una factura de electricidad con valores ms bajos. En la

    figura 1.3 podemos ver como GE distribuye los sensores en el hogar.

    Figura 1.2 Sistema Nucleus GE

    En el pasado, las compaas de servicios simplemente lean un medidor de

    electricidad una vez al mes y luego cobraban el cargo al propietario por la energa

    consumida. Esto significaba que los propietarios no tenan manera de saber cunta

    energa utilizaban hasta que no reciban la factura. Esos das han terminado. La

    figura 1.4 se puede observar ms claramente como el administrador Nucleusgestiona y mide inalmbricamente el consumo elctrico de cada enser domestico

    Figura 1.3 Administrador del hogar Nucleus

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    20/126

    I. INTRODUCCION

    19

    Con slo saber cunta energa consume, puede optar por hacer pequeos

    cambios en su estilo vida que podran reducir los costos de energa. Con el

    administrador Nucleus como se puede ver en la figura 1.5, usted cuenta con un

    tablero centralizado para monitorear el consumo de energa del hogar. Registre elconsumo de energa en kW (tiempo casi real), kWh (a largo plazo) y haga un clculo

    de los dlares gastados, luego use estos datos para ver las tendencias a lo largo de

    los das, semanas y meses, hasta 3 aos.

    Figura 1.4 Registro de consumo de energa

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    21/126

    II. MARCO TEORICO

    20

    CAPTULO II

    MARCO TERICO

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    22/126

    II. MARCO TEORICO

    21

    CAPITULO II. MARCO TEORICO

    El presente capitulo menciona los fundamentos tericos y tcnicos bsicos que

    marcaron la pauta para poder estructurar as como desarrollar un sistema de

    monitoreo inalmbrico de consumo elctrico.

    Inicialmente, se hace referencia a los microcontroladores utilizados para

    estructurar tanto el transmisor y receptor, que si bien no se utilizaron los mismos

    microcontroladores para disear ambas etapas, si se usaron microsistemas similares

    con gran versatilidad y prestaciones.

    Por otro lado, tambin se mencionaran algunas caractersticas de los

    diferentes sensores de tipo hall que existen en el mercado, as como tambin con un

    pequeo anlisis que se utiliz para seleccionar el adecuado para el sistema que sedesarroll.

    2.1 Introduccin a Zigbee

    El nombre de Zigbee deriva de los patrones errticos comunicativos que tienen las

    abejas (bees) entre las flores durante la recogida de polen. Los zumbidos de las

    abejas evocan en redes inalmbricas invisibles.

    Zigbee surge de la necesidad de desarrollar una tecnologa inalmbrica fiable,pero de no muy alta transferencia de datos. De esta forma, en 1998, un conjunto de

    empresas se asociaron para desarrollar un estndar de comunicaciones que

    complementara a Wi-fi y Bluetooth. Fue terminado y publicado por el IEEE en Mayo

    de 2003.

    Desde el punto de vista del Hardware, podemos decir que Zigbee ha sido

    cuidadosamente optimizado para el bajo coste a gran escala. Tiene pocas partes

    analgicas y utiliza circuitos digitales siempre que sea posible.

    Desde el punto de vista tcnico, Zigbee es un estndar que define un conjunto

    de protocolos de comunicacin de baja velocidad de datos de corto alcance de redes

    inalmbricas. Zigbee est basado en dispositivos inalmbricos que operan a 868

    MHz, 915 MHz y 2.4 GHz.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    23/126

    II. MARCO TEORICO

    22

    La tcnica de modulacin es Direct Sequence Spread Spectrum (DSSS), que tiene

    un mximo rango de velocidad de unos 250 kbit /s.

    Por lo tanto, a modo resumen podemos catalogar a Zigbee como un protocolo:

    Basado en el estndar 802.15.4. Con aplicaciones WPAN (Wireless Personal Area Network)

    Con gran soporte desde la industria: Honeywell, Mitsubishi Electric, Motorola,

    Philips, Samsung, etc.

    Bajo coste.

    Bajo consumo.

    Fcil Instalacin y barata.

    Redes flexibles y extensibles.En la tabla 2.1 podemos ver un cuadro de comparacin entre WiFi, Bluetooth y

    Zigbee:

    Tabla 2.1 Cuadro comparativo entre WiFi, Bluetooth y Zigbee.

    Tecnologa

    Wi-fi Bluetooth ZigbeeVelocidad 50< Mbps 1 Mbps

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    24/126

    II. MARCO TEORICO

    23

    podra ser una red de sensores inalmbricos que se conecten sin cables a una

    estacin de control.

    2.1.1 Frecuencias de trabajo y rango de velocidades

    En el estndar Zigbee se definen tres bandas de frecuencia distintas:

    868868.6 MHz (banda de 868 MHz)

    902- 928 MHz (banda de 915 MHz)

    24002483.5 MHz (banda de 2.4 GHz)

    La banda de 2.4 GHz es usada en el mundo entero mientras que las de 868 MHz y

    915 MHz se usan en Europa y Amrica del Norte respectivamente. Esto otorga a los

    diseadores libertad para tomar sus propias decisiones sobre qu bandas de

    frecuencia son mejores para sus aplicaciones.

    En general, podemos decir que las aplicaciones de 2.4 GHz permiten un

    ancho de banda ms grande y ms canales. Sin embargo, la coexistencia con otros

    sistemas que funcionan con 2.4 GHz como WLAN y Bluetooth debe ser tenida en

    cuenta. El tamao de las antenas en sistemas de 2.4 GHz es tambin menor

    respecto a las otras dos bandas de frecuencias. En la tabla 2.2 podemos observarlas diferentes bandas de frecuencia con la cual trabaja Zigbee.

    Tabla 2.2 Bandas de frecuencia en ZigbeeFrequency Number

    ofChannels

    Modulation ChipRate

    (Kchip/s)

    BitRate

    (Kb/s)

    SymbolRate

    (Ksymbol/s

    SpreadingMethod

    868-868.6 1 BPSK 300 20 20 Binary DSSS902-928 10 BPSK 600 40 40 Binary PSSS

    Optional868-868.6 1 ASK 400 250 12.5 20-Bit PSSS

    902-928 10 ASK 1600 250 50 5-Bit PSSS

    Optional

    868-868.6 1 O-QPSK 400 100 25 16-arrayortogonal

    902-928 10 O-QPSK 1000 250 62.5 16-arrayortogonal

    2400-2483.5

    16 O-QPSK 2000 250 62.5 16-arrayortogonal

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    25/126

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    26/126

    II. MARCO TEORICO

    25

    muy econmico. Adems, su batera puede durar aos debido a que se pasa

    dormido la mayor parte del tiempo.

    2.1.3 Topologas de red

    Zigbee permite tres topologas de red:

    Pair:La forma ms sencilla de la red es con dos nodos. Uno de ellos debe ser

    un coordinador. El otro puede ser bien un router o bien un end device.

    Star:En esta topologa el coordinador es el centro de la red y es el que se

    conecta en crculo con los dems dispositivos (End devices). Por lo tanto,todos los mensajes deben pasar por el coordinador. Dos end devices no

    pueden comunicarse entre s directamente.

    Mesh:La configuracin cuenta con nodos router y con un nodo coordinador.

    Se trata de una topologa no jerrquica en el sentido de que cualquier

    dispositivo puede interactuar con cualquier otro.

    Este tipo de topologa permite que, si en un momento un nodo o camino fallan

    en la comunicacin, sta pueda seguir rehaciendo los caminos. La gestin de

    los caminos es tarea del coordinador.

    Cluster Tree: Es una variacin de la topologa malla, por lo que no la

    consideramos realmente como una cuarta topologa. En este diseo, los

    routers forman una columna vertebral con los dispositivos finales, que estn

    agrupados en torno a los routers.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    27/126

    II. MARCO TEORICO

    26

    Figura 2.2 Topologas de red.

    De todas las topologas antes analizadas y las cuales pudimos observar

    claramente en la figura 2.2, la ms ventajosa y caracterstica del protocolo Zigbee es

    la Mesh. El poder hacer routing dinmico permite a este tipo de topologa ganar

    sobretodo en fiabilidad en las comunicaciones.

    Es adecuado destacar la importancia de actuar como un equipo. En

    baloncesto los jugadores necesitan coordinarse entre ellos. En Zigbee pasa un poco

    lo mismo. Los dispositivos pueden conectarse de muchas formas diferentes para dar

    fuerza a la red, como podemos ver en la figura 2.3.

    Figura 2.3 Ventajas de enrutado de topologa Mesh.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    28/126

    II. MARCO TEORICO

    27

    2.2 Mdulos Xbee

    Los mdulos Xbee son fabricados por la empresa Digi, proporcionan conectividad

    inalmbrica con otro dispositivo de la misma serie por un precio relativamente

    econmico comparado con el de otros fabricantes.

    Digi ofrece dos series diferentes, la serie 1 y la serie 2, tambin conocida

    como Znet 2.5, los mdulos 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 de Freescale y est pensado para ser

    utilizado en redes punto a punto y punto a multipunto. Los mdulos de la Serie 2

    estn basados en el chipset de Ember, y estn diseados para ser utilizados enaplicaciones que requieren repetidores o una red mesh. Ambos mdulos pueden ser

    utilizados en los modos AT y API.

    Con estos mdulos se pueden disear aplicaciones de comunicacin

    inalmbrica de bajo consumo energtico, como las requeridas por el proyecto en el

    que nos embarcamos.

    La figura 2.4 ilustra cmo fluyen los bits de datos a travs del mdulo Xbee.

    Figura 2.4 Conexiones mnimas para utilizar un xbee.

    Los datos entran en el mdulo UART a travs de la patilla DIN (pin 3) como una

    seal asncrona y se almacenan en un buffer. Lo mismo sucede cundo se quieren

    transmitir datos por DOUT (pin 4).

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    29/126

    II. MARCO TEORICO

    28

    2.2.1 Eleccin de la antena Xbee

    Digi ofrece en la actualidad dos gamas de productos, las Xbee Znet 2.5, y las

    Xbee Pro Znet 2.5. En este apartado comparamos las dos antenas antes de

    decidirnos por una de ellas:

    Tabla 2.3 Comparativa de prestaciones entre Xbee.

    SpecificationXbee Znet 2.5 Xbee PRO Xnet 2.5

    Indoor/Urban Range Up to 133ft. (40 m) Up to 300 ft. (100 m)Outdoor RF line-of-sight Range Up to 400 ft. (120 m) Up to 1 mile (1.6 Km)

    Transmit Power Output

    2mW (+3dBm), boost modeenabled1.25mW (+1dBm), boost

    mode disabled

    63mW (+18dBm)10mW (+10 dBm) forinternational variant

    RF Data Rate 250,000 bps 250,000 bpsSerial Interface Data Rate(software selectable)

    1200230400 bps(non-standart baud rates alsosupported)

    1200230400 bps(non-standart baud rates alsosupported)

    Receiber Sensitivity -96 dBm, boost modeenabled-95 dBm, boost modedisabled

    -102 dBm

    En la tabla 2.3 vemos las prestaciones que ofrecen ambos mdulos. Las Xbee

    Pro ganan en cuanto al alcance de las transmisiones a cambio de tener una potenciade salida bastante mayor. En cuanto a velocidades de transmisin, ambas son

    semejantes a 250 kbps.

    Por otro lado, por lo que se refiere a las caractersticas tcnicas (ver tabla 2.4),

    podemos ver como las Xbee Pro tienen como desventaja, unos rangos de tensin

    mucho menores (las Xbee Pro slo operan entre 3 y 3,4V y las Xbee entre 2.1 y

    3.6V) que las Xbee. Otro factor en contra de las Xbee Pro es su mayor consumo (295

    mA en la transmisin de datos de las Xbee Pro frente a unos 40 mA en las Xbee, y

    45 mA en la recepcin para las Xbee Pro frente a 40 mA en las Xbee), esto hace que

    el tiempo de vida de las bateras en las Xbee Pro sea mucho menor, tanto por el

    menor margen de tensin como por los elevados consumos a los que se somete a la

    batera.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    30/126

    II. MARCO TEORICO

    29

    Tabla 2.4 Comparativa de prestaciones entre Xbee.Specification Xbee Znet 2.5 Xbee PRO Znet 2.5

    Power RequirementsSupply Voltage 2.13.6 Volts 3.03.4 VOperating Current (Transmit,

    max output power)

    40mA (@3.3 V, boost mode enable)

    35 mA(@3.3 V, boost mode enable)

    295mA (@3.3 V)

    Operating Current (Receive) 40mA (@3.3 V, boost mode enable)38 mA(@3.3 V, boost mode enable)

    45 mA (@3.3V)

    Idle Current (Receiber off) 15 mA 15 mAPower-down Current

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    31/126

    II. MARCO TEORICO

    30

    de fibra de vidrio reforzada, cermica o plstico) sobre las cuales aparecen

    laminadas (pegadas) pistas de material conductor (normalmente cobre). Las PCBs

    se utilizan para conectar elctricamente, a travs de los caminos conductores,

    diferentes componentes electrnicos soldados a ella. Una PCB es la forma mscompacta y estable de construir un circuito electrnico (en contraposicin a una

    breadboard, perfboard o similar) pero, al contrario que estas, una vez fabricada, su

    diseo es bastante difcil de modificar. As pues, la placa Arduino no es ms que una

    PCB que implementa un diseo de circuitera interna.

    No obstante, cuando hablamos de placa Arduino, deberamos especificar el

    modelo concreto, ya que existen varias placas Arduino oficiales, cada una con

    diferentes caractersticas (como el tamao fsico, el nmero de pines-hembraofrecidos, el modelo de microcontrolador incorporado y como consecuencia, entre

    otras cosas, la cantidad de memoria utilizable, etc.). Conviene conocer estas

    caractersticas para identificar que placa Arduino es la que nos convendr ms en

    cada proyecto.

    Un software (ms en concreto, un entorno de desarrollo) gratis, libre y

    multiplataforma (ya que funciona en Linux, MacOS y Windows) que debemos

    instalar en nuestro ordenador y que nos permite escribir, verificar y guardar (cargar)

    en la memoria del microcontrolador de la placa Arduino el conjunto de instrucciones

    que deseamos que este empiece a ejecutar. Es decir: nos permite programarlo. La

    manera estndar de conectar nuestro computador con la placa Arduino para poder

    enviarle y grabarle dichas instrucciones es mediante un simple cable USB, gracias a

    que la mayora de placas Arduino incorporan un conector de este tipo.

    Los proyectos Arduino pueden ser autnomos o no. En el primer caso, una

    vez programado su microcontrolador, la placa no necesita estar conectada a ningncomputador y puede funcionar autnomamente si dispone de alguna fuente de

    alimentacin. En el segundo caso, la placa debe estar conectada de alguna forma

    permanente (por cable USB, por cable de red Ethernet, etc.) a un computador

    ejecutando algn software especfico que permita la comunicacin entre este y la

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    32/126

    II. MARCO TEORICO

    31

    placa y el intercambio de datos entre ambos dispositivos. Este software especfico lo

    deberemos programar generalmente nosotros mismos mediante algn leguaje de

    programacin estndar como Python, C, Java, Php, etc., y ser necesario

    independiente completamente del entorno de desarrollo Arduino, el cual no senecesitara ms, una vez que la placa ya haya sido programada y est en

    funcionamiento.

    Un lenguaje de programacin libre. Por lenguaje de programacin se

    entiende cualquier idioma artificial diseado para expresar instrucciones (siguiendo

    unas determinadas reglas sintcticas) que pueden ser llevadas a cabo por maquinas.

    Concretamente dentro del leguaje Arduino, encontramos elementos parecidos a

    muchos otros leguajes de programacin existentes (como bloques condicionales, losbloques repetitivos, las variables, etc.), as como tambin diferentes comandos

    asimismo llamados ordenes o funciones que nos permiten especificar de una

    forma coherente y sin errores las instrucciones exactas que queremos programar en

    el microcontrolador de la placa. Estos comandos los escribimos mediante el entorno

    de desarrollo Arduino.

    2.3.1 Por Qu Elegir Arduino?

    Existen muchas otras placas de diferentes fabricantes que, aun que incorporan

    diferentes modelos de microcontroladores, son comparables y ofrecen una

    funcionalidad ms o menos similar a la de las placas Arduino. Todas ellas tambin

    vienen acompaadas de un entorno de desarrollo agradable y cmodo y de un

    lenguaje de programacin sencillo y completo. No obstante, la plataforma Arduino

    (hardware + software) ofrece una serie de ventajas:

    Arduino es libre y extensible:Esto quiere decir que cualquiera que desee

    ampliar y mejorar tanto el diseo hardware de las placas como el entorno de

    desarrollo software y el propio lenguaje de programacin, puede hacerlo sin

    problemas. Esto permite que exista un rico ecosistema de extensiones, tanto

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    33/126

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    34/126

    II. MARCO TEORICO

    33

    2.3.2 El Modelo Del Microcontrolador

    El microcontrolador que lleva la placa Arduino UNO es el modelo ARmega328P de la

    marca Atmel. La P del final significa que este chip incorpora la tecnologaPicopower (propietaria de Atmel), la cual permite un consumo elctrico

    sensiblemente menor comparndolo con el modelo equivalente sin Picopower, el

    ATmega328 (sin la P). De todas formas, aunque el ATmega328P pueda trabajar a

    un voltaje menor y consumir menos corriente que el ATmega328 (especialmente en

    los modos de hibernacin), ambos modelos son funcionalmente idnticos.

    Al igual que ocurre con el resto de microcontroladores usados en otras placas

    Arduino, el ATmega328P tiene una arquitectura de tipo AVR, arquitectura

    desarrollada por Atmel y en cierta medida competencia de otras arquitecturas como

    por ejemplo PIC del fabricante Microchip. Ms concretamente, el ATmega328P

    pertenece a la subfamilia de microcontroladores megaAVR. Otras subfamilias de la

    arquitectura AVR son la tinyAVR (cuyos microcontroladores son ms limitados y se

    identifican con el nombre de ATtiny) y la XMEGA (cuyos microcontroladores son

    ms capaces y se identifican con el nombre de ATxmega).

    Cada modelo de microcontrolador tiene un nmero y ubicacin de pines

    diferente, en nuestro caso concreto deberemos tener a la mano la disposicin depines del ATmega328P. La figura 2.5 muestra esta disposicin en el encapsulado de

    tipo DIP.

    Figura 2.5 Microcontrolador ATmega328P

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    35/126

    II. MARCO TEORICO

    34

    Observando la imagen se puede saber que pin es el que recibe la

    alimentacin elctrica (sealado como VCC), que dos pines estn conectados a

    tierra (los sealados como GND), que pines son los de E/S (sealados como PBx,

    PCx o PDx) y la existencia de otros pines ms especficos como el AVCC (donde serecibe la alimentacin suplementaria para el convertidor analgico-digital interno del

    chip) o el AREF (donde se recibe la referencia analgica para dicho convertidor).

    Tambin se puede observar que junto el nombre de los pines E/S se indica entre

    parntesis las funciones especializadas que cada uno de ellos tiene en particular

    (adems de su funcin genrica de entrada/salida).

    2.3.3 Memorias Del Microcontrolador

    Otra cosa que hay que saber de los microcontroladores son los tipos y

    cantidades de memoria que alojan en su interior. En el caso del ATmega328P

    tenemos:

    Memoria Flash: memoria persistente donde se almacena permanentemente

    el programa que ejecuta el microcontrolador (hasta una nueva reescritura si se da el

    caso). En el caso del ATmega328P tiene una capacidad de 32KB.En los microcontroladores que vienen incluidos en la placa Arduino no

    podemos usar toda la capacidad de la memoria Flash porque existen 512 bytes (el

    llamado bootloader o gestor de arranque), el cual nos permite usar la placa

    Arduino de una forma ms sencilla y cmoda sin tener que conocer las interioridades

    electrnicas ms avanzadas del microcontrolador. Los ATmega328P que podamos

    adquirir individualmente normalmente no incluyen de fbrica este pequeo programa,

    por lo que si ofrecen los 32KB ntegros, pero a cambio no podremos conectarlos a

    una placa Arduino y que funcionen sin ms ya que les faltara tener grabada esa

    preconfiguracin.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    36/126

    II. MARCO TEORICO

    35

    Memoria SRAM: memoria voltil donde se alojan los datos que en ese

    instante el programa (grabado separadamente en la memoria flash, recordemos)

    necesita crear o manipular para su correcto funcionamiento. Estos datos suelen tener

    un contenido variable a lo largo del tiempo de ejecucin del programa y cada uno esde un tipo concreto (es decir, un dato puede contener un valor numrico entero, otro

    un numero decimal, otro un valor de tipo carcter, tambin pueden ser cadenas de

    texto fijas u otros tipos de datos ms especiales). Independientemente del tipo de

    dato, su valor siempre ser eliminado cuando se deje de alimentar elctricamente al

    microcontrolador. En el caso del ATmega328P esta memoria tiene una capacidad de

    2KB.

    Memoria EEPROM:memoria persistente donde se almacenan datos que sedesea que permanezcan grabados una vez apagado el microcontrolador para

    podelos usar posteriormente en siguientes reinicios. En el caso del ATmega328P

    esta memoria tiene una capacidad de 1KB, por lo que se puede entender como una

    tabla de 1024 posiciones de un byte cada una.

    2.3.4 Protocolos De Comunicacin I2C/TWI Y SPI

    Cuando se desea transmitir un conjunto de datos desde un componente electrnico aotro, se puede hacer de mltiples formas. Una de ellas es estableciendo una

    comunicacin serie; en este tipo de comunicacin la informacin es transmitida bit a

    bit en cada momento. Otra manera de transferir datos es mediante la llamada

    comunicacin paralela, en la cual se envan varios bits simultneamente, cada uno

    por un canal separado y sincronizado con el resto.

    El microcontrolador, a travs de algunos de sus pines de E/S, utiliza el sistema

    de comunicacin serie para transmitir y recibir rdenes y datos hacia/desde otros

    componentes electrnicos. Esto es debido sobre todo a que en una comunicacin

    serie solo se necesita en teora un nico canal (un nico cable), mientras que en

    una comunicacin en paralelo se necesitan varios cables, con el correspondiente

    incremento de complejidad, tamao y coste del circuito.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    37/126

    II. MARCO TEORICO

    36

    No obstante, no podemos hablar de un solo tipo de comunicacin serie.

    Existen muchos protocolos y estndares diferentes basados todos ellos en la

    transferencia de informacin en serie, pero implementando de una forma diferente

    cada uno los detalles especficos (como el modo de sincronizacin entre emisor yreceptor, la velocidad de transmisin, el tamao de los paquetes de datos, los

    mensajes de conexin y desconexin y de dar paso al otro en el intercambio de

    informacin, voltajes utilizados, etc.). De entre el gran nmero de protocolos de

    comunicacin serie reconocidos por la inmensidad variedad de dispositivos

    electrnicos del mercado, los que nos interesan conocer son los que el ATmega328P

    es capaz de comprender y por tanto, los que podr utilizar para contactar con esa

    variedad de perifricos. En este sentido, los estndares ms importantes son:

    I2C(Inter-integrated Circuit, tambin conocido con el nombre de TWIde TWo-wIre,

    literalmente dos cables en ingls): es un sistema muy utilizado en la industria

    principalmente para comunicar circuitos integrados entre s. Su principal

    caracterstica es que utiliza dos lneas para transmitir la informacin: una (llamada

    SDA) sirve para transferir los datos (los 0s y los 1s) y la otra (llamada lnea SCL)

    sirve para enviar la seal de reloj. En realidad se necesitaran dos lneas ms: la de

    alimentacin y la de tierra comn, pero estas ya se presuponen existentes en el

    circuito. En la figura 2.6 se muestran las seales de las lneas SDA y SCL

    correspondientes a este tipo de protocolo de comunicacin.

    Figura 2.6 Estructura logia bsica I2C

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    38/126

    II. MARCO TEORICO

    37

    Por seal de reloj se entiende una seal binaria de una frecuencia peridica

    muy precisa que sirve para coordinar y sincronizar los elementos integrantes de una

    comunicacin (es decir, los emisores y receptores) de forma que todos sepan cuando

    empieza, cunto dura y cuando acaba la transferencia de informacin. En hojastcnicas y diagramas a la seal de reloj en general se le suele describir como CLK

    (del ingls clock).

    Cada dispositivo conectado al bus I2C tiene una direccin nica que lo

    identifica respecto el resto de dispositivos, y que puede estar configurado como

    maestro o como esclavo. Un dispositivo maestro es el que inicia la transmisin de

    datos y adems genera la seal de reloj, pero no es necesario que el maestro seasiempre el mismo dispositivo: esta caracterstica se la pueden ir intercambiando

    ordenadamente los dispositivos que tengan esa capacidad.

    Figura 2.7 Estructura bsica I2C

    Tal como se muestra en el diagrama de la figura 2.7, para funcionar

    correctamente tanto la lnea SDA como la SCL necesitan estar conectadas

    mediante una resistencia pull-up a la fuente de alimentacin comn, la cual puede

    proveer un voltaje generalmente de 5V o 3.3V (aunque sistemas con otros voltajes

    pueden ser posibles).

    La velocidad de transferencia de datos es de 100 Kbits por segundo en el

    modo estndar (aunque tambin se permiten velocidades de hasta 3.4 Mbit/s). No

    obstante, al haber una nica lnea de datos, la transmisin de informacin es half

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    39/126

    II. MARCO TEORICO

    38

    dplex (es decir, la comunicacin solo se puede establecer en un sentido al mismo

    tiempo) por lo que en el momento que un dispositivo empiece a recibir un mensaje,

    tendr que esperar a que el emisor deje de transmitir para poder responderle.

    SPI (Serial Pripherial Interface): al igual que el sistema I2C, el sistema decomunicacin SPI es un estndar que permite controlar (a cortas distancias) casi

    cualquier dispositivo electrnico digital que acepte un flujo de bits serie conectado al

    bus SPI puede ser maestro en ingls, master o esclavo en ingls, slave-,

    donde el primero es el que inicia la transmisin de datos y adems genera la seal

    de reloj (aunque, como con I2C, con SPI tampoco es necesario que el maestro sea

    siempre el mismo dispositivo) y el segundo se limita a responder.

    La mayor diferencia entre el protocolo SPI y el I

    2

    C es que el primero requierede cuatro lneas (cables) en vez de dos. Una lnea (llamada normalmente SCK)

    enva a todos los dispositivos la seal de reloj generada por el maestro actual;

    (llamada normalmente SS) es la utilizada por ese maestro para elegir en cada

    momento con que dispositivo esclavo se quiere comunicar de entre los varios que

    puedan estar conectados (ya que solo pueden transferir datos con un solo esclavo a

    la vez); otra (llamada normalmente MOSI) es la lnea utilizada para enviar datos -0s

    y 1s- desde el maestro hacia el esclavo elegido; y la otra (llamada normalmente

    MISO) es la utilizada para enviar los datos en sentido contrario: la respuesta de ese

    esclavo al maestro. Es fcil ver que, al haber dos lneas para los datos la transmisin

    de datos es full dplex (es decir, que la informacin puede ser transportada en

    ambos sentidos a la vez).

    En las siguientes figuras se muestra el esquema de lneas de comunicacin

    existentes entre un maestro y un esclavo y entre un maestro y tres esclavos

    respectivamente. Se puede observar que, para el caso de la existencia de varios

    esclavos es necesario utilizar una lnea SS diferente por cada una de ellos, ya queesta lnea es la que sirve para activar el esclavo concreto que en cada momento el

    maestro desee utilizar (esto no pasa con las lneas de reloj, MOSI y MISO, que

    son compartidas por todos los dispositivos). Tcnicamente hablando, el esclavo que

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    40/126

    II. MARCO TEORICO

    39

    reciba por su lnea SS un valor de voltaje BAJO ser el que est seleccionado en ese

    momento por el maestro, y los que reciban el valor ALTO no lo estarn.

    Figura 2.8 Estructura bsica SPI

    Como se puede ver en la Figura 2.8, el protocolo SPI respecto el I2C tiene la

    desventaja de exigir al microcontrolador dedicar muchos ms pines de E/S a la

    comunicacin externa. En cambio, como ventaja podemos destacar que es ms

    rpido y consume menos energa que I

    2

    C.La disposicin de pines del microcontrolador ATmega328P, los pines

    correspondientes a las lneas I2C SDA y SCL son los nmeros 27 y 28,

    respectivamente, y los pines correspondientes a las lneas SPI SS, MOSI, MISO y

    SCK son los nmeros 16, 17, 18 y 19, respectivamente. Si se necesitaran ms lneas

    SS (por que haya ms de un dispositivo esclavo conectado en nuestro circuito), se

    podra utilizar cualquier otro pin E/S siempre que respete el convenio de poner el

    valor de su voltaje de salida a BAJO cuando se desee trabajar con el dispositivo

    esclavo asociado y poner a ALTO el resto de los pines SS.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    41/126

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    42/126

    II. MARCO TEORICO

    41

    La placa Arduino UNO R3 dispone de un chip que realiza esta funcin de

    traductor del protocolo USB a un protocolo serie ms sencillo (y viceversa). Ese chip

    es ATmega16U2 (figura 2.9). El ATmega16U2 es todo un microcontrolador en si

    mismo (con su propia CPU, con su propia memoria - tiene por ejemplo 16 Kbytes dememoria flash para su uso interno, de ah su nombre -, etc.) y por tanto podra

    realizar muchas ms tareas que no solo la traduccin del protocolo USB. De hecho

    es tcnicamente posible desprogramarlo para que haga otras cosas y convertir asi la

    placa Arduino en virtualmente cualquier tipo de dispositivo USB conectado a nuestro

    computador (un teclado, un ratn, un dispositivo MIDI). No obstante, por defecto el

    ATmega16U2 que viene incluido en la placa Arduino viene ya con el firmware pre-

    programado para realizar exclusivamente la funcin interprete al ATmega328P y yaest.

    Este firmware es software libre por lo que se puede acceder a su cdigo

    fuente y tambin est disponible su correspondiente fichero .hex, dentro del

    conjunto de ficheros descargados, junto con el entorno de desarrollo oficial de

    Arduino (concretamente, dentro de la carpeta firmwaresdentro de hardware).

    En modelos de la placa Arduino anteriores al UNO (como el modelo NG,

    Diecimila o el Duemilanove) el chip ATmega16U2 no vena: en su lugar apareca un

    circuito conversor de USB a serie del fabricante FTDI, concretamente el FT232RL.

    Una ventaja de ver sustituido el FT232RL por el ATmega16U2 es el precio. Otra

    ventaja es tener la posibilidad (si somos usuarios avanzados, tal como hemos

    comentado ya) de reprogramar el ATmega16U2 para que en vez de funcionar como

    un simple conversor USB-SERIE pueda disimular ser cualquier otro dispositivo USB,

    que, por ejemplo, con el FT232RL no podemos porque est pensado para ser tan

    solo una funcin para la que fue construido.

    El ATmega16U2 viene acompaado en la placa Arduino por un reloj osciladorde cristal, de uso exclusivo para l, que sirve para mantener la sincronizacin con la

    comunicacin USB.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    43/126

    II. MARCO TEORICO

    42

    2.3.6 Las Entradas y Salidas Digitales.

    La placa Arduino dispone de 14 pines-hembra de entradas o salidas (segn lo

    convenga) digitales, numeradas desde la 0 hasta la 13. Es aqu donde conectaremosnuestros sensores para que la placa pueda recibir datos del entorno, y tambin

    donde conectaremos los actuadores para que la placa pueda enviarles las ordenes

    pertinentes, adems de poder conectar cualquier otro componente que necesite

    comunicarse con la placa de alguna manera, a veces a estos pines-hembra digitales

    de propsito general se les llama pines GPIO (de General Purpose Input/Output).

    Todos estos pines-hembra digitales funcionan a 5 volts, pueden proveer un

    mximo de 40 mA y disponen de una resistencia pull up interna de entre 20 K y

    50K que inicialmente esta desconectada (salvo que nosotros indiquemos lo

    contrario mediante conexin software).

    Hay que tener en cuenta, no obstante, que aun que cada pin individual pueda

    proporcionar hasta 40 mA como mximo en realidad, internamente la placa agrupa

    los pines digitales de tal forma que tan solo pueda aportar 100 mA a la vez el

    conjunto de los pines nmero 0, 1, 2, 3 y 4, y 100 mA ms el resto de los pines (del 5

    al 13). Esto quiere decir que como mucho podramos tener 10 pines ofreciendo 20

    mA a la vez.

    2.3.7 Las entradas analgicas

    La placa Arduino dispone de 6 entradas analgicas (en forma de pines-

    hembra etiquetados como "A0", "A1"... hasta "A5") que pueden recibir voltajes dentro

    de un rango de valores continuos de entre 0 y 5 V. No obstante, la electrnica de la

    placa tan solo puede trabajar con valores digitales, por lo que es necesaria una

    conversin previa del valor analgico recibido a un valor digital lo ms aproximado

    posible. Esta se realiza mediante un circuito conversor analgico/digital incorporado

    en la propia placa.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    44/126

    II. MARCO TEORICO

    43

    El circuito conversor es de 6 canales (uno por cada entrada) y cada cana

    dispone de 10 bits (los llamados "bits de resolucin") para guardar el valor del voltaje

    convertido digitalmente.

    En general, la cantidad de bits de resolucin que tiene un determinado

    conversor analgico/digital es lo que marca en gran medida el grado de precisin

    conseguida en la conversin de seal analgica a digital, ya que cuantos ms bits de

    resolucin tenga, ms fiel ser la transformacin. Por ejemplo, en el caso concreto

    del conversor incorporado en la placa Arduino, si contamos el nmero de

    combinaciones de 0s y 1s que se pueden obtener con 10 posiciones, vemos que hay

    un mximo de 2

    10

    (1024) valores diferentes posibles. Por tanto, la placa Arduinopuede distinguir para el voltaje digital desde el valor 0 hasta el valor 1023. Si el

    conversor tuviera por ejemplo 20 bits de resolucin, la variedad de valores digitales

    que podra distinguir sera muchsimo ms grande (220= 1048576) y podra afinar la

    precisin mucho ms.

    Esto es fcil verlo si dividimos el rango analgico de entrada (5 V - 0V = 5 V

    entre el nmero mximo posible de valores digitales (1024). Obtendremos que cada

    valor digital corresponde a una "ventana" analgica de aproximadamente 5V/1024=5

    mV. En otras palabras: todos los valores analgicos dentro de cada rango de 5 mV

    (desde 0 a 5 V) se "colapsan" sin distincin en un nico valor digital (desde 0 a

    1023). As pues, no podremos distinguir valores analgicos distanciados por menos

    de 5 mV.

    En muchos de nuestros proyectos ya nos es suficiente este grado de

    precisin, pero en otros puede que no. Si el conversor analgico/digital tuviera ms

    bits de resolucin, el resultado de la divisin rango_analgico_entrada/nmero_

    valores_digitales sera menor, y por tanto la conversin sera ms rigurosa. Pero

    como no se pueden aumentar los bits de resolucin del conversor de la placa, si

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    45/126

    II. MARCO TEORICO

    44

    queremos ms exactitud se ha de optar por otra solucin: en vez de aumentar el

    denominador de la divisin anterior, se puede reducir su numerador (es decir, el

    rango analgico de entrada, o ms especficamente, su lmite superior -por defecto

    igual a 5 V-, ya que el inferior es 0). Este lmite superior en la documentacin oficialse suele nombrar como "voltaje de referencia".

    La manera prctica y concreta de reducir el voltaje de referencia del conversor

    analgico/digital de la placa Arduino no la podemos explicar todava porque an nos

    faltan los conocimientos necesarios para poder llevar a cabo todo el proceso.

    Por ltimo, decir que estos pines-hembra de entrada analgica tienen tambintoda la funcionalidad de los pines de entrada-salida digitales. Es decir, que si en

    algn momento necesitamos ms pines-hembra digitales ms all de los 14 que la

    placa Arduino ofrece (del 0 al 13), los 6 pines-hembra analgicos pueden ser usados

    como unos pines-hembra digitales ms (numerndose entonces del 14 al 19) sin

    ninguna distincin. Enseguida, a manera de resumen en la tabla 2.5 podrn

    visualizar las principales caractersticas de nuestro microcontrolador receptor.

    Tabla 2.5Caractersticas tcnicas de Arduino.

    Parmetro Dato

    Voltaje operativo 5 V

    Voltaje de entrada recomendado 7-12 V

    Voltaje de entrada lmite 6-20 V

    Pines de entrada y salida digital 14 (6 proporcionan PWM)

    Pines de entrada analgica 6

    Intensidad de corriente 40 mA

    Memoria Flash 32KB (2KB reservados para el bootloader)

    SRAM 2 KB

    EEPROM 1 KB

    Frecuencia de reloj 16 MHz

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    46/126

    II. MARCO TEORICO

    45

    2.3.8 Otros Usos De Los Pines-Hembra De La Placa

    Existen determinados pines-hembra de entrada/salida digitales, que adems de su

    funcin estndar, tienen otras funciones especializadas. Por ejemplo:

    Pin 0 (RX) y pin 1 (TX): permiten que el microcontrolador ATmega328P pueda

    recibir directamente datos en serie (por el pin RX) o transmitirlos (por el pin TX) sin

    pasar por la conversin USB-Serie que realiza el chip ATmega16U2. Es decir, estos

    pines posibilitan la comunicacin sin intermediarios de dispositivos externos con el

    receptor/transmisor serie (de tipo TTL-UART) que incorpora el propio ATmega328P.

    De todas maneras, estos pines estn internamente conectados (mediante

    resistencias de 1 K) al chip ATmega16U2, por lo que los datos disponibles en el

    USB tambin lo estarn en estos pines.

    Hay que aclarar que en la placa estn incrustados un par de LEDs etiquetados

    como RX y TX, pero que, a pesar de su nombre, no se encienden cuando se

    reciben o transmiten datos de los pines 0 y 1, sino solamente cuando se reciben o

    transmiten datos provenientes de la conexin USB a travs del chip ATmega16U2.

    Pines 2 y 3:se pueden usar, con la ayuda de programacin software, para gestionar

    interrupciones. No obstante, este tema es relativamente avanzado y no lo

    abordaremos en este libro.

    Pines 10 (SS), 11 (MOSI), 12 (MISO) y 13 (SCK): se pueden usar para conectar

    algn dispositivo con el que se quiera llevar a cabo comunicaciones mediante el

    protocolo SPI. Estudiaremos casos concretos ms adelante.

    Pin 13: este pin est conectado directamente a un LED incrustado en la placa

    (identificado con la etiqueta "L") de forma que si el valor del voltaje recibido por este

    pin es ALTO (HIGH), el LED se encender, y si dicho valor es BAJO (LOW), el LED

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    47/126

    II. MARCO TEORICO

    46

    se apagar. Es una manera sencilla, y rpida de detectar seales de entradas

    externas sin necesidad de disponer de ningn componente extra.

    Tambin existen un par de pines-hembra de entrada analgica que tienen unafuncin extra adems de la habitual:

    Pines A4 (SDA) y A5 (SCL):se pueden usar para conectar algn dispositivo con el

    que se quiera llevar a cabo comunicaciones mediante el protocolo l2C/TWI. La placa

    Arduino ofrece (por una simple cuestin de comodidad y ergonoma) una duplicacin

    de estos dos pines-hembra en los dos ltimos pines-hembra tras el pin "AREF", los

    cuales estn sin etiquetar porque no hay ms espacio fsico.

    Finalmente, a lo largo de la placa existen diferentes pines-hembra no

    comentados todava que no funcionan ni como salidas ni como entradas porque

    tienen un uso muy especfico y concreto:

    Pin AREF:ofrece un voltaje de referencia externo para poder aumentar la precisin

    de las entradas analgicas. Estudiaremos su uso prctico en el captulo 6.

    Pin RESET: si el voltaje de este pin se establece a valor BAJO (LOW), el

    microcontrolador se reiniciar y se pondr en marcha el bootloader. Para realizar

    esta misma funcin, la placa Arduino ya dispone de un botn, pero este pin ofrece la

    posibilidad de aadir otro botn de reinicio a placas supletorias (es decir, placas que

    se conectan encima de la placa Arduino para ampliarla y complementarla), las cuales

    por su colocacin puedan ocultar o bloquear el botn de la placa Arduino.

    Pin IOREF:en realidad este pin es una duplicacin regulada del pin "Vin". Su funcin

    es indicar a las placas supletorias conectadas a nuestra placa Arduino el voltaje al

    que trabajan los pines de entrada/salida de esta, para que las placas supletorias se

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    48/126

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    49/126

    II. MARCO TEORICO

    48

    2.3.9 Arduino Mega 2560

    Placa basada en el microcontrolador ATmega2560. Como caractersticas ms

    destacables diremos que tiene 54 pines de entrada/salida digitales (de los cuales 14

    pueden ser usados como salidas analgicas PWM), 16 entradas analgicas y 4

    receptores/transmisores serie TTL-UART. Consta de una memoria Flash de 256

    Kilobytes (de los cuales 8 estn reservados para el bootloader), una memoria SRAM

    de 8 KB y una EEPROM de 4 KB. Su voltaje de trabajo es igual al del modelo UNO:

    5V.

    En la seccin correspondiente a esta placa dentro de la web oficial de Arduino

    podemos descargarnos los ficheros del diseo esquemtico de la placa en PDF, los

    ficheros del diseo de la PCB en el formato propio del programa EAGLE y una

    imagen ilustrativa del mapeado de los pines del microcontrolador con relacin a los

    pines de la placa. Tambin nos podemos descargar la documentacin oficial del

    microcontrolador ATmega2560.

    La placa Arduino Mega tiene tres puertos adicionales de serie: Serial1en los

    pines 19 (RX) y 18 (TX), Serial2en los pines 17 (RX) y 16 (TX), Serial3en los pines

    15 (RX) y 14 (TX). Para utilizar estos pines para comunicarse con el ordenador

    personal, necesitars un adaptador USB adicional a serie, ya que no estnconectados al adaptador USB-Serie de la placa Arduino Mega.

    Figura 2.11 Puertos seriales del Arduino MEGA

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    50/126

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    51/126

    II. MARCO TEORICO

    50

    hay que escribir el texto deseado en la caja de texto que aparece en su parte

    superior y clicar en el botn "Send" (o pulsar Enter). Aunque, evidentemente, no

    servir de nada este envo si la placa no est programada con un sketch que sea

    capaz de obtener estos datos y procesarlos. Por otro lado, los datos recibidosprovenientes de la placa sern mostrados en la seccin central del "Serial monitor",

    tal como se muestra en la figura 2.12.

    Figura 2.12 Monitor Serial

    Es importante elegir mediante la caja desplegable de la parte inferior derecha

    del "Serial monitor" la misma velocidad de transmisin (en bits/s, tambin llamados

    "baudios") que la que se haya especificado en el sketch ejecutado en la placa,

    porque si no, los caracteres transferidos no sern reconocidos correctamente y la

    comunicacin no tendr sentido.

    Tambin es importante recordar que en sistemas MacOSX y Linux la placa

    Arduino UNO se auto resetea (es decir, recomienza a ejecutar el sketch desde el

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    52/126

    II. MARCO TEORICO

    51

    principio) cada vez que abrimos el "Serial monitor" y conectamos con ella. Esto con

    la placa Leonardo no ocurre.

    No solo mediante el "Serial monitor" podemos comunicarnos mediante una

    conexin serie (a travs de USB) con la placa. Se puede utilizar cualquier otro

    programa que permita enviar y recibir datos a travs de conexiones de este tipo.

    Estos programas se suelen denominar "terminales serie". En los repositorios de

    Ubuntu y Fedora (y de la mayora de distribuciones Linux) podemos encontrar varios,

    como "gtkterm", "cutecom", "picocom" o "minicom", entre otros. El "Serial monitor" es

    una ventana del IDE que nos permite desde nuestro computador enviar y recibir

    datos textuales a la placa Arduino usando el cable USB (ms exactamente, mediante

    una conexin serie). Para enviar datos, simplemente hay que escribir el textodeseado en la caja de texto que aparece en su parte superioi y clicar en el botn

    "Send" (o pulsar Enter). Aunque, evidentemente, no servir de nada este envo si la

    placa no est programada con un sketch que sea capaz de obtener estos datos y

    procesarlos. Por otro lado, los datos recibidos provenientes de la placa sern

    mostrados en la seccin central del "Serial monitor".

    Es importante elegir mediante la caja desplegable de la parte inferior derech;

    del "Serial monitor" la misma velocidad de transmisin (en bits/s, tambin llamado:

    "baudios") que la que se haya especificado en el sketch ejecutado en la placa,

    porque si no, los caracteres transferidos no sern reconocidos correctamente y I;

    comunicacin no tendr sentido.

    Tambin es importante recordar que en sistemas MacOSX y Linux la plac;

    Arduino UNO se auto resetea (es decir, recomienza a ejecutar el sketch desde e

    principio) cada vez que abrimos el "Serial monitor" y conectamos con ella. Esto con I;

    placa Leonardo no ocurre.

    No solo mediante el "Serial monitor" podemos comunicarnos mediante un;

    conexin serie (a travs de USB) con la placa. Se puede utilizar cualquier otrc

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    53/126

    II. MARCO TEORICO

    52

    programa que permita enviar y recibir datos a travs de conexiones de este tipo

    Estos programas se suelen denominar "terminales serie". En los repositorios de

    Ubuntu y Fedora (y de la mayora de distribuciones Linux) podemos encontrar varios

    como "gtkterm", "cutecom", "picocom" o "minicom", entre otros.

    2.5 Xbee Shields

    Adems de las placas Arduino propiamente dichas, tambin existen los llamados

    shields (en ingls significa escudo) no es ms que una placa de circuito impreso

    que se coloca en la parte superior de la placa de Arduino y se conecta a ella

    mediante el acoplamiento de sus pines sin necesidad de ningn cable. Su funcin esactuar como placas supletorias, ampliando las capacidades y complementando la

    funcionalidad de la placa Arduino base de una forma ms compacta y estable.

    Dependiendo el modelo, incluso se pueden apilar varios shields uno encima

    de otro. Esto depender de si el shield inferior ofrece pines-hembra para poder

    acoplarlos a los pines sobresalientes del dorso del shield superior.

    Normalmente, los shields comparten las lneas GND, 5 volts (0 3.3 Volts)

    RESET o AREF con la placa de Arduino, y adems suelen monopolizar el uso de

    algunos pines de entrada/salida para su propia comunicacin con ella, por lo que

    estos quedan inutilizados para cualquier otro uso. Por ejemplo, si se acoplan varios

    shields uno sobre otroy todos se comunican mediante SPI con la placa Arduino,

    todos ellos podrn utilizar sin problemas los pines comunes correspondientes a las

    lneas MISO, MOSI y SCLK, pero cada una de ellos deber usan un pin diferente

    como la lnea CS.

    Por otro lado, hay que tener en cuenta los requerimientos de alimentacin

    elctrica que necesitan los shields. Ya sabemos que una placa Arduino recibealrededor de 500 mA (ya sea mediante conexin USB o mediante conexin Jack

    externa), por lo que la corriente que queda para el funcionamiento de un posible

    shield es pequea. Ejemplos de shields que consumen mucho (de hasta 300 mA)

    son los que tienen pantallas LCD o los que proporcionan conectividad Wi-Fi.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    54/126

    II. MARCO TEORICO

    53

    Tambin hay que tener en cuenta si un shield determinado necesita una tensin de

    3.3 V.

    Existen literalmente centenares de shields construidos por la comunidad

    compatibles con la placa UNO que le aportan un plus de versatilidad, enseguida sehablara un poco sobre uno de ellos que se utiliz en la elaboracin de este proyecto.

    2.5.1 Arduino Wireless SD Shield

    Este shield est pensado para permitir a una placa Arduino UNO poderse comunicar

    inalmbricamente mediante el uso de un mdulo Xbee o similar. Esto permite

    establecer un enlace con otro dispositivo Xbee a una distancia de hasta unos 100metros en interior y de hasta unos 300 metros en exterior con lnea de visin directa.

    Igual que ocurre con el resto de shields oficiales, una vez conectado este

    shield sobre la placa UNO gracias a la ristra de pines que encaja perfectamente

    arriba y abajo, para nuestros circuitos utilizaremos a partir de entonces las entradas y

    salidas ofrecidas por los pines-hembra de este shield. Estas entradas y salidas tienen

    exactamente la misma disposicin y funcionalidad que las de la placa UNO e, incluso

    si fuese necesario, se podra conectar sin problemas un segundo shield en la parte

    superior de este shield.

    Este shields dispone de un conmutador etiquetado como Serial Select que

    sirve para determinar cmo se comunicara el mdulo Xbee con la placa Arduino

    sobre la que se encuentra. Si el conmutador est colocado en la posicin Micro, los

    datos recibidos por el mdulo Xbee llegaran sin intermediarios al microcontrolador

    (seal RX) y los datos enviados desde el microcontrolador (seal TX) serna

    transmitidos tanto hacia el modulo como hacia el posible conmutador que estconectado va USB. No obstante, en esa posicin el ATmega328P no podr ser

    programado a travs del USB.

    Si el conmutador est colocado en la posicin USB, el mdulo Xbee se

    comunicara directamente con el chip ATmega16U2 (suponiendo que estamos

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    55/126

    II. MARCO TEORICO

    54

    usando la placa UNO) ignorando completamente la presencia del microcontrolador

    ATmega328P. En esta posicin, el mdulo Xbee ser capaz de comunicarse

    directamente con un conmutador conectado va USB para poder ser configurado y

    utilizado con total independencia del resto de elementos de la placa Arduino. Noobstante, para que el modo USB pueda funcionar correctamente, hay que tener la

    precaucin de programar previamente el microcontrolador ATmega328P con un

    cdigo Arduino con sus funciones setup() y loop.

    Figura 2.13 Arduino Wireless SD Shield

    El shield mostrado en la figura 2.13 tambin incorpora un zcalo para colocar

    una tarjeta microSD, la cual se podr utilizar mediante la librera de programacin

    SD, que viene por defecto en el leguaje Arduino. Para poder comunicarse con esta

    tarjeta, la placa Arduino UNO utiliza el protocolo SPI, empleando para ello como

    pines SS el nmero 4, adems de los pines 11,12 y 13. Esto quiere decir que estos

    cuatro pines del shield no se podrn utilizar para otra cosa y por lo tanto, disponemosde 4 entradas/salidas digitales menos.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    56/126

    II. MARCO TEORICO

    55

    2.5.2 Caractersticas de las tarjetas SD

    Secure Digital (SD) es un formato de tarjeta de memoria no voltil diseada para ser

    usada en dispositivos porttiles (telfonos mviles, cmaras digitales, computadoresporttiles, etc.) cuya especificacin es mantenida por la SD Card Association

    (https://www.sdcard.org), entidad que engloba muchos fabricantes de hardware.

    El estndar SD incluye 4 "familias", las cuales son las siguientes (por orden

    cronolgico de aparicin): las tarjetas originales (SDSC -Standard capacity-); las

    tarjetas de alta capacidad (SDHC -High capacity- que permiten almacenar hasta 32

    Gbytes); las tarjetas de capacidad extendida (SDXC -Extended capacity- que

    permiten almacenar hasta 2048 GBytes); y las tarjetas que combinan

    almacenamiento de datos con funciones de entrada/salida (SDIO).

    Los dispositivos que alojan las tarjetas SD siempre son compatibles "hacia

    atrs" (es decir: si el dispositivo es compatible con SCXC, tambin lo ser con SCHC

    y SDSC, por ejemplo). No obstante, cada una de estas familias redefine sus

    conexiones internas, por lo que una tarjeta SCXC (por ejemplo) no puede ser

    utilizada dentro de dispositivos que no sean explcitamente compatibles con esa

    familia en concreto.

    Desgraciadamente, las tarjetas SDXC se comercializan pre-formateadas con

    el sistema de ficheros privativo y patentado exFAT de Microsoft, por lo que algunos

    dispositivos es posible que no sean capaces de leer su contenido. En estos casos,

    para que estas tarjetas sean reconocidas, se deben formatear con otro sistema de

    ficheros, generalmente FAT32. De hecho, la mayora de tarjetas SD de las otras

    familias se suelen adquirir en cualquier tienda local de electrnica ya formateadas en

    el sistema FAT32. El FAT32 es el sistema de ficheros ms extendido en tarjetas SD

    debido a que la gran mayora de aparatos electrnicos que utilizan este tipo detarjetas (cmaras, mviles, etc.) son capaces de reconocer este formato sin

    problemas.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    57/126

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    58/126

    II. MARCO TEORICO

    57

    algunas tarjetas SDHC y en casi todas las SDXC-, permite velocidades tericas de

    hasta aproximadamente 100 MBytes/s en su versin "I" y de hasta aproximadamente

    300 MBytes/s y en su versin "II", siempre y cuando el dispositivo donde se aloje la

    tarjeta en cuestin sea capaz de gestionar estas velocidades tambin.

    Como la mayora de los formatos de tarjeta de memoria, el SD est cubierto

    por numerosas patentes y marcas registradas, y solo se puede licenciar a travs de

    la SD Card Association. Para solucionar este problema, un mtodo comn es utilizar

    el modo SPI/MMC (que las tarjetas SD implementan siempre) para emular el

    comportamiento de las antiguas tarjetas MultiMediaCard. Concretamente, en este

    modo algunos de los pines de la tarjeta son usados como las lneas MOSI, MISO,

    SCK y SS del protocolo SPI (adems de usar otros pines para conexiones aalimentacin, tierra o nada). De esta forma se puede utilizar una conexin que,

    aunque ms lenta, es compatible con los puertos SPI de muchos microcontroladores.

    Otros modos de transferencia soportados por las tarjetas SD son el llamado modo

    "un-bit" (propietario) y el modo "cuatro-bit" (que soporta transferencias paralelas de

    cuatro bits, tambin propietario), los cuales utilizan los pines de la tarjeta de otra

    forma.

    Figura 2.15 Configuracin de las memorias SD y MicroSD

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    59/126

    II. MARCO TEORICO

    58

    2.6 LCD grfico de 128x64

    La mayora de los LCDs grficos usan un controlador como el KS0108 (o

    compatible). Cada controlador tiene una memoria de 512 bytes interna y por lo tanto

    permite controlar un display de 64x64 pxeles. El truco que usan los diplays ms

    grandes es usar un controlador por cada fraccin de la pantalla, es decir, un display

    de 128x64 tiene 2 controladores, un display de 196x64 tiene 3 controladores, y uno

    de 128x128 tiene 4 controladores. En la figura 2.16 podemos ver el diagrama a

    bloques correspondiente asi como tambin la imagen fsica del mismo en la figura

    2.18.

    Figura 2.16Diagrama a bloques del LCD 128X64

    Figura 2.17LCD grafico 128X64

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    60/126

    II. MARCO TEORICO

    59

    Cada controlador es independiente, es decir, no transmiten informacin entre

    ellos. Para elegir a qu controlador hablarle, se usan dos lneas de control, llamadas

    CS1 y CS2 (CS = Chip Select). Bsicamente acta como una "direccin" de 2 bits,

    que elige a cul de los 4 controladores posibles se desea hablar. El controlador notiene generador interno de fuentes, por lo que si se desea escribir un texto, ser

    necesario almacenar los pxeles de cada carcter en un microcontrolador o memoria

    externa. En la tabla 2.6 se hace la descripcin de cada uno de los pines de nuestro

    GLCD 128X64

    Tabla 2.6 Descripcin de Pines

    Pin No. Symbol Level Description

    1 Vdd 5.0 V Supply voltage for logic and LCD (+)

    2 Vss 0 V Ground

    3 V0 - Operating voltage for LCD (variable)

    4 ~ 11 DB0 ~ DB7 H/L Data bit 0~7

    12 CS1 L Chip select signal for IC1

    13 CS2 L Chip select signal for IC2

    14 /RES L Reset signal

    15 R/W H/L H: read (MUP< module),L: write (MPU >module)

    16 D/I H/L H: data, L: instruction code

    17 E H, H L Chip enable signal

    18 VEE - Operating voltage for LCD (variable)

    19 A 4.2 V Backlight power supply

    20 K 0 V Backlight power supply

    La mayora de los LCDs poseen internamente un generador de tensin negativa,

    necesario para manejar los segmentos propiamente dichos. Para controlar el

    contraste, es necesario usar un preset de 20 K, conectado entre VEE y VDD (en los

    extremos) y la pata del medio a V0. Las patas A y K estn conectadas a un LED

    interno, deberan ser conectadas a 5V y 0V correspondientemente, con una

    resistencia de 100-200 en serie para asegurarse de que el LED est protegido. El

    siguiente diagrama de la figura 2.18 muestra como alimentar el LCD y controlar el

    contraste del mismo.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    61/126

    II. MARCO TEORICO

    60

    Figura 2.18Configuracin para Alimentar el GLCD 128X64

    2.7 Sensor De Corriente. Descripcin

    El sensor de corriente es un dispositivo capaz de detectar la presencia de corriente

    elctrica (una lnea de alimentacin para el caso del sistema de control en estudio).

    Una vez detectada dicha corriente, el sensor transforma la medida de corriente enuna tensin; la cual es proporcional y representativa de la primera. Luego, este

    sensor enva esta seal representativa a su salida, la cual se emplear para enviar la

    seal a la unidad de procesamiento, para su respectivo anlisis.

    Para poder seleccionar el componente adecuado se emplearn cuadros

    comparativos entre los posibles componentes que se pueden emplear. Los posibles

    componentes que se pueden emplear se muestran en la tabla 3.

    Tabla 2.7 Comparativa entre diferentes sensores de corriente.

    Tipo de sensor Shunt decorriente

    Transformadorde corriente

    Bobina deRogowski

    Sensor deEfecto Hall

    Consumo de potencia Alto Bajo Bajo BajoVariacin de la salida

    con respecto a laTemperatura

    Medio Bajo Muy bajo Medio

    Linealidad dentro delrango de medicin

    Muybuena

    Buena Buena Buena

    Costo Muy bajo Medio Bajo Bajo

    Problema de error dedesplazamiento Si No No Si

    Problema desaturacine histresis

    No No No Si

    Aislamiento elctrico No Si No SiCapacidad de

    medicin de altascorrientes

    Muy mala Buena Buena Buena

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    62/126

    II. MARCO TEORICO

    61

    Con la informacin del cuadro se podra concluir que la opcin que se elegira sera

    la del sensor bobina de Rogowski. Sin embargo, no se encontr una fuente que

    proporcionara informacin completa y pertinente acerca de las caractersticas que

    podra poseer un dispositivo de este tipo (por ejemplo, una hoja tcnica de uno quese venda en el mercado), ya que, en todos los documentos encontrados, la propia

    persona realizaba la construccin de esta bobina. Por esta razn, se descart esta

    tecnologa.

    Otra posible tecnologa a emplear era el transformador de corriente. Sin

    embargo, la desventaja que presenta es que podra introducir ruido al sistema. Por

    otro lado, los sensores de efecto Hall resultan ser tambin muy buenos para

    emplearse en este tipo de mediciones, ya que en el mercado se pueden encontrarsensores de este tipo que poseen internamente elementos que minimizan las

    desventajas que comnmente presentan (las que se mostraron en la tabla). Un

    ejemplo de ello es el sensorACS712 de Allegro MicroSystems.

    Este sensor, como se mencion, contiene elementos que minimizan las

    desventajas que poseera uno tpico de este tipo, y a un bajo precio. Por ello, se

    concluye que esta tecnologa sera mejor que la del transformador de corriente, ya

    que posee un bajo precio, no introduce ruido y minimiza sus desventajas. En

    consecuencia, se escogi para el diseo del sistema a este sensor, el cual ser

    descrito a continuacin.

    2.7.1 Caractersticas Del Sensor De Corriente ACS712

    Enseguida se muestran algunas de las principales caractersticas de nuestro sensor

    de corriente:

    Provee de una econmica y precisa solucin para realizar mediciones de

    corriente elctrica alterna, ya que presenta un bajo costo.

    Su presentacin es un circuito integrado, el cual ocupa un espacio bien

    reducido.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    63/126

    II. MARCO TEORICO

    62

    No requiere de una resistencia externa para realizar la medicin, simplemente

    se coloca la lnea de paso de la corriente por los pines indicados.

    Presenta un rango de medicin ptima de hasta 30 amperios alternos, el cual

    es un rango suficiente para el lmite de consumo que tiene el sistema decontrol.

    Presenta una sensibilidad de 185mV/A, por lo que se tiene un valor de voltaje

    de salida menor a 1 voltio continuo en el peor caso (cuando se consume mil

    vatios). Gracias a ello, esta salida se podra conectar directamente a la

    entrada del siguiente elemento del sistema (la unidad de procesamiento), ya

    que se tiene una seal adecuada (un voltaje entre cero y cinco voltios).

    Posee en uno de sus pines la posibilidad de implementar un filtro pasabajos,con la finalidad de eliminar el ruido, pero sin provocar una indeseable

    atenuacin en su salida, la cual se producira si se implementara dicho filtro en

    el pin de salida directamente.

    Presenta una etapa para minimizar el error de desplazamiento indeseado y

    una etapa que se llama tcnica de estabilizacin por interruptores, las cuales

    logran producir un preciso y proporcional voltaje de salida.

    El diagrama de bloques de la figura 2.19 de este sensor se muestra a continuacin:

    Figura 2.19 Diagrama de bloques funcional del sensor de corriente ACS712.

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    64/126

    III. DESARROLLO

    63

    CAPTULO III

    DESARROLLO

  • 8/12/2019 Sistema de Monitoreo Inalambrico de Consumo Electrico Con Microcontrolador

    65/126

    III. DESARROLLO

    64

    CAPITULO III. DESARROLLO

    En este captulo se detalla el procedimiento que sirvi para poder implementar este

    proyecto, mostrando los aspectos fundamentales as como las pruebas llevadas acabo que fueron base de la experimentacin y objeto de mejora para la innovacin

    de este sistema inalmbrico.

    Inicialmente se pens en un sistema completamente autnomo capaz de

    monitorear inalmbricamente el consumo elctrico de cualquier dispositivo

    electrnico conectado a la red domstica, capaz de almacenar informacin y poderla

    proyectar de manera fcil y sencilla. As como poder observar estos datos de manera

    remota y local. Enseguida plasmare el procedimiento que nos llev a crear unsistema tal como se plante y se requiri.

    3.1 Diseo de la lgica de programacin del PIC16F877A

    La implementacin de un microcontrolador como lo es el PIC16F877A fue pensado

    para crear un sistema de transmisin sencillo, econmico y verstil. Este tipo de

    microcontroladores tiene caractersticas que fundamentalmente se basan en un

    convertidor


Recommended