Comunicacion a distancia con Labview

32
UNIVERSIDAD TECNOLÓGICA EMILIANO ZAPATA DEL ESTADO DE MORELOS DIVISIÓN ACADÉMICA DE MECÁNICA INDUSTRIAL “SISTEMA ECONOMIZADOR DE ILUMINACION” REPORTE DE PROYECTO FINAL INSTRUMENTACION VIRTUAL INGENIERIA EN MECATRÓNICA 7A PRESENTAN: GALVÁN ESTRADA OSCAR ANGEL REYES LUIS ALBERTO BAILON SEGURA ERIC DANIEL REYES ALVARADO JUAN CARLOS ASESOR ACADEMICO M.C. IVÁN ALCALÁ BAROJAS EMILIANO ZAPATA, MOR., DICIEMBRE DE 2014

description

Describe como realizar la comunicacion a distancia usando Labview y Arduino

Transcript of Comunicacion a distancia con Labview

  • UNIVERSIDAD TECNOLGICA

    EMILIANO ZAPATA DEL ESTADO DE MORELOS

    DIVISIN ACADMICA DE MECNICA INDUSTRIAL

    SISTEMA ECONOMIZADOR DE ILUMINACION

    REPORTE DE PROYECTO FINAL

    INSTRUMENTACION VIRTUAL

    INGENIERIA EN MECATRNICA 7A

    PRESENTAN:

    GALVN ESTRADA OSCAR

    ANGEL REYES LUIS ALBERTO

    BAILON SEGURA ERIC DANIEL

    REYES ALVARADO JUAN CARLOS

    ASESOR ACADEMICO

    M.C. IVN ALCAL BAROJAS

    EMILIANO ZAPATA, MOR., DICIEMBRE DE 2014

  • INTRODUCCIN

    El control a distancia es una modalidad que presenta muchas opciones y beneficios

    para los usuarios. Dentro de sus principales ventajas se encuentran la comodidad

    que ofrece el no tener que desplazarse hasta algn sitio para hacer alguna tarea, la

    seguridad obtenida ya que se pueden realizar labores peligrosas sin acercarse al

    rea de trabajo y la rapidez con que se pueden tomar acciones respecto a alguna

    condicin especfica, entre otros.

    Este trabajo constituye desarrollar e implementar un sistema de control a distancia

    utilizando la plataforma de programacin de National Instruments Labview,

    diseando una interface mediante la cual se pueda monitorear y controlar el

    sistema. El proyecto realizado ofrece una infinidad de aplicaciones las que

    dependern de la imaginacin y necesidades de cada usuario.

    Para realizar el control a distancia se opt por ocupar la herramienta de Labview

    denominada Web Publishing Tool debido a su facilidad de uso, tambin se

    seleccion el microcontrolador Arduino para el control del sistema debido a su fcil

    utilidad y a que es muy fcil conseguir uno debido a su bajo costo.

    Objetivos

    General

    Desarrollar e implementar un sistema de control a distancia utilizando la plataforma

    de programacin Labview.

    Especficos

    o Control de focos con interconexin Labview-Arduino.

    o Publicacin del proyecto en la red usando Web Publishing Tool.

    o Elaboracin del circuito electrnico de potencia para el control de los focos.

    o Control del proyecto fuera de una red de rea local (LAN).

  • MARCO TERICO

    Qu es adquisicion de datos?

    La adquisicin de datos (DAQ) es el proceso de medir con una PC un fenmeno

    elctrico o fsico como voltaje, corriente, temperatura, presin o sonido. Un sistema

    DAQ consiste de sensores, hardware de medidas DAQ y una PC con software

    programable. Comparados con los sistemas de medidas tradicionales, los sistemas

    DAQ basados en PC aprovechan la potencia del procesamiento, la productividad,

    la visualizacin y las habilidades de conectividad de las PCs estndares en la

    industria proporcionando una solucin de medidas ms potente, flexible y rentable.

    Sistema de adquisicin de datos.

    Qu es un Sensor?

    La medida de un fenmeno fsico, como la temperatura de una habitacin, la

    intensidad de una fuente de luz o la fuerza aplicada a un objeto, comienza con un

    sensor. Un sensor, tambin llamado un transductor, convierte un fenmeno fsico

    en una seal elctrica que se puede medir. Dependiendo del tipo de sensor, su

    salida elctrica puede ser un voltaje, corriente, resistencia u otro atributo elctrico

    que vara con el tiempo. Algunos sensores pueden requerir componentes

    adicionales y circuitos para producir correctamente una seal que puede ser leda

    con precisin y con toda seguridad por un dispositivo DAQ. Existen diferentes tipos

  • de sensores, todos estos miden diferentes fenmenos y se comportan de una

    manera determinada.

    Tipo de sensor Fenmeno

    Termopar, RTD, Termistor Temperatura

    Fotosensor Luz

    Micrfono Sonido

    Galga Extensiomtrica, Transductor Piezoelctrico Fuerza y Presin

    Potencimetro, LVDT, Codificador ptico Posicin y Desplazamiento

    Acelermetro Aceleracin

    Electrodo pH pH

    Tabla: Sensores comunes

    Qu es un Dispositivo DAQ?

    El hardware DAQ acta como la interfaz entre una PC y seales del mundo exterior.

    Funciona principalmente como un dispositivo que digitaliza seales analgicas

    entrantes para que una PC pueda interpretarlas. Los tres componentes clave de un

    dispositivo DAQ usado para medir una seal son el circuito de acondicionamiento

    de seales, convertidor analgico-digital (ADC) y un bus de PC. Varios dispositivos

    DAQ incluyen otras funciones para automatizar sistemas de medidas y procesos.

    Por ejemplo, los convertidores digitales-analgicos (DACs) envan seales

    analgicas, las lneas de E/S digital reciben y envan seales digitales y los

    contadores/temporizadores cuentan y generan pulsos digitales.

    Componentes Clave de Medidas para un Dispositivo DAQ

    Acondicionamiento de Seales

    Las seales de los sensores o del mundo exterior pueden ser ruidosas o

    demasiado peligrosas para medirse directamente. El circuito de

    acondicionamiento de seales manipula una seal de tal forma que es apropiado

    para entrada a un ADC. Este circuito puede incluir amplificacin, atenuacin,

  • filtrado y aislamiento. Algunos dispositivos DAQ incluyen acondicionamiento de

    seales integrado diseado para medir tipos especficos de sensores.

    Convertidor Analgico Digital (ADC)

    Las seales analgicas de los sensores deben ser convertidas en digitales antes

    de ser manipuladas por el equipo digital como una PC. Un ADC es un chip que

    proporciona una representacin digital de una seal analgica en un instante de

    tiempo. En la prctica, las seales analgicas varan continuamente con el tiempo

    y un ADC realiza "muestras" peridicas de la seal a una razn predefinida. Estas

    muestras son transferidas a una PC a travs de un bus, donde la seal original es

    reconstruida desde las muestras en software.

    Bus de la PC

    Los dispositivos DAQ se conectan a una PC a travs de una ranura o puerto. El

    bus de la PC sirve como la interfaz de comunicacin entre el dispositivo DAQ y la

    PC para pasar instrucciones y datos medidos. Los dispositivos DAQ se ofrecen en

    los buses de PC ms comunes, incluyendo USB, PCI, PCI Express y Ethernet.

    Recientemente, los dispositivos DAQ han llegado a estar disponibles para 802.11

    Wi-Fi para comunicacin inalmbrica. Hay varios tipos de buses y cada uno de

    ellos ofrece diferentes ventajas para diferentes tipos de aplicaciones.

    Cul es la Funcin de la PC en un Sistema DAQ?

    Una PC con software programable controla la operacin del dispositivo DAQ y es

    usada para procesar, visualizar y almacenar datos de medida. Diferentes tipos de

    PCs son usadas en diferentes tipos de aplicaciones. Una PC de escritorio se puede

    utilizar en un laboratorio por su poder de procesamiento, una laptop se puede

    utilizar por su portabilidad o una PC industrial se puede utilizar en una planta de

    produccin por su robustez.

  • Cules son los Diferentes Componentes de Software en un Sistema DAQ?

    Software Controlador

    El software controlador ofrece al software de aplicacin la habilidad de interactuar

    con un dispositivo DAQ. Simplifica la comunicacin con el dispositivo DAQ al

    abstraer comandos de hardware de bajo nivel y programacin a nivel de registro.

    Generalmente, el software controlador DAQ expone una interfaz de programacin

    de aplicaciones (API) que es usada en un entorno de programacin para construir

    software de aplicacin.

    Software de Aplicacin

    El software de aplicacin facilita la interaccin entre la PC y el usuario para adquirir,

    analizar y presentar datos de medidas. Puede ser una aplicacin pre-construida

    con funcionalidad predefinida o un entorno de programacin para construir

    aplicaciones con funcionalidad personalizada. Las aplicaciones personalizadas

    generalmente son usadas para automatizar mltiples funciones de un dispositivo

    DAQ, realizar algoritmos de procesamiento de seales y mostrar interfaces de

    usuario personalizadas.

    Descripcin de Labview.

    Qu es LabVIEW?

    LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un lenguaje de

    programacin grfico para el diseo de sistemas de adquisicin de datos,

    instrumentacin y control. Labview permite disear interfaces de usuario mediante

    una consola interactivo basado en software. Usted puede disear especificando su

    sistema funcional, su diagrama de bloques o una notacin de diseo de ingeniera.

    Labview es a la vez compatible con herramientas de desarrollo similares y puede

    trabajar con programas de otra rea de aplicacin, como por ejemplo Matlab. Tiene

    la ventaja de que permite una fcil integracin con hardware, especficamente con

    tarjetas de medicin, adquisicin y procesamiento de datos.

  • Aplicaciones de LabVIEW

    Labview tiene su mayor aplicacin en sistemas de medicin, como monitoreo de

    procesos y aplicaciones de control, un ejemplo de esto pueden ser sistemas de

    monitoreo en transportacin, Laboratorios para clases en universidades, procesos

    de control industrial. Labview es muy utilizado en procesamiento digital de seales

    (wavelets, FFT, Total Distorsin Harmonic TDH), procesamiento en tiempo real de

    aplicaciones biomdicas, manipulacin de imgenes y audio, automatizacin,

    diseo de filtros digitales, generacin de seales, entre otras, etc.

    Programacin grfica con Labview

    Cuando usted disea programas con Labview est trabajando siempre bajo algo

    denominado VI, es decir, un instrumento virtual, se pueden crear VI a partir de

    especificaciones funcionales que usted disee. Este VI puede utilizarse en cualquier

    otra aplicacin como una subfuncin dentro de un programa general. Los VI's se

    caracterizan por: ser un cuadrado con su respectivo smbolo relacionado con su

    funcionalidad, tener una interfaz con el usuario, tener entradas con su color de

    identificacin de dato, tener una o varias salidas y por su puesto ser reutilizables.

    Disee la interfaz de usuario a partir de su cdigo.

    En el ambiente de trabajo de Labview existen dos paneles, el panel frontal y el panel

    de programacin diagrama de bloques; en el panel frontal se disea la interfaz

    con el usuario y en el panel de programacin se relacionan los elementos utilizados

    en la interfaz mediante operaciones que determinan en s como funciona el

    programa o el sistema, exactamente es la parte donde se realizan las

    especificaciones funcionales.

  • Panel frontal y diagrama de bloques Labview.

    En el panel de programacin usted puede disear de manera grfica y como si fuera

    un diagrama de bloques el funcionamiento de su sistema. La programacin grfica

    se basa en la realizacin de operaciones mediante la asignacin de iconos que

    representen los datos numricos e iconos que representan los procedimientos que

    deben realizar los (VI's), con estos iconos y mediante una conexin simple como lo

    es una lnea recta se enlazan para determinar una operacin y/o una funcin. Al

    disear el programa de forma grfica, se hace visible una programacin orientada

    al flujo de datos, donde se tiene una interpretacin de los datos tambin de forma

    grfica, por ejemplo un dato booleano se caracteriza por ser una conexin verde,

    cada tipo de dato se identifica con un color diferente dentro de Labview; tambin es

    necesario tener en cuenta que cuando se realiza una conexin a un VI esta conexin

    se identifica por un tipo de dato especifico, que debe coincidir con el tipo de dato de

    la entrada del VI (aunque esto no necesariamente es cierto ya que puede haber

    varios tipos de datos conectados de VI a VI, adems de que un arreglo de datos

    ``cluster`` puede albergar varios tipo de variables) permitiendo una concordancia en

    el flujo de datos; no siempre el tipo de dato de la entrada del VI es el mismo que el

    de la salida, pero sin embargo para la mayora de los casos si se cumple. El flujo de

    datos va de izquierda a derecha en el panel de programacin y est determinado

    por las operaciones o funciones que procesan los datos. Es fcil observar en el

    panel de programacin como se computan los datos en cada parte del programa

  • cuando se realiza una ejecucin del programa paso a paso. En Labview las

    variables se representan mediante una figura tanto en el panel frontal como en el

    panel de programacin, de esta forma se puede observar su respuesta en la interfaz

    del usuario y en el flujo de datos del cdigo del programa. Otros objetos como

    grficas y accesos directos a pginas web cumplen estas mismas condiciones.

    Entorno LabVIEW

    La programacin grfica de LabVIEW consta de un panel frontal y un panel de

    cdigo como se mencion antes. En el panel frontal es donde se disea la interface

    de usuario y se ubican los controles e indicadores y en el panel de cdigo se

    encuentran las funciones. Cada control que se utiliza en la interfaz tiene una

    representacin en el panel de cdigo, igualmente los indicadores necesarios para

    entregar la informacin procesada al usuario tienen un icono que los identifica en el

    panel de cdigo o de programacin. Los controles pueden ser booleanos,

    numricos, strings, un arreglo matricial de estos o una combinacin de los

    anteriores; y los indicadores pueden ser como para el caso de controles pero

    pudindolos visualizar como tablas, grficos en 2D o 3D, browser, entre otros. Las

    funciones pueden ser VIs prediseados y que pueden ser reutilizados en cualquier

    aplicacin, estos bloques funcionales constan de entradas y salidas, igual que en

    un lenguaje de programacin estndar las funciones procesan las entradas y

    entregan una o varias salidas, estos VI pueden tambin estar conformados de otros

    subVIs y as sucesivamente, de esta forma se pueden representar como un rbol

    genealgico donde un VI se relaciona o depende de varios SubVIs. Labview tiene

    VIs de adquisicin de datos e imgenes, de comunicaciones, de procesamiento

    digital de seales, de funciones matemticas simples, hasta funciones que utilizan

    otros programas como Matlab o HiQ para resolver problemas, otras ms complejas

    como "nodos de formula" que se utilizan para la resolucin de ecuaciones editando

    directamente estas como en lenguajes de programacin tradicionales y definiendo

    las entradas y las salidas. Labview tambin se puede utilizar para graficar en tres

    dimensiones, en coordenadas polares y cartesianas, tiene disponibles herramientas

    para anlisis de circuitos RF como la Carta de Smith, tiene aplicaciones en manejo

  • de audio y se puede comunicar con la tarjeta de sonido del computador para trabajar

    conjuntamente. Entre sus muchas funciones especiales se encuentran las de

    procesamiento de imgenes, como capturar una imagen a travs de una tarjeta de

    adquisicin como la PCI-1408 (monocromtica), analizarla y entregar respuestas

    que difcilmente otros sistemas realizaran.

    Controles y funciones de LabVIEW

    Flujo de Datos

    Otra caracterstica se encuentra en el flujo de datos, que muestra la ejecucin

    secuencial del programa, es decir, una tarea no se inicia hasta no tener en todos

    sus variables de entrada informacin o que las tareas predecesoras hayan

    terminado de ejecutarse. Debido al lenguaje grfico el compilador con que cuenta

    Labview es ms verstil ya que sobre el mismo cdigo de programacin se puede

    ver fcilmente el flujo de datos, as como su contenido.

    Descripcin de Arduino.

    Qu es Arduino?

    Es una plataforma de desarrollo de computacin fsica (physical computing) de

    cdigo abierto, basada en una placa con un sencillo microcontrolador y un entorno

  • de desarrollo para crear software (programas) para la placa. Puedes usar Arduino

    para crear objetos interactivos, leyendo datos de una gran variedad de interruptores

    y sensores y controlar multitud de tipos de luces, motores y otros actuadores fsicos.

    Los proyectos de Arduino pueden ser autnomos o comunicarse con un programa

    (software) que se ejecute en tu ordenador (ej. Flash, Processing, MaxMSP). La

    placa puedes montarla tu mismo o comprarla ya lista para usar, y el software de

    desarrollo es abierto y lo puedes descargar gratis. El lenguaje de programacin de

    Arduino es una implementacin de Wiring, una plataforma de computacin fsica

    parecida, que a su vez se basa en Processing, un entorno de programacin

    multimedia.

    Cmo funciona?

    Arduino puede tomar informacin del entorno a travs de sus pines de entrada de

    toda una gama de sensores y puede afectar aquello que le rodea controlando luces,

    motores y otros actuadores. El microcontrolador en la placa Arduino se programa

    mediante el lenguaje de programacin Arduino (basado en Wiring) y el entorno de

    desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino

    pueden ejecutarse sin necesidad de conectar a un ordenador, si bien tienen la

    posibilidad de hacerlo y comunicar con diferentes tipos de software (p.ej. Flash,

    Processing, MaxMSP). Las placas pueden ser hechas a mano o compradas

    montadas de fbrica; el software puede ser descargado de forma gratuita. Los

    ficheros de diseo de referencia (CAD) estn disponibles bajo una licencia abierta,

    as pues eres libre de adaptarlos a tus necesidades.

  • DESARROLLO

    Utilizacin de LabVIEW para control de la plataforma Arduino.

    El equipo de National Instruments (NI) ha creado unas libreras y componentes para

    LabVIEW y el firmware necesario para convertir una placa Arduino en una tarjeta de

    adquisicin de datos, y poder manejarla por medio de USB desde LabVIEW. A

    continuacin se explica cmo lograr enlazar LabVIEW con Arduino.

    Requisitos:

    Un arduino basado en el ATMEGA328 o superior (el ATMEGA168 no soporta

    el firmware por su escasa memoria).

    El IDE de Arduino (versin 1 o superior)

    Labview 2009 o superior.

    Kit de drivers VISA.

    VIPM (VI package manager).

    Labview Interface for Arduino (en adelante LIFA).

    Primeramente, se necesita instalar el software LabVIEW, puede ser utilizada la

    versin de evaluacin, la cual es proporcionada por National Instruments en su

    pgina web.

    Una vez instalado LabVIEW, se procede a instalar el pack de drivers de VISA, que,

    al igual que LabVIEW, puede ser descargado desde la pgina web de National

    Instruments.

    Despus debe ser instalado el gestor de paquetes VI (VIPM). Este programa ser

    el que descargue e instale los VI de Arduino en Labview.

    Una vez instalado todo esto, debe ser ejecutado el gestor de VI (VIPM) y buscar

    "Arduino". Solo debe ser seleccionado el paquete de la imagen, e instalarlo.

  • Los paquetes de componentes del LIFA se pueden descargar e instalar

    manualmente, pero esta forma es mucho ms fcil. Cuando termine, se habr

    completado la parte de instalacin de Labview, solo falta la parte del Arduino.

    Gestor de paquetes VI.

    Instalando Labview interface for Arduino.

    El IDE de arduino se descarga directamente de la pgina de Arduino, es

    recomendable descargar la versin ms actualizada para un mayor rendimiento y

    compatibilidad. Una vez descargado debe ser descomprimido e instalado.

    Con esto ya est todo instalado y solo se tiene que cargar el firmware del LIFA al

    Arduino para que se pueda comunicar con Labview.

  • Lo primero es conectar la placa de Arduino al USB. Si es la primera vez que se

    hace, se deber instalar los drivers. El IDE de Arduino ya los trae, solo se debe

    decirle al sistema en que carpeta se encuentran.

    Al conectar el Arduino aparecer un globo que avisa de que no se han encontrado

    los drivers del nuevo dispositivo, se hace clic en l y se debe seleccionar la opcin

    de buscar los drivers. Si no aparece, se puede ir directamente al administrador de

    dispositivos haciendo clic derecho sobre "Equipo" (Mi PC en XP) y seleccionar

    Administrar en el men emergente. Una vez abierto el administrador de dispositivos,

    se puede observar que la computadora detecta Arduino como dispositivo

    desconocido.

    Arduino como dispositivo desconocido.

    Se debe hacer clic con el botn derecho sobre el dispositivo desconocido y se elige

    la opcin "Actualizar software de controlador". En la siguiente ventana se elige la

    opcin "Buscar software de controlador en el equipo". Ahora la computadora pedir

    que se le indique en que carpeta estn los drivers de arduino. Se debe seleccionar

    la carpeta "drivers" que hay dentro del directorio de Arduino.

  • Actualizar software de controlador Arduino.

    Se acepta la instalacin del driver, tras lo cual, la tarjeta arduino ser reconocida en

    el sistema como un puerto serie. El nmero de puerto serie es necesario en los

    siguientes pasos.

    Arduino reconocido como puerto serie.

    Teniendo Arduino conectado al USB y reconocido por el sistema, ahora toca

    programarlo con el sketch que comunica la placa con Labview. El sketch de Arduino

    se instala con LIFA, por lo que se debe ir a la carpeta donde se ha instalado. En el

    directorio LVIFA_Base, se encuentra el archivo LVIFA_Base.pde que es el sketch

    que se debe abrir. Se abrirn tambin todas las libreras. Una vez que se encuentra

    todo abierto se programa en la placa de arduino. Primero se tiene que seleccionar

    el tipo de placa que se est utilizando, se selecciona desde el men herramientas,

    en la opcin Tarjeta.

  • Ahora se elige el puerto serie (COM) que utiliza el sistema para comunicarse con

    la placa de arduino, este es asignado por el sistema. Lo puedes averiguar en el

    Administrador de dispositivos. El puerto se selecciona en la opcin "Puerto Serial"

    del men herramientas. Una vez realizadas estas operaciones basta con que

    pulsemos el botn de carga de sketch del IDE para que el fichero se transfiera a la

    tarjeta y, una vez transferido, y dejar la tarjeta Arduino lista para comunicarse con

    LabVIEW.

    Controlar salidas digitales de Arduino con LabVIEW.

    Una vez teniendo conectados a LabVIEW el microcontrolador arduino el siguiente

    paso fue la etapa de prueba de los focos. Los focos a utilizar en el sistema son de

    Directorio de la carpeta LVIFA_Base

    Seleccionar el tipo de placa Arduino

    Cargar el sketch a la placa Arduino.

    Seleccionar el puerto serial (COM).

  • configuracin ON/OFF, por lo tanto se decidi por elaborar un programa en

    LabVIEW para controlar las salidas digitales del microcontrolador arduino, ya que

    dichas salidas sern las encargadas de controlar el encendido y apagado de los

    focos. El programa que se muestra a continuacin fue el utilizado para probar el

    funcionamiento de los focos en el proyecto.

    Control de una salida digital seleccionada.

    El siguiente programa sirve para manejar el control de una salida digital del

    microcontrolador arduino desde un panel de control elaborado en LabVIEW.

    Seleccionando previamente la salida correspondiente se podr activar o desactivar

    una de las salidas digitales de la tarjeta Arduino.

    En el Panel se dispone de un selector de PIN y un interruptor para controlar la salida

    seleccionada. Se ha colocado un selector de puerto de comunicacin y un LED

    indicador del estado de la salida.

    Figura 3.21 Panel de control salida digital

  • Diagrama de bloques programacin salida digital.

    Explicacin del programa:

    En primer lugar, se realiza la inicializacin de Arduino, luego dentro del bloque de

    control de bucle se ha colocado un elemento llamado Select Digital Pin Mode para

    configurar el modo de trabajo de la salida seleccionada, y un bloque llamado Digital

    Write Pin que permite el envo de la seal al pin seleccionado mediante el bloque

    Digital Pin que se ha etiquetado como Seleccin de PIN

    Al bloque Digital Write Pin se le ha colocado en su entrada un interruptor que se

    etiquet con el nombre de Activa/Desactiva, este entrega un valor de tipo booleano

    pero debe ser convertido en valor tipo numrico, se ha colocado tambin un

    indicador de estado utilizando un LED el cual ha sido etiquetado como Estado

    salida.

    Con el programa anterior se puede controlar las salidas digitales del arduino, pero

    el voltaje y la corriente enviadas de sus pines no es lo suficientemente alto para

    poder controlar los focos, as que debe elaborarse un circuito externo de potencia.

    Ya que los focos trabajan con voltaje alterno (AC) se opt por usar relevadores para

    la parte de potencia.

    Se elabor todo un circuito de potencia con los relevadores, el cual se describe a

    continuacin.

  • Control de relevadores en Arduino.

    Los microcontroladores trabajan con corrientes y tensiones muy bajas, por este

    motivo son incapaces de controlar aparatos electrnicos que funcionan en

    corrientes y tensiones altas, para suplir este problema, se puede utilizar un

    relevador. Con un relevador se pueden manejar voltajes altos o potencias elevadas

    con pequeas tensiones de control.

    Se debe tener en cuenta que debido a la configuracin de los contactos, los

    relevadores pueden ser normalmente abiertos y normalmente cerrados.

    Los relevadores con contactos normalmente abiertos, en ausencia de tensin en la

    bobina del relevador estarn abiertos, es decir que no dejarn pasar la corriente.

    Por el contrario los relevadores con contactos normalmente cerrados se

    comportaran de manera inversa. Esto es importante porque dependiendo de esta

    caracterstica se tiene que cambiar la configuracin del microcontrolador Arduino.

    Componentes.

    Adems del relevador y la tarjeta Arduino, se necesitan elementos adicionales para

    hacer el circuito posible, en este caso, los componentes que se utilizaron son los

    siguientes:

    Relevador compacto de 1 polo, 2 tiros y bobina de 5Vcc a 10A

    Resistencia 1 Kohms a 1/4W

    Transistor NPN 2n2222a

    Diodo rectificador 1N4001

    Explicacin de los componentes adicionales

    Para que el relevador funcione correctamente se deben utilizar algunos

    componentes extras en el circuito.

    Es necesario usar un transistor debido a que el relevador funciona con una corriente

    de 80mA que es bastante ms de lo que el pin de Arduino puede manejar, que son

    unos 20mA, entonces el transistor cuando funcione en zona activa ste va permitir

  • elevar la corriente hasta unos 200mA, ms que suficiente para controlar el

    relevador. Tambin se va a usar un diodo rectificador para que las corrientes no

    puedan moverse en sentido inverso y daen el microcontrolador Arduino.

    Esquema de control con relevador.

    Explicacin del circuito.

    Conectado al pin de la tarjeta Arduino se conecta una resistencia de 1k, que a su

    vez se conectar a la base del transistor. El emisor del transistor va conectado a

    tierra (GND) y al colector se debe tener conectado un diodo rectificador (que como

    ya se mencion antes, se ocupa de que las corrientes solo se muevan en un sentido

    y no puedan daar el microcontrolador) y en paralelo el relevador, es decir, los pines

    de control de la bobina del rel que sern las que activen o desactiven las salidas

    de este.

    Diagrama de conexin Arduino-Foco.

  • Este circuito fue montado en un Protoboard y probado, el funcionamiento que se

    deseaba se obtuvo las pruebas se muestran en las siguientes imgenes.

    Interfaz y cdigo de programacin.

    Interfaz de usuario Labview.

    Circuito de relevador en protoboard probado con LED

    Circuito de relevador en protoboard probado con foco de 100W

  • En la anterior imagen se muestra la interfaz de usuario con la interactuara el

    operador que desee controlar el sistema domtico.

    Esta interfaz fue diseada de tal manera de que el usuario pueda ubicar fcilmente

    el control de iluminacin, cada habitacin cuanta con un botn con el cual se

    encendern los focos de esta al igual cuentan con un indicar de tipo booleano para

    que se muestre el estado del foco.

    Diagrama de bloques del sistema

    La casa cuenta con 6 controles de iluminacin los cuales son la sala, comedor,

    cocina, pasillo y dos habitaciones; estas se encuentran divididas tal como su puede

    apreciar en la interfaz as facilitando la comprensin del usuario.

    Tambin tiene un botn el cual al momento de presionarlo parara la ejecucin del

    programa.

    Cdigo de programacin

    El programa cuenta con 2 estados uno es cuando hay la suficiente iluminacin en

    este el programa llegara a un punto en el cual no puedas encender ningn bombillo

    esto generara ahorros ya que solo podrs encenderlos cuando sea realmente

    necesario iluminacin. El otro caso es cuando hay poca iluminacin; el programa

    automticamente cambiara de estado en el cual puedas controlar la iluminacin de

    cada una de las habitaciones.

  • El programa corre dentro un ciclo while el cual tiene dentro un case con el cual se

    define que caso correr dependiendo de la iluminacin; la lectura el control de salidas

    se emple con la tarjeta de Arduino con el cual se utilizaron los drivers para poder

    monitorear y controlar.

    Inicialmente el comenzar corriendo el caso claro en el cual empezara leyendo el

    sensor LDR el cual vara de acuerdo a la iluminacin del entorno el cual se compara

    con un valor para poder definir en qu caso esta oscuro y claro; con la comparacin

    se mandara una seal booleana y esta para a un select el cual cuenta con dos

    enums los cuales definirn el estado del programa a esto se le llama mquina de

    estados.

    La siguiente accin que correr el programa es mandar una seal con un puerto

    digital del Arduino el cual se controlara por medio de una seal booleana esta ya

    est defina como false para que inicialmente este apagado; todos los dems

    controles tienen la misma accin y se ver reflejada en el programa con los

    indicadores booleanos que son unos leds. En caso de que el sensor cuente con

    poca iluminacin leer ser comparado y este mandara una seal que cambie el

    estado del programa ejecutndose uno diferente.

    Al momento de que cambie el estado del case a Oscuro o nublado correr la

    programacin como se muestra en la imagen.

    La primera accin que ara el programa dentro del caso es leer de nuevo el sensor

    para verificar el estado del caso; despus de que ag de la comparacin proseguir

    a esperar una respuesta de parte de los selects que responden a los botones que

    tiene el programa en este ya se podr utilizar manualmente para poder controlar

    cada uno de los focos de toda la casa, estos se mostraran en la interfaz de usuario

    con indicadores para que se vea reflejado de forma ms visual.

    El programa seguir corriendo hasta que el programa lea de nuevo que hay poca

    iluminacin y de nuevo cambiara de estado y asi se mantendr en ciclo hasta que

    se le d stop al programa.

  • Web Publishing con LabVIEW

    Una de las herramientas ms tiles de Labview es

    el Web Publishing. Gracias a esta utilidad podemos

    subir nuestras creaciones a Internet, para mostrar

    por ejemplo resultados de un experimento que

    estemos haciendo, y cualquier persona desde otra

    parte del mundo lo pueda ver a travs de Internet. Se pueden mostrar tambin

    imgenes que este captando una cmara, as como poder manejar controles del

    Front Panel. Web Publishing o edicin web es una forma de editar informacin en

    forma de pginas web, muy usada en la actualidad.

    Cmo utilizar Web Publishing?

    En primer lugar necesitamos un VI, nos sirve cualquiera mientras est orientado a

    PC y no a NXT. Ahora vamos a revisar que nuestra configuracin para el Web

    Server es la correcta. Entramos en Tools Options Web Server y

    configuramos dnde queremos guardar la Web y el puerto 8000, tambin

    habilitamos el control remoto del panel frontal.

    Ventana de configuracin del Web Server

  • Una vez tengamos configurado el Web Server, debemos abrir el VI que vamos a

    utilizar, y nos metemos en Tools Web Publishing Tool:

    Localizacin de la herramienta Web Publishing Tool.

    Se abrir la siguiente ventana, donde elegimos el VI, y el modo de vista. En este se

    muestran tres opciones de visualizacin las cuales son:

    1. Embedded: Crear un Front Panel en nuestra pgina web que puede ser

    monitoreada y controlada por cualquier cliente en el servidor.

    2. Snapshot: Crear una imagen esttica del Front Panel en nuestra pgina

    web.

    3. Monitor: Crear un Front Panel en nuestra pgina web que puede ser

    nicamente monitoreada por cualquier cliente en el servidor.

  • Primera ventana de configuracin de Web Publishing Tool.

    Una vez seleccionada la opcin deseada se presiona debe presionar la tecla Next

    y en la siguiente ventana elegimos el ttulo de la pgina web, as como texto por

    encima y por debajo del Front Panel:

    Segunda ventana de configuracin de Web Publishing Tool.

    Le damos Next otra vez, y en la nueva ventana elegimos el nombre del archivo .html,

    donde queremos guardarlo, y la URL donde se va a publicar nuestra pgina:

  • Ultima ventana de configuracin de Web Publishing Tool.

    Finalmente se debe presionar Save to Disk. Saldr una ltima ventana que dir que

    nuestra pgina se ha publicado en la direccin indicada, y que se puede conectar a

    ella poniendo la direccin Web en un navegador de internet.

    Ventana que muestra el link donde se public el programa.

    El problema principal es que a la hora de visitar nuestra pgina web no vamos a ver

    el Front Panel. Esto es debido a que es un objeto de tipo desconocido para nuestro

    navegador, por lo que necesitamos un plugin que nos permita ver y manejar dicho

    Front Panel. El plugin en si se llama LabVIEW Run-Time Engine y hay dos maneras

    de descargarlo:

    Con Internet Explorer podemos instalarlo directamente clickeando en el

    objeto que no podemos ver y dndole a instalar plugin.

  • Con Mozilla Firefox o Google Chrome necesitamos descargarlo e instalarlo

    manualmente. El plugin puede ser descargado de la pgina de National

    Instruments.

    Otro problema es que no se pueda acceder a nuestra pgina Web desde Internet.

    Este caso se da porque no te encuentras conectados directamente a travs de

    Internet mediante un modem, sino que tienes un router intermedio. Sin embargo

    ser capaz ver la pgina desde cualquier PC de nuestra red local (LAN). Para poder

    realizar el control a distancia en diferentes partes (siempre y cuando el equipo est

    conectado a internet) se requiere la utilizacin del programa LogMeIn Hamachi la

    cual se describe a continuacin.

    LogMeIn Hamachi

    Hamachi es una aplicacin gratuita (freeware) que configura redes privadas

    virtuales capaz de establecer vnculos directos entre computadoras que estn bajo

    firewalls de NAT sin necesitar reconfiguracin alguna (en la mayora de los casos).

    En otras palabras, establece una conexin a travs de Internet y simula una red de

    rea local formada por computadoras remotas.

    Ventana principal del Programa LogMeIn Hamachi.

  • Cmo funciona?

    Hamachi es un sistema VPN de administracin centralizada que consiste en un

    cluster servidor administrado por el vendedor del sistema y el software cliente, el

    cual es instalado en los ordenadores de los usuarios. El software cliente agrega una

    interfaz de red virtual al ordenador que es utilizada tanto para interceptar el trfico

    VPN saliente como para inyectar el trfico VPN entrante. El trfico saliente enviado

    por el sistema operativo a esta interfaz es entregado al software cliente, que lo cifra

    y lo autentifica y luego lo enva al nodo VPN de destino a travs de una conexin

    UDP iniciada a tal efecto. Hamachi se encarga del tunelamiento del trfico IP,

    incluido el broadcast (difusin) y el multicast (multidifusin). La versin Windows

    reconoce y tunela, adems, el trfico IPX.

    Cada cliente establece y mantiene una conexin de control con el Cluster servidor.

    Cuando la conexin est establecida, el cliente entra en una secuencia de

    identificacin de usuario, seguida de un proceso de descubrimiento y sincronizacin

    de estado. El paso de autentificacin de usuario autentifica al cliente contra el

    servidor y viceversa. El descubrimiento es utilizado para determinar la topologa de

    la conexin a Internet del cliente, y ms concretamente para detectar la presencia

    de dispositivos cortafuegos y servidores NAT. El paso de sincronizacin extrae una

    vista del cliente de sus redes privadas sincronizadas con los otros miembros de

    esas redes. Cuando un miembro de una red se conecta o se desconecta, el servidor

    da instrucciones a los otros nodos de la red para que inicien o detengan tneles con

    dicho miembro. Cuando se establecen tneles entre los nodos, Hamachi utiliza una

    tcnica de NAT transversal asistido por servidor, similar al "UDP hole punching"

    ("perforadora de agujeros UDP")

  • CONCLUSIN

    Habiendo terminado todas las partes en las que se dividi el proyecto, se puede

    afirmar que todos los objetivos de dicho proyecto se cumplieron (algunos con mayor

    facilidad que otros), los cuales eran:

    Control de focos con interconexin Labview-Arduino.

    Publicacin del proyecto en la red usando Web Publishing Tool.

    Elaboracin del circuito electrnico de potencia para el control de los focos.

    Control del proyecto fuera de una red de rea local (LAN).

    Resultados

    Los resultados ms relevantes fueron la comunicacin del microcontrolador Arduino

    con el software de programacin grafica LabVIEW, ya que gracias a esta

    comunicacin se pudo llevar a cabo la realizacin del sistema de control a distancia,

    controlando las salidas digitales del microcontrolador y con ellas los focos

    El potencial del presente proyecto es muy grande, como se mencion a lo largo del

    reporte, el uso de un microcontrolador hace que el sistema sea muy verstil y simple.

    Uno de los circuitos cruciales, obviamente aparte del microcontrolador, que en el

    fondo es el corazn del proyecto, fue tambin la parte de potencia utilizando los

    relevadores, ya que sin este no hubiese sido posible el control de los focos con el

    microcontrolador.

    Este pequeo pero potente proyecto es la base para realizar sistemas realmente

    complejos, y gracias a la herramienta Web Publishing Tool que ofrece Labview es

    realmente sencillo llevar a cabo el control a distancia.

  • REFERENCIAS

    National Instruments. (2013)Qu es Adquisicin de Datos? 2014, de NI Sitio web: http://www.ni.com/data-acquisition/what-is/esa. Massimo Banzi. (2009). Getting Started with Arduino. Italy: O'Reilly Media / Make. Ramon Areny Pallas. (2007). Sensores y acondicionad seal. USA: Alfaomega. National Instruments. (2013)Por qu LabVIEW? 2014, de NI Sitio web: http://www.ni.com/labview/why/esa/ Wikipedia. (2012). LogMeIN Hamachi / Que es y como funciona Hamachi? Sitio web: http://es.wikipedia.org/wiki/Hamachi Rincon del Vago. (2012). Control a distancia con microcontrolador Sitio web: http://html.rincondelvago.com/control-a-distancia.html National Instruments. (2013 How Do I Publish My VI to a Web Page?, de NI Sitio web: http://digital.ni.com/public.nsf/allkb/5874283E968ADB33862573210071D43A

  • ANEXOS

    ANEXO A. DIAGRAMA DE PINES RELEVADOR RAS-0510

    ANEXO B. DIAGRAMA DE PINES TRANSISTOR 2N2222A