Asesor:
Trimestre: 13I
Pgina 1
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
ndice.
1. Marco Tecnolgico.
Pgina 2
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
4. Circuito transmisor.
4.1 Fuente de alimentacin y regulador de voltaje.
4.2 Control.
4.3 Multiplexaje y entradas de sensores.
4.4 Radio.
4.5 Algoritmo del circuito transmisor.
4.6 Programacin del circuito transmisor.
5. Circuito receptor.
5.1 Tarjeta Xbee Explorer USB.
5.2 Configuracin Xbee para la comunicacin.
5.3 Comunicacin con el circuito transmisor.
6. Interfaz Grfica.
6.1 Interfaz de la adquisicin de datos.
6.2 Bloque de conexin.
6.3 Bloque de control de medicin de datos.
6.4 Bloque de seleccin de variables.
6.5 Bloque Pantalla.
6.6 Bloque de visualizacin de las variables atmosfricas.
6.7 Bloque de fecha y hora.
6.8 Ecuacin del sensor de temperatura.
6.9 Ecuacin del sensor de humedad.
6.10 Programacin de la interfaz.
Pgina 3
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Introduccin.
Al presentar el desarrollo del diseo se obtendr la plataforma capaz de adquirir los datos
atmosfricos requeridos, involucrando en el acoplamiento tecnologas apropiadas al
diseo. La plataforma de hardware Arduino facilita la lectura de transductores, la
comunicacin a una PC y con el sistema de comunicacin inalmbrica. XBEE es una
tecnologa especfica y estndar de redes inalmbricas personales, utilizada en este
trabajo. El desarrollo del software presenta la Interfaz Grfica de Usuario Matlab (GUI).
Aunque Java es el lenguaje ms habitual para crear GUI, es muy lenta para hacer
clculos eficientemente y es aqu donde Matlab es ms poderoso. Tambin las
aplicaciones de estas tecnologas son limitadas, trabajando en rangos de operacin
apropiados para el acoplamiento.
Con la herramienta naciente del proyecto, se obtendrn datos que pueden causar un
impacto en la toma de decisiones en el monitoreo de gases atmosfricos de efecto
invernadero en la atmosfera. Algunas otras variables son necesarias e importantes para
clculos y anlisis de los mismos. Por parte de la comunicacin, las redes de monitoreo
inalmbrico se han convertido en la actualidad de mayor importancia y se convierten en
una herramienta interesante en el campo de la ingeniera de telecomunicaciones, los
sensores tienen que estar dentro de esa red detectando los cambios apropiados. La
explicacin de la deteccin de los cambios es la parte importante que se tiene que
interpretar.
Pgina 4
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Objetivo General:
Objetivos Particulares:
Pgina 5
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 6
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
1. Marco Tecnolgico.
En esta primera parte definimos las tecnologas que han sido seleccionadas para la
implementacin y diseo de la plataforma meteorolgica, siendo la informacin que nos
ha ayudado en la comprensin y seleccin de las tecnologas existentes en el mercado.
En esta primera parte se consideran conceptos bsicos utilizados en el proyecto de la
Estancia Industrial y fundamentalmente las actividades realizadas en esta primera parte
se relacionan a la investigacin documental del estado del arte de las tecnologas
identificadas con posibilidad de considerarse en el presente trabajo:
La meteorologa es la rama de la fsica que estudia los fenmenos que existen y aparecen
en la atmosfera. En el pasado el hombre aprendi a predecir los cambios del tiempo
mediante la observacin, dndose cuenta de los cambios que lo benefician o daan. En la
actualidad, con el crecimiento urbano y tecnolgico el hombre han extendido sus sentidos,
que son los instrumentos meteorolgicos; con el fin de predecir los cambios que lo daan.
Monitoreando los gases txicos que se encuentran en la atmosfera permitiendo medir,
registrar y procesar la informacin que se obtiene de la prediccin del tiempo y la
atmosfera, sin necesidad de hacer observaciones directas mediante estaciones
meteorolgicas, que conllevan el uso de sistemas inalmbricos. En el campo de la
atmosfera se puede sacar provecho de los dos mtodos: observar y medir.
Pgina 7
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
a) Presin atmosfrica.
b) Velocidad y direccin del viento.
c) Temperatura.
d) Humedad del aire.
1. Tiempo presente.
2. Tiempo pasado.
3. Direccin y velocidad del viento.
4. Temperatura.
5. Humedad relativa.
6. Presin atmosfrica.
7. Radiacin solar.
Pgina 8
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Estas variables estn presentes en el diseo, dnde cada a una se le puede asignar una
tcnica para el registro y obtencin de sus valores a travs de sensores.
Tabla 1.1 Clasificacin de las escalas meteorolgicas (Renom, Madeleine. Principios bsicos de las
mediciones atmosfricas, 2011).
Con base en la tabla 1.1, la Escala Local es la que ms se acerca a los requerimientos
solicitados, dedicado al monitoreo de contaminacin atmosfrica, siendo tambin la base
para el diseo de nuestra estacin meteorolgica. Se considera una distancia mxima de
3 Km, teniendo una estacin base y la estacin meteorolgica comunicadas entre s a
travs de una red inalmbrica. Para la red se sugiere una comunicacin de punto a punto,
posteriormente se puede considerar de punto a multipunto, para abarcar un rea
geogrfica ms extensa.
Pgina 9
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Durante los aos 90s ha surgido de revolucin de las redes, tal que las personas y las
organizaciones intercambian informacin y se coordinan. Los avances son tan notorios
que se han desarrollado mecanismos distribuidos, diminutos, baratos y de bajos consumo.
Un ejemplo claro es la telefona celular. Estos dispositivos son cada vez ms capaces,
prometiendo mucho como aspectos de configuracin y baja probabilidad de fallar. Todo
queda enlazado entre s dentro de redes inalmbricas formando desde un entorno simple
hasta el ms complejo.
Una ventaja del sistema de sensores inalmbricos es que, en muchos casos, se requieren
demasiados sensores para evitar obstculos fsicos que obstruyan la lnea de
comunicacin. El medio que va a ser monitorizado no tiene una infraestructura, ni para el
suministro energtico, ni para la comunicacin. Por ello es necesario que los nodos
funcionen con pequeas fuentes de energa y que se comuniquen mediante canales
inalmbricos. En la siguiente figura se muestra la arquitectura de cada nodo de la red de
sensores.
Pgina 10
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 11
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
1.3 XBEE.
Al enfrentarse con los problemas de la red, se consideran las soluciones para garantizar
un flujo adecuado de la comunicacin. Ciertas reglas y protocolos de la comunicacin se
utilizan para asegurar que el mensaje fluya correctamente desde el emisor al receptor a
travs del medio, similar al espacio de aire cuando una persona habla.
Pgina 12
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Siempre es importante que las palabras que hablamos sean entendidas por las dems
personas. Al pasar datos en una red, es importante verificar que el mensaje fue recibido y
los datos no contengan ningn error. Una forma sencilla de comprobacin de errores es
sumar todos los valores de bytes a enviar y aadir ese valor a los datos enviados. En la
recepcin, se realiza la misma operacin matemtica sobre los datos recibidos. El valor se
compara con el valor de la suma recibida. Si no coincide el valor, los datos contienen
errores y no es reconocido. Si el mensaje no se recibe o contiene errores, el nodo
receptor no ignora la recepcin y realiza reintentos de transmisin de un nuevo envo.
1.3.3 Encapsulacin.
Al igual que cuando escribimos una carta, no nos limitamos a escribir la carta y dejarla en
el buzn hasta que llegue al destinatario. La carta debe ser colocada en un sobre y
dirigida, asegurndose que ser recibida y leda por la persona correcta, incluyendo la
direccin de retorno para que el destinatario se asegure de quin la escribi. En una red
los datos se transfieren de una manera similar. El mensaje se empaqueta con otros datos
que el protocolo requiere, como se ve en la Figura 1.4.
Pgina 13
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Estos datos que se aaden son: direccin de origen, direccin de destino, valores de
comprobacin de errores. Todo este empaquetamiento ayuda a asegurar la entrega
correcta al nodo deseado.
XBEE utiliza el protocolo IEE 802.15.2, este protocolo se conoce como de baja velocidad.
Proporciona 250 Kbps de rendimiento de datos entre los nodos de la red. Aunque no se
pretende para grandes volmenes de datos, tales como archivos de imagen, su uso est
enfocado en sistemas de supervisin y control, comnmente como una red de sensores
inalmbricos.
En comparacin con Bluetooth (con protocolo IEE 802.15.1), XBEE est diseado como
un protocolo mucho ms sencillo con menores tasas de transferencia de datos (250 Kbps
en comparacin con 1 Mbps). Bluetooth fue diseado como un reemplazo de los cables
perifricos y se utiliza en las comunicaciones entre dispositivos porttiles, tales como
telfonos, lo que requiere acceso de seguridad7.
Para configurar un XBEE, es necesario tener como hardware un convertidor que emule un
puerto serial en la PC. Con ayuda de la hyperterminal se pueden enviar los comandos AT
necesarios para que el XBEE pueda ser configurado 8. Existe una lista amplia de los
comandos AT, pero los comandos AT bsicos para configurar dos XBEE para la conexin
punto a punto son las siguientes:
Pgina 14
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
En la siguiente tabla se muestra el orden de los comandos introducidos a dos XBEE para
configurarlos en una conexin punto a punto.
Tabla 1.3 Secuencia de los comando AT para configurar una conexin punto a punto
Pgina 15
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Recordando que el parmetro ATMY debe Figura 1.5 Secuencia de configuracin de dos XBEE en
coincidir con el parmetro ATDL de los la Hyperterminal
XBEE que se deseen comunicar.
El mdulo XBEE tiene varias versiones, pero todos tienen los pines de salida similar a la
figura mostrada, Figura 1.6.Las diferencias entre las versiones de XBEE incluyen la salida
de potencia, estilo de antena, frecuencia de operacin y capacidades de la red.
Pgina 16
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Con las caractersticas mostradas, se ha elegido los mdulos XBEE-PRO Serie 1, para el
diseo en la comunicacin.
1.4 Arduino.
La filosofa del hardware Arduino se basa en Open Source, dnde la versin esquemtica
del hardware es libre y puedes construir tu propio Arduino. Las ventajas que sobresalen
son: Nadie te puede acusar de plagio, puedes compartir nuevas ideas, adaptar el
hardware a tus necesidades e incluso hacer dinero.
Pgina 17
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 18
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Esta versin de Arduino consiste en una tarjeta compacta, diseada para aplicaciones
donde se requiere flexibilidad y un tamao reducido, las dimensiones que se tiene de esta
placa son de 18 mm x 33 mm. La miniaturizacin de esta tarjeta es reducida porque
contiene el mnimo de componentes necesarios para que el microcontrolador pueda
operar correctamente. No contiene la conexin USB incorporado a los circuitos y para
cargar un programa es necesario conectar una tarjeta USB-TTL que es un convertidor de
comunicacin serial.
CARACTERSTICAS DESCRIPCIN
Microcontrolador ATmega328
Voltaje de operacin 3.3 volts
Pines de Entrada/Salida 14 (de los cuales 6 proveen salidas
PWM)
Pines de entrada analgicos 8
Corriente por pin de Entrada/Salida. 40 mA
Memoria Flash 32 Kbyte
EEPROM 1 KBytes
SRAM 2KBytes
Oscilador 8 MHz
Tabla 1.5 Caractersticas de Arduino Pro Mini.
Entrada/Salida: Cada uno de los 14 pines puede ser utilizado como entrada o
salida, operando a 3.3 volts. Cada pin puede recibir como mximo una corriente de
40 mA y tienen una resistencia interna d pull-up de 20-50 KOhms. Adems algunos
tiene pines especiales.
Comunicacin Serial: 0 (Rx) y 1 (Tx). Utilizados para recibir y transmitir datos
TTL en serie.
Pgina 19
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Para cargar un programa en Arduino Pro Mini se tiene que conectar una tarjeta
convertidor USB a TTL, permitiendo la comunicacin con el microcontrolador con la PC.
Se ha utilizado el USB FTDI TTL-232R-3.3v de Saprkfun. La forma correcta de conectar la
tarjeta y Arduino Pro Mini es mediante seis pines. La tarjeta se conecta a la PC mediante
USB, utilizando un cable mini USB. Las conexiones se realizan como se muestran en la
imagen.
Pgina 20
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Arduino no slo es hardware, sino tambin software. La plataforma en que trabaja Arduino
se conoce como Processing Wiring y todas las versiones de las placas trabajan en esta
plataforma. Esta plataforma permite editar, compilar y cargar el programa.
Pgina 21
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Voidsetup()
Voidloop()
Sintaxis:
Escritura digital: Escribe un valor HIGH o un valor LOW a un pin digital. Dentro del
argumento de la sintaxis, se coloca el nmero de pin (1-13) posteriormente las palabras
HIGH o LOW.
Pgina 22
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Sintaxis:
Comunicacin Serial.
Sintaxis:
Sintaxis:
Pgina 23
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Escritura en el puerto serial: Imprime los datos al puerto serie como texto ASCII
seguido de un retorno de carro (tecla Intro). Dentro del argumento se pueden colocar el
valor que se desee transmitir en el puerto serial. Esta instruccin facilita la salida de datos
de Arduino hacia otros dispositivos.
Sintaxis:
Lectura del puerto serial: Esta instruccin permite leer datos provenientes del puerto
serial. En la sintaxis no se coloca nada como parmetro. Esta instruccin facilita la llegada
de datos de un dispositivo externo hacia Arduino.
Sintaxis:
Tipos de datos.
Los tipos de datos que se manejan son idnticos a los que utiliza C/C++, por lo que es
necesario declararlos antes de utilizar un tipo de dato.
Dato entero: Este tipo de datos se usan principalmente para almacenar nmeros y
guardan valores de 2bytes. Esto produce un intervalo entre -32768 hasta 32767. La placa
Arduino puede trabajar con nmeros negativos, para que las operaciones aritmticas
trabajen de manera trasparente y en la forma esperada.
Sintaxis
int ledPin=13;
Dato caracter: Es un tipo de dato que ocupa 1 byte de memoria y almacena un valor de
carcter. Los caracteres literales se escriben con comillas simples: A (para varios
caracteres se utilizan comilla dobles ABC).
Todos los caracteres son almacenados como datos de tipo entero. La codificacin est
presente en la tabla ASCII. El tipo de datos de tipo caracter tiene signo codificando
nmeros desde -128 hasta 127.
Sintaxis:
charmiCaracter = B;
Pgina 24
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Dato Byte: Un dato tipo byte almacena un nmero sin signo de 8 bits, desde 0 hasta 255.
Sintaxis:
Dato booleano: Un dato tipo booleano slo puede tomar dos valores: Verdadero o falso.
Cada booleano ocupa un nico byte en la memoria.
Sintaxis:
boolean estado=false
Estas son algunas de las instrucciones de Arduino, para ampliar el conocimiento de las
mismas visite la pgina de referencias de Arduino3
1.5 Matlab.
Pgina 25
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Los componentes que se incluyen en una GUI son: Barras de herramientas, botones,
botones de opcin, cuadros de lista, deslizadores, ejes de grficas, cuadros de texto y
cajas de texto. Las GUI creadas por la herramienta Matlab realizan cualquier tipo de
clculo, leer y escribir cualquier archivo de datos, comunicarse con otras GUIs y mostrar
los datos en forma de tablas o grficos.
Pgina 26
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 27
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Metodologa:
Con base a la imagen anterior se describen las etapas de Lectura de datos, comunicacin
inalmbrica, y obtencin de datos.
Pgina 28
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
En esta etapa hay un radio que se comunica con el microcontrolador y la estacin base,
siente este el intrprete que gua el flujo de datos en un canal inalmbrico. El tipo de
comunicacin que se requiere es la ms bsica que es de punto a punto, bidireccional
para tener una adecuada comunicacin en el flujo de datos. Las consideraciones que se
tiene que tener en cuenta para el diseo son: Potencia de salida y transmisin de 100
metros en vista libre.
Pgina 29
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
La interfaz grfica forma parte de la estacin base, es el fin ltimo y llegada de los datos
provenientes de los sensores. En esta parte ya se
tiene un control total del dato, por lo que se puede
manipular fcilmente, siendo modificadas mediante
software. Se ha desarrollado una interface en Matlab
que permite obtener una visualizacin grfica de los
datos, siendo un PC donde se manipulan y visualizan
los datos.
Pgina 30
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 31
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Se han definido los tres bloques fundamentales del trabajo de estancia. Ahora se define la
primera parte de las actividades de implementacin. Esta parte es la lectura de datos y a
transmisin, relacionndolo todo como un nodo de sensores de comunicacin inalmbrica
al que se le ha llamado el circuito transmisor. Las actividades que se han realizado en
esta parte son las siguientes:
Lectura del dato: Se han definido los conversores analgico-digital a partir del
microcontrolador ATmega328 de Arduino, as como su implementacin para lectura
de voltajes analgicos.
Acoplamiento y multiplexaje de los sensores: En este punto se ha ideado la
manera de leer un cierto nmero de sensores, utilizando un solo convertidor
analgico-digital. Para esto se us el trmino multiplexaje, utilizando el circuito
CD74HC4051. Es un multiplexor analgico, el motivo por el que se ha utilizado es
para conectar las salidas de voltaje analgico de los sensores haca en convertidor
analgico-digital del microcontrolador ATmega328. Este multiplexor de 3 bits, por lo
que se pueden direccionar hasta 8 sensores.
Comunicacin inalmbrica: Se implementa un radio dentro de la plataforma
meteorolgica.
Metodologa:
Pgina 32
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Figura 3.2 Multiplexaje de las seales analgicas, provenientes de los diferentes sensores.
El sensor funciona como un intrprete que hace una conversin de una variable
atmosfrica a una seal elctrica (voltaje). El dispositivo que hace esta conversin se le
conoce como transductor, aunque en la literatura y en algunas hojas de fabricantes se les
denomina sensor. Y es el dispositivo principal para implementar la estacin
meteorolgica, posteriormente se realizar la conversin Analgica- Digital para comenzar
con la parte de la lectura de datos. El bloque de lectura de datos la conforman el
multiplexor, que es dispositivo que
seleccionar el sensor a leer y el
conversor AD que es el dispositivo que
obtendr los datos numricos. Esta
tcnica permite principalmente registrar la
energa detectada por el sensor y los
bloques son los de la figura 3.3
Pgina 33
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
El flujo de la secuencia para obtener el dato numrico del sensor es la siguiente imagen:
Pgina 34
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 35
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Cmo se muestra para el voltaje de VCC va de -0.5 volts a 10.5 volts, alimentaremos con
un voltaje de 3.3 que se encuentra dentro del rango. VEE se conectar a 0 volts que
tambin se encuentra dentro del rango. Para la lgica TTL, los datos lmites para que el
multiplexor entienda como una seal HIGH es de 3.15 volts hasta VCC y una seal LOW
a partir de 1.35 volts. Para controla la lgica del multiplexor se conectar a la tarjeta
Arduino Mini con seales de 0 volts para una seal LOW y 3.3 volts para una seal HIGH.
Estas seales entrarn en el puerto de seleccin e canales que son los pines 9, 10 y 11.
Adems de seleccionar los distintos canales, tambin se tiene una seal de habilitacin
en el pin seis, para direccionar el canal AN hacia la salida analgica. La seal para de
habilitacin tambin es de TTL y se activa en bajo, cero volts. Cuando en este pin
tenemos un valor alto, 3.3 volts; en el pin tres de la salida analgica no habr una seal
significativa, independientemente de las seales que tengamos en la seleccin de canales
y la salida en este caso ser de cero volts. La seleccin del canal se visualiza en la
tabla3.1
ESTADOS DE LA ENTRADA Voltaje en la salida del canal
Habilitacin S2 S1 S0 analgico
Bajo Bajo Bajo Bajo Voltaje de la entrada A0
Bajo Bajo Bajo Alto Voltaje de la entrada A1
Bajo Bajo Alto Bajo Voltaje de la entrada A2
Bajo Bajo Alto Alto Voltaje de la entrada A3
Bajo Alto Bajo Bajo Voltaje de la entrada A4
Bajo Alto Bajo Alto Voltaje de la entrada A5
Bajo Alto Alto Bajo Voltaje de la entrada A6
Bajo Alto Alto Alto Voltaje de la entrada A7
Alto No Importa No Importa No Importa 0 volts
Esta tabla se tomar de base para disear el algoritmo que permita realizar la lectura de
los diferentes sensores conectados al multiplexor. El Controlador estar conectado al
multiplexor, siendo este el que seleccionar el canal donde se desea obtener el dato y
leer el dato con el conversor Analgico-Digital.
Pgina 36
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
La conexin final del nodo de sensores inalmbricos con el radio integrado es el que se
muestra en la Figura 3.8.
Pgina 37
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 38
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 39
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
4. Circuito transmisor.
Metodologa:
Como se menciona anteriormente la Figura 3.8 es la base para el diseo del circuito
transmisor. Parte del diseo del circuito transmisor se centra en cuatro componentes:
Pgina 40
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Como parte del diseo de la fuente de alimentacin se presenta de una manera muy
simple y es la ms importante de la tarjeta, porque todos los componentes se
alimentan con el mismo valor de voltaje. El valor de voltaje de la fuente de
alimentacin es de 3.3 volts.
Pgina 41
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Se cumple:
110mA<1 A
4.2 Control.
El componente del circuito transmisor que realiza esta tarea es la placa Arduino, dentro de
la placa se tiene el microcontrolador, el oscilador indispensable de 8MHz para que trabaje
el microcontrolador y un botn de reinicio.
En la placa Arduino se programa la
secuencia de control para realizar la
lectura de datos. El diagrama elctrico se
muestra en la siguiente figura:
Pgina 42
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 43
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 44
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
4.4 Radio.
El radio del circuito transmisor es un Xbee que interactuara con la tarjeta Arduino y el
radio Xbee de la estacin base. El objetivo es realizar una conexin punto a punto con la
estacin base. Sobre el radio fluyen los datos que provienen y se dirigen hacia la tarjeta
Arduino. Los datos que se dirigen a la tarje Arduino, son caracteres entendibles por la
programacin para iniciar la lectura de algn sensor y los datos provenientes de la tarjeta
Arduino son datos numricos relacionados con los voltajes de los sensores ledos.
La conexin del Xbee se realiza de la forma ms bsica que existe para su operacin y la
comunicacin con la tarjeta Arduino. En la siguiente imagen se muestran estas
conexiones:
La tarjeta radio Xbee se alimenta con un voltaje de valor de 3.3 volts, y se configura para
una velocidad de transmisin de datos seriales igual a la de la tarjeta Arduino. As los dos
pines de comunicacin serial se conectan con los pines de comunicacin serial de la
tarjeta Arduino. En la siguiente tabla se muestran la descripcin de los pines del Xbee.
Pgina 45
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 46
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 47
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Con el esquema, se utiliza el mismo software para realizar el PCB del circuito transmisor.
El PCB del circuito transmisor se disea en una placa de cobre con doble cara, sus
dimensiones son de 5x5 centmetros. En la siguiente imagen se muestran las dos caras
del PCB diseado.
El algoritmo del circuito transmisor son los pasos que se tienen que realizar para ejecutar
las tareas de lectura de datos y transmisin inalmbrica. Estas tareas son designadas al
microcontrolador, este dispositivo interacta con el multiplexor analgico y el radio Xbee.
Con ello Arduino es dispositivo que lleva el control principal del circuito transmisor y sobre
l se tiene que efectuar el algoritmo del circuito transmisor.
En la siguiente imagen se muestran los pasos que se realizan para que el circuito
transmisor realice la lectura de los diferentes sensores, siendo este algoritmo la base de
la programacin de la tarjeta Arduino.
Pgina 48
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 49
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Adems de las seales de salida, se tiene una variable interna que toma valores con base
a los datos que se escriben en el puerto serial de la tarjeta Arduino, esta variable se llama:
Caracter recibido.
Estado 2: En este bloque se definen las salidas de las variables referenciadas a
los pines de Arduino. Tambin se inicializa la velocidad de comunicacin de la
tarjeta. En la siguiente tabla se tienen la inicializacin de las variables.
VARIABLE CONFIGURACIN
Selector. Son tres pines que se configuran como pines de salida.
Conectado. Este pin se configura como pin de salida
Habilitacin Pin que se configura como seal de salida
Velocidad de la Fsicamente no es un pin, sino una configuracin de
comunicacin software indicndole a la tarjeta Arduino para trabajar a
9600 baudios/s
Pgina 50
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Caso 1 (6.1): El primer caso es cuando el dato recibido del puerto serial es igual al
caracter c. La tarjeta Arduino enciende el led que est referenciado a la salida
Conectado.
Caso 2(6.2): El segundo caso sucede cuando el dato recibido del puerto serial es
igual al caracter d. La tarjeta Arduino apaga el led, desconectando al circuito
transmisor.
Caso 3(6.3): El tercer caso se ejecuta cuando el dato recibido del puerto serial es
igual al carcter 1. En el selector se direccionan tres bits al multiplexor con el
cdigo 000. Despus se habilita el multiplexor con un valor LOW, direccionando la
seal solicitada. Posteriormente se lee el voltaje en la salida del multiplexor con el
convertidor analgico-digital de la tarjeta Arduino, guardando este valor en la
variable sensor1. Finalmente se deshabilita al multiplexor.
Pgina 51
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Con los siguientes casos sucede lo mismo, sin embargo el cdigo del selector
cambie segn el dato recibido. En la siguiente tabla se tienen el valor de las
variables para los siguientes casos.
Estado 7: En este bloque el circuito transmisor enva por el puerto serial los
valores de las variables ledas. Las variables son sensor1, sensor2, sensor3,
sensor4, sensor5, sensor6, sensor6, sensor7 y sensor8 que representan el
valor digital del sensor ledo, tiene valores entre 0 y 1023.
Estado 8 Es el fin del ciclo y regresa a la funcin loop, los ciclos son
permanentes a menos que se presione el botn de reset o se corte la
energa de la placa.
Pgina 52
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 53
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 54
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 55
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 56
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 57
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
5. Circuito receptor.
El circuito receptor es aquel que se comunica con el nodo de sensores inalmbrico y por
l fluyen los datos de control del nodo y la recepcin de los datos recibidos por el mismo.
Por un momento se pens que el diseo del circuito receptor fuera un microcontrolador
con un mdulo Xbee integrado, este microcontrolador tendra que ser capaz de
comunicarse con una computadora para la entrega de datos, a su vez se tena que hacer
una programacin para el flujo correcto de datos. Sin embargo las caractersticas del radio
Xbee sustituyeron los requisitos anteriores sin necesidad del microcontrolador. El mismo
radio realiza la comprobacin de errores de envo de datos ya que es una caracterstica
importante de su diseo. Xbee ofrece una comunicacin bidireccional permitindonos
enviar datos al nodo de sensores (circuito transmisor) y recibir datos del mismo, el envo y
la recepcin de los datos es simultneo. Xbee cuenta con una tarjeta XBee Explorer USB
el cual se comunica con una computadora dnde toda la transmisin de datos se hace de
manera serial. Las actividades realizadas en esta parte fueron:
Metodologa.
Para comunicar el Xbee en la recepcin de datos se utiliz la tarjeta XBee Explorer USB
que permite una comunicacin con la computadora mediante USB. La tarjeta cuenta con
chip emulador de un puerto serial FT232RL, es el intrprete entre el Xbee y la
computadora. La conexin fsica entre la tarjeta y la computadora es mediante un cable
mini USB. En la siguiente imagen se muestra la tarjeta.
Pgina 58
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Figura 5.1 Tarjeta Xbee Explorer USB, en la parte derecha su tipo de conexin.
Cuando se conecta por primera vez la tarjeta es necesario instalar los dirvers que
permiten emular el puerto serial, los dirvers se pueden descargar desde la pgina de
Internet de Sparkfun. Una vez instalados los drivers, a la tarjeta se asigna un puerto
COM#, para asegurarnos en que puerto trabaja la tarjeta podemos guiarnos del
administrador de dispositivos de Windows. La siguiente imagen muestra la conexin entre
la tarjeta Xbee Explore USB y el puerto de conexin.
Figura 5.2 Tarjeta Xbee Explorer USB conectada a la computadora y el puerto de conexin.
Pgina 59
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
La tarjeta Xbee Explorer USB es el hardware que comunica el radio Xbee con la
computadora. Mediante esta conexin el radio Xbee puede ser configurado para una
comunicacin punto a punto. El software que se utiliza para realizar la configuracin
puede ser cualquier Hyperterminal que permita escribir datos y recibir datos en el puerto
serial. Para hacer la configuracin del radio utilizaremos el software X-CTU.
Pgina 60
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Los Xbee se conectan sobre la tarjeta Xbee Explorer USB. La primera conexin es sobre
el Xbee con la marca nmero 1. En la siguiente imagen se tienen los comandos
ingresados en la Terminal de X-CTU para la configuracin.
Una vez ingresados los comandos, los Xbee se conectan al sistema de adquisicin de
datos. El Xbee de la marca 1 al circuito transmisor y el de la marca 2 en la tarjeta Xbee
Explorer USB como receptor de datos comunicndolos a la computadora. Los comandos
ingresados se encuentran en Tabla 1.3 Secuencia de los comando AT para configurar
una conexin punto a punto, del presente informe.
Pgina 61
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Una vez configurados los radios Xbee conectamos uno en el circuito transmisor.
Cargamos el sketch de Arduino con el cdigo del circuito transmisor, el mismo que
permite realizar la lectura de los diferentes sensores. En el nodo receptor conectamos el
segundo Xbee sobre la tarjeta Xbee Explorer USB.
Una vez hecha estas conexiones los Xbee estn listos para realizar la comunicacin
punto a punto. No importa que Xbee se coloque en el circuito transmisor, ambos fueron
configurados para que entiendan sus propios mensajes de comunicacin. La
comunicacin entre ellos es bidireccional.
Abrimos el software X-CTU para enviar los comandos. Recordemos que podemos enviar
los caracteres D, C, 1, 2, 3, 4, 5, 6, 7 y 8; que son los caracteres que entiende la
programacin del circuito transmisor. Tenemos conectados el circuito receptor y el circuito
transmisor como se muestra en la siguiente imagen. En la parte izquierda se tiene el Xbee
receptor conectado a la computadora. En la parte derecha el Xbee del circuito receptor.
Sobre la placa del circuito transmisor conectamos una carga que simular las variaciones
de voltaje de un sensor. La variacin va entere 0 a 3.3 volts. Terminando de colocar las
cargas en el circuito transmisor, podemos enviar los caracteres para recibir los datos de
los diferentes voltajes registrados. La conexin se har en el canal nmero 8. En el canal
2 se tiene un conectador el sensor de humedad. Los dems canales los conectamos a 0
volts. Para hacer la primera adquisicin de datos, conectamos el circuito receptor en la
computadora, seleccionando en la Terminal la conexin del puerto serial COM16. Sobre la
terminal enviamos los caracteres del 1 al 8 obteniendo los datos que se muestran en la
siguiente imagen.
Pgina 62
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Figura 5.8 Primera adquisicin de datos entre el circuito transmisor y el circuito receptor.
Los nicos canales en los que tenemos conectados una carga son en los canales 2 y 8.
Vemos que cuando enviamos el caracter 2 recibimos un valor digital 454 y cuando
enviamos el carcter 8 recibimos un 530. Estos valores son el resultado de la conversin
digital del voltaje analgico en esos canales. Para conocer el valor analgico se utiliza la
siguiente formula:
Donde
Antes de realizar las mediciones se registraron los voltajes respectivos con un multmetro.
Las siguientes imgenes muestran los voltajes medidos en el canal 8 y en el canal 2.
Pgina 63
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Vemos que tenemos un ligero error. Ya que el valor calculado es de 1.46 volts. Es quiz
porque en este canal tenamos conectado un sensor de humedad y es posible que haya
variado un poco en el voltaje. El error es el siguiente:
| |
Pgina 64
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
| |
Pgina 65
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 66
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
6. Interfaz Grfica.
Despus de obtener los primeros datos del circuito transmisor al circuito receptor, es
necesario almacenarlos y visualizarlos de una forma ordenada. En esta parte se describe
la Interfaz grfica que permite la visualizacin de los datos que llegan al circuito
transmisor. El software en el que se realiza esta tarea es Matlab a travs de la
herramienta Gua de Interfaz de Usuario.
Con esta herramienta se ha diseado la interfaz grfica que permite visualizar en forma
grfica los datos recopilados. Sobre ellas se pueden fijar otros parmetros como la
frecuencia de muestreo para la obtencin de datos. La interfaz consta de tres pantallas,
cada pantalla puede direccionar hasta 8 variables conectadas al circuito transmisor. En
cada pantalla se pueden observar el comportamiento de estas ocho variables, slo una a
la vez, por eso se da la capacidad de elegir cul se quiere observa. En la interfaz tambin
se tiene un tiempo total que es un tiempo propuesto por el usuario para recopilar la
informacin. Estas fueron algunas actividades desarrolladas en esta parte de la Estancia
Industrial, que a continuacin se muestran con ms detalle.
Metodologa.
GUI trabaja con base a la programacin orientada a objetos, similar a las plataformas para
generar interfaces tal como Visual Basic o Java. Esto se hace en dos partes, una donde
se realiza la visualizacin fsica del proyecto final, en ella se encuentran objetos como
Pgina 67
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Dentro de la interfaz podemos visualizar los datos graficados que se est registrando.
Cuanta con 3 pantallas capaz de visualizar has 8 variables. Adems existen otros
apartados que permiten la visualizacin, control del flujo de los datos. Los apartados de la
pantalla de la interfaz grfica se dividen en los siguientes bloques:
Bloque de conexin.
Bloque de control de medicin de datos.
Bloque de Seleccin de variables.
Bloque Pantalla.
Bloque de visualizacin de variables atmosfricas.
Bloque de fecha y hora.
Pgina 68
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 69
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Esta parte tambin permite interrumpir la conexin entre la interfaz y el circuito transmisor,
desconectndolo si el usuario ya no requiere realizar otra medicin.
Pgina 70
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
mensaje que el nombre del puerto es correcto. Sin embargo, no significa que el
puerto sea el correcto, puede ser que el puerto elegido no est conectado el
circuito receptor. Es necesario revisar en Panel de Control el puerto en el que est
conectado para realizar una correcta conexin.
Conectado: Es un botn que permite realizar la conexin con el circuito
transmisor. Cuando se presiona con un click a este botn, dentro de la interfaz se
presenta un cdigo en Matlab en el que se crea y abre el puerto serial definiendo
caractersticas como: Puerto de conexin, velocidad de conexin (9600 baudios/s)
y nombre del puerto como objeto. Cuando se ha creado el puerto serial se escribe
un carcter c que enva al circuito receptor y espera la respuesta colocndola en
el estado de la interfaz. Dentro de las instrucciones realizadas tenemos variables
importantes para la conexin.
VARIABLE DESCRIPCIN
enciende Bandera que se pone en 1 si se ha presionado el
botn conectado
S Nombre que toma el puerto Serial dentro del cdigo
del programa.
conectando Variable de tipo carcter. Es igual al caracter c para
enviarlo al circuito transmisor
estado Cadena de carcter que se recibe una vez que se ha
enviado el carcter c al circuito transmisor.
contador Variable que inicializa en cero. Es la condicin inicial
Mediciones del nmero de mediciones que se han realizado.
Comunicacin Bandera que se pone en 1 si la comunicacin con el
circuito transmisor se ha realizado.
Pgina 71
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 72
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
VARIABLE DESCRIPCIN
Enciende Bandera que se pone en o si se ha presionado el
botn desconectado
S Nombre que toma el puerto Serial dentro del cdigo
del programa. Cuando se presiona el botn
desconectado esta variable se elimina.
Estado Cadena de caracteres que muestra la palabra
desconectado en la pantalla de la interfaz.
Comunicacin Bandera que se pone en 1 si la comunicacin con el
circuito transmisor se ha realizado.
Pgina 73
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
En este bloque se configuran los tiempos de muestreos que se tendrn para realizar la
medicin para las 8 variables a medir y una cuadro de texto que indica el tiempo de la
medicin total. El muestreo de las 8 variables debe ser forzosamente de valor entero y
est dada en unidades de segundos. Este bloque la parte ms importante, contienen el
botn que inicia la medicin y es el segundo paso porque depende de la conexin con el
circuito transmisor.
Pgina 74
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 75
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
La tarea principal del botn de Inicio de Medicin es recopilar datos con base a los
tiempos de muestreo y el tiempo total de la medicin, entonces al recopilar datos
es necesario graficarlos, una parte importante de la interfaz grfica es visualizar los
datos en un tiempo cercano al real. Por ese motivo le asignamos una nueva tarea
al presionar este botn: Cuando se enva el caracter de solicitud de un sensor en el
circuito transmisor, se recibe el valor digital del sensor; si la pantalla para visualizar
est activada entonces se fija el tiempo en que fue solicitada la medicin y se
grafica contra el valor solicitado. Conforme avance el temporizador y con los
valores obtenidos, se van generando dos vectores de datos:
1.-El vector del tiempo del sensor que coincide con los mltiplos del tiempo de
muestreo del sensor.
2.- El vector magnitud del sensor que son los datos solicitados en los valores del
vector tiempo.
Pgina 76
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Con estos dos vectores es suficiente para realizar una grfica que se actualiza
cada que toma una medicin o cada que sea solicitada. Dentro de este bloque
actualizaremos las grficas de las pantallas cada que se toma una medicin por lo
que la podemos visualizar en un tiempo real.
Algunas de las variables importantes dentro del botn de este bloque se muestran
en la siguiente tabla:
Pgina 77
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
VARIABLE DECRIPCIN
Enciende Bandera que se pone en 1 durante la conexin. Y nos sirve para
conocer si la conexin con el circuito transmisor se ha realizado.
Comunicacin Cuando el circuito transmisor se comunic con la interfaz, esta
bandera se pone en 1, el botn de medicin funciona si esta
bandera y la bandera enciende son iguales a 1
Fecha Inicial Al iniciar la medicin se registra la fecha inicial y se guarda en
una cadena de caracteres.
Fecha Final Al finalizar la medicin se guarda en esta variable la cadena de
caracteres de la fecha final.
Fecha Actual Variable que se actualiza con la fecha actual cada que se toman
valores en la medicin.
Tiempo mximo Variable que guarda el valor del tiempo mximo en que se
desea realizar la medicin.
Muestreo1, muestreo2, Son valores ledos de la caja de texto de los muestreos de la
muestreo3, muestreo4, variables, estn dados por segundos
muestreo5, muestreo6,
muestreo7, muestreo8.
Temperatura, sensor2, sensor3, Son arreglos de los vectores de magnitud de las variables
sensor4, sensor5, sensor6, ledas. Su dimensin depende del tiempo mximo de medicin y
sensor7, sensor8 del tiempo de muestreo. Por ejemplo si se tiene un tiempo
mximo de medicin de 60 segundos y el tiempo de muestreo
del sensor2 es de 6 segundos, la dimensin del vector del
sensor2 ser de 10 datos de medicin.
T1, t2, t3, t4, t5, t6, t7, t8 Son las variables del vector tiempo, en el que se guardan los
mltiplos de tiempo en que fue tomada la medicin.
Toc Ms que una variable, es un temporizador interno de Matlab y
es que llevar la cuenta del tiempo de medicin.
Contador modulo1, contador Son variables que se incrementan con base al tiempo de
modulo2, contador modulo3, muestreo asignado, por ejemplo si el sensor 1 tiene un tiempo
contador modula4, contador de muestreo de 3 segundos, el contador modulo tomara valores
modulo5, contador modulo6, de:
contador modulo7, contador 3, 6, 9, 12
modulo8.
pausa Bandera que pone en 1 si el botn de detener es presionado
Pgina 78
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 79
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Dentro de la interfaz grfica existen tres pero se comportan de la misma manera. En este
bloque se encuentran 8 botones que permiten seleccionar la variable deseada en la
pantalla correspondiente. El bloque se muestra en la siguiente figura:
BOTON
S1 S2 S3 S4 S5 S6 S7 S8
PRESIONADO
Temperatura. 1 0 0 0 0 0 0 0
Humedad. 0 1 0 0 0 0 0 0
Sensor3 0 0 1 0 0 0 0 0
Sensor4 0 0 0 1 0 0 0 0
Sensor5 0 0 0 0 1 0 0 0
Sensor6 0 0 0 0 0 1 0 0
Sensor7 0 0 0 0 0 0 1 0
Snsor8 0 0 0 0 0 0 0 1
Tabla 6.5 Cdigo generado al presionar los botones del bloque de seleccin de variables.
Los siguientes cdigos son ledos cuando se requieren graficar una de las variables en
alguna de las tres pantallas que existen en la interfaz. Una vez que se tiene el cdigo se
manda a llamar el trazado del grafico de los valores que tengamos en ese instante.
Pgina 80
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Existen tres de estos bloques dentro de la interfaz, en ella cada una de ellas se permiten
visualizar las ocho variables que se tiene registradas. Esta la parte ms importante de la
interfaz, en ella se grafican en tiempo real los valores registrados, as mismo se pueden
enfocar intervalos de tiempo deseados mediante 2 barras slider que modifican el ancho de
la pantalla y el centro. Despus de que termina la medicin es necesario revisar con
detalle alguna curvas de anlisis, tambin se es posible enfocarlas.
En muchos casos por el tamao de slider no se tienen una mayor resolucin en la hora de
seleccionar el ancho de la ventana, en ocasiones se pierde la seal durante la medicin,
por lo que se integra un botn de autoconfiguracin que enfoca la pantalla 15 segundo
antes de valor de tiempo del temporizador y 15 segundos despus del tiempo del
temporizador. En la siguiente imagen se tiene el bloque de pantalla.
Dentro de este bloque se tienen 5 objetos importantes que son: autoconfiguracin, rango
de pantalla, centro de pantalla, axes y el nombre de la pantalla. A continuacin se
presentan la descripcin:
Pgina 81
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Las caractersticas principales de los slider tanto de rengo de pantalla como centro
de pantalla son: tienen un valor mnimo y un valor mximo. Damos las
explicaciones de los valores que toman los dos slider.
Intervalos de operacin del slider Rango de pantalla: Este slider determina el ancho
de la ventana que se desea visualizar, por lo que el valor mnimo de este slider es
de un valor arbitrario de 20 (con el fin de ver como mnimo un pantalla de 20
segundos, si damos valor 0 tendremos una visin de pantalla de 0 segundos y no
es muy lgico tener una pantalla con este tiempo de visin). El valor mximo es el
tiempo mximo de medicin y no puede rebasar este valor.
Intervalos de operacin del slider Centro de pantalla: Una vez que se define el
ancho de pantalla se tiene que definir la posicin dentro de la medicin de dnde
se requiere ubicar. No es lo mismo tener un ancho de pantalla de 20 segundos
centrada a un tiempo de 30 segundos que centrada a un tiempo de 40 segundos.
Como antes se define el valor mnimo del ancho de la pantalla es de 20 segundos.
Los casos ms crticos son: visualizar la pantalla en el extremo derecho y en el
extremo izquierdo. Cuando centra la pantalla en el extremo izquierdo con un ancho
de pantalla mnimo, se centrar en un valor 10 y este el valor mnimo que puede
tomar el slider de centro de pantalla. Si la pantalla se requiere centrar en el
extremo derecho con un ancho de pantalla mnimo, el centro de pantalla debe estar
Pgina 82
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
en el valor del tiempo mximo menos 10; y este es el valor mximo que puede
tomar el slider de centro de pantalla.
VARIABLE DESCRIPCIN
Rango de pantalla. Es un valor ledo del slider de rango de pantalla.
Centro de pantalla. Es un valor ledo del slider de centro de pantalla.
Lmite inferior de Variable con valor para visualizar el lmite inferior
pantalla. de pantalla, usa como referencia valor del centro
de pantalla
Lmite superior de Variables con valor para visualizar el lmite
pantalla superior de la pantalla, usa como referencia el
centro de pantalla.
Lmites de pantalla Vector de dos valores en los que se guardan:
lmite inferior de pantalla y lmite superior de
pantalla.
Pgina 83
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Figura 6.10. Algoritmo que se ejecuta al ajustar la pantalla con los sliders.
Pgina 84
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 85
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
En este bloque se visualiza la fecha y hora actual. Matlab tiene una instruccin que
permite manejarla como cadena de caracteres. Cuando se inicia una medicin se registra
la fecha inicial de la medicin y se guarda variables, cuando termina la medicin se
guarda en otra variable. Con esta informacin se puede conocer la fecha y hora en que
inicia una medicin y finaliza. En la siguiente figura se tiene el bloque de facha y hora:
Pgina 86
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 87
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
( )
( )
Pgina 88
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
El sensor que se utiliza es el HMZ-433 A1 consiste en un sensor integrado con una salida
de voltaje de DC para una temperatura de 0 a 100 %RH. Dentro de la hoja de datos del
fabricante se proporciona la siguiente tabla que genera la grfica mostrada.
Figura 6.15. Respuesta del sensor de humedad HZM33A1 Humedad vs voltaje de salida
De la tabla dad por el fabricante realizamos un ajuste de los datos mediante el mtodo de
mnimos cuadrados ajustando a un recta. La ecuacin resultante es la siguiente.
Como se sabe en la lectura se obtienen valores numricos a partir del voltaje de DC del
sensor de humedad por lo que:
Pgina 89
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Despejando al porcentaje de humedad que es el valor que se requiere obtener a partir del
valor digital, se tiene la ecuacin del sensor de humedad:
Pgina 90
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
handles.output = hObject;
% --- Outputs from this function are returned to the command line.
function varargout = conectar_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
Pgina 91
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
conectando=99;
fwrite( s, conectando); %Escribimos un caracter 'c' al circuito transmisor
prende=fscanf(s, '%s') %Leemos el dato del circuito transmisor.
set(handles.Aviso, 'string', prende); %Mostramos la palabra recibida.
end
estado='Conectado'; %Se asegura si la palabra recibida es "Conectado"
if estado==prende
comunicacion=1; %Activacin de las banderas
enciende=1;
end
Pgina 92
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
global sensor8a
%sensores de la panatalla 2
global sensor21
global sensor22
global sensor23
global sensor24
global sensor25
global sensor26
global sensor27
global sensor28
%Sensores de la panatalla 3
global sensor31
global sensor32
global sensor33
global sensor34
global sensor35
global sensor36
global sensor37
global sensor38
%Variable global para pausar el sistema
global pausa
pausa=0
if enciende==1
if comunicacion==1
%Tomando la fecha actual
fechaInicial=datestr(now);
set(handles.fecha, 'string', fechaInicial);
%%Lee el valor del tiempo maximo de la medicin.
tiempo_maximo=str2double(get(handles.lectura_tiempo, 'string'));
Pgina 93
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Pgina 94
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
t_7=zeros(1, tiempo_maximo*velocidad_sensor7);
contador_modulo7=0;
p=1;
%% Vectores de inicio del sensor 8
muestreo_sensor8=str2double(get(handles.muestreo8, 'string'));
muestreo_sensor8=fix(muestreo_sensor8);
velocidad_sensor8=1/muestreo_sensor8;
sensor8=zeros(1, tiempo_maximo*velocidad_sensor8);
t_8=zeros(1, tiempo_maximo*velocidad_sensor8);
contador_modulo8=0;
q=1;
%% Inicia reloj interno de Matlab
tic
while(toc<=tiempo_maximo&pausa==0)
fechaActual=datestr(now);
set(handles.fecha, 'string', fechaActual);
terminar=0;
tiempo=toc;
set(handles.Segundos,'string', tiempo);
t(i)=toc;
t(i)=fix(t(i));
t_2(j)=toc;
t_2(j)=fix(t_2(j));
t_3(k)=toc;
t_3(k)=fix(t_3(k));
t_4(l)=toc;
t_4(l)=fix(t_4(l));
t_5(m)=toc;
t_5(m)=fix(t_5(m));
t_6(n)=toc;
t_6(n)=fix(t_6(n));
t_7(p)=toc;
t_7(p)=fix(t_7(p));
t_8(q)=toc;
t_8(q)=fix(t_8(q));
axes(handles.axes7);
grid on;
axes(handles.pantalla2);
grid on;
axes(handles.pantalla3);
grid on;
%%Condicion de mestreo del sensor1
if contador_modulo<=t(i)
com='1' ;
contador_modulo=contador_modulo+muestreo_sensor1;
fwrite(s, com); %enva el caracter 1
dato=fscanf(s,'%d'); %espera la lectura del dato
temperatura(i)=0.5371093*dato-541.666; %Ecuacin de temperatura
tem=temperatura(i);
set(handles.temperatura_texto,'string', tem);
x = linspace(0,i/velocidad_sensor1,i);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%graficar%%%%%%%%%%%%%%%%%%%%%%%%%
if pantalla1&sensor1==1
graficarSensor1Pantalla1
end
if pantalla22&sensor21==1
graficarSensor1Pantalla2
end
if pantalla33&sensor31==1
Pgina 95
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
graficarSensor1Pantalla3
end
i=i+1
end
%condicin de muestreo para el sensor 2
if contador_modulo2<=t_2(j)
com2='2';
contador_modulo2=contador_modulo2+muestreo_sensor2;
fwrite(s, com2); %enva el caracter 2
dato2=fscanf(s, '%d'); %Lee el datos del sensor 2
sensor2(j)=0.0966796*dato2; %Ecucain del sensor 2
x_2=linspace(0, j/velocidad_sensor2, j);
%verificacion de la pantalla activada
if pantalla1&sensor2a==1
graficarSensor2Pantalla1
end
if pantalla22&sensor22==1
graficarSensor2Pantalla2
end
if pantalla33&sensor32==1
graficarSensor2Pantalla3
end
j=j+1;
end
if pantalla22&sensor23==1
graficarSensor3Pantalla2
end
if pantalla33&sensor33==1
graficarSensor3Pantalla3
end
k=k+1;
end
%condicin de muestreo para el sensor 4
if contador_modulo4<=t_4(l)
com4='4';
contador_modulo4=contador_modulo4+muestreo_sensor4;
fwrite(s, com4); %envia el caracter 4
dato4=fscanf(s, '%d'); %lee datos del sensor 4
sensor4(l)=dato4*3.3/1023
x_4=linspace(0, l/velocidad_sensor3, l);
%verificacin del la pantalla del sensor4
if pantalla1&sensor4a==1
graficarSensor4Pantalla1
end
Pgina 96
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
if pantalla22&sensor24==1
graficarSensor4Pantalla2
end
if pantalla33&sensor34==1
graficarSensor4Pantalla3
end
l=l+1;
end
%condicin de muestreo para el sensor 5
if contador_modulo5<=t_5(m)
com5='5';
contador_modulo5=contador_modulo5+muestreo_sensor5;
fwrite(s, com5); %envia el caracter 5
dato5=fscanf(s, '%d'); %lee datos del sensor 5
sensor5(m)=dato5*3.3/1023
x_5=linspace(0, m/velocidad_sensor5, m);
%verificacin del la pantalla del sensor5
if pantalla1&sensor5a==1
graficarSensor5Pantalla1
end
if pantalla22&sensor25==1
graficarSensor5Pantalla2
end
if pantalla33&sensor35==1
graficarSensor5Pantalla3
end
m=m+1;
end
%condicin de muestreo para el sensor 6
if contador_modulo6<=t_6(n)
com6='6';
contador_modulo6=contador_modulo6+muestreo_sensor6;
fwrite(s, com6); %envia el caracter 6
dato6=fscanf(s, '%d'); %lee datos del sensor 6
sensor6(n)=dato6*3.3/1023
x_6=linspace(0, n/velocidad_sensor6, n);
%verificacin del la pantalla del sensor6
if pantalla1&sensor6a==1
graficarSensor6Pantalla1
end
if pantalla22&sensor26==1
graficarSensor6Pantalla2
end
if pantalla33&sensor36==1
graficarSensor6Pantalla3
end
n=n+1;
end
%condicin de muestreo para el sensor 7
if contador_modulo7<=t_7(p)
com7='7';
contador_modulo7=contador_modulo7+muestreo_sensor7;
fwrite(s, com7); %envia el caracter 7
dato7=fscanf(s, '%d'); %lee datos del sensor 7
sensor7(p)=dato7*3.3/1023
x_7=linspace(0, p/velocidad_sensor7, p);
Pgina 97
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
if pantalla22&sensor27==1
graficarSensor7Pantalla2
end
if pantalla33&sensor37==1
graficarSensor7Pantalla3
end
p=p+1;
end
%condicin de muestreo para el sensor 8
if contador_modulo8<=t_8(q)
com8='8';
contador_modulo8=contador_modulo8+muestreo_sensor8;
fwrite(s, com8); %envia el caracter 8
dato8=fscanf(s, '%d'); %lee datos del sensor 8
sensor8(q)=dato8*3.3/1023
x_8=linspace(0, q/velocidad_sensor8, q);
%verificacin del la pantalla del sensor8
if pantalla1&sensor8a==1
graficarSensor8Pantalla1
end
if pantalla22&sensor28==1
graficarSensor8Pantalla2
end
if pantalla33&sensor38==1
graficarSensor8Pantalla3
end
q=q+1;
end
end
terminar=1; %Bandera de terminar que se poene en 1
hoja='hoja--'
contadorMediciones=contadorMediciones+1; %Conteo de mediciones
%%Preparacion del nombre de la hoja en excel
modulo=mod(contadorMediciones, 10);
modulo=modulo+48;
divisor=fix(contadorMediciones/10);
divisor=divisor+48;
hoja(5)=divisor;
hoja(6)=modulo;
fechaFinal=datestr(now); %Guardano la fecha final
guardar='Guardando Medicion';
msgbox('Guardando datos, Espere!', guardar);
%Columna de temperatura
temperatura=temperatura';
x=x';
%Columna de Humedad
sensor2=sensor2';
x_2=x_2';
%Guardando datos del sensor 3
sensor3=sensor3';
x_3=x_3';
%Guardando datos del sensor 4
sensor4=sensor4';
Pgina 98
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
x_4=x_4';
%Guardando datos del sensor 5
sensor5=sensor5';
x_5=x_5';
%Guardando datos del sensor 6
sensor6=sensor6';
x_6=x_6';
%Guardando datos del sensor 7
sensor7=sensor7';
x_7=x_7';
%Guardando datos del sensor 8
sensor8=sensor8';
x_8=x_8';
%%Exportando todos los datos a excel
xlswrite('datos.xlsx', x, hoja, 'a2');
xlswrite('datos.xlsx', temperatura, hoja, 'b2');
xlswrite('datos.xlsx', x_2, hoja, 'd2')
xlswrite('datos.xlsx', sensor2, hoja, 'e2');
xlswrite('datos.xlsx', x_3, hoja, 'g2')
xlswrite('datos.xlsx', sensor3, 'hoja1', 'h2');
xlswrite('datos.xlsx', x_4, hoja, 'j2')
xlswrite('datos.xlsx', sensor4, hoja, 'k2');
xlswrite('datos.xlsx', x_5, hoja, 'm2')
xlswrite('datos.xlsx', sensor5, hoja, 'n2');
xlswrite('datos.xlsx', x_6, hoja, 'p2')
xlswrite('datos.xlsx', sensor6, hoja, 'q2');
xlswrite('datos.xlsx', x_7, hoja, 's2')
xlswrite('datos.xlsx', sensor7, hoja, 't2');
xlswrite('datos.xlsx', x_8, hoja, 'v2')
xlswrite('datos.xlsx', sensor8, hoja, 'w2');
termina_medicion='t'
fwrite(s, termina_medicion)
finMedicion='Termina Medicion';
%Mensaje al usuario, indaca la medicion finalizada
msgbox('Acabo la Medicin', finMedicion);
end
end
%%Fin del cdigo al presionar el notn medir
Pgina 99
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Conclusin.
Se tenan las primeras mediciones sobre la interfaz siempre a prueba y error, es como
siempre se trabaj. Se descartaron opciones de lo que debera tener y no tener la interfaz
grfica en Matlab, naciendo el primer prototipo: sistema adquisicin de datos atmosfricos
almbrico. Este primer prototipo estaba casi diseado para acoplar un modo dispositivo
inalmbrico. Se volvi a considerar opciones de lo que necesitbamos. Xbee fue una
solucin ante el problema de comunicacin inalmbrica, naciendo el segundo prototipo
que fue un sistema adquisicin de datos atmosfricos inalmbrico.
Pgina 100
Reporte de la UEA Estancia Industrial de Ingeniera Electrnica
Referencias.
2. Renom, Madeleine. Principios bsicos de las mediciones atmosfricas. Fac, de Ciencias UdelaR.
2011. Pgina 10.
5. A. Mielke et al. Independent Sensor Networks, IEEE Instrumentation & Measurement, Junio 2005.
7. Hebel Martin, Bricker George, Harries Daniel. Getting Started with Xbee RF Modules a tutorial for Basic
stamp and Propeller Microcontrollers. Versin1.0. Parallax.inc. Pgina 8.
9. Arduino (plataforma de cdigo libre para el prototipo Arduino como computacin fsica, apta para
sensores inalambricos), URL http://www.arduino.cc (ltima visita 3/Marzo/2013).
10. Restrepo G., Andrs D., Loaiza C., Humberto, Caicedo B. Eduardo. Control y adquisicin serial de
seales ultrasnicas con Matlab. Pgina 4.
11. MATLAB . Creating Graphical User Interfaces. MathWorks R2012b. (Revised for Matlab 8.0). Pgina
3.
Pgina 101