Instruction manuals">
Comunicacion A Distancia Con Labview
Comunicacion A Distancia Con Labview
Comunicacion A Distancia Con Labview
INGENIERIA EN MECATRNICA 7A
PRESENTAN:
ASESOR ACADEMICO
M.C. IVN ALCAL BAROJAS
INTRODUCCIN
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.
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
Tipo de sensor
Fenmeno
Temperatura
Fotosensor
Luz
Micrfono
Sonido
Fuerza y Presin
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.
Acondicionamiento de Seales
Las seales de los sensores o del mundo exterior pueden ser ruidosas o
demasiado
peligrosas
para
medirse
directamente.
El
circuito
de
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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
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 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.
Una vez tengamos configurado el Web Server, debemos abrir el VI que vamos a
utilizar, y nos metemos en Tools Web Publishing Tool:
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.
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:
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:
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.
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.
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.
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
ANEXOS