SlideShare una empresa de Scribd logo
1 de 101
Descargar para leer sin conexión
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 1
Ciencias Básicas e Ingeniería.
Ingeniería en Electrónica.
Reporte de la UEA Estancia Industrial
de Ingeniería Electrónica.
Alumno:
Pérez Miguel Ángel 208302929
Asesor:
Reyes Ayala Nicolás.
Responsable en la Empresa y Director del Proyecto para el IMP
Dr. Reyes Villegas Faustino Martín Ficha: IMP_12697.
Trimestre: 13I
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 2
Índice.
1. Marco Tecnológico.
1.1 Estaciones meteorológicas.
1.1.1 Clima y tiempo.
1.1.2 Escalas de las estaciones Meteorológicas.
1.2 Sistemas de sensores inalámbricos.
1.3 XBEE.
1.3.1 Acceso al medio.
1.3.2 Verificación de error y reconocimiento.
1.3.3 Encapsulación.
1.3.4 Protocolos XBEE
1.3.5 Configuración XBEE punto a punto.
1.3.6 Estilo y características XBEE
1.4 Arduino.
1.4.1 ¿Por qué utilizar Arduino?
1.4.2 Versiones y características de Arduino.
1.4.3 Arduino PRO-MINI en la red de sensores.
1.4.4 Software Arduino.
1.5 Matlab.
1.5.1 Matlab y la comunicación con el Hardware.
1.5.2 Interfaz Gráfica de Usuario (GUI).
2. Plataforma meteorológica, sistema de adquisición de datos
2.1 Lectura de datos.
2.2 Comunicación inalámbrica.
2.3 Interfaz gráfica.
3. Lectura de datos y comunicación inalámbrica.
3.1 Lectura del dato.
3.2 Acoplamiento y multiplexaje de los sensores.
3.3 Implementación de la comunicación inalámbrica.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 3
4. Circuito transmisor.
4.1 Fuente de alimentación 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 Programación del circuito transmisor.
5. Circuito receptor.
5.1 Tarjeta Xbee Explorer USB.
5.2 Configuración Xbee para la comunicación.
5.3 Comunicación con el circuito transmisor.
6. Interfaz Gráfica.
6.1 Interfaz de la adquisición de datos.
6.2 Bloque de conexión.
6.3 Bloque de control de medición de datos.
6.4 Bloque de selección de variables.
6.5 Bloque Pantalla.
6.6 Bloque de visualización de las variables atmosféricas.
6.7 Bloque de fecha y hora.
6.8 Ecuación del sensor de temperatura.
6.9 Ecuación del sensor de humedad.
6.10 Programación de la interfaz.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 4
Introducción.
La obtención de datos atmosféricos es muy importante en el monitoreo de gases de
efecto invernadero en la atmosfera, y se lleva a cabo con plataformas instrumentadas,
denominada estaciones meteorológicas. Actualmente en el mercado se encuentran gran
variedad de estaciones meteorológicas que permiten leer las diferentes variables de
interés cumpliendo varios objetivos, sin embrago, resulta complicado su uso y aplicación
al momento de describir los componentes electrónicos internos y buscar integrarlos a un
diseño propio para la adquisición de datos atmosféricos y otros aspectos, requeridos
como son Telecomunicación, miniaturización, almacenamiento y control de datos
atmosféricos. El presente documento describe el diseño y construcción de una estación
meteorológica que sea capaz de cumplir con lo anterior. Partiendo de la lectura de datos,
transmisión inalámbrica, adquisición y almacenamiento de datos. Cada etapa presenta
un acoplamiento de componentes electrónicos tales como transductores, controladores,
transmisores de radiofrecuencia, programación de la secuencia de control e interfaz
gráfica. Da tal forma que en conjunto se logre un diseño apropiado de la estación
meteorológica miniaturizada.
Al presentar el desarrollo del diseño se obtendrá la plataforma capaz de adquirir los datos
atmosféricos requeridos, involucrando en el acoplamiento tecnologías apropiadas al
diseño. La plataforma de hardware Arduino facilita la lectura de transductores, la
comunicación a una PC y con el sistema de comunicación inalámbrica. XBEE es una
tecnología específica y estándar de redes inalámbricas personales, utilizada en este
trabajo. El desarrollo del software presenta la Interfaz Gráfica de Usuario Matlab (GUI).
Aunque Java es el lenguaje más habitual para crear GUI, es muy lenta para hacer
cálculos eficientemente y es aquí donde Matlab es más poderoso. También las
aplicaciones de estas tecnologías son limitadas, trabajando en rangos de operación
apropiados para el acoplamiento.
Con la herramienta naciente del proyecto, se obtendrán datos que pueden causar un
impacto en la toma de decisiones en el monitoreo de gases atmosféricos de efecto
invernadero en la atmosfera. Algunas otras variables son necesarias e importantes para
cálculos y análisis de los mismos. Por parte de la comunicación, las redes de monitoreo
inalámbrico se han convertido en la actualidad de mayor importancia y se convierten en
una herramienta interesante en el campo de la ingeniería de telecomunicaciones, los
sensores tienen que estar dentro de esa red detectando los cambios apropiados. La
explicación de la detección de los cambios es la parte importante que se tiene que
interpretar.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 5
Objetivo General:
 Realizar el diseño, implementación y/o construcción de un sistema miniaturizado de
comunicación inalámbrica, transmisión y análisis de la información de señales, de
datos atmosféricos utilizados en la medición de emisiones.
Objetivos Particulares:
 Aplicar los fundamentos electrónicos aplicados en el diseño y construcción forma
inalámbrica de un sistema de comunicación, transmisión y análisis de la información
de señales.
 Aplicar los conocimientos de los principios de diseño de sistemas digitales y sistemas
de control e instrumentación.
 Aplicación de conocimientos en comunicaciones, medición remota e interfaz grafica y
monitoreo.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 6
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 7
1. Marco Tecnológico.
En esta primera parte definimos las tecnologías que han sido seleccionadas para la
implementación y diseño de la plataforma meteorológica, siendo la información que nos
ha ayudado en la comprensión y selección de las tecnologías existentes en el mercado.
En esta primera parte se consideran conceptos básicos utilizados en el proyecto de la
Estancia Industrial y fundamentalmente las actividades realizadas en esta primera parte
se relacionan a la investigación documental del estado del arte de las tecnologías
identificadas con posibilidad de considerarse en el presente trabajo:
 Definición de las estaciones meteorológicas: Se ha investigado la definición y
las principales variables que se deben medir en una estación meteorológica
comercial.
 Definición de una red de sensores inalámbrica: Se ha relacionado a la
plataforma meteorológica implementada con una red de sensores inalámbrica.
Definiendo la arquitectura de la misma: microcontrolador, sensores y radio.
 Definición de la comunicación inalámbrica: Se ha seleccionado la tecnología
XBEE, al seleccionarla se han estudiado los protocolos de comunicación y
configuración del radio XBEE. Dentro de la investigación se han definido los
conceptos de error al transmitir el dato, empaquetamiento y acceso al medio.
Señalando también características del radio como: Potencia de salida, alcance y
voltaje de operación.
 Definición del microcontrolador: en esta parte se ha seleccionada la tecnología
ARDUINO. Seleccionando la placa Arduino Mini PRO se ha reportado también el
tipo de software que utiliza la tarjeta ARDUINO
1.1 Estaciones meteorológicas.
La meteorología es la rama de la física que estudia los fenómenos que existen y aparecen
en la atmosfera. En el pasado el hombre aprendió a predecir los cambios del tiempo
mediante la observación, dándose cuenta de los cambios que lo benefician o dañan. En la
actualidad, con el crecimiento urbano y tecnológico el hombre han extendido sus sentidos,
que son los instrumentos meteorológicos; con el fin de predecir los cambios que lo dañan.
Monitoreando los gases tóxicos que se encuentran en la atmosfera permitiendo medir,
registrar y procesar la información que se obtiene de la predicción del tiempo y la
atmosfera, sin necesidad de hacer observaciones directas mediante estaciones
meteorológicas, que conllevan el uso de sistemas inalámbricos. En el campo de la
atmosfera se puede sacar provecho de los dos métodos: observar y medir.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 8
Actualmente las estaciones meteorológicas se aplican en distintas áreas de la
investigación, sobre todo, en ciencias de la atmósfera, en donde los datos obtenidos a
través de ellas, se utilizan en análisis atmosféricos funcionando como predictores;
también, se utilizan como pronosticadores y alertas de fenómenos naturales, o, para
operaciones locales de pronósticos hidrológicos y agrometeorológicos. En todos los casos
la estación meteorológica debe cumplir un grado de exactitud necesaria para describir el
valor de la variable para un fin en específico, esto se le llama representatividad.
1.1.1 Clima y tiempo.
Se pude definir clima1
al estado de las condiciones de la atmósfera, en muchos casos se
le relaciona con la temperatura y las observaciones sobre la precipitaciones. A veces se le
hace relación con el tiempo, sin embargo, no tiene el mismo significado. El clima lo
determinan:
a) La altura sobre el nivel del mar.
b) Su distancia a grandes masas de agua.
c) Su orología.
El tiempo se refiere a los cambios rápidos que se presentan en la atmósfera, en cosas de
horas o días de un lugar en específico. Los factores del tiempo son los siguientes:
a) Presión atmosférica.
b) Velocidad y dirección del viento.
c) Temperatura.
d) Humedad del aire.
La vinculación tiempo-estación meteorológica se relaciona muy adecuadamente debido
que muchas estaciones existentes en el mercado registran los factores del tiempo. Los
requerimientos de mediciones del diseño de la plataforma meteorológica instrumentada
que debe registrar son los siguientes2
:
1. Tiempo presente.
2. Tiempo pasado.
3. Dirección y velocidad del viento.
4. Temperatura.
5. Humedad relativa.
6. Presión atmosférica.
7. Radiación solar.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 9
Estas variables están presentes en el diseño, dónde cada a una se le puede asignar una
técnica para el registro y obtención de sus valores a través de sensores.
1.1.2 Escalas de las estaciones meteorológicas.
En particular las distintas estaciones meteorológicas tienen una escala espacial y
temporal definida para realizar sus promedios, para definir la red de observaciones
necesaria con la relación del fenómeno que se quiere estudiar. Entonces, la escala del
pronóstico tiene una estrecha relación con la escala temporal del fenómeno. Ejemplo:
para detectar cualquier fenómeno de pequeña escala y de variaciones rápidas en el
tiempo y realizar su pronóstico del tiempo a muy corto plazo se requieren observaciones
más frecuentes, provenientes de la red de observaciones sobre un área limitada. Con lo
anterior, las escalas meteorológicas se clasifican como:
Tabla 1.1 Clasificación de las escalas meteorológicas (Renom, Madeleine. Principios básicos de las
mediciones atmosféricas, 2011).
Con base en la tabla 1.1, la Escala Local es la que más se acerca a los requerimientos
solicitados, dedicado al monitoreo de contaminación atmosférica, siendo también la base
para el diseño de nuestra estación meteorológica. Se considera una distancia máxima de
3 Km, teniendo una estación base y la estación meteorológica comunicadas entre sí a
través de una red inalámbrica. Para la red se sugiere una comunicación de punto a punto,
posteriormente se puede considerar de punto a multipunto, para abarcar un área
geográfica más extensa.
Finalmente señalamos las características importantes de la plataforma meteorológica:
Miniaturización. Parte principal del diseño, también es la causa por la que no se
decidió implementarla con una estación meteorológica existente en el mercado.
Comunicación inalámbrica punto a punto, con alcance máximo de 2 Km al aire libre.
Registrar: Temperatura, humedad relativa, presión atmosférica. Radiación solar,
velocidad y dirección del viento.
CLASIFICACIÓN DISTANCIA APLICACIÓN
Micro escala Menor a 100 metros Agrometeorología:
Evaporación
Escala Local Entre 100 metros y 3
Kilómetros
Contaminación
atmosférica, tornados
Meso escala De 3 a 100 kilómetros Tormentas, brisa de mar.
Escala Sinóptica De 100 a 3000
Kilómetros.
Frentes, ciclones,
clusters nubosos
Escala Planetaria Mayor a 3000 Kilómetros Ondas largas en altura.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 10
1.2 Sistemas de sensores inalámbricos.
Durante los años 90´s ha surgido de revolución de las redes, tal que las personas y las
organizaciones intercambian información 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 telefonía celular. Estos dispositivos son cada vez más capaces,
prometiendo mucho como aspectos de configuración y baja probabilidad de fallar. Todo
queda enlazado entre sí dentro de redes inalámbricas formando desde un entorno simple
hasta el más complejo.
La parte de la tecnología de sensores inalámbricos, tampoco se podía quedar atrás y se
ha desarrollado aventajando los campos de aplicación como defensa, agricultura, medio
ambiente o tráfico3
.
La tecnología de redes de sensores se basa en el uso de sensores o actuadores con
capacidad de recibir información del entorno o de realizar alguna acción en él. Estos
sensores están conectados a dispositivos electrónicos con capacidad de procesamiento
de comunicación inalámbrica. Cada nodo de la red consta de un microcontrolador,
sensores y transmisor/receptor, y puede formar una red de muchos nodos. Cada nodo
debe procesar una cantidad limitada de datos, coordinando cada sensor para realizar una
tarea específica.
Una ventaja del sistema de sensores inalámbricos es que, en muchos casos, se requieren
demasiados sensores para evitar obstáculos físicos que obstruyan la línea de
comunicación. El medio que va a ser monitorizado no tiene una infraestructura, ni para el
suministro energético, ni para la comunicación. Por ello es necesario que los nodos
funcionen con pequeñas fuentes de energía y que se comuniquen mediante canales
inalámbricos. En la siguiente figura se muestra la arquitectura de cada nodo de la red de
sensores.
Figura1.1 Arquitectura física de un nodo de red de sensores (Aplicación de las
redes de sensores inalámbricos a la industria nuclear. Tecnatom).
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 11
Los elementos a considerar en cada nodo de una red de sensores son:
a) Sensores: Sus puntos críticos de estas aplicaciones suelen ser el tamaño y
consumo, en los casos cuando el nodo se despliega para obtener la información.
Operan de manera autómata sin acceder a fuentes de energía externa.
b) Capacidad de proceso de los nodos: En la arquitectura todos los nodos tiene un
microcontrolador. Las capacidades de este dispositivo deben considerarse en
conjunción de consumo, autonomía y velocidad de procesamiento.
c) Capacidad de las comunicaciones: En muchas aplicaciones se utiliza el
protocolo 802.15.4 o el Bluetooth (ambos de banda libre a 2.4 GHz). Este protocolo
tiene un alcance de decenas de metros. En otros caso se utiliza el protocolo 802.11
permitiendo mayores alcances (centenares de metros), pero a cambio de una
menor autonomía.
d) Software básico: Los microcontroladores ejecutan software normalmente sobre
sistema operativos muy reducidos. Pero son capaces de procesar la información
obtenida de un nodo.
e) Software de aplicaciones: Las aplicaciones en redes de sensores se limitan a
tener medidas de entorno y transmitirlas un nodo referido. Actualmente estos
nodos tiene una mayor capacidad que le permiten tener más inteligencia como son:
incluir seguridad en sus transmisiones de datos o realizar decisiones de forma
distribuida en base a las condiciones de la red, como niveles de energía en los
nodos.
La aplicación en el Control del Impacto Ambiental es el campo con mayor experiencia en
las redes de sensores y su primero aplicación “natural”. Sin embargo no existen muchas
referencias comerciales que integren la medida de la actividad radiológica en redes de
sensores, salvo de los laboratorios americanos, como Sandia4
o Los Alamos5
, más bien
orientadas a emergencias que a la monitorización de plantas.
Aunque en la arquitectura se señalan los componentes más básicos e indispensables
para un nodo de red de sensores, es necesario tener en cuanta un destinatario de los
datos obtenidos. Otro aspecto importante es que en un nodo de red de sensores existen
cierto número de sensores a leer. Es dónde el microcontrolador hace su trabajo, creando
un algoritmo para conocer qué sensor leer y cuando hacer esta lectura. Por ello hemos
modificado la arquitectura del único nodo de sensores. La modificación se muestra en la
siguiente imagen.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 12
Figura 1.2 Arquitectura de la plataforma meteorológica.
1.3 XBEE.
El modem de radiofrecuencia XBEE de Digi International es un transceptor inalámbrico.
El XBEE funciona mediante un protocolo completamente implementado hacia la
comunicación de datos, con las características necesarias para generar una red robusta
de sensores inalámbricos. Características tales como direccionamiento, reconocimiento y
reintento, ayudando a garantizar la entrega segura de los datos en el nodo deseado.
XBEE también tiene características adicionales aparte de la comunicación de datos, para
utilizarlos en el monitoreo y control de dispositivos remotos6
.
Muchos módulos inalámbricos para microcontroladores simplemente envían y reciben
datos en la frecuencia proporcionada. Es hasta el usuario final que quiere obtener los
datos o su hardware de aplicación cuando se enfrentan a los siguientes problemas, como
las reglas de acceso de medios, verificación de datos, comprobación de error en la
entrega y en varios nodos de redes qué nodos aceptan y utilizan los datos. Los
dispositivos como XBEE que utilizan un protocolo de red puede facilitar el trabajo del
programador en el manejo de estas tareas.
Al enfrentarse con los problemas de la red, se consideran las soluciones para garantizar
un flujo adecuado de la comunicación. Ciertas reglas y protocolos de la comunicación se
utilizan para asegurar que el mensaje fluya correctamente desde el emisor al receptor a
través del medio, similar al espacio de aire cuando una persona habla.
1.3.1 Acceso al medio.
En conversaciones entre dos o más personas, es importante que dos personas no hablen
al mismo tiempo. El mensaje de uno o ambos no pueden pasar al receptor o chocan
creando confusión al oyente. En términos de redes inalámbricas el acceso al medio se
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 13
bloquea causando un choque en el flujo de los datos.
Los módulos XBEE al igual que las personas tienden
a esperar una apertura antes de empezar a
comunicarse. Cuando dos ven la apertura para
comunicarse y ambos comienzan a hacerlo, al mismo
tiempo se señala el problema, retrocediendo y
llegando a una negociación.
A veces en las redes inalámbricas, el mensaje
puede ser para todos o solamente para uno, es por
ello que se le asignan una dirección a cada dispositivo. Esta dirección permite que los
datos enviados puedan ser utilizados por un dispositivo (punto a punto) o por un grupo
entero de dispositivos (punto a multipunto). En muchos casos los nodos reciben la
información enviada, pero si los datos no contienen su dirección ignoran el mensaje y sólo
el dispositivo con la dirección correcta utiliza el mensaje.
La dirección del mensaje es muy importante. Por ejemplo: En un grupo de clase, un
alumno escucha una pregunta, para que el alumno conteste correctamente tiene que
saber quién mencionó su nombre y le hizo la pregunta. En las redes, parte de los datos
enviados incluye la dirección de origen de quién envió el mensaje con el fin de responder
continuando con el flujo de la programación.
1.3.2 Verificación de error y reconocimiento.
Siempre es importante que las palabras que hablamos sean entendidas por las demás
personas. Al pasar datos en una red, es importante verificar que el mensaje fue recibido y
los datos no contengan ningún error. Una forma sencilla de comprobación de errores es
sumar todos los valores de bytes a enviar y añadir ese valor a los datos enviados. En la
recepción, se realiza la misma operación matemática 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 recepción y realiza reintentos de transmisión de un nuevo envío.
1.3.3 Encapsulación.
Al igual que cuando escribimos una carta, no nos limitamos a escribir la carta y dejarla en
el buzón hasta que llegue al destinatario. La carta debe ser colocada en un sobre y
dirigida, asegurándose que será recibida y leída por la persona correcta, incluyendo la
dirección de retorno para que el destinatario se asegure de quién 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.
Figura 1.3 Confusión en la comunicación
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 14
Figura 1.4 Encapsulación de los datos en un Xbee
Estos datos que se añaden son: dirección de origen, dirección de destino, valores de
comprobación de errores. Todo este empaquetamiento ayuda a asegurar la entrega
correcta al nodo deseado.
1.3.4 Protocolos XBEE.
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 volúmenes de datos, tales como archivos de imagen, su uso está
enfocado en sistemas de supervisión y control, comúnmente como una red de sensores
inalámbricos.
En comparación con Bluetooth (con protocolo IEE 802.15.1), XBEE está diseñado como
un protocolo mucho más sencillo con menores tasas de transferencia de datos (250 Kbps
en comparación con 1 Mbps). Bluetooth fue diseñado como un reemplazo de los cables
periféricos y se utiliza en las comunicaciones entre dispositivos portátiles, tales como
teléfonos, lo que requiere acceso de seguridad7
.
1.3.5 Configuración XBEE punto a punto.
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 configurado8
. Existe una lista amplia de los
comandos AT, pero los comandos AT básicos para configurar dos XBEE para la conexión
punto a punto son las siguientes:
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 15
FUNCIÓN COMANDO PARÁMETRO
PAN ID ATID Cualquier dirección entre 0 y 65534.
Dirección ATMY Cualquier dirección única entre 1 y 255.
Dirección destino
(parte alta)
ATDH 0, indica un dirección de 16 bits.
Dirección destino
(parte baja)
ATDL 2, indica la dirección del XBEE con el que
se necesita comunicar.
Modo comando +++ Prepara al XBEE en modo comando, una
vez que se presiona +++ se recibe un
OK, asegurando que el XBEE está listo.
Guardar cambios ATWR Guarda los cambios en los comandos que
se han modificado en el XBEE.
Tabla 1.2 Comandos básicos AT para configurar una conexión punto a punto
 PAN ID: Es el número de la Red de Área Personal. Es un identificador único para
la red. Sólo los XBEE asignados a un PAD ID pueden comunicarse entre sí. En
nuestro caso utilizaremos el número 3001
 Dirección: Esta es la dirección origen única para cada XBEE.
 Dirección destino parte alta: Representa la primera mitad de la dirección que
queremos habilitar. En los módulos XBEE se pueden tener direcciones de hasta 64
bits y esta es la dirección de la parte más alta. Como no se necesitaran enviar
datos extensos la pondremos en cero.
 Dirección destinos parte baja: Esta dirección se utiliza para localizar el XBEE con
el que se tenga que comunicar. Se tiene que asegurar que coincida con el
parámetro de dirección (ATMY) del XBEE con el que se quiere hablar.
En la siguiente tabla se muestra el orden de los comandos introducidos a dos XBEE para
configurarlos en una conexión punto a punto.
COMANDO XBEE1 XBEE2
+++ Modo comando Modo comando
ATID 3001 3001
ATMY 2 1
ATDH 0 0
ATDL 1 2
ATWR Guarda cambios Guarda cambios
Tabla 1.3 Secuencia de los comando AT para configurar una conexión punto a punto
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 16
Podemos ver los comandos en la
hyperterminal en la siguiente imagen. Cada
que se envía un comando se recibe un OK
como respuesta, asegurándonos que es un
comando correcto. Los comandos de la parte
izquierda es el XBEE1 y el de la derecha el
XBEE2. Ambos tiene una comunicación
bidireccional, con esta configuración ambos
pueden ser transmisores y receptores.
Recordando que el parámetro ATMY debe
coincidir con el parámetro ATDL de los
XBEE que se deseen comunicar.
1.3.6 Estilo y características de XBE.
El módulo 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 operación y capacidades de la red.
Figura 1.6 Pines de entrada y salida del XBEE
Aunque se tienen muchos pines típicamente se conectan los de la Figura 1.7.
Figura 1.7 Conexión típica del XBEE
Figura 1.5 Secuencia de configuración de dos XBEE en
la Hyperterminal
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 17
El estilo de XBEE con protocolo 802.15.4 se le denomina de Serie 1 y permiten una
conexión punto a punto o punto a multipunto. El XBEE y XBEE-PRO casi son idénticos en
el funcionamiento la diferencia es que el XBEE-PRO es más grande en cuanto a tamaño y
tiene una mayor potencia de salida. Las diferencias se encuentran en la siguiente tabla.
ESPECIFICACIÓN XBEE XBEE-PRO
Voltaje de
alimentación
2.8 VDC-3.4 VDC 2.8 VDC-3.4 VDC
Potencia 1mW 63mW
Distancia de
alcance al aire libre
90 m 1.6Km
Distancia de
alcance urbano
30 m 90 m
Frecuencia de
operación y canales
2.4 GHz, 16 Canales 2.4 GHz, 12
canales
Sensibilidad -92 dBm -100 dBm
Tabla 1.4 Diferencias entre XBEE y XBEE-PRO.
Con las características mostradas, se ha elegido los módulos XBEE-PRO Serie 1, para el
diseño en la comunicación.
1.4 Arduino.
Arduino es una plataforma de prototipo electrónica de código abierto, basada en hardware
y software flexibles y fáciles de usar. El entorno de recepción de entradas de Arduino, se
basa en una gran variedad de sensores y puede afectar a su alrededor mediante el
control de motores, luces y otros artefactos9
.
La filosofía del hardware Arduino se basa en Open Source, dónde la versión esquemática
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.
El software Arduino, y el mismo que permite comunicarse con la PC y programar el
microcontrolador de la placa se le llama Lenguaje de Programación de Arduino y está
basado en el Wiring, el entorno de desarrollo de Arduino se basa en el Processing.
Conjuntamente el software de Arduino se basa en el Processing Wiring.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 18
1.4.1 ¿Por qué utilizar Arduino?
En principio en una red de sensores inalámbrica es necesario un microcontrolador.
Aunque en el mercado existen gran cantidad de microcontroladores, se pensó en la
miniaturización; existe una placa de Arduino miniaturizada que permitía la manipulación
del hardware para los propósitos requeridos. Además de que Arduino tiene un lenguaje de
programación muy flexible para la comunicación serial con otros microcontroladores y la
PC. Algunas otras ventajas de Arduino son las siguientes.
 Multiplataforma: El software Arduino se ejecuta en varios sistemas operativos
como son Windows, Macintosh OSX y GNU/Linux
 Código abierto y software extensible: El software Arduino está publicado como
herramientas de código abierto, disponible para extensión de programadores
experimentados. El lenguaje puede ser expandido mediante librerías C++, y la
gente que quiera entender los detalles técnicos pueden hacer el salto desde
Arduino y la programación en lenguaje AVR-C en el cual está basado. De forma
similar, puedes añadir código AVR-C directamente en los programas.
 Código abierto y hardware extensible: Arduino está basado en
microcontroladores ATMega8, ATMega168 y ATMega328 de Atmel. Los
esquemáticos así como los componentes de la tarjeta están publicados bajo la
filosofía Open Source, por lo que diseñadores de circuitos pueden hacer su propia
versión del módulo, extendiéndolo y mejorándolo. Incluso usuarios con poca
experiencia pueden construir su propia versión de la placa del módulo, así se
puede entender cómo funciona.
1.4.2 Versiones y características de Arduino
Hay una gran variedad de tarjetas Arduino. La mayoría utilizan el microcontrolador
ATmega328 y Arduino Mega el ATMega2560. Entre las que destacan:
 Decimila: Actualmente esta placa se ha hecho muy popular. Se conecta al
ordenador con cable estándar USB y contiene el hardware de comunicación serial
para comunicarse con la PC, necesario para ser programado.
 Nano: Es una placa compacta diseñada para uso como tabla de pruebas, este se
conecta a la computadora usando un cable Mini USB.
 Bluetooth: Esta placa contiene un módulo bluetooth que permite la comunicación y
programación sin cables. Es compatible con otros dispositivos Arduino.
 Mini: Esta placa es la más pequeña de Arduino. Trabaja bien en tablas de pruebas
en aplicaciones donde el espacio es muy reducido. Se conecta a la computadora
utilizando el cable mini USB.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 19
1.4.3 Arduino PRO-MINI en la red de sensores.
Se ha relacionado la plataforma meteorológica con el nodo de una red de sensores
inalámbrica. Siendo Arduino Pro-Mini el microcontrolador de esta.
Esta versión de Arduino consiste en una tarjeta compacta, diseñada para aplicaciones
donde se requiere flexibilidad y un tamaño reducido, las dimensiones que se tiene de esta
placa son de 18 mm x 33 mm. La miniaturización de esta tarjeta es reducida porque
contiene el mínimo de componentes necesarios para que el microcontrolador pueda
operar correctamente. No contiene la conexión USB incorporado a los circuitos y para
cargar un programa es necesario conectar una tarjeta USB-TTL que es un convertidor de
comunicación serial.
Existen dos versiones de Arduino Pro Mini y se clasifican en relación al voltaje de
alimentación: una que funciona a 5 volts, trabaja a una frecuencia de 16 MHz y otra que
funciona a 3.3 volts con una frecuencia de 8 MHz. Se ha elegido la versión Arduino Pro
Mini de 3.3 volts debido al bajo consumo de energía y porque el radio Xbee también opera
en este intervalo de voltaje.
En la siguiente tabla se señalan algunas características del hardware incorporado a la
tarjeta y otras como son las características del microcontrolador que se utiliza.
CARACTERÍSTICAS DESCRIPCIÓN
Microcontrolador ATmega328
Voltaje de operación 3.3 volts
Pines de Entrada/Salida 14 (de los cuales 6 proveen salidas
PWM)
Pines de entrada analógicos 8
Corriente por pin de Entrada/Salida. 40 mA
Memoria Flash 32 Kbyte
EEPROM 1 KBytes
SRAM 2KBytes
Oscilador 8 MHz
Tabla 1.5 Características 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 máximo una corriente de
40 mA y tienen una resistencia interna d pull-up de 20-50 KOhms. Además algunos
tiene pines especiales.
Comunicación Serial: 0 (Rx) y 1 (Tx). Utilizados para recibir y transmitir datos
TTL en serie.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 20
Interruptores externos 2 y 3: Estos pines pueden ser configurados para disparar
una interrupción de valor bajo, un margen creciente o decreciente, o un cambio de
valor.
PWM 3, 5, 6, 9, 10, 11: Proporciona salida PWM de 8 bits y con una frecuencia
constante de 490 Hz.
Led 13: Hay un led incorporado al pin digital 13.
 Pines de entradas analógicas: Arduino Pro mini tiene 8 entradas analógicas.
Estas entradas también pueden ser configurables como pines de entrada y salida
digitales. Cada entrada analógica se conecta a un convertidor analógico-digital con
una resolución de 10 bits de cero volts a un voltaje de referencia. Por defecto el
voltaje de referencia es de 3.3 volts, aunque es posible cambiar este valor usando
el pin ARF.
 Reset: Pone esta línea a un valor de cero volts para resetear al microcontrolador.
Las características se muestran en la siguiente figura:
Figura 1.8 Características de la tarjeta Arduino Mino Pro.
Para cargar un programa en Arduino Pro Mini se tiene que conectar una tarjeta
convertidor USB a TTL, permitiendo la comunicación 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.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 21
Figura 1.9 Conexión de Arduino Pro Mini para la programación.
Cuando se conecta el convertidor USB a TTL de 3.3 volts, automáticamente la tarjeta
Arduino Pro Mini se alimenta con el nivel de voltaje de 3.3 volts, proporcionado por el
puerto USB de la computadora.
1.4.4 Software Arduino.
Arduino no sólo es hardware, sino también 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.
Un “sketch” es un programa que se ejecuta en Arduino, se le hace mucho a la similitud a
la pantalla donde se realizan el conjunto de instrucciones que se ejecutan en Arduino. En
la siguiente imagen se muestra la pantalla donde se editan los programas que se cargan a
la tarjeta Arduino.
Figura 1.10 Sketch Arduino.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 22
La estructura del sketch se basa en dos funciones principales el voidsetup()que es la
inicialización del programa que se ejecuta en Arduino y el voidloop() es un ciclo infinito
que ejecuta Arduino mientras este alimentado.
Voidsetup()
Se establece cuando inicia el programa. Se emplea para inicializar variables, establecer el
estado de los pines o inicializar librerías. Esta función se ejecutará una única vez después
que se conecte la placa Arduino a la fuente de alimentación o cuando se presione el botón
de reinicio de la placa.
Voidloop()
Después de inicializar las variables la función loop hace lo
que su nombre indica y es una función que se ejecuta
consecutivamente, permitiéndole al programar variar y
responder.
En la siguiente Figura 1.11 se muestra las estructuras de las
funciones principales de un sketch en Arduino.
En el Sketch se escriben el conjunto de instrucciones en
lenguaje C++. Algunas instrucciones son propias de Arduino,
sin embargo la sintaxis también se asemeja a las
instrucciones de C++. Algunas de estas instrucciones y que
son los que más utilizaremos son las siguientes:
Modo de entrada/salida: Esta instrucción configura el pin especificado para comportarse
como entrada o salida. Dentro del argumento de la sintaxis se pone el número de pin (1-
13) después un coma y la palabra con mayúsculas “INPUT” si es entrada, “OUTPUT” si es
salida.
Sintaxis:
pinMode(numeroPin, INPUT); //pin en modo de salida.
pinMode(numeroPin, OUTPUT); //pin en modo de entrada.
Escritura digital: Escribe un valor HIGH o un valor LOW a un pin digital. Dentro del
argumento de la sintaxis, se coloca el número de pin (1-13) posteriormente las palabras
HIGH o LOW.
Figura 1.11 Estructura de un
sketch en Arduino
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 23
Si el pin ha sido configurado como OUTPUT con pinMode(numeroPin, OUTPUT), su
voltaje será establecido al correspondiente valor: 5 volts (3.3 volts para la tarjeta Arduino
PRO-MINI) para HIGH, 0 volts para LOW.
Si el pin es configurado como INPUT, y escribir un valor HIGH, se habilitarán las
resistencias internas de pull-up de 20K en el pin. Escribir un valor LOW deshabilitará la
resistencia en el pin.
Sintaxis:
digitalWrite(numeroPin, HIGH); //Pone 3.3 volts en el pin correspondiente.
digitalWrite(numeroPin, LOW); //Pone 0 volts en el pin correspondientes.
Comunicación Serial.
Se puede utilizar la comunicación entre la placa Arduino hacia un ordenador u otros
dispositivos. Todas las placas Arduino tienen al menos un puerto serie y se comunica a
través de los pines digitales Rx, 0 y Tx, 1. Así que si se utilizamos estas funciones, no se
pueden utilizar los pines 0 y 1 como entradas o salidas digitales. Las instrucciones más
importantes para la comunicación serial son las siguientes.
Inicialización de la comunicación serial: Esta instrucción establece la velocidad de
datos en bits por segundo (baudios) para la transmisión de datos en serie. Las
velocidades necesarias para comunicarse con la PC son: 300, 1200, 2400, 4800, 9600,
14400, 19200, 28800, 38400, 57600 o 115200. Los valores anteriores son el argumento
de la instrucción, es muy común que siempre se utiliza la velocidad de 9600.
Sintaxis:
Serial.begin(valorVelocidad);//Comunicación serial con velocidad baudios/segundos.
Comunicación serial disponible: Se refiere a datos ya recibidos y disponibles en el
buffer de recepción del puerto serial (tiene una capacidad de 128 bits). Cuando el puerto
serial está disponible en el buffer hay un valor mayor o igual a cero, cuando no está
disponible en el buffer hay un valor de -1. Dentro de la sintaxis, no se coloca ningún
parámetro dentro del argumento.
Sintaxis:
Serial.available(); //Instrucción para confirmar si hay datos en el puerto serial.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 24
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 instrucción facilita la salida de datos
de Arduino hacia otros dispositivos.
Sintaxis:
Serial.println(valorTransmitido); //Escritura en el puerto serial.
Lectura del puerto serial: Esta instrucción permite leer datos provenientes del puerto
serial. En la sintaxis no se coloca nada como parámetro. Esta instrucción facilita la llegada
de datos de un dispositivo externo hacia Arduino.
Sintaxis:
Serial.read(); //Lectura del puerto serial.
Tipos de datos.
Los tipos de datos que se manejan son idénticos 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 números y
guardan valores de 2bytes. Esto produce un intervalo entre -32768 hasta 32767. La placa
Arduino puede trabajar con números negativos, para que las operaciones aritméticas
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
carácter. 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 codificación está
presente en la tabla ASCII. El tipo de datos de tipo caracter tiene signo codificando
números desde -128 hasta 127.
Sintaxis:
charmiCaracter = ‘B’;
charmiCaracter= 66; //ambos son equivalentes.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 25
Dato Byte: Un dato tipo byte almacena un número sin signo de 8 bits, desde 0 hasta 255.
Sintaxis:
byte b = B10010 //La “B” es el formato de un número binario.
Dato booleano: Un dato tipo booleano sólo puede tomar dos valores: Verdadero o falso.
Cada booleano ocupa un único byte en la memoria.
Sintaxis:
boolean estado=false
boolean estado=0 //Ambos son equivalentes.
Estas son algunas de las instrucciones de Arduino, para ampliar el conocimiento de las
mismas visite la página de referencias de Arduino3
1.5 Matlab.
Matlab es un software matemático para la manipulación de matrices, representación de
datos y funciones, implementación de algoritmos, creación de interfaces GUI y
comunicación con hardware. Sus características optan la idea apropiada a que sea
utilizado como la interfaz gráfica de obtención de datos. Tiene un lenguaje de
programación propio que es el M, no es muy complejo de utilizar. El objetivo de utilizar
Matlab es permitir la transferencia de datos a través del puerto serial para leerlos y
escribirlos directamente en su entorno, con el fin de interactuar como una interfaz gráfica
igualando a las interfaces comerciales de instrumentación.
1.5.1 Matlab y la comunicación con el hardware.
Las características de Matlab engrandecen cuando se tiene una tarjeta de adquisición de
datos. Convirtiéndose en un posible instrumento de medición de cualquier rama. Aunque
muchas aplicaciones, la tarjeta resulta muy costosa, por lo que puede reemplazarse por
hardware menos complejo y barato como un microcontrolador.
La comunicación típica entre Matlab y un microcontrolador es mediante el puerto RS-232,
actualmente se usan los puertos virtuales COM, conectados físicamente por cable USB.
El mando general corre por cuenta de una función en Matlab desarrollada con las
instrucciones del toolbox de instrumentación. Es mediante este puerto dónde Matlab inicia
la adquisición de datos proveniente del microcontrolador10
.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 26
1.5.2 Interfaz Gráfica de Usuario (GUI).
En un sistema de adquisición de datos es común que se generen gráficas para tener
control de los datos. Es aquí donde Matlab vuelve a favorecer la visualización de gráficas,
además de generar un control amigable para el usuario. Todo mediante la herramienta de
Interfaz Gráfica de Usuario de Matlab.
GUI es una representación gráfica en una o más ventanas que contienen controles
denominados componentes, que le permiten al usuario realizar tareas interactivas. El
usuario al utilizar la GUI de Matlab no tiene que crear un script o escribir instrucciones en
la línea de comandos para realizar las tareas. En la codificación de programas para
realizar las tareas, el usuario no necesita conocer a detalle de cómo se realizan estas
tareas11
.
Los componentes que se incluyen en una GUI son: Barras de herramientas, botones,
botones de opción, cuadros de lista, deslizadores, ejes de gráficas, cuadros de texto y
cajas de texto. Las GUI creadas por la herramienta Matlab realizan cualquier tipo de
cálculo, leer y escribir cualquier archivo de datos, comunicarse con otras GUI´s y mostrar
los datos en forma de tablas o gráficos.
Figura 1.12 Plantilla de trabajo de la GUI en Matlab.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 27
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 28
2.- Plataforma meteorológica, sistema de adquisición de datos.
Después de seleccionar la tecnología a utilizar, continuamos con el diseño y desarrollo de
la plataforma meteorológica. Las actividades que se han realizado en esta parte son las
siguientes:
 Relación del hardware seleccionado con una red de sensores inalámbrico:
Esta relación se hace con el fin de identificar las etapas de la plataforma
meteorológica. Identificando también la arquitectura de una red de sensores
inalámbrica, siendo esta la base del diseño.
 Definir los bloques de la plataforma meteorológica: Se señalaron tres bloques
básicos para el diseño de la plataforma meteorológica. Los bloques son los
siguientes: Lectura de datos, comunicación inalámbrica y obtención de datos.
Podemos decir que la estación meteorológica será un sistema de adquisición de
datos, tomando en cuenta que nuestros datos de interés provienen de variables
atmosféricas ambientales.
Metodología:
Haciendo la relación de la estación meteorológica con un nodo de sensores inalámbrico
se presenta en la siguiente imagen.
Figura 2.1 Arquitectura de la estación meteorológica.
Con base a la imagen anterior se describen las etapas de Lectura de datos, comunicación
inalámbrica, y obtención de datos.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 29
2.1 Lectura de datos.
La lectura de datos se lleva a cabo en el nodo de sensores inalámbrico. En él se
implementa un sistema electrónico encargándose de la lectura de los sensores de las
variables atmosféricas. Como son: Temperatura, presión atmosférica, humedad relativa.
Los sensores a utilizar deben cumplir con el tipo de respuesta en voltaje analógico, con el
fin de que en el nodo de sensores inalámbrico exista un microcontrolador con un
convertido analógico digital. Uno de los objetivos de la lectura de datos es caracterizar y
registrar la energía de los diferentes sensores ambientales. Como se muestra en la figura
anterior, queda dentro del nodo de sensores inalámbrico y su hardware son: Los
sensores, el multiplexor y el microcontrolador.
Figura 2.2 Hardware de la lectura de datos.
2.2 Comunicación inalámbrica.
En esta etapa hay un radio que se comunica con el microcontrolador y la estación base,
siente este el intérprete que guía el flujo de datos en un canal inalámbrico. El tipo de
comunicación que se requiere es la más básica que es de punto a punto, bidireccional
para tener una adecuada comunicación en el flujo de datos. Las consideraciones que se
tiene que tener en cuenta para el diseño son: Potencia de salida y transmisión de 100
metros en vista libre.
La comunicación inalámbrica se encuentra tanto en el nodo de la red de sensores así
como en la estación base, debido que es la posición adecuada y parte de la arquitectura
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 30
de comunicaciones inalámbricas así está definido. El hardware sólo corresponde a dos
radios transceptores con sus respectivas antenas.
Figura 2.3 Hardware de la comunicación inalámbrica.
2.3 Interfaz gráfica.
La interfaz gráfica forma parte de la estación 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 fácilmente, siendo modificadas mediante
software. Se ha desarrollado una interface en Matlab
que permite obtener una visualización gráfica de los
datos, siendo un PC donde se manipulan y visualizan
los datos.
Figura 2.4 PC para la visualización
Gráfica
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 31
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 32
3.-Lectura de datos y comunicación inalámbrica.
Se han definido los tres bloques fundamentales del trabajo de estancia. Ahora se define la
primera parte de las actividades de implementación. Esta parte es la lectura de datos y a
transmisión, relacionándolo todo como un nodo de sensores de comunicación inalámbrica
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 analógico-digital a partir del
microcontrolador ATmega328 de Arduino, así como su implementación para lectura
de voltajes analógicos.
 Acoplamiento y multiplexaje de los sensores: En este punto se ha ideado la
manera de leer un cierto número de sensores, utilizando un solo convertidor
analógico-digital. Para esto se usó el término multiplexaje, utilizando el circuito
CD74HC4051. Es un multiplexor analógico, el motivo por el que se ha utilizado es
para conectar las salidas de voltaje analógico de los sensores hacía en convertidor
analógico-digital del microcontrolador ATmega328. Este multiplexor de 3 bits, por lo
que se pueden direccionar hasta 8 sensores.
 Comunicación inalámbrica: Se implementa un radio dentro de la plataforma
meteorológica.
Metodología:
3.1. Lectura del dato.
La técnica para la obtención de datos es mediante un convertidor de voltaje a un valor
digital, es necesario que el sensor de cada variable sea de salida analógica. El sensor
será el elemento fundamental para el sistema de teledetección, ya que es capaz de
detectar, caracterizar y cuantificar
energía.
El valor de la salida en voltaje de
cada sensor entra el convertidor
Analógico-Digital, asignándole un
valor numérico. En la siguiente
imagen se muestra los bloques
de la entrada del sensor.
Figura 3.1 Ejemplo de la conversión del voltaje analógico del
sensor.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 33
Como se ve en la imagen anterior, al hacer la conversión analógica- digital, no se logra
obtener la señal real del sensor, sino una aproximación que dependerá de la frecuencia
de muestreo. Un inconveniente que se tiene al llevar a cabo esta etapa, es que cada
sensor necesitará de un convertidor Analógico-Digital. El problema se resuelve mediante
multiplexaje, enlazando el canal del voltaje analógico del sensor a la entrada del
convertidor justo en el instante en que se desee obtener el valor.
Al tener en cuenta el multiplexaje, el número de convertidores se reduce a uno, facilitando
el número de sensores analógicos al valor del multiplexor que se desee utilizar (2, 4, 8,
16, 32). La siguiente imagen nos muestra los bloques de la conexión para los distintos
sensores. El microcontrolador a utilizar (Atmega328) tiene un multiplexor analógico, en un
futuro se piensan añadir más sensores, por lo que se ha elegido un multiplexor externo
para aumentar el número de señales a leer.
Figura 3.2 Multiplexaje de las señales analógicas, provenientes de los diferentes sensores.
El sensor funciona como un intérprete que hace una conversión de una variable
atmosférica a una señal eléctrica (voltaje). El dispositivo que hace esta conversión 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 estación
meteorológica, posteriormente se realizará la conversión Analógica- 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 numéricos. Esta
técnica permite principalmente registrar la
energía detectada por el sensor y los
bloques son los de la figura 3.3
Figura 3.3 Diagrama de bloques para la lectura del
dato.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 34
3.2 Acoplamiento y multiplexaje de sensores
Una conversión analógica se realiza en base a un cierto número de bits y a un valor de
voltaje de referencia. El voltaje de referencia es considerado de 3.3 volts, debido a que
ARDUINO Mini PRO trabaja a este voltaje de alimentación.
De esta tarjeta utilizaremos principalmente el convertidor analógico. El convertidor del
ATmega 328 es de 10 bits, tomando valores entre 0 y 1023 a partir de 0 volts a un voltaje
de referencia (3.3 volts). La resolución del convertidor se tiene con la siguiente relación:
La relación numérica es:
Cuando en la entrada se tiene un voltaje entre 0 volts-3.3 volts y se ha programado el
convertidor del µControlador, se hará la lectura del voltaje de algún sensor, traduciéndolo
a un valor numérico. Este será el valor numérico del sensor. Internamente este número ya
es un dato entendible para el µControlador, se puede controlar, realizarle una operación,
asignarle un espacio de memoria o transmitir inalámbricamente. El dato numérico del
sensor se da por la siguiente formula.
El flujo de la secuencia para obtener el dato numérico del sensor es la siguiente imagen:
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 35
Figura 3.4. Esquema del conversor analógico- digital de la tarjeta Arduino.
En la selección del multiplexor se seleccionado el CD74HC4051 dispositivo es un
multiplexor de tipo analógico, puede ser controlado digitalmente con señales TTL. El
selector del dispositivo es de tres bits, permitiendo seleccionar ocho entradas de voltaje
analógico. Estas ocho entradas son las señales que provienen de los diferentes sensores
a leer.
Figura 3.5. Multiplexor analógico de ocho canales.
Dentro de las características eléctricas de este multiplexor se encuentran las
recomendaciones del voltaje de operación proporcionados por el fabricante:
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 36
Habilitación S2 S1 S0
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
Voltaje en la salida del canal
analógico
ESTADOS DE LA ENTRADA
Figura 3.6 Recomendaciones del voltaje de operación del multiplexor CD74HC4051
Cómo 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
también se encuentra dentro del rango. Para la lógica TTL, los datos límites para que el
multiplexor entienda como una señal HIGH es de 3.15 volts hasta VCC y una señal LOW
a partir de 1.35 volts. Para controla la lógica del multiplexor se conectará a la tarjeta
Arduino Mini con señales de 0 volts para una señal LOW y 3.3 volts para una señal HIGH.
Estas señales entrarán en el puerto de selección e canales que son los pines 9, 10 y 11.
Además de seleccionar los distintos canales, también se tiene una señal de habilitación
en el pin seis, para direccionar el canal AN hacia la salida analógica. La señal para de
habilitación también 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 analógica no habrá una señal
significativa, independientemente de las señales que tengamos en la selección de canales
y la salida en este caso será de cero volts. La selección del canal se visualiza en la
tabla3.1
Tabla 3.1 Respuesta ante la selección de canales del multiplexor CD74HC4051.
Esta tabla se tomará de base para diseñar 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 Analógico-Digital.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 37
La conexión del µControlador Arduino al multiplexor se hará mediante cuatro canales de
salida. Tres de estos canales son salidas del µControlador Arduino que seleccionan con
números binarios el canal que se desee abrir. La otra conexión es la habilitación del
multiplexor para que pueda abrir el canal y poder multiplexar la señal. Cuando se haya
seleccionado el canal deseado y la habilitación esté activada, se direccionará la señal de
voltaje del sensor seleccionado hacia la salida analógica del multiplexor (pin tres). Esta
salida analógica estará conectada en una entrada analógica del µControlador Arduino,
logrando hacerse la lectura del voltaje analógico del sensor. El flujo de la secuencia se
señala en la siguiente imagen.
Figura 3.7 Acoplamiento de la tarjeta Arduino y el multiplexor.
3.3 Implementación de la comunicación inalámbrica.
En la Figura 3.7 se asimila un nodo inalámbrico de sensores. Falta implementar el radio
para que se le pueda llamar totalmente inalámbrico. Es dónde los radios XBEE realizan
su tarea. Las conexiones principales que se utilizan son: los pines de alimentación del
XBEE y los pines de comunicación con el microcontrolador. Se señala que el voltaje de
alimentación del radio XBEE es de 3.3 volts y es totalmente compatible con la tarjeta
Arduino.
La conexión final del nodo de sensores inalámbricos con el radio integrado es el que se
muestra en la Figura 3.8.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 38
Figura 3.8 Plataforma meteorológica, nodo de sensores inalámbrica.
El radio Xbee se configura con comandos AT (antes ya se ha mencionado). Para que el
radio pueda realizar una comunicación punto a punto es necesario configura el radio Xbee
antes de conectarlo.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 39
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 40
4. Circuito transmisor.
El nodo de sensores inalámbrico que se muestra en la Figura 3.8 es apenas el hardware
necesario para implementar la plataforma meteorológica, sin embargo se necesita la
secuencia de control. La secuencia de control inicia la lectura de cada sensor enviándola
a una estación base. En esta parte de la estancia se diseña el circuito transmisor
encargado de la secuencia de control, así como la construcción del circuito transmisor.
Las actividades fueron las siguientes:
 Circuito transmisor: Se ha construido un circuito transmisor de 5x5 cm. (Sin
contar los sensores). Siguiendo el requerimiento de miniaturización. Este circuito es
capaz de leer varios sensores de respuesta analógica y transmitir los datos
inalámbricamente.
 Programación del circuito transmisor: Se ha realizado el diagrama de flujo y la
programación del microcontrolador del circuito transmisor. La programación se ha
hecho dentro de la plataforma ARDUINO.
 Transmisión inalámbrica: Utilizando el concepto y las herramientas de los
convertidores Analógicos-Digitales, se ha preparado el dato para que se
transmitido inalámbricamente. Así se hace uso de radios diseñados para la
comunicación inalámbrica digital para enviar todos los datos solicitados a una
estación base.
Metodología:
Como se menciona anteriormente la Figura 3.8 es la base para el diseño del circuito
transmisor. Parte del diseño del circuito transmisor se centra en cuatro componentes:
1. Fuente de alimentación y regulador de voltaje.
2. Control.
3. Multiplexaje y entradas de sensores.
4. Radio.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 41
4.1 Fuente de alimentación y regulador de voltaje.
Como parte del diseño de la fuente de alimentación se presenta de una manera muy
simple y es la más importante de la tarjeta, porque todos los componentes se
alimentan con el mismo valor de voltaje. El valor de voltaje de la fuente de
alimentación es de 3.3 volts.
La elección más común para generar el voltaje de alimentación es mediante un
regulador. El regulador de 3.3 volts que se utiliza es el LF33ABP y tiene como entrada
una pila de 9 volts. El diagrama eléctrico que le corresponde a la fuente de
alimentación del diseño propuesto se muestra en la siguiente imagen:
Figura 4.1 alimentación de 3.3 volts.
Este diseño permite reducir el hardware de la alimentación del circuito transmisor,
aunque es ineficiente por la potencia que se disipa. Se trabaja con componentes que
tiene una bajo consumo de energía, la pila se agotará más rápido. La otra solución es
utilizar un convertidor de DC a DC, se tendría un poco de problema al tratar de
polarizar el circuito de control del convertidor.
El fabricante propone que C1 sea un capacitor no electrolítico de 0.1µF y C2 un
capacitor electrolítico de 2.2µF. Como voltaje de entrada, se ha revisado que para el
regulador LF33ABP se tiene que alimentar en el intervalo de voltaje de: 3.5-16 volts,
es por eso que alimentaremos con una pila de 9 volts.
Para el consumo de corriente se toma en cuenta la corriente consumida de la placa
Arduino, el módulo de radio Xbee y el multiplexor CD74HC4051.La suma de corriente
debe ser menor a la corriente máxima que puede proporcionar el regulador.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 42
La corriente de consumo debe ser menor a la corriente máxima del regulador.
En la siguiente tabla se muestran las corrientes de consumo de los elementos a
conectar.
COMPONENTE CORRIENTE DE CONSUMO
Arduino 40 mA
Radio Xbee 50 mA
Multiplexor CD74HC4051 20 mA
Suma total 110 mA
Tabla 4.1 Corrientes de consumo de los componentes del circuito transmisor.
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 botón de reinicio.
En la placa Arduino se programa la
secuencia de control para realizar la
lectura de datos. El diagrama eléctrico se
muestra en la siguiente figura:
En la tarjeta Arduino se tienen 10
conexiones importantes que se comunican
con el multiplexor y el radio Xbee. Las
conexiones se muestran en la siguiente
tabla: Figura 4.2 Diagrama completo de la tarjeta Arduino
Mini PRO
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 43
NÚMERO
DE PIN
NOMBRE DESCRIPCIÓN
0 Tx Este pin se conecta con el radio Xbee, permitiendo la
comunicación serial del Arduino hacia el radio Xbee.
1 Rx Este pin se conecta con el radio Xbee, permitiendo la
comunicación serial del radio hacia Arduino.
6 Selector(S2) Pin conectado el selector del multiplexor, envía un
valor HIGH o LOW al bit más significativo del
multiplexor.
7 Selector(S1) Pin conectado el selector del multiplexor, envía un
valor HIGH o LOW al segundo bit más significativo del
multiplexor.
8 Selector(S0) Pin conectado el selector del multiplexor, envía un
valor HIGH o LOW al bit menos significativo del
multiplexor.
9 Habilitación Pin conectado al multiplexor enviando un valor HIGH
(deshabilita el multiplexor) o LOW (habilita el
multiplexor).
10 Conectar En este pin está conectado un led, se enciende si se
ha recibido la señal de conexión con la estación base.
14 (A0) Entrada
analógica
Este pin se conecta con la salida del multiplexor. Es
válida y se lee por el microcontrolador, si se ha
seleccionado un canal del multiplexor y está habilitado
el multiplexor
Vcc Alimentación Pin conectado a 3.3 volts
Gnd Referencia Pin conectado a 0 volts.
Tabla 4.2 Conexión de la tarjeta Arduino.
4.3 Multiplexaje y entradas de sensores.
El hardware que realiza esta acción es el multiplexor CD74HC4051, con capacidad de
direccionar ocho valores analógicos hacia una de sus salidas. El multiplexor es controlado
por la tarjeta Arduino, dónde Arduino selecciona cada una de las entradas mediante un
selector de tres bits y una señal de activación. Las características eléctricas y las
conexiones con la tarjeta Arduino del multiplexor se presentan en la siguiente imagen:
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 44
Figura 4.3 Diagrama eléctrico de las conexiones del multiplexor.
De esta forma interactúa la tarjeta Arduino con el multiplexor. También se tiene un
conector de 8 canales, dónde físicamente se conectarán los sensores, siendo estas las
entradas que se direccionarán mediante el multiplexor. El multiplexor se alimenta con 3.3
volts al igual que la tarjeta Arduino. En la siguiente tabla se muestran las descripciones de
las conexiones del multiplexor.
NÚMERO
DE PIN
NOMBRE DESCRIPCIÓN
13 A0 Señal 1 de entrada con valor de 0 a3.3 volts
14 A1 Señal 2 de entrada con valor de 0 a3.3 volts
15 A2 Señal 3 de entrada con valor de 0 a3.3 volts
12 A3 Señal 4 de entrada con valor de 0 a3.3 volts
1 A4 Señal 5 de entrada con valor de 0 a3.3 volts
5 A5 Señal 6 de entrada con valor de 0 a3.3 volts
2 A6 Señal 7 de entrada con valor de 0 a3.3 volts
4 A7 Señal 8 de entrada con valor de 0 a3.3 volts
9 S0 Bit menos significativo de selección, es puesto en
HIGH o LOW por la tarjeta Arduino
10 S1 Segundo bit menos significativo de selección, es
puesto en HIGH o LOW por la tarjeta Arduino
11 S2 Bit más significativo de selección, es puesto en HIGH
o LOW por la tarjeta Arduino
6 Habilitación Pin de habilitación. La habilitación es dada por la
tarjeta Arduino, HIGH deshabilita el multiplexor y LOW
habilita el multiplexor
3 Salida Pin que se conecta al convertidor Analógico-Digital de
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 45
Analógica la tarjeta Arduino. En este pin direcciona el valor del
voltaje que ha sido seleccionado por la tarjeta Arduino
Vcc Alimentación Pin conectado a 3.3 volts
Gnd Referencia Pin conectado a 0 volts.
Tabla 4.3 Pines de conexión del multiplexor CD74HC4051.
4.4 Radio.
El radio del circuito transmisor es un Xbee que interactuara con la tarjeta Arduino y el
radio Xbee de la estación base. El objetivo es realizar una conexión punto a punto con la
estación 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
programación para iniciar la lectura de algún sensor y los datos provenientes de la tarjeta
Arduino son datos numéricos relacionados con los voltajes de los sensores leídos.
La conexión del Xbee se realiza de la forma más básica que existe para su operación y la
comunicación con la tarjeta Arduino. En la siguiente imagen se muestran estas
conexiones:
Figura 4.4 Diagrama eléctrico del radios Xbee.
La tarjeta radio Xbee se alimenta con un voltaje de valor de 3.3 volts, y se configura para
una velocidad de transmisión de datos seriales igual a la de la tarjeta Arduino. Así los dos
pines de comunicación serial se conectan con los pines de comunicación serial de la
tarjeta Arduino. En la siguiente tabla se muestran la descripción de los pines del Xbee.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 46
NÚMERO
DE PIN
NOMBRE DESCRIPCIÓN
2 Din Pin que se conecta al Rx de la tarjeta Arduino, en este
pin se reciben datos seriales provenientes de la tarjeta
Arduino
3 Dout Pin que se conecta al Tx de la tarjeta Arduino, en este
pin se envían datos seriales hacia la tarjeta Arduino
Vcc Alimentación Pin conectado a 3.3 volts
Gnd Referencia Pin conectado a 0 volts.
Tabla 4.4 Pines de conexión del radio Xbee.
Integrando estos cuatro componentes se tiene en conjunto al circuito transmisor, el
encargado de realizar la lectura de los diferentes sensores y transmitirlos a la estación
base. Parte del diseño es integrar todos los componentes en una tarjeta de cobre de 5x5
centímetros. La siguiente imagen es una idea de la plataforma meteorológica esperada.
Figura
4.5
Plataforma meteorológica esperada.
El diseño se ha realizado en el software KiCad, que es un entorno de software usado para
el diseño de circuitos eléctricos y electrónicos en el que se pueden crear y editar un gran
número de componentes y usarlos en esquema. El esquemático de la plataforma
meteorológica completa se muestra en la siguiente imagen:
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 47
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 48
Con el esquema, se utiliza el mismo software para realizar el PCB del circuito transmisor.
El PCB del circuito transmisor se diseña en una placa de cobre con doble cara, sus
dimensiones son de 5x5 centímetros. En la siguiente imagen se muestran las dos caras
del PCB diseñado.
Figura 4.7 PCB del circuito transmisor
4.5 Algoritmo del circuito transmisor.
El algoritmo del circuito transmisor son los pasos que se tienen que realizar para ejecutar
las tareas de lectura de datos y transmisión inalámbrica. Estas tareas son designadas al
microcontrolador, este dispositivo interactúa con el multiplexor analógico 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 programación de la tarjeta Arduino.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 49
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 50
 Estado 1: Se inicializan las entradas y salidas del microcontrolador, relacionando
los pines con el nombre de una variable reconocida dentro de la programación. Las
variables son el selector, la habilitación y conectado, en la siguiente tabla se tiene
la descripción.
Tabla 4.5 Referencia de los pines utilizados en Arduino
Además de las señales 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. También se inicializa la velocidad de comunicación de la
tarjeta. En la siguiente tabla se tienen la inicialización de las variables.
Tabla 4.6 Configuración de los pines utilizados en Arduino.
VARIABLE PIN EN LA
TARJETA ARDUINO
DESCRICIÓN
Selector
6
Es una variable de tres bits que se enfoca
para controlar la selección del multiplexor
analógico. Toma valores binarios de 000
hasta 111, según sea el número de sensor
a seleccionar. Así el pin 6 representa al bit
más significativo y el pin 8 representa al
menos significativo.
7
8
Habilitación
9
Este pin hace referencia a la habilitación
del multiplexor. Toma dos valores HIGH
(Señal que deshabilita al multiplexor) y
LOW (Señal que hablita al multiplexor)
Conectado 10 En este pin se conecta un Led que se
enciende si el circuito transmisor ha
recibido una señal de conectado de la
estación base.
VARIABLE CONFIGURACIÓN
Selector. Son tres pines que se configuran como pines de salida.
Conectado. Este pin se configura como pin de salida
Habilitación Pin que se configura como señal de salida
Velocidad de la
comunicación
Físicamente no es un pin, sino una configuración de
software indicándole a la tarjeta Arduino para trabajar a
9600 baudios/s
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 51
 Estado 3: En este bloque se determinan las condiciones iniciales de los pines de la
tarjeta Arduino. Esto se hace con el fin de no tener un comportamiento no deseado
al momento de encender el circuito transmisor. En la siguiente tabla se tiene los
valores iniciales de las variables de salida.
PIN VARIABLE CONDICIÓN INICIAL
Selector Colocamos esta variable de 3 bits al valor “000”.
Habilitación El valor de este pin se pone con valor HIGH. Con
este valor el multiplexor está deshabilitado
Conectado Este pin se conecta a un led, inicialmente se apaga
este led con un valor LOW
Tabla 4.7 Inicialización de los pines de salida de Arduino.
 Estado 4: Después de inicializar las variables la función loop hace lo que su
nombre indica y es una función que se ejecuta consecutivamente, permitiéndole al
programar variar y responder.
 Estado 5: Es la primera instrucción de la función loop. Se lee el puerto serial de la
tarjeta Arduino y si existe un valor en él.
 Estado 6: Si existe un valor en el puerto serial este se guarda como un dato
recibido. Únicamente se recibirán datos con valores de caracteres alfabéticos y
numéricos mismos que se han seleccionado: d, c, 1, 2, 3, 4, 5, 6, 7, 8. Teniendo 10
casos posibles, en cada caso se ejecuta una acción.
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 carácter ‘1’. En el selector se direccionan tres bits al multiplexor con el
código “000”. Después se habilita el multiplexor con un valor LOW, direccionando la
señal solicitada. Posteriormente se lee el voltaje en la salida del multiplexor con el
convertidor analógico-digital de la tarjeta Arduino, guardando este valor en la
variable sensor1. Finalmente se deshabilita al multiplexor.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 52
Con los siguientes casos sucede lo mismo, sin embargo el código del selector
cambie según el dato recibido. En la siguiente tabla se tienen el valor de las
variables para los siguientes casos.
CASO DATO RECIBIDO SELECTOR SENSOR LEIDO
Caso4 (6.4) ‘2’ “001” Sensor2
Caso5 (6.5) ‘3’ “010” Sensor3
Caso6 (6.6) ‘4’ “011” Sensor4
Caso7 (6.7) ‘5’ “100” Sensor5
Caso8 (6.8) ‘6’ “101” Sensor6
Caso9 (6.9) ‘7’ “110” Sensor7
Caso10 (6.10) ‘8’ “111” Sensor8
Tabla 4.8 Valor de los pines de salida con relación a los casos.
 Estado 7: En este bloque el circuito transmisor envía por el puerto serial los
valores de las variables leídas. Las variables son sensor1, sensor2, sensor3,
sensor4, sensor5, sensor6, sensor6, sensor7 y sensor8 que representan el
valor digital del sensor leído, tiene valores entre 0 y 1023.
 Estado 8 Es el fin del ciclo y regresa a la función loop, los ciclos son
permanentes a menos que se presione el botón de reset o se corte la
energía de la placa.
4.6 Programación del circuito transmisor.
Con base al algoritmo del circuito transmisor, se realiza la programación. La programación
se aplica a la tarjeta de hardware Arduino que es quien controla el multiplexor analógico e
interactúa con el radio Xbee. La programación se hace en la plataforma Arduino
(ProcessingWiring), similar a C++. El código se presenta en el siguiente sketch Arduino.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 53
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 54
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 55
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 56
En la siguiente figura se tiene el circuito transmisor construido.
Figura 4.9 Circuito transmisor.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 57
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 58
5. Circuito receptor.
El circuito receptor es aquel que se comunica con el nodo de sensores inalámbrico y por
él fluyen los datos de control del nodo y la recepción de los datos recibidos por el mismo.
Por un momento se pensó que el diseño del circuito receptor fuera un microcontrolador
con un módulo Xbee integrado, este microcontrolador tendría que ser capaz de
comunicarse con una computadora para la entrega de datos, a su vez se tenía que hacer
una programación para el flujo correcto de datos. Sin embargo las características del radio
Xbee sustituyeron los requisitos anteriores sin necesidad del microcontrolador. El mismo
radio realiza la comprobación de errores de envío de datos ya que es una característica
importante de su diseño. Xbee ofrece una comunicación bidireccional permitiéndonos
enviar datos al nodo de sensores (circuito transmisor) y recibir datos del mismo, el envío y
la recepción de los datos es simultáneo. Xbee cuenta con una tarjeta XBee Explorer USB
el cual se comunica con una computadora dónde toda la transmisión de datos se hace de
manera serial. Las actividades realizadas en esta parte fueron:
 Transmisión inalámbrica: Se configuraron los radios Xbee para establecer una
comunicación punto a punto entre la estación base y el circuito transmisor
 Comunicación con el circuito transmisor: se estableció la conexión del circuito
transmisor obteniendo datos de los 8 canales que tiene el circuito transmisor.
Metodología.
5.1. Tarjeta Xbee Explorer USB
Para comunicar el Xbee en la recepción de datos se utilizó la tarjeta XBee Explorer USB
que permite una comunicación con la computadora mediante USB. La tarjeta cuenta con
chip emulador de un puerto serial FT232RL, es el intérprete entre el Xbee y la
computadora. La conexión física entre la tarjeta y la computadora es mediante un cable
mini USB. En la siguiente imagen se muestra la tarjeta.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 59
Figura 5.1 Tarjeta Xbee Explorer USB, en la parte derecha su tipo de conexión.
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 página 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 conexión entre
la tarjeta Xbee Explore USB y el puerto de conexión.
Figura 5.2 Tarjeta Xbee Explorer USB conectada a la computadora y el puerto de conexión.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 60
5.2 Configuración Xbee para la comunicación punto a punto.
La tarjeta Xbee Explorer USB es el hardware que comunica el radio Xbee con la
computadora. Mediante esta conexión el radio Xbee puede ser configurado para una
comunicación punto a punto. El software que se utiliza para realizar la configuración
puede ser cualquier Hyperterminal que permita escribir datos y recibir datos en el puerto
serial. Para hacer la configuración del radio utilizaremos el software X-CTU.
Inicialmente conectamos la tarjeta Xbee Explorer USB a la computadora, abriendo el
programa X-CTU, haciendo clic en la pestaña de PC Settings.
Figura 5.3 Vista del programa X-CTU.
Como se ve en la figura anterior, el programa X-CTU permite detectar el puerto serial
dónde la tarjeta Xbee Explorer USB está conectada. En nuestro caso la tarjeta está en el
puerto COM16.
Se configurarán los Xbee para la
comunicación inalámbrica, colocamos
las marcas 1 y 2 para distinguir a los
Xbee. La marca 1 es para el Xbee
transmisor y la marca 2 es para el
Xbee detector. En la siguiente imagen
se muestra los dos Xbee.
Figura 5.4 Marcas de los Xbee
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 61
Los Xbee se conectan sobre la tarjeta Xbee Explorer USB. La primera conexión es sobre
el Xbee con la marca número 1. En la siguiente imagen se tienen los comandos
ingresados en la Terminal de X-CTU para la configuración.
Figura 5.5 Comandos de la configuración del Xbee 1.
Conectamos el Xbee con la marca 2, los comandos ingresados mediante la Terminal de
X-CTU son los que se muestran en la siguiente imagen:
Figura 5.6 Comandos ingresados en el Xbee 2.
Una vez ingresados los comandos, los Xbee se conectan al sistema de adquisición 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 comunicándolos a la computadora. Los comandos
ingresados se encuentran en Tabla 1.3 Secuencia de los comando AT para configurar
una conexión punto a punto, del presente informe.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 62
5.3 Comunicación con el circuito transmisor.
Una vez configurados los radios Xbee conectamos uno en el circuito transmisor.
Cargamos el sketch de Arduino con el código 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 están listos para realizar la comunicación
punto a punto. No importa que Xbee se coloque en el circuito transmisor, ambos fueron
configurados para que entiendan sus propios mensajes de comunicación. La
comunicación 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
programación 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.
Figura 5.7 Comunicación punto a punto.
Sobre la placa del circuito transmisor conectamos una carga que simulará las variaciones
de voltaje de un sensor. La variación 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 conexión se hará en el canal número 8. En el canal
2 se tiene un conectador el sensor de humedad. Los demás canales los conectamos a 0
volts. Para hacer la primera adquisición de datos, conectamos el circuito receptor en la
computadora, seleccionando en la Terminal la conexión del puerto serial COM16. Sobre la
terminal enviamos los caracteres del 1 al 8 obteniendo los datos que se muestran en la
siguiente imagen.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 63
Figura 5.8 Primera adquisición 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 carácter ‘8’ recibimos un 530. Estos valores son el resultado de la conversión
digital del voltaje analógico en esos canales. Para conocer el valor analógico se utiliza la
siguiente formula:
Donde
Con la formula el voltaje analógico en el canal 2 es:
El valor del voltaje en el canal 8 es lo siguiente:
Antes de realizar las mediciones se registraron los voltajes respectivos con un multímetro.
Las siguientes imágenes muestran los voltajes medidos en el canal 8 y en el canal 2.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 64
Figura 5.8 voltaje medido en el canal 2.
Vemos que tenemos un ligero error. Ya que el valor calculado es de 1.46 volts. Es quizá
porque en este canal teníamos conectado un sensor de humedad y es posible que haya
variado un poco en el voltaje. El error es el siguiente:
| |
En la siguiente imagen se muestra el voltaje registrado en el canal 8 con un multímetro.
En el canal 8 se tiene conectado un potenciómetro de precisión, al observar el valor
medido y compararlo con el valor calculado, se observa que el valor se acerca mucho al
medido.
Figura 5.9 voltaje analógico registrado en el canal 8.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 65
El error calculado es el siguiente.
| |
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 66
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 67
6. Interfaz Gráfica.
Después 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 gráfica que permite la visualización de los datos que llegan al circuito
transmisor. El software en el que se realiza esta tarea es Matlab a través de la
herramienta Guía de Interfaz de Usuario.
Con esta herramienta se ha diseñado la interfaz gráfica que permite visualizar en forma
gráfica los datos recopilados. Sobre ellas se pueden fijar otros parámetros como la
frecuencia de muestreo para la obtención 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, sólo una a
la vez, por eso se da la capacidad de elegir cuál se quiere observa. En la interfaz también
se tiene un tiempo total que es un tiempo propuesto por el usuario para recopilar la
información. Estas fueron algunas actividades desarrolladas en esta parte de la Estancia
Industrial, que a continuación se muestran con más detalle.
 Desarrollo de la Interfaz gráfica de la estación meteorológica: Se diseñó el
software que permite la visualización gráfica de los datos de la estación
meteorológica.
 Almacenamiento de los datos: Dentro del código de la Interfaz gráfica, se
direccionó un archivo en hoja de cálculo de Excel que permite almacenar los datos
obtenido después de realizar una medición.
Metodología.
6.1 Interfaz de la adquisición de datos.
Dentro de las herramientas de Matlab se encuentra la herramienta GUI (Guía de Interfaz
de Usuario). En ella se ha trabajado en el diseño de la interfaz de la estación
meteorológica, dónde se visualizarán las entradas y salidas registradas. Su contenido
representa el control entre la adquisición de datos con el circuito transmisor, el encargado
de recopilar la información.
GUI trabaja con base a la programación 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 visualización física del proyecto final, en ella se encuentran objetos como
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 68
pantallas, botones, cajas de texto. La segunda parte se representa como código e
instrucciones que se ejecutan detrás de la interfaz gráfica obedeciendo instrucciones
generadas por los objetos, a su vez estas instrucciones son eventos generados por los
usuarios que manipulan y programan la interfaz
La interfaz gráfica para la visualización gráfica es la siguiente:
Figura 6.1 Pantalla de la interfaz gráfica de la estación meteorológica.
Dentro de la interfaz podemos visualizar los datos graficados que se está registrando.
Cuanta con 3 pantallas capaz de visualizar has 8 variables. Además existen otros
apartados que permiten la visualización, control del flujo de los datos. Los apartados de la
pantalla de la interfaz gráfica se dividen en los siguientes bloques:
 Bloque de conexión.
 Bloque de control de medición de datos.
 Bloque de Selección de variables.
 Bloque Pantalla.
 Bloque de visualización de variables atmosféricas.
 Bloque de fecha y hora.
En la siguiente imagen podemos visualizar los bloques de la pantalla de la interfaz gráfica.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 69
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 70
6.2 Bloque de conexión:
En el bloque conexión se permite hacer la primera comunicación con el circuito
transmisor, y lo que se hace en esta parte es seleccionar el puerto serial dónde está
conectado el circuito transmisor, una vez seleccionado se abre un puerto que permita leer
y escribir datos en el puerto serial, y a continuación enviamos un carácter ‘c’ al circuito
transmisor, cuando el circuito transmisor reciba el carácter encenderá el led de la placa y
enviará la palabra “Conectado”. Esta palabra se visualizará en la Interfaz dentro del
bloque de conexión y será una indicación de que el circuito transmisor está listo para
realizar la medición.
Esta parte también permite interrumpir la conexión entre la interfaz y el circuito transmisor,
desconectándolo si el usuario ya no requiere realizar otra medición.
Dentro de este bloque se tienen 4 objetos importantes: 1 botón de conectado, 1 botón de
desconectado, una caja de lectura de texto y la visualización de estado. En la siguiente
imagen se muestra el bloque de conexión.
Figura 6.3. Bloque de conexión en la interfaz.
 Puerto: es un cuadro de texto en el que se permite ingresar el puerto serial de
conexión. Se ingresa de la siguiente manera COMNúmero. La palabra COM se
escribe con mayúsculas y después se ingresa un número. Dentro del código se
programa de tal manera que pueda validar la palabra correcta, enviando un
mensaje si la palabra es incorrecta. Así mismo si la palabra se ha escrito con
minúsculas, las cambia a mayúsculas. Cuando la palabra es correcta, se envía un
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 71
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 conexión.
 Conectado: Es un botón que permite realizar la conexión con el circuito
transmisor. Cuando se presiona con un click a este botón, dentro de la interfaz se
presenta un código en Matlab en el que se crea y abre el puerto serial definiendo
características como: Puerto de conexión, velocidad de conexión (9600 baudios/s)
y nombre del puerto como objeto. Cuando se ha creado el puerto serial se escribe
un carácter ‘c’ que envía al circuito receptor y espera la respuesta colocándola en
el estado de la interfaz. Dentro de las instrucciones realizadas tenemos variables
importantes para la conexión.
VARIABLE DESCRIPCIÓN
enciende Bandera que se pone en 1 si se ha presionado el
botón conectado
S Nombre que toma el puerto Serial dentro del código
del programa.
conectando Variable de tipo carácter. Es igual al caracter ‘c’ para
enviarlo al circuito transmisor
estado Cadena de carácter que se recibe una vez que se ha
enviado el carácter ‘c’ al circuito transmisor.
contador
Mediciones
Variable que inicializa en cero. Es la condición inicial
del número de mediciones que se han realizado.
Comunicación Bandera que se pone en 1 si la comunicación con el
circuito transmisor se ha realizado.
Tabla 6.1. Variables importantes al presionar el botón conectado.
En la siguiente imagen se presenta el algoritmo del código que se ejecuta al
presionarse conectado:
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 72
Figura 6.4. Algoritmo que se ejecuta al presionarse el botón de conectar.
 Desconectado: Es un botón que realiza la desconexión entre la interfaz y el
circuito transmisor. Cuando se presiona el botón se verifica que en algún momento
se haya presionado el botón conectado, esto es hace verificando la bandera
enciende. Si lo anterior es correcto, se envía un carácter ‘d’ que apaga el led del
circuito transmisor. Finalmente cierra y borra el puerto serial, con el fin de que otro
dispositivo pueda utilizar el puerto. Cuando se presiona el botón Desconectado se
ejecuta el código necesario para realizar la desconexión, dentro de este código hay
algunas variables importantes que se muestran en la siguiente tabla:
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 73
VARIABLE DESCRIPCIÓN
Enciende Bandera que se pone en o si se ha presionado el
botón desconectado
S Nombre que toma el puerto Serial dentro del código
del programa. Cuando se presiona el botón
desconectado esta variable se elimina.
Estado Cadena de caracteres que muestra la palabra
desconectado en la pantalla de la interfaz.
Comunicación Bandera que se pone en 1 si la comunicación con el
circuito transmisor se ha realizado.
Tabla 6.2 Variables importantes al presionar el botón desconectado.
En la siguiente imagen se muestra el diagrama de flujo que se ejecuta al presionarse el
botón de desconectar.
Figura 6.5. Diagrama de flujo del botón desconectar.
 Estado: es un cuadro de texto que muestra en una cadena de caracteres estado
de la interfaz con el circuito transmisor. Si se ha presionado el botón Conectado,
muestra la palabra “Conectado”. Si se presiona el botón desconectado, muestra la
palabra “Desconectado” dentro de la interfaz.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 74
6.3 Bloque de control de medición de datos.
En este bloque se configuran los tiempos de muestreos que se tendrán para realizar la
medición para las 8 variables a medir y una cuadro de texto que indica el tiempo de la
medición total. El muestreo de las 8 variables debe ser forzosamente de valor entero y
está dada en unidades de segundos. Este bloque la parte más importante, contienen el
botón que inicia la medición y es el segundo paso porque depende de la conexión con el
circuito transmisor.
Si el circuito transmisor no ha realizado la conexión con la interfaz, la medición no puede
iniciar. En caso contrario, si la conexión se ha realizado la conexión correcta y se presiona
el botón de medir, se leerán los valores de muestreos de las 8 variables a medir y el
tiempo total de medición. Se generará un ciclo en el que se inicia un temporizador que y
se detendrá cuando haya llegado al tiempo total de medición. Durante el tiempo en que
este activo el temporizador, se enviarán caracteres por el puerto serial con múltiplos del
tiempo de muestreo de cada variable. Los caracteres que se enviaran son los caracteres
numéricos: ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’ y ‘8’. El carácter número está relacionado con el
número de sensor que se desea leer.
Por ejemplo: Se define un tiempo total de 36 segundos. Y un tiempo de muestro para el
sensor1 de 4 segundos y un tiempo muestreo de 6 segundos para un sensor2. Al tener
esta información se estará enviando un carácter ‘1’ cada 4 segundos solicitando la
información al circuito transmisor el valor digital de ese sensor. Para el sensor2 se
solicitará la información al circuito transmisor cada 6 segundos. En la siguiente tabla se
muestran los caracteres enviados y los valores que solicita al circuito transmisor. Para no
utilizar mayor número de datos del tiempo total lo dividimos en intervalos de 2 segundos.
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 75
TIEMPO TOTAL = 36
SEGUNDOS
CARÁCTER QUE ENVIA DATO QUE RECIBE
Muestreo1 Muestreo 2 Muestreo 1 Muestreo 2
2 Ninguno Ninguno Ninguno Ninguno
4 ‘1’ Ninguno Sensor1 Ninguno
6 Ninguno ‘2’ Ninguno Sensor2
8 ‘1’ Ninguno Sensor1 Ninguno
10 Ninguno Ninguno Ninguno Ninguno
12 ‘1’ ‘2’ Sensor1 Sensor2
14 Ninguno Ninguno Ninguno Ninguno
16 ‘1’ Ninguno Sensor1 Ninguno
18 Ninguno ‘2’ Ninguno Sensor2
20 ‘1’ Ninguno Sensor1 Ninguno
22 Ninguno Ninguno Ninguno Ninguno
24 ‘1’ ‘2’ Sensor1 Sensor2
26 Ninguno Ninguno Ninguno Ninguno
28 ‘1’ Ninguno Sensor1 Ninguno
30 Ninguno ‘2’ Ninguno Sensor2
32 ‘1’ Ninguno Sensor1 Ninguno
35 Ninguno Ninguno Ninguno Ninguno
36 ‘1’ ‘2’ Sensor1 Sensor2
Tabla 6.3 Ejemplo de valores de lectura para tiempos de muestreo de 4 segundos y 6 segundos.
El bloque de control de medición de datos consta de una
caja de texto dónde se introduce el valor del tiempo total
de la medición. 8 cajas de texto en el que se introducen
los 8 tiempos de muestreos de los diferentes sensores.
Un botón que inicia la medición y otro que detiene la
medición. En la siguiente imagen se muestra el bloque de
control de las mediciones.
Figura 6.6. Bloque de control de
medición de datos en la interfaz
Reporte de la UEA Estancia Industrial de Ingeniería Electrónica
Página 76
 Lectura de tiempo: Es una caja de texto en el que se introduce el tiempo total
para realizar una medición. El valor del tiempo se debe introducir en segundos.
 Muestra1, muestra2, muestra3, muestra4, muestra5, muestra6, muestra7,
muestra8: Son cajas de texto en el que se introduce el tiempo de muestreo de los
diferentes sensores. El tiempo está dado en segundos.
 Inicio de Medición: Es un botón que lee los valores del tiempo de medición y el
tiempo de muestreo de los diferentes sensores. Al presionarse este botón se inicia
un temporizador para indicar el tiempo en que la medición sea finalizada. Durante
el tiempo en que el temporizador este activo, registrará los datos de los diferentes
sensores conectados en el circuito transmisor con base en los múltiplos del tiempo
de muestreo asignado para cada sensor.
Otra de las tareas dentro del código de este botón es involucrarse con la apariencia
inicial de las tres pantallas de la interfaz. Coloca las visualizaciones de las pantallas
a un intervalo del 50 % del tiempo total de medición y la centra a un 25 % del
tiempo total de medición.
Por ejemplo si se tiene un tiempo de medición de 100 segundos, al presionarse el
botón medición se ajustaran las tres pantallas de tal manera que podamos verlas
de 0 segundos a 50 segundos. Aunque se tiene un bloque independiente para el
ajuste de pantallas, en esta parte sólo se hace la condición inicial para empezar a
visualizar datos.
La tarea principal del botón de Inicio de Medición es recopilar datos con base a los
tiempos de muestreo y el tiempo total de la medición, entonces al recopilar datos
es necesario graficarlos, una parte importante de la interfaz gráfica es visualizar los
datos en un tiempo cercano al real. Por ese motivo le asignamos una nueva tarea
al presionar este botón: Cuando se envía 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 medición 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 múltiplos del tiempo de
muestreo del sensor.
2.- El vector magnitud del sensor que son los datos solicitados en los valores del
vector tiempo.
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica
Reporte UEA Estancia Ingeniería Electrónica

Más contenido relacionado

Similar a Reporte UEA Estancia Ingeniería Electrónica

Proyecto_gvirgen
Proyecto_gvirgenProyecto_gvirgen
Proyecto_gvirgengvirgen
 
Trab circuitos
Trab circuitosTrab circuitos
Trab circuitosronalddddd
 
Sistema de medcions para transductores industriales
Sistema de medcions para transductores industrialesSistema de medcions para transductores industriales
Sistema de medcions para transductores industrialesmonse lara roman
 
Digital señales (diapositava 1)
Digital señales (diapositava 1)Digital señales (diapositava 1)
Digital señales (diapositava 1)Jose Saenz
 
Ingenieria electronica[1]
Ingenieria electronica[1]Ingenieria electronica[1]
Ingenieria electronica[1]Sebastiano3280
 
Sy ti 2015-a_guion_produccion_bohorquez_ludena_ortiz
Sy ti 2015-a_guion_produccion_bohorquez_ludena_ortizSy ti 2015-a_guion_produccion_bohorquez_ludena_ortiz
Sy ti 2015-a_guion_produccion_bohorquez_ludena_ortizSyTI_2015-A_FLOOJB
 
Semana 1 maerial apoyo.pdf
Semana 1 maerial apoyo.pdfSemana 1 maerial apoyo.pdf
Semana 1 maerial apoyo.pdfAbelg9
 
presentacion tesisBernal V Lugo S.pptx
presentacion tesisBernal V Lugo S.pptxpresentacion tesisBernal V Lugo S.pptx
presentacion tesisBernal V Lugo S.pptxLUISDAVIDMEDINAMEDIN1
 
Catálogo Enovae DEXCell
Catálogo Enovae DEXCellCatálogo Enovae DEXCell
Catálogo Enovae DEXCellENOVAE
 
4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES
4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES
4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUESEMERSON EDUARDO RODRIGUES
 
PLC: Comunicaciones industriales Vicente Guerrero.pdf
PLC: Comunicaciones industriales Vicente Guerrero.pdfPLC: Comunicaciones industriales Vicente Guerrero.pdf
PLC: Comunicaciones industriales Vicente Guerrero.pdfSANTIAGO PABLO ALBERTO
 

Similar a Reporte UEA Estancia Ingeniería Electrónica (20)

Proyecto_gvirgen
Proyecto_gvirgenProyecto_gvirgen
Proyecto_gvirgen
 
MonicaJimenezAnton-ProyectoMaster
MonicaJimenezAnton-ProyectoMasterMonicaJimenezAnton-ProyectoMaster
MonicaJimenezAnton-ProyectoMaster
 
Trab circuitos
Trab circuitosTrab circuitos
Trab circuitos
 
Estacion total
Estacion totalEstacion total
Estacion total
 
Laboratorio de telemetría
Laboratorio de telemetríaLaboratorio de telemetría
Laboratorio de telemetría
 
Robótica y-sus-avances-reporte-final
Robótica y-sus-avances-reporte-finalRobótica y-sus-avances-reporte-final
Robótica y-sus-avances-reporte-final
 
Sistema de medcions para transductores industriales
Sistema de medcions para transductores industrialesSistema de medcions para transductores industriales
Sistema de medcions para transductores industriales
 
Digital señales (diapositava 1)
Digital señales (diapositava 1)Digital señales (diapositava 1)
Digital señales (diapositava 1)
 
Ingenieria electronica[1]
Ingenieria electronica[1]Ingenieria electronica[1]
Ingenieria electronica[1]
 
Sy ti 2015-a_guion_produccion_bohorquez_ludena_ortiz
Sy ti 2015-a_guion_produccion_bohorquez_ludena_ortizSy ti 2015-a_guion_produccion_bohorquez_ludena_ortiz
Sy ti 2015-a_guion_produccion_bohorquez_ludena_ortiz
 
Semana 1 maerial apoyo.pdf
Semana 1 maerial apoyo.pdfSemana 1 maerial apoyo.pdf
Semana 1 maerial apoyo.pdf
 
presentacion tesisBernal V Lugo S.pptx
presentacion tesisBernal V Lugo S.pptxpresentacion tesisBernal V Lugo S.pptx
presentacion tesisBernal V Lugo S.pptx
 
Proyecto de icc
Proyecto de icc Proyecto de icc
Proyecto de icc
 
Catálogo Enovae DEXCell
Catálogo Enovae DEXCellCatálogo Enovae DEXCell
Catálogo Enovae DEXCell
 
Semana_Tecnologica 2021_Conferencia .pdf
Semana_Tecnologica 2021_Conferencia .pdfSemana_Tecnologica 2021_Conferencia .pdf
Semana_Tecnologica 2021_Conferencia .pdf
 
Prospectiva tecnologicca
Prospectiva tecnologiccaProspectiva tecnologicca
Prospectiva tecnologicca
 
4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES
4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES
4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES
 
PLC: Comunicaciones industriales Vicente Guerrero.pdf
PLC: Comunicaciones industriales Vicente Guerrero.pdfPLC: Comunicaciones industriales Vicente Guerrero.pdf
PLC: Comunicaciones industriales Vicente Guerrero.pdf
 
Socote2013 submission 120
Socote2013 submission 120Socote2013 submission 120
Socote2013 submission 120
 
1020148252.PDF
1020148252.PDF1020148252.PDF
1020148252.PDF
 

Último

CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 

Último (20)

CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 

Reporte UEA Estancia Ingeniería Electrónica

  • 1. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 1 Ciencias Básicas e Ingeniería. Ingeniería en Electrónica. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica. Alumno: Pérez Miguel Ángel 208302929 Asesor: Reyes Ayala Nicolás. Responsable en la Empresa y Director del Proyecto para el IMP Dr. Reyes Villegas Faustino Martín Ficha: IMP_12697. Trimestre: 13I
  • 2. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 2 Índice. 1. Marco Tecnológico. 1.1 Estaciones meteorológicas. 1.1.1 Clima y tiempo. 1.1.2 Escalas de las estaciones Meteorológicas. 1.2 Sistemas de sensores inalámbricos. 1.3 XBEE. 1.3.1 Acceso al medio. 1.3.2 Verificación de error y reconocimiento. 1.3.3 Encapsulación. 1.3.4 Protocolos XBEE 1.3.5 Configuración XBEE punto a punto. 1.3.6 Estilo y características XBEE 1.4 Arduino. 1.4.1 ¿Por qué utilizar Arduino? 1.4.2 Versiones y características de Arduino. 1.4.3 Arduino PRO-MINI en la red de sensores. 1.4.4 Software Arduino. 1.5 Matlab. 1.5.1 Matlab y la comunicación con el Hardware. 1.5.2 Interfaz Gráfica de Usuario (GUI). 2. Plataforma meteorológica, sistema de adquisición de datos 2.1 Lectura de datos. 2.2 Comunicación inalámbrica. 2.3 Interfaz gráfica. 3. Lectura de datos y comunicación inalámbrica. 3.1 Lectura del dato. 3.2 Acoplamiento y multiplexaje de los sensores. 3.3 Implementación de la comunicación inalámbrica.
  • 3. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 3 4. Circuito transmisor. 4.1 Fuente de alimentación 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 Programación del circuito transmisor. 5. Circuito receptor. 5.1 Tarjeta Xbee Explorer USB. 5.2 Configuración Xbee para la comunicación. 5.3 Comunicación con el circuito transmisor. 6. Interfaz Gráfica. 6.1 Interfaz de la adquisición de datos. 6.2 Bloque de conexión. 6.3 Bloque de control de medición de datos. 6.4 Bloque de selección de variables. 6.5 Bloque Pantalla. 6.6 Bloque de visualización de las variables atmosféricas. 6.7 Bloque de fecha y hora. 6.8 Ecuación del sensor de temperatura. 6.9 Ecuación del sensor de humedad. 6.10 Programación de la interfaz.
  • 4. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 4 Introducción. La obtención de datos atmosféricos es muy importante en el monitoreo de gases de efecto invernadero en la atmosfera, y se lleva a cabo con plataformas instrumentadas, denominada estaciones meteorológicas. Actualmente en el mercado se encuentran gran variedad de estaciones meteorológicas que permiten leer las diferentes variables de interés cumpliendo varios objetivos, sin embrago, resulta complicado su uso y aplicación al momento de describir los componentes electrónicos internos y buscar integrarlos a un diseño propio para la adquisición de datos atmosféricos y otros aspectos, requeridos como son Telecomunicación, miniaturización, almacenamiento y control de datos atmosféricos. El presente documento describe el diseño y construcción de una estación meteorológica que sea capaz de cumplir con lo anterior. Partiendo de la lectura de datos, transmisión inalámbrica, adquisición y almacenamiento de datos. Cada etapa presenta un acoplamiento de componentes electrónicos tales como transductores, controladores, transmisores de radiofrecuencia, programación de la secuencia de control e interfaz gráfica. Da tal forma que en conjunto se logre un diseño apropiado de la estación meteorológica miniaturizada. Al presentar el desarrollo del diseño se obtendrá la plataforma capaz de adquirir los datos atmosféricos requeridos, involucrando en el acoplamiento tecnologías apropiadas al diseño. La plataforma de hardware Arduino facilita la lectura de transductores, la comunicación a una PC y con el sistema de comunicación inalámbrica. XBEE es una tecnología específica y estándar de redes inalámbricas personales, utilizada en este trabajo. El desarrollo del software presenta la Interfaz Gráfica de Usuario Matlab (GUI). Aunque Java es el lenguaje más habitual para crear GUI, es muy lenta para hacer cálculos eficientemente y es aquí donde Matlab es más poderoso. También las aplicaciones de estas tecnologías son limitadas, trabajando en rangos de operación apropiados para el acoplamiento. Con la herramienta naciente del proyecto, se obtendrán datos que pueden causar un impacto en la toma de decisiones en el monitoreo de gases atmosféricos de efecto invernadero en la atmosfera. Algunas otras variables son necesarias e importantes para cálculos y análisis de los mismos. Por parte de la comunicación, las redes de monitoreo inalámbrico se han convertido en la actualidad de mayor importancia y se convierten en una herramienta interesante en el campo de la ingeniería de telecomunicaciones, los sensores tienen que estar dentro de esa red detectando los cambios apropiados. La explicación de la detección de los cambios es la parte importante que se tiene que interpretar.
  • 5. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 5 Objetivo General:  Realizar el diseño, implementación y/o construcción de un sistema miniaturizado de comunicación inalámbrica, transmisión y análisis de la información de señales, de datos atmosféricos utilizados en la medición de emisiones. Objetivos Particulares:  Aplicar los fundamentos electrónicos aplicados en el diseño y construcción forma inalámbrica de un sistema de comunicación, transmisión y análisis de la información de señales.  Aplicar los conocimientos de los principios de diseño de sistemas digitales y sistemas de control e instrumentación.  Aplicación de conocimientos en comunicaciones, medición remota e interfaz grafica y monitoreo.
  • 6. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 6
  • 7. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 7 1. Marco Tecnológico. En esta primera parte definimos las tecnologías que han sido seleccionadas para la implementación y diseño de la plataforma meteorológica, siendo la información que nos ha ayudado en la comprensión y selección de las tecnologías existentes en el mercado. En esta primera parte se consideran conceptos básicos utilizados en el proyecto de la Estancia Industrial y fundamentalmente las actividades realizadas en esta primera parte se relacionan a la investigación documental del estado del arte de las tecnologías identificadas con posibilidad de considerarse en el presente trabajo:  Definición de las estaciones meteorológicas: Se ha investigado la definición y las principales variables que se deben medir en una estación meteorológica comercial.  Definición de una red de sensores inalámbrica: Se ha relacionado a la plataforma meteorológica implementada con una red de sensores inalámbrica. Definiendo la arquitectura de la misma: microcontrolador, sensores y radio.  Definición de la comunicación inalámbrica: Se ha seleccionado la tecnología XBEE, al seleccionarla se han estudiado los protocolos de comunicación y configuración del radio XBEE. Dentro de la investigación se han definido los conceptos de error al transmitir el dato, empaquetamiento y acceso al medio. Señalando también características del radio como: Potencia de salida, alcance y voltaje de operación.  Definición del microcontrolador: en esta parte se ha seleccionada la tecnología ARDUINO. Seleccionando la placa Arduino Mini PRO se ha reportado también el tipo de software que utiliza la tarjeta ARDUINO 1.1 Estaciones meteorológicas. La meteorología es la rama de la física que estudia los fenómenos que existen y aparecen en la atmosfera. En el pasado el hombre aprendió a predecir los cambios del tiempo mediante la observación, dándose cuenta de los cambios que lo benefician o dañan. En la actualidad, con el crecimiento urbano y tecnológico el hombre han extendido sus sentidos, que son los instrumentos meteorológicos; con el fin de predecir los cambios que lo dañan. Monitoreando los gases tóxicos que se encuentran en la atmosfera permitiendo medir, registrar y procesar la información que se obtiene de la predicción del tiempo y la atmosfera, sin necesidad de hacer observaciones directas mediante estaciones meteorológicas, que conllevan el uso de sistemas inalámbricos. En el campo de la atmosfera se puede sacar provecho de los dos métodos: observar y medir.
  • 8. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 8 Actualmente las estaciones meteorológicas se aplican en distintas áreas de la investigación, sobre todo, en ciencias de la atmósfera, en donde los datos obtenidos a través de ellas, se utilizan en análisis atmosféricos funcionando como predictores; también, se utilizan como pronosticadores y alertas de fenómenos naturales, o, para operaciones locales de pronósticos hidrológicos y agrometeorológicos. En todos los casos la estación meteorológica debe cumplir un grado de exactitud necesaria para describir el valor de la variable para un fin en específico, esto se le llama representatividad. 1.1.1 Clima y tiempo. Se pude definir clima1 al estado de las condiciones de la atmósfera, en muchos casos se le relaciona con la temperatura y las observaciones sobre la precipitaciones. A veces se le hace relación con el tiempo, sin embargo, no tiene el mismo significado. El clima lo determinan: a) La altura sobre el nivel del mar. b) Su distancia a grandes masas de agua. c) Su orología. El tiempo se refiere a los cambios rápidos que se presentan en la atmósfera, en cosas de horas o días de un lugar en específico. Los factores del tiempo son los siguientes: a) Presión atmosférica. b) Velocidad y dirección del viento. c) Temperatura. d) Humedad del aire. La vinculación tiempo-estación meteorológica se relaciona muy adecuadamente debido que muchas estaciones existentes en el mercado registran los factores del tiempo. Los requerimientos de mediciones del diseño de la plataforma meteorológica instrumentada que debe registrar son los siguientes2 : 1. Tiempo presente. 2. Tiempo pasado. 3. Dirección y velocidad del viento. 4. Temperatura. 5. Humedad relativa. 6. Presión atmosférica. 7. Radiación solar.
  • 9. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 9 Estas variables están presentes en el diseño, dónde cada a una se le puede asignar una técnica para el registro y obtención de sus valores a través de sensores. 1.1.2 Escalas de las estaciones meteorológicas. En particular las distintas estaciones meteorológicas tienen una escala espacial y temporal definida para realizar sus promedios, para definir la red de observaciones necesaria con la relación del fenómeno que se quiere estudiar. Entonces, la escala del pronóstico tiene una estrecha relación con la escala temporal del fenómeno. Ejemplo: para detectar cualquier fenómeno de pequeña escala y de variaciones rápidas en el tiempo y realizar su pronóstico del tiempo a muy corto plazo se requieren observaciones más frecuentes, provenientes de la red de observaciones sobre un área limitada. Con lo anterior, las escalas meteorológicas se clasifican como: Tabla 1.1 Clasificación de las escalas meteorológicas (Renom, Madeleine. Principios básicos de las mediciones atmosféricas, 2011). Con base en la tabla 1.1, la Escala Local es la que más se acerca a los requerimientos solicitados, dedicado al monitoreo de contaminación atmosférica, siendo también la base para el diseño de nuestra estación meteorológica. Se considera una distancia máxima de 3 Km, teniendo una estación base y la estación meteorológica comunicadas entre sí a través de una red inalámbrica. Para la red se sugiere una comunicación de punto a punto, posteriormente se puede considerar de punto a multipunto, para abarcar un área geográfica más extensa. Finalmente señalamos las características importantes de la plataforma meteorológica: Miniaturización. Parte principal del diseño, también es la causa por la que no se decidió implementarla con una estación meteorológica existente en el mercado. Comunicación inalámbrica punto a punto, con alcance máximo de 2 Km al aire libre. Registrar: Temperatura, humedad relativa, presión atmosférica. Radiación solar, velocidad y dirección del viento. CLASIFICACIÓN DISTANCIA APLICACIÓN Micro escala Menor a 100 metros Agrometeorología: Evaporación Escala Local Entre 100 metros y 3 Kilómetros Contaminación atmosférica, tornados Meso escala De 3 a 100 kilómetros Tormentas, brisa de mar. Escala Sinóptica De 100 a 3000 Kilómetros. Frentes, ciclones, clusters nubosos Escala Planetaria Mayor a 3000 Kilómetros Ondas largas en altura.
  • 10. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 10 1.2 Sistemas de sensores inalámbricos. Durante los años 90´s ha surgido de revolución de las redes, tal que las personas y las organizaciones intercambian información 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 telefonía celular. Estos dispositivos son cada vez más capaces, prometiendo mucho como aspectos de configuración y baja probabilidad de fallar. Todo queda enlazado entre sí dentro de redes inalámbricas formando desde un entorno simple hasta el más complejo. La parte de la tecnología de sensores inalámbricos, tampoco se podía quedar atrás y se ha desarrollado aventajando los campos de aplicación como defensa, agricultura, medio ambiente o tráfico3 . La tecnología de redes de sensores se basa en el uso de sensores o actuadores con capacidad de recibir información del entorno o de realizar alguna acción en él. Estos sensores están conectados a dispositivos electrónicos con capacidad de procesamiento de comunicación inalámbrica. Cada nodo de la red consta de un microcontrolador, sensores y transmisor/receptor, y puede formar una red de muchos nodos. Cada nodo debe procesar una cantidad limitada de datos, coordinando cada sensor para realizar una tarea específica. Una ventaja del sistema de sensores inalámbricos es que, en muchos casos, se requieren demasiados sensores para evitar obstáculos físicos que obstruyan la línea de comunicación. El medio que va a ser monitorizado no tiene una infraestructura, ni para el suministro energético, ni para la comunicación. Por ello es necesario que los nodos funcionen con pequeñas fuentes de energía y que se comuniquen mediante canales inalámbricos. En la siguiente figura se muestra la arquitectura de cada nodo de la red de sensores. Figura1.1 Arquitectura física de un nodo de red de sensores (Aplicación de las redes de sensores inalámbricos a la industria nuclear. Tecnatom).
  • 11. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 11 Los elementos a considerar en cada nodo de una red de sensores son: a) Sensores: Sus puntos críticos de estas aplicaciones suelen ser el tamaño y consumo, en los casos cuando el nodo se despliega para obtener la información. Operan de manera autómata sin acceder a fuentes de energía externa. b) Capacidad de proceso de los nodos: En la arquitectura todos los nodos tiene un microcontrolador. Las capacidades de este dispositivo deben considerarse en conjunción de consumo, autonomía y velocidad de procesamiento. c) Capacidad de las comunicaciones: En muchas aplicaciones se utiliza el protocolo 802.15.4 o el Bluetooth (ambos de banda libre a 2.4 GHz). Este protocolo tiene un alcance de decenas de metros. En otros caso se utiliza el protocolo 802.11 permitiendo mayores alcances (centenares de metros), pero a cambio de una menor autonomía. d) Software básico: Los microcontroladores ejecutan software normalmente sobre sistema operativos muy reducidos. Pero son capaces de procesar la información obtenida de un nodo. e) Software de aplicaciones: Las aplicaciones en redes de sensores se limitan a tener medidas de entorno y transmitirlas un nodo referido. Actualmente estos nodos tiene una mayor capacidad que le permiten tener más inteligencia como son: incluir seguridad en sus transmisiones de datos o realizar decisiones de forma distribuida en base a las condiciones de la red, como niveles de energía en los nodos. La aplicación en el Control del Impacto Ambiental es el campo con mayor experiencia en las redes de sensores y su primero aplicación “natural”. Sin embargo no existen muchas referencias comerciales que integren la medida de la actividad radiológica en redes de sensores, salvo de los laboratorios americanos, como Sandia4 o Los Alamos5 , más bien orientadas a emergencias que a la monitorización de plantas. Aunque en la arquitectura se señalan los componentes más básicos e indispensables para un nodo de red de sensores, es necesario tener en cuanta un destinatario de los datos obtenidos. Otro aspecto importante es que en un nodo de red de sensores existen cierto número de sensores a leer. Es dónde el microcontrolador hace su trabajo, creando un algoritmo para conocer qué sensor leer y cuando hacer esta lectura. Por ello hemos modificado la arquitectura del único nodo de sensores. La modificación se muestra en la siguiente imagen.
  • 12. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 12 Figura 1.2 Arquitectura de la plataforma meteorológica. 1.3 XBEE. El modem de radiofrecuencia XBEE de Digi International es un transceptor inalámbrico. El XBEE funciona mediante un protocolo completamente implementado hacia la comunicación de datos, con las características necesarias para generar una red robusta de sensores inalámbricos. Características tales como direccionamiento, reconocimiento y reintento, ayudando a garantizar la entrega segura de los datos en el nodo deseado. XBEE también tiene características adicionales aparte de la comunicación de datos, para utilizarlos en el monitoreo y control de dispositivos remotos6 . Muchos módulos inalámbricos para microcontroladores simplemente envían y reciben datos en la frecuencia proporcionada. Es hasta el usuario final que quiere obtener los datos o su hardware de aplicación cuando se enfrentan a los siguientes problemas, como las reglas de acceso de medios, verificación de datos, comprobación de error en la entrega y en varios nodos de redes qué nodos aceptan y utilizan los datos. Los dispositivos como XBEE que utilizan un protocolo de red puede facilitar el trabajo del programador en el manejo de estas tareas. Al enfrentarse con los problemas de la red, se consideran las soluciones para garantizar un flujo adecuado de la comunicación. Ciertas reglas y protocolos de la comunicación se utilizan para asegurar que el mensaje fluya correctamente desde el emisor al receptor a través del medio, similar al espacio de aire cuando una persona habla. 1.3.1 Acceso al medio. En conversaciones entre dos o más personas, es importante que dos personas no hablen al mismo tiempo. El mensaje de uno o ambos no pueden pasar al receptor o chocan creando confusión al oyente. En términos de redes inalámbricas el acceso al medio se
  • 13. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 13 bloquea causando un choque en el flujo de los datos. Los módulos XBEE al igual que las personas tienden a esperar una apertura antes de empezar a comunicarse. Cuando dos ven la apertura para comunicarse y ambos comienzan a hacerlo, al mismo tiempo se señala el problema, retrocediendo y llegando a una negociación. A veces en las redes inalámbricas, el mensaje puede ser para todos o solamente para uno, es por ello que se le asignan una dirección a cada dispositivo. Esta dirección permite que los datos enviados puedan ser utilizados por un dispositivo (punto a punto) o por un grupo entero de dispositivos (punto a multipunto). En muchos casos los nodos reciben la información enviada, pero si los datos no contienen su dirección ignoran el mensaje y sólo el dispositivo con la dirección correcta utiliza el mensaje. La dirección del mensaje es muy importante. Por ejemplo: En un grupo de clase, un alumno escucha una pregunta, para que el alumno conteste correctamente tiene que saber quién mencionó su nombre y le hizo la pregunta. En las redes, parte de los datos enviados incluye la dirección de origen de quién envió el mensaje con el fin de responder continuando con el flujo de la programación. 1.3.2 Verificación de error y reconocimiento. Siempre es importante que las palabras que hablamos sean entendidas por las demás personas. Al pasar datos en una red, es importante verificar que el mensaje fue recibido y los datos no contengan ningún error. Una forma sencilla de comprobación de errores es sumar todos los valores de bytes a enviar y añadir ese valor a los datos enviados. En la recepción, se realiza la misma operación matemática 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 recepción y realiza reintentos de transmisión de un nuevo envío. 1.3.3 Encapsulación. Al igual que cuando escribimos una carta, no nos limitamos a escribir la carta y dejarla en el buzón hasta que llegue al destinatario. La carta debe ser colocada en un sobre y dirigida, asegurándose que será recibida y leída por la persona correcta, incluyendo la dirección de retorno para que el destinatario se asegure de quién 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. Figura 1.3 Confusión en la comunicación
  • 14. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 14 Figura 1.4 Encapsulación de los datos en un Xbee Estos datos que se añaden son: dirección de origen, dirección de destino, valores de comprobación de errores. Todo este empaquetamiento ayuda a asegurar la entrega correcta al nodo deseado. 1.3.4 Protocolos XBEE. 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 volúmenes de datos, tales como archivos de imagen, su uso está enfocado en sistemas de supervisión y control, comúnmente como una red de sensores inalámbricos. En comparación con Bluetooth (con protocolo IEE 802.15.1), XBEE está diseñado como un protocolo mucho más sencillo con menores tasas de transferencia de datos (250 Kbps en comparación con 1 Mbps). Bluetooth fue diseñado como un reemplazo de los cables periféricos y se utiliza en las comunicaciones entre dispositivos portátiles, tales como teléfonos, lo que requiere acceso de seguridad7 . 1.3.5 Configuración XBEE punto a punto. 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 configurado8 . Existe una lista amplia de los comandos AT, pero los comandos AT básicos para configurar dos XBEE para la conexión punto a punto son las siguientes:
  • 15. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 15 FUNCIÓN COMANDO PARÁMETRO PAN ID ATID Cualquier dirección entre 0 y 65534. Dirección ATMY Cualquier dirección única entre 1 y 255. Dirección destino (parte alta) ATDH 0, indica un dirección de 16 bits. Dirección destino (parte baja) ATDL 2, indica la dirección del XBEE con el que se necesita comunicar. Modo comando +++ Prepara al XBEE en modo comando, una vez que se presiona +++ se recibe un OK, asegurando que el XBEE está listo. Guardar cambios ATWR Guarda los cambios en los comandos que se han modificado en el XBEE. Tabla 1.2 Comandos básicos AT para configurar una conexión punto a punto  PAN ID: Es el número de la Red de Área Personal. Es un identificador único para la red. Sólo los XBEE asignados a un PAD ID pueden comunicarse entre sí. En nuestro caso utilizaremos el número 3001  Dirección: Esta es la dirección origen única para cada XBEE.  Dirección destino parte alta: Representa la primera mitad de la dirección que queremos habilitar. En los módulos XBEE se pueden tener direcciones de hasta 64 bits y esta es la dirección de la parte más alta. Como no se necesitaran enviar datos extensos la pondremos en cero.  Dirección destinos parte baja: Esta dirección se utiliza para localizar el XBEE con el que se tenga que comunicar. Se tiene que asegurar que coincida con el parámetro de dirección (ATMY) del XBEE con el que se quiere hablar. En la siguiente tabla se muestra el orden de los comandos introducidos a dos XBEE para configurarlos en una conexión punto a punto. COMANDO XBEE1 XBEE2 +++ Modo comando Modo comando ATID 3001 3001 ATMY 2 1 ATDH 0 0 ATDL 1 2 ATWR Guarda cambios Guarda cambios Tabla 1.3 Secuencia de los comando AT para configurar una conexión punto a punto
  • 16. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 16 Podemos ver los comandos en la hyperterminal en la siguiente imagen. Cada que se envía un comando se recibe un OK como respuesta, asegurándonos que es un comando correcto. Los comandos de la parte izquierda es el XBEE1 y el de la derecha el XBEE2. Ambos tiene una comunicación bidireccional, con esta configuración ambos pueden ser transmisores y receptores. Recordando que el parámetro ATMY debe coincidir con el parámetro ATDL de los XBEE que se deseen comunicar. 1.3.6 Estilo y características de XBE. El módulo 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 operación y capacidades de la red. Figura 1.6 Pines de entrada y salida del XBEE Aunque se tienen muchos pines típicamente se conectan los de la Figura 1.7. Figura 1.7 Conexión típica del XBEE Figura 1.5 Secuencia de configuración de dos XBEE en la Hyperterminal
  • 17. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 17 El estilo de XBEE con protocolo 802.15.4 se le denomina de Serie 1 y permiten una conexión punto a punto o punto a multipunto. El XBEE y XBEE-PRO casi son idénticos en el funcionamiento la diferencia es que el XBEE-PRO es más grande en cuanto a tamaño y tiene una mayor potencia de salida. Las diferencias se encuentran en la siguiente tabla. ESPECIFICACIÓN XBEE XBEE-PRO Voltaje de alimentación 2.8 VDC-3.4 VDC 2.8 VDC-3.4 VDC Potencia 1mW 63mW Distancia de alcance al aire libre 90 m 1.6Km Distancia de alcance urbano 30 m 90 m Frecuencia de operación y canales 2.4 GHz, 16 Canales 2.4 GHz, 12 canales Sensibilidad -92 dBm -100 dBm Tabla 1.4 Diferencias entre XBEE y XBEE-PRO. Con las características mostradas, se ha elegido los módulos XBEE-PRO Serie 1, para el diseño en la comunicación. 1.4 Arduino. Arduino es una plataforma de prototipo electrónica de código abierto, basada en hardware y software flexibles y fáciles de usar. El entorno de recepción de entradas de Arduino, se basa en una gran variedad de sensores y puede afectar a su alrededor mediante el control de motores, luces y otros artefactos9 . La filosofía del hardware Arduino se basa en Open Source, dónde la versión esquemática 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. El software Arduino, y el mismo que permite comunicarse con la PC y programar el microcontrolador de la placa se le llama Lenguaje de Programación de Arduino y está basado en el Wiring, el entorno de desarrollo de Arduino se basa en el Processing. Conjuntamente el software de Arduino se basa en el Processing Wiring.
  • 18. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 18 1.4.1 ¿Por qué utilizar Arduino? En principio en una red de sensores inalámbrica es necesario un microcontrolador. Aunque en el mercado existen gran cantidad de microcontroladores, se pensó en la miniaturización; existe una placa de Arduino miniaturizada que permitía la manipulación del hardware para los propósitos requeridos. Además de que Arduino tiene un lenguaje de programación muy flexible para la comunicación serial con otros microcontroladores y la PC. Algunas otras ventajas de Arduino son las siguientes.  Multiplataforma: El software Arduino se ejecuta en varios sistemas operativos como son Windows, Macintosh OSX y GNU/Linux  Código abierto y software extensible: El software Arduino está publicado como herramientas de código abierto, disponible para extensión de programadores experimentados. El lenguaje puede ser expandido mediante librerías C++, y la gente que quiera entender los detalles técnicos pueden hacer el salto desde Arduino y la programación en lenguaje AVR-C en el cual está basado. De forma similar, puedes añadir código AVR-C directamente en los programas.  Código abierto y hardware extensible: Arduino está basado en microcontroladores ATMega8, ATMega168 y ATMega328 de Atmel. Los esquemáticos así como los componentes de la tarjeta están publicados bajo la filosofía Open Source, por lo que diseñadores de circuitos pueden hacer su propia versión del módulo, extendiéndolo y mejorándolo. Incluso usuarios con poca experiencia pueden construir su propia versión de la placa del módulo, así se puede entender cómo funciona. 1.4.2 Versiones y características de Arduino Hay una gran variedad de tarjetas Arduino. La mayoría utilizan el microcontrolador ATmega328 y Arduino Mega el ATMega2560. Entre las que destacan:  Decimila: Actualmente esta placa se ha hecho muy popular. Se conecta al ordenador con cable estándar USB y contiene el hardware de comunicación serial para comunicarse con la PC, necesario para ser programado.  Nano: Es una placa compacta diseñada para uso como tabla de pruebas, este se conecta a la computadora usando un cable Mini USB.  Bluetooth: Esta placa contiene un módulo bluetooth que permite la comunicación y programación sin cables. Es compatible con otros dispositivos Arduino.  Mini: Esta placa es la más pequeña de Arduino. Trabaja bien en tablas de pruebas en aplicaciones donde el espacio es muy reducido. Se conecta a la computadora utilizando el cable mini USB.
  • 19. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 19 1.4.3 Arduino PRO-MINI en la red de sensores. Se ha relacionado la plataforma meteorológica con el nodo de una red de sensores inalámbrica. Siendo Arduino Pro-Mini el microcontrolador de esta. Esta versión de Arduino consiste en una tarjeta compacta, diseñada para aplicaciones donde se requiere flexibilidad y un tamaño reducido, las dimensiones que se tiene de esta placa son de 18 mm x 33 mm. La miniaturización de esta tarjeta es reducida porque contiene el mínimo de componentes necesarios para que el microcontrolador pueda operar correctamente. No contiene la conexión USB incorporado a los circuitos y para cargar un programa es necesario conectar una tarjeta USB-TTL que es un convertidor de comunicación serial. Existen dos versiones de Arduino Pro Mini y se clasifican en relación al voltaje de alimentación: una que funciona a 5 volts, trabaja a una frecuencia de 16 MHz y otra que funciona a 3.3 volts con una frecuencia de 8 MHz. Se ha elegido la versión Arduino Pro Mini de 3.3 volts debido al bajo consumo de energía y porque el radio Xbee también opera en este intervalo de voltaje. En la siguiente tabla se señalan algunas características del hardware incorporado a la tarjeta y otras como son las características del microcontrolador que se utiliza. CARACTERÍSTICAS DESCRIPCIÓN Microcontrolador ATmega328 Voltaje de operación 3.3 volts Pines de Entrada/Salida 14 (de los cuales 6 proveen salidas PWM) Pines de entrada analógicos 8 Corriente por pin de Entrada/Salida. 40 mA Memoria Flash 32 Kbyte EEPROM 1 KBytes SRAM 2KBytes Oscilador 8 MHz Tabla 1.5 Características 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 máximo una corriente de 40 mA y tienen una resistencia interna d pull-up de 20-50 KOhms. Además algunos tiene pines especiales. Comunicación Serial: 0 (Rx) y 1 (Tx). Utilizados para recibir y transmitir datos TTL en serie.
  • 20. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 20 Interruptores externos 2 y 3: Estos pines pueden ser configurados para disparar una interrupción de valor bajo, un margen creciente o decreciente, o un cambio de valor. PWM 3, 5, 6, 9, 10, 11: Proporciona salida PWM de 8 bits y con una frecuencia constante de 490 Hz. Led 13: Hay un led incorporado al pin digital 13.  Pines de entradas analógicas: Arduino Pro mini tiene 8 entradas analógicas. Estas entradas también pueden ser configurables como pines de entrada y salida digitales. Cada entrada analógica se conecta a un convertidor analógico-digital con una resolución de 10 bits de cero volts a un voltaje de referencia. Por defecto el voltaje de referencia es de 3.3 volts, aunque es posible cambiar este valor usando el pin ARF.  Reset: Pone esta línea a un valor de cero volts para resetear al microcontrolador. Las características se muestran en la siguiente figura: Figura 1.8 Características de la tarjeta Arduino Mino Pro. Para cargar un programa en Arduino Pro Mini se tiene que conectar una tarjeta convertidor USB a TTL, permitiendo la comunicación 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.
  • 21. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 21 Figura 1.9 Conexión de Arduino Pro Mini para la programación. Cuando se conecta el convertidor USB a TTL de 3.3 volts, automáticamente la tarjeta Arduino Pro Mini se alimenta con el nivel de voltaje de 3.3 volts, proporcionado por el puerto USB de la computadora. 1.4.4 Software Arduino. Arduino no sólo es hardware, sino también 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. Un “sketch” es un programa que se ejecuta en Arduino, se le hace mucho a la similitud a la pantalla donde se realizan el conjunto de instrucciones que se ejecutan en Arduino. En la siguiente imagen se muestra la pantalla donde se editan los programas que se cargan a la tarjeta Arduino. Figura 1.10 Sketch Arduino.
  • 22. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 22 La estructura del sketch se basa en dos funciones principales el voidsetup()que es la inicialización del programa que se ejecuta en Arduino y el voidloop() es un ciclo infinito que ejecuta Arduino mientras este alimentado. Voidsetup() Se establece cuando inicia el programa. Se emplea para inicializar variables, establecer el estado de los pines o inicializar librerías. Esta función se ejecutará una única vez después que se conecte la placa Arduino a la fuente de alimentación o cuando se presione el botón de reinicio de la placa. Voidloop() Después de inicializar las variables la función loop hace lo que su nombre indica y es una función que se ejecuta consecutivamente, permitiéndole al programar variar y responder. En la siguiente Figura 1.11 se muestra las estructuras de las funciones principales de un sketch en Arduino. En el Sketch se escriben el conjunto de instrucciones en lenguaje C++. Algunas instrucciones son propias de Arduino, sin embargo la sintaxis también se asemeja a las instrucciones de C++. Algunas de estas instrucciones y que son los que más utilizaremos son las siguientes: Modo de entrada/salida: Esta instrucción configura el pin especificado para comportarse como entrada o salida. Dentro del argumento de la sintaxis se pone el número de pin (1- 13) después un coma y la palabra con mayúsculas “INPUT” si es entrada, “OUTPUT” si es salida. Sintaxis: pinMode(numeroPin, INPUT); //pin en modo de salida. pinMode(numeroPin, OUTPUT); //pin en modo de entrada. Escritura digital: Escribe un valor HIGH o un valor LOW a un pin digital. Dentro del argumento de la sintaxis, se coloca el número de pin (1-13) posteriormente las palabras HIGH o LOW. Figura 1.11 Estructura de un sketch en Arduino
  • 23. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 23 Si el pin ha sido configurado como OUTPUT con pinMode(numeroPin, OUTPUT), su voltaje será establecido al correspondiente valor: 5 volts (3.3 volts para la tarjeta Arduino PRO-MINI) para HIGH, 0 volts para LOW. Si el pin es configurado como INPUT, y escribir un valor HIGH, se habilitarán las resistencias internas de pull-up de 20K en el pin. Escribir un valor LOW deshabilitará la resistencia en el pin. Sintaxis: digitalWrite(numeroPin, HIGH); //Pone 3.3 volts en el pin correspondiente. digitalWrite(numeroPin, LOW); //Pone 0 volts en el pin correspondientes. Comunicación Serial. Se puede utilizar la comunicación entre la placa Arduino hacia un ordenador u otros dispositivos. Todas las placas Arduino tienen al menos un puerto serie y se comunica a través de los pines digitales Rx, 0 y Tx, 1. Así que si se utilizamos estas funciones, no se pueden utilizar los pines 0 y 1 como entradas o salidas digitales. Las instrucciones más importantes para la comunicación serial son las siguientes. Inicialización de la comunicación serial: Esta instrucción establece la velocidad de datos en bits por segundo (baudios) para la transmisión de datos en serie. Las velocidades necesarias para comunicarse con la PC son: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 o 115200. Los valores anteriores son el argumento de la instrucción, es muy común que siempre se utiliza la velocidad de 9600. Sintaxis: Serial.begin(valorVelocidad);//Comunicación serial con velocidad baudios/segundos. Comunicación serial disponible: Se refiere a datos ya recibidos y disponibles en el buffer de recepción del puerto serial (tiene una capacidad de 128 bits). Cuando el puerto serial está disponible en el buffer hay un valor mayor o igual a cero, cuando no está disponible en el buffer hay un valor de -1. Dentro de la sintaxis, no se coloca ningún parámetro dentro del argumento. Sintaxis: Serial.available(); //Instrucción para confirmar si hay datos en el puerto serial.
  • 24. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 24 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 instrucción facilita la salida de datos de Arduino hacia otros dispositivos. Sintaxis: Serial.println(valorTransmitido); //Escritura en el puerto serial. Lectura del puerto serial: Esta instrucción permite leer datos provenientes del puerto serial. En la sintaxis no se coloca nada como parámetro. Esta instrucción facilita la llegada de datos de un dispositivo externo hacia Arduino. Sintaxis: Serial.read(); //Lectura del puerto serial. Tipos de datos. Los tipos de datos que se manejan son idénticos 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 números y guardan valores de 2bytes. Esto produce un intervalo entre -32768 hasta 32767. La placa Arduino puede trabajar con números negativos, para que las operaciones aritméticas 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 carácter. 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 codificación está presente en la tabla ASCII. El tipo de datos de tipo caracter tiene signo codificando números desde -128 hasta 127. Sintaxis: charmiCaracter = ‘B’; charmiCaracter= 66; //ambos son equivalentes.
  • 25. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 25 Dato Byte: Un dato tipo byte almacena un número sin signo de 8 bits, desde 0 hasta 255. Sintaxis: byte b = B10010 //La “B” es el formato de un número binario. Dato booleano: Un dato tipo booleano sólo puede tomar dos valores: Verdadero o falso. Cada booleano ocupa un único byte en la memoria. Sintaxis: boolean estado=false boolean estado=0 //Ambos son equivalentes. Estas son algunas de las instrucciones de Arduino, para ampliar el conocimiento de las mismas visite la página de referencias de Arduino3 1.5 Matlab. Matlab es un software matemático para la manipulación de matrices, representación de datos y funciones, implementación de algoritmos, creación de interfaces GUI y comunicación con hardware. Sus características optan la idea apropiada a que sea utilizado como la interfaz gráfica de obtención de datos. Tiene un lenguaje de programación propio que es el M, no es muy complejo de utilizar. El objetivo de utilizar Matlab es permitir la transferencia de datos a través del puerto serial para leerlos y escribirlos directamente en su entorno, con el fin de interactuar como una interfaz gráfica igualando a las interfaces comerciales de instrumentación. 1.5.1 Matlab y la comunicación con el hardware. Las características de Matlab engrandecen cuando se tiene una tarjeta de adquisición de datos. Convirtiéndose en un posible instrumento de medición de cualquier rama. Aunque muchas aplicaciones, la tarjeta resulta muy costosa, por lo que puede reemplazarse por hardware menos complejo y barato como un microcontrolador. La comunicación típica entre Matlab y un microcontrolador es mediante el puerto RS-232, actualmente se usan los puertos virtuales COM, conectados físicamente por cable USB. El mando general corre por cuenta de una función en Matlab desarrollada con las instrucciones del toolbox de instrumentación. Es mediante este puerto dónde Matlab inicia la adquisición de datos proveniente del microcontrolador10 .
  • 26. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 26 1.5.2 Interfaz Gráfica de Usuario (GUI). En un sistema de adquisición de datos es común que se generen gráficas para tener control de los datos. Es aquí donde Matlab vuelve a favorecer la visualización de gráficas, además de generar un control amigable para el usuario. Todo mediante la herramienta de Interfaz Gráfica de Usuario de Matlab. GUI es una representación gráfica en una o más ventanas que contienen controles denominados componentes, que le permiten al usuario realizar tareas interactivas. El usuario al utilizar la GUI de Matlab no tiene que crear un script o escribir instrucciones en la línea de comandos para realizar las tareas. En la codificación de programas para realizar las tareas, el usuario no necesita conocer a detalle de cómo se realizan estas tareas11 . Los componentes que se incluyen en una GUI son: Barras de herramientas, botones, botones de opción, cuadros de lista, deslizadores, ejes de gráficas, cuadros de texto y cajas de texto. Las GUI creadas por la herramienta Matlab realizan cualquier tipo de cálculo, leer y escribir cualquier archivo de datos, comunicarse con otras GUI´s y mostrar los datos en forma de tablas o gráficos. Figura 1.12 Plantilla de trabajo de la GUI en Matlab.
  • 27. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 27
  • 28. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 28 2.- Plataforma meteorológica, sistema de adquisición de datos. Después de seleccionar la tecnología a utilizar, continuamos con el diseño y desarrollo de la plataforma meteorológica. Las actividades que se han realizado en esta parte son las siguientes:  Relación del hardware seleccionado con una red de sensores inalámbrico: Esta relación se hace con el fin de identificar las etapas de la plataforma meteorológica. Identificando también la arquitectura de una red de sensores inalámbrica, siendo esta la base del diseño.  Definir los bloques de la plataforma meteorológica: Se señalaron tres bloques básicos para el diseño de la plataforma meteorológica. Los bloques son los siguientes: Lectura de datos, comunicación inalámbrica y obtención de datos. Podemos decir que la estación meteorológica será un sistema de adquisición de datos, tomando en cuenta que nuestros datos de interés provienen de variables atmosféricas ambientales. Metodología: Haciendo la relación de la estación meteorológica con un nodo de sensores inalámbrico se presenta en la siguiente imagen. Figura 2.1 Arquitectura de la estación meteorológica. Con base a la imagen anterior se describen las etapas de Lectura de datos, comunicación inalámbrica, y obtención de datos.
  • 29. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 29 2.1 Lectura de datos. La lectura de datos se lleva a cabo en el nodo de sensores inalámbrico. En él se implementa un sistema electrónico encargándose de la lectura de los sensores de las variables atmosféricas. Como son: Temperatura, presión atmosférica, humedad relativa. Los sensores a utilizar deben cumplir con el tipo de respuesta en voltaje analógico, con el fin de que en el nodo de sensores inalámbrico exista un microcontrolador con un convertido analógico digital. Uno de los objetivos de la lectura de datos es caracterizar y registrar la energía de los diferentes sensores ambientales. Como se muestra en la figura anterior, queda dentro del nodo de sensores inalámbrico y su hardware son: Los sensores, el multiplexor y el microcontrolador. Figura 2.2 Hardware de la lectura de datos. 2.2 Comunicación inalámbrica. En esta etapa hay un radio que se comunica con el microcontrolador y la estación base, siente este el intérprete que guía el flujo de datos en un canal inalámbrico. El tipo de comunicación que se requiere es la más básica que es de punto a punto, bidireccional para tener una adecuada comunicación en el flujo de datos. Las consideraciones que se tiene que tener en cuenta para el diseño son: Potencia de salida y transmisión de 100 metros en vista libre. La comunicación inalámbrica se encuentra tanto en el nodo de la red de sensores así como en la estación base, debido que es la posición adecuada y parte de la arquitectura
  • 30. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 30 de comunicaciones inalámbricas así está definido. El hardware sólo corresponde a dos radios transceptores con sus respectivas antenas. Figura 2.3 Hardware de la comunicación inalámbrica. 2.3 Interfaz gráfica. La interfaz gráfica forma parte de la estación 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 fácilmente, siendo modificadas mediante software. Se ha desarrollado una interface en Matlab que permite obtener una visualización gráfica de los datos, siendo un PC donde se manipulan y visualizan los datos. Figura 2.4 PC para la visualización Gráfica
  • 31. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 31
  • 32. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 32 3.-Lectura de datos y comunicación inalámbrica. Se han definido los tres bloques fundamentales del trabajo de estancia. Ahora se define la primera parte de las actividades de implementación. Esta parte es la lectura de datos y a transmisión, relacionándolo todo como un nodo de sensores de comunicación inalámbrica 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 analógico-digital a partir del microcontrolador ATmega328 de Arduino, así como su implementación para lectura de voltajes analógicos.  Acoplamiento y multiplexaje de los sensores: En este punto se ha ideado la manera de leer un cierto número de sensores, utilizando un solo convertidor analógico-digital. Para esto se usó el término multiplexaje, utilizando el circuito CD74HC4051. Es un multiplexor analógico, el motivo por el que se ha utilizado es para conectar las salidas de voltaje analógico de los sensores hacía en convertidor analógico-digital del microcontrolador ATmega328. Este multiplexor de 3 bits, por lo que se pueden direccionar hasta 8 sensores.  Comunicación inalámbrica: Se implementa un radio dentro de la plataforma meteorológica. Metodología: 3.1. Lectura del dato. La técnica para la obtención de datos es mediante un convertidor de voltaje a un valor digital, es necesario que el sensor de cada variable sea de salida analógica. El sensor será el elemento fundamental para el sistema de teledetección, ya que es capaz de detectar, caracterizar y cuantificar energía. El valor de la salida en voltaje de cada sensor entra el convertidor Analógico-Digital, asignándole un valor numérico. En la siguiente imagen se muestra los bloques de la entrada del sensor. Figura 3.1 Ejemplo de la conversión del voltaje analógico del sensor.
  • 33. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 33 Como se ve en la imagen anterior, al hacer la conversión analógica- digital, no se logra obtener la señal real del sensor, sino una aproximación que dependerá de la frecuencia de muestreo. Un inconveniente que se tiene al llevar a cabo esta etapa, es que cada sensor necesitará de un convertidor Analógico-Digital. El problema se resuelve mediante multiplexaje, enlazando el canal del voltaje analógico del sensor a la entrada del convertidor justo en el instante en que se desee obtener el valor. Al tener en cuenta el multiplexaje, el número de convertidores se reduce a uno, facilitando el número de sensores analógicos al valor del multiplexor que se desee utilizar (2, 4, 8, 16, 32). La siguiente imagen nos muestra los bloques de la conexión para los distintos sensores. El microcontrolador a utilizar (Atmega328) tiene un multiplexor analógico, en un futuro se piensan añadir más sensores, por lo que se ha elegido un multiplexor externo para aumentar el número de señales a leer. Figura 3.2 Multiplexaje de las señales analógicas, provenientes de los diferentes sensores. El sensor funciona como un intérprete que hace una conversión de una variable atmosférica a una señal eléctrica (voltaje). El dispositivo que hace esta conversión 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 estación meteorológica, posteriormente se realizará la conversión Analógica- 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 numéricos. Esta técnica permite principalmente registrar la energía detectada por el sensor y los bloques son los de la figura 3.3 Figura 3.3 Diagrama de bloques para la lectura del dato.
  • 34. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 34 3.2 Acoplamiento y multiplexaje de sensores Una conversión analógica se realiza en base a un cierto número de bits y a un valor de voltaje de referencia. El voltaje de referencia es considerado de 3.3 volts, debido a que ARDUINO Mini PRO trabaja a este voltaje de alimentación. De esta tarjeta utilizaremos principalmente el convertidor analógico. El convertidor del ATmega 328 es de 10 bits, tomando valores entre 0 y 1023 a partir de 0 volts a un voltaje de referencia (3.3 volts). La resolución del convertidor se tiene con la siguiente relación: La relación numérica es: Cuando en la entrada se tiene un voltaje entre 0 volts-3.3 volts y se ha programado el convertidor del µControlador, se hará la lectura del voltaje de algún sensor, traduciéndolo a un valor numérico. Este será el valor numérico del sensor. Internamente este número ya es un dato entendible para el µControlador, se puede controlar, realizarle una operación, asignarle un espacio de memoria o transmitir inalámbricamente. El dato numérico del sensor se da por la siguiente formula. El flujo de la secuencia para obtener el dato numérico del sensor es la siguiente imagen:
  • 35. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 35 Figura 3.4. Esquema del conversor analógico- digital de la tarjeta Arduino. En la selección del multiplexor se seleccionado el CD74HC4051 dispositivo es un multiplexor de tipo analógico, puede ser controlado digitalmente con señales TTL. El selector del dispositivo es de tres bits, permitiendo seleccionar ocho entradas de voltaje analógico. Estas ocho entradas son las señales que provienen de los diferentes sensores a leer. Figura 3.5. Multiplexor analógico de ocho canales. Dentro de las características eléctricas de este multiplexor se encuentran las recomendaciones del voltaje de operación proporcionados por el fabricante:
  • 36. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 36 Habilitación S2 S1 S0 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 Voltaje en la salida del canal analógico ESTADOS DE LA ENTRADA Figura 3.6 Recomendaciones del voltaje de operación del multiplexor CD74HC4051 Cómo 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 también se encuentra dentro del rango. Para la lógica TTL, los datos límites para que el multiplexor entienda como una señal HIGH es de 3.15 volts hasta VCC y una señal LOW a partir de 1.35 volts. Para controla la lógica del multiplexor se conectará a la tarjeta Arduino Mini con señales de 0 volts para una señal LOW y 3.3 volts para una señal HIGH. Estas señales entrarán en el puerto de selección e canales que son los pines 9, 10 y 11. Además de seleccionar los distintos canales, también se tiene una señal de habilitación en el pin seis, para direccionar el canal AN hacia la salida analógica. La señal para de habilitación también 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 analógica no habrá una señal significativa, independientemente de las señales que tengamos en la selección de canales y la salida en este caso será de cero volts. La selección del canal se visualiza en la tabla3.1 Tabla 3.1 Respuesta ante la selección de canales del multiplexor CD74HC4051. Esta tabla se tomará de base para diseñar 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 Analógico-Digital.
  • 37. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 37 La conexión del µControlador Arduino al multiplexor se hará mediante cuatro canales de salida. Tres de estos canales son salidas del µControlador Arduino que seleccionan con números binarios el canal que se desee abrir. La otra conexión es la habilitación del multiplexor para que pueda abrir el canal y poder multiplexar la señal. Cuando se haya seleccionado el canal deseado y la habilitación esté activada, se direccionará la señal de voltaje del sensor seleccionado hacia la salida analógica del multiplexor (pin tres). Esta salida analógica estará conectada en una entrada analógica del µControlador Arduino, logrando hacerse la lectura del voltaje analógico del sensor. El flujo de la secuencia se señala en la siguiente imagen. Figura 3.7 Acoplamiento de la tarjeta Arduino y el multiplexor. 3.3 Implementación de la comunicación inalámbrica. En la Figura 3.7 se asimila un nodo inalámbrico de sensores. Falta implementar el radio para que se le pueda llamar totalmente inalámbrico. Es dónde los radios XBEE realizan su tarea. Las conexiones principales que se utilizan son: los pines de alimentación del XBEE y los pines de comunicación con el microcontrolador. Se señala que el voltaje de alimentación del radio XBEE es de 3.3 volts y es totalmente compatible con la tarjeta Arduino. La conexión final del nodo de sensores inalámbricos con el radio integrado es el que se muestra en la Figura 3.8.
  • 38. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 38 Figura 3.8 Plataforma meteorológica, nodo de sensores inalámbrica. El radio Xbee se configura con comandos AT (antes ya se ha mencionado). Para que el radio pueda realizar una comunicación punto a punto es necesario configura el radio Xbee antes de conectarlo.
  • 39. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 39
  • 40. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 40 4. Circuito transmisor. El nodo de sensores inalámbrico que se muestra en la Figura 3.8 es apenas el hardware necesario para implementar la plataforma meteorológica, sin embargo se necesita la secuencia de control. La secuencia de control inicia la lectura de cada sensor enviándola a una estación base. En esta parte de la estancia se diseña el circuito transmisor encargado de la secuencia de control, así como la construcción del circuito transmisor. Las actividades fueron las siguientes:  Circuito transmisor: Se ha construido un circuito transmisor de 5x5 cm. (Sin contar los sensores). Siguiendo el requerimiento de miniaturización. Este circuito es capaz de leer varios sensores de respuesta analógica y transmitir los datos inalámbricamente.  Programación del circuito transmisor: Se ha realizado el diagrama de flujo y la programación del microcontrolador del circuito transmisor. La programación se ha hecho dentro de la plataforma ARDUINO.  Transmisión inalámbrica: Utilizando el concepto y las herramientas de los convertidores Analógicos-Digitales, se ha preparado el dato para que se transmitido inalámbricamente. Así se hace uso de radios diseñados para la comunicación inalámbrica digital para enviar todos los datos solicitados a una estación base. Metodología: Como se menciona anteriormente la Figura 3.8 es la base para el diseño del circuito transmisor. Parte del diseño del circuito transmisor se centra en cuatro componentes: 1. Fuente de alimentación y regulador de voltaje. 2. Control. 3. Multiplexaje y entradas de sensores. 4. Radio.
  • 41. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 41 4.1 Fuente de alimentación y regulador de voltaje. Como parte del diseño de la fuente de alimentación se presenta de una manera muy simple y es la más importante de la tarjeta, porque todos los componentes se alimentan con el mismo valor de voltaje. El valor de voltaje de la fuente de alimentación es de 3.3 volts. La elección más común para generar el voltaje de alimentación es mediante un regulador. El regulador de 3.3 volts que se utiliza es el LF33ABP y tiene como entrada una pila de 9 volts. El diagrama eléctrico que le corresponde a la fuente de alimentación del diseño propuesto se muestra en la siguiente imagen: Figura 4.1 alimentación de 3.3 volts. Este diseño permite reducir el hardware de la alimentación del circuito transmisor, aunque es ineficiente por la potencia que se disipa. Se trabaja con componentes que tiene una bajo consumo de energía, la pila se agotará más rápido. La otra solución es utilizar un convertidor de DC a DC, se tendría un poco de problema al tratar de polarizar el circuito de control del convertidor. El fabricante propone que C1 sea un capacitor no electrolítico de 0.1µF y C2 un capacitor electrolítico de 2.2µF. Como voltaje de entrada, se ha revisado que para el regulador LF33ABP se tiene que alimentar en el intervalo de voltaje de: 3.5-16 volts, es por eso que alimentaremos con una pila de 9 volts. Para el consumo de corriente se toma en cuenta la corriente consumida de la placa Arduino, el módulo de radio Xbee y el multiplexor CD74HC4051.La suma de corriente debe ser menor a la corriente máxima que puede proporcionar el regulador.
  • 42. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 42 La corriente de consumo debe ser menor a la corriente máxima del regulador. En la siguiente tabla se muestran las corrientes de consumo de los elementos a conectar. COMPONENTE CORRIENTE DE CONSUMO Arduino 40 mA Radio Xbee 50 mA Multiplexor CD74HC4051 20 mA Suma total 110 mA Tabla 4.1 Corrientes de consumo de los componentes del circuito transmisor. 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 botón de reinicio. En la placa Arduino se programa la secuencia de control para realizar la lectura de datos. El diagrama eléctrico se muestra en la siguiente figura: En la tarjeta Arduino se tienen 10 conexiones importantes que se comunican con el multiplexor y el radio Xbee. Las conexiones se muestran en la siguiente tabla: Figura 4.2 Diagrama completo de la tarjeta Arduino Mini PRO
  • 43. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 43 NÚMERO DE PIN NOMBRE DESCRIPCIÓN 0 Tx Este pin se conecta con el radio Xbee, permitiendo la comunicación serial del Arduino hacia el radio Xbee. 1 Rx Este pin se conecta con el radio Xbee, permitiendo la comunicación serial del radio hacia Arduino. 6 Selector(S2) Pin conectado el selector del multiplexor, envía un valor HIGH o LOW al bit más significativo del multiplexor. 7 Selector(S1) Pin conectado el selector del multiplexor, envía un valor HIGH o LOW al segundo bit más significativo del multiplexor. 8 Selector(S0) Pin conectado el selector del multiplexor, envía un valor HIGH o LOW al bit menos significativo del multiplexor. 9 Habilitación Pin conectado al multiplexor enviando un valor HIGH (deshabilita el multiplexor) o LOW (habilita el multiplexor). 10 Conectar En este pin está conectado un led, se enciende si se ha recibido la señal de conexión con la estación base. 14 (A0) Entrada analógica Este pin se conecta con la salida del multiplexor. Es válida y se lee por el microcontrolador, si se ha seleccionado un canal del multiplexor y está habilitado el multiplexor Vcc Alimentación Pin conectado a 3.3 volts Gnd Referencia Pin conectado a 0 volts. Tabla 4.2 Conexión de la tarjeta Arduino. 4.3 Multiplexaje y entradas de sensores. El hardware que realiza esta acción es el multiplexor CD74HC4051, con capacidad de direccionar ocho valores analógicos hacia una de sus salidas. El multiplexor es controlado por la tarjeta Arduino, dónde Arduino selecciona cada una de las entradas mediante un selector de tres bits y una señal de activación. Las características eléctricas y las conexiones con la tarjeta Arduino del multiplexor se presentan en la siguiente imagen:
  • 44. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 44 Figura 4.3 Diagrama eléctrico de las conexiones del multiplexor. De esta forma interactúa la tarjeta Arduino con el multiplexor. También se tiene un conector de 8 canales, dónde físicamente se conectarán los sensores, siendo estas las entradas que se direccionarán mediante el multiplexor. El multiplexor se alimenta con 3.3 volts al igual que la tarjeta Arduino. En la siguiente tabla se muestran las descripciones de las conexiones del multiplexor. NÚMERO DE PIN NOMBRE DESCRIPCIÓN 13 A0 Señal 1 de entrada con valor de 0 a3.3 volts 14 A1 Señal 2 de entrada con valor de 0 a3.3 volts 15 A2 Señal 3 de entrada con valor de 0 a3.3 volts 12 A3 Señal 4 de entrada con valor de 0 a3.3 volts 1 A4 Señal 5 de entrada con valor de 0 a3.3 volts 5 A5 Señal 6 de entrada con valor de 0 a3.3 volts 2 A6 Señal 7 de entrada con valor de 0 a3.3 volts 4 A7 Señal 8 de entrada con valor de 0 a3.3 volts 9 S0 Bit menos significativo de selección, es puesto en HIGH o LOW por la tarjeta Arduino 10 S1 Segundo bit menos significativo de selección, es puesto en HIGH o LOW por la tarjeta Arduino 11 S2 Bit más significativo de selección, es puesto en HIGH o LOW por la tarjeta Arduino 6 Habilitación Pin de habilitación. La habilitación es dada por la tarjeta Arduino, HIGH deshabilita el multiplexor y LOW habilita el multiplexor 3 Salida Pin que se conecta al convertidor Analógico-Digital de
  • 45. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 45 Analógica la tarjeta Arduino. En este pin direcciona el valor del voltaje que ha sido seleccionado por la tarjeta Arduino Vcc Alimentación Pin conectado a 3.3 volts Gnd Referencia Pin conectado a 0 volts. Tabla 4.3 Pines de conexión del multiplexor CD74HC4051. 4.4 Radio. El radio del circuito transmisor es un Xbee que interactuara con la tarjeta Arduino y el radio Xbee de la estación base. El objetivo es realizar una conexión punto a punto con la estación 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 programación para iniciar la lectura de algún sensor y los datos provenientes de la tarjeta Arduino son datos numéricos relacionados con los voltajes de los sensores leídos. La conexión del Xbee se realiza de la forma más básica que existe para su operación y la comunicación con la tarjeta Arduino. En la siguiente imagen se muestran estas conexiones: Figura 4.4 Diagrama eléctrico del radios Xbee. La tarjeta radio Xbee se alimenta con un voltaje de valor de 3.3 volts, y se configura para una velocidad de transmisión de datos seriales igual a la de la tarjeta Arduino. Así los dos pines de comunicación serial se conectan con los pines de comunicación serial de la tarjeta Arduino. En la siguiente tabla se muestran la descripción de los pines del Xbee.
  • 46. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 46 NÚMERO DE PIN NOMBRE DESCRIPCIÓN 2 Din Pin que se conecta al Rx de la tarjeta Arduino, en este pin se reciben datos seriales provenientes de la tarjeta Arduino 3 Dout Pin que se conecta al Tx de la tarjeta Arduino, en este pin se envían datos seriales hacia la tarjeta Arduino Vcc Alimentación Pin conectado a 3.3 volts Gnd Referencia Pin conectado a 0 volts. Tabla 4.4 Pines de conexión del radio Xbee. Integrando estos cuatro componentes se tiene en conjunto al circuito transmisor, el encargado de realizar la lectura de los diferentes sensores y transmitirlos a la estación base. Parte del diseño es integrar todos los componentes en una tarjeta de cobre de 5x5 centímetros. La siguiente imagen es una idea de la plataforma meteorológica esperada. Figura 4.5 Plataforma meteorológica esperada. El diseño se ha realizado en el software KiCad, que es un entorno de software usado para el diseño de circuitos eléctricos y electrónicos en el que se pueden crear y editar un gran número de componentes y usarlos en esquema. El esquemático de la plataforma meteorológica completa se muestra en la siguiente imagen:
  • 47. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 47
  • 48. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 48 Con el esquema, se utiliza el mismo software para realizar el PCB del circuito transmisor. El PCB del circuito transmisor se diseña en una placa de cobre con doble cara, sus dimensiones son de 5x5 centímetros. En la siguiente imagen se muestran las dos caras del PCB diseñado. Figura 4.7 PCB del circuito transmisor 4.5 Algoritmo del circuito transmisor. El algoritmo del circuito transmisor son los pasos que se tienen que realizar para ejecutar las tareas de lectura de datos y transmisión inalámbrica. Estas tareas son designadas al microcontrolador, este dispositivo interactúa con el multiplexor analógico 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 programación de la tarjeta Arduino.
  • 49. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 49
  • 50. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 50  Estado 1: Se inicializan las entradas y salidas del microcontrolador, relacionando los pines con el nombre de una variable reconocida dentro de la programación. Las variables son el selector, la habilitación y conectado, en la siguiente tabla se tiene la descripción. Tabla 4.5 Referencia de los pines utilizados en Arduino Además de las señales 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. También se inicializa la velocidad de comunicación de la tarjeta. En la siguiente tabla se tienen la inicialización de las variables. Tabla 4.6 Configuración de los pines utilizados en Arduino. VARIABLE PIN EN LA TARJETA ARDUINO DESCRICIÓN Selector 6 Es una variable de tres bits que se enfoca para controlar la selección del multiplexor analógico. Toma valores binarios de 000 hasta 111, según sea el número de sensor a seleccionar. Así el pin 6 representa al bit más significativo y el pin 8 representa al menos significativo. 7 8 Habilitación 9 Este pin hace referencia a la habilitación del multiplexor. Toma dos valores HIGH (Señal que deshabilita al multiplexor) y LOW (Señal que hablita al multiplexor) Conectado 10 En este pin se conecta un Led que se enciende si el circuito transmisor ha recibido una señal de conectado de la estación base. VARIABLE CONFIGURACIÓN Selector. Son tres pines que se configuran como pines de salida. Conectado. Este pin se configura como pin de salida Habilitación Pin que se configura como señal de salida Velocidad de la comunicación Físicamente no es un pin, sino una configuración de software indicándole a la tarjeta Arduino para trabajar a 9600 baudios/s
  • 51. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 51  Estado 3: En este bloque se determinan las condiciones iniciales de los pines de la tarjeta Arduino. Esto se hace con el fin de no tener un comportamiento no deseado al momento de encender el circuito transmisor. En la siguiente tabla se tiene los valores iniciales de las variables de salida. PIN VARIABLE CONDICIÓN INICIAL Selector Colocamos esta variable de 3 bits al valor “000”. Habilitación El valor de este pin se pone con valor HIGH. Con este valor el multiplexor está deshabilitado Conectado Este pin se conecta a un led, inicialmente se apaga este led con un valor LOW Tabla 4.7 Inicialización de los pines de salida de Arduino.  Estado 4: Después de inicializar las variables la función loop hace lo que su nombre indica y es una función que se ejecuta consecutivamente, permitiéndole al programar variar y responder.  Estado 5: Es la primera instrucción de la función loop. Se lee el puerto serial de la tarjeta Arduino y si existe un valor en él.  Estado 6: Si existe un valor en el puerto serial este se guarda como un dato recibido. Únicamente se recibirán datos con valores de caracteres alfabéticos y numéricos mismos que se han seleccionado: d, c, 1, 2, 3, 4, 5, 6, 7, 8. Teniendo 10 casos posibles, en cada caso se ejecuta una acción. 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 carácter ‘1’. En el selector se direccionan tres bits al multiplexor con el código “000”. Después se habilita el multiplexor con un valor LOW, direccionando la señal solicitada. Posteriormente se lee el voltaje en la salida del multiplexor con el convertidor analógico-digital de la tarjeta Arduino, guardando este valor en la variable sensor1. Finalmente se deshabilita al multiplexor.
  • 52. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 52 Con los siguientes casos sucede lo mismo, sin embargo el código del selector cambie según el dato recibido. En la siguiente tabla se tienen el valor de las variables para los siguientes casos. CASO DATO RECIBIDO SELECTOR SENSOR LEIDO Caso4 (6.4) ‘2’ “001” Sensor2 Caso5 (6.5) ‘3’ “010” Sensor3 Caso6 (6.6) ‘4’ “011” Sensor4 Caso7 (6.7) ‘5’ “100” Sensor5 Caso8 (6.8) ‘6’ “101” Sensor6 Caso9 (6.9) ‘7’ “110” Sensor7 Caso10 (6.10) ‘8’ “111” Sensor8 Tabla 4.8 Valor de los pines de salida con relación a los casos.  Estado 7: En este bloque el circuito transmisor envía por el puerto serial los valores de las variables leídas. Las variables son sensor1, sensor2, sensor3, sensor4, sensor5, sensor6, sensor6, sensor7 y sensor8 que representan el valor digital del sensor leído, tiene valores entre 0 y 1023.  Estado 8 Es el fin del ciclo y regresa a la función loop, los ciclos son permanentes a menos que se presione el botón de reset o se corte la energía de la placa. 4.6 Programación del circuito transmisor. Con base al algoritmo del circuito transmisor, se realiza la programación. La programación se aplica a la tarjeta de hardware Arduino que es quien controla el multiplexor analógico e interactúa con el radio Xbee. La programación se hace en la plataforma Arduino (ProcessingWiring), similar a C++. El código se presenta en el siguiente sketch Arduino.
  • 53. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 53
  • 54. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 54
  • 55. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 55
  • 56. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 56 En la siguiente figura se tiene el circuito transmisor construido. Figura 4.9 Circuito transmisor.
  • 57. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 57
  • 58. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 58 5. Circuito receptor. El circuito receptor es aquel que se comunica con el nodo de sensores inalámbrico y por él fluyen los datos de control del nodo y la recepción de los datos recibidos por el mismo. Por un momento se pensó que el diseño del circuito receptor fuera un microcontrolador con un módulo Xbee integrado, este microcontrolador tendría que ser capaz de comunicarse con una computadora para la entrega de datos, a su vez se tenía que hacer una programación para el flujo correcto de datos. Sin embargo las características del radio Xbee sustituyeron los requisitos anteriores sin necesidad del microcontrolador. El mismo radio realiza la comprobación de errores de envío de datos ya que es una característica importante de su diseño. Xbee ofrece una comunicación bidireccional permitiéndonos enviar datos al nodo de sensores (circuito transmisor) y recibir datos del mismo, el envío y la recepción de los datos es simultáneo. Xbee cuenta con una tarjeta XBee Explorer USB el cual se comunica con una computadora dónde toda la transmisión de datos se hace de manera serial. Las actividades realizadas en esta parte fueron:  Transmisión inalámbrica: Se configuraron los radios Xbee para establecer una comunicación punto a punto entre la estación base y el circuito transmisor  Comunicación con el circuito transmisor: se estableció la conexión del circuito transmisor obteniendo datos de los 8 canales que tiene el circuito transmisor. Metodología. 5.1. Tarjeta Xbee Explorer USB Para comunicar el Xbee en la recepción de datos se utilizó la tarjeta XBee Explorer USB que permite una comunicación con la computadora mediante USB. La tarjeta cuenta con chip emulador de un puerto serial FT232RL, es el intérprete entre el Xbee y la computadora. La conexión física entre la tarjeta y la computadora es mediante un cable mini USB. En la siguiente imagen se muestra la tarjeta.
  • 59. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 59 Figura 5.1 Tarjeta Xbee Explorer USB, en la parte derecha su tipo de conexión. 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 página 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 conexión entre la tarjeta Xbee Explore USB y el puerto de conexión. Figura 5.2 Tarjeta Xbee Explorer USB conectada a la computadora y el puerto de conexión.
  • 60. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 60 5.2 Configuración Xbee para la comunicación punto a punto. La tarjeta Xbee Explorer USB es el hardware que comunica el radio Xbee con la computadora. Mediante esta conexión el radio Xbee puede ser configurado para una comunicación punto a punto. El software que se utiliza para realizar la configuración puede ser cualquier Hyperterminal que permita escribir datos y recibir datos en el puerto serial. Para hacer la configuración del radio utilizaremos el software X-CTU. Inicialmente conectamos la tarjeta Xbee Explorer USB a la computadora, abriendo el programa X-CTU, haciendo clic en la pestaña de PC Settings. Figura 5.3 Vista del programa X-CTU. Como se ve en la figura anterior, el programa X-CTU permite detectar el puerto serial dónde la tarjeta Xbee Explorer USB está conectada. En nuestro caso la tarjeta está en el puerto COM16. Se configurarán los Xbee para la comunicación inalámbrica, colocamos las marcas 1 y 2 para distinguir a los Xbee. La marca 1 es para el Xbee transmisor y la marca 2 es para el Xbee detector. En la siguiente imagen se muestra los dos Xbee. Figura 5.4 Marcas de los Xbee
  • 61. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 61 Los Xbee se conectan sobre la tarjeta Xbee Explorer USB. La primera conexión es sobre el Xbee con la marca número 1. En la siguiente imagen se tienen los comandos ingresados en la Terminal de X-CTU para la configuración. Figura 5.5 Comandos de la configuración del Xbee 1. Conectamos el Xbee con la marca 2, los comandos ingresados mediante la Terminal de X-CTU son los que se muestran en la siguiente imagen: Figura 5.6 Comandos ingresados en el Xbee 2. Una vez ingresados los comandos, los Xbee se conectan al sistema de adquisición 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 comunicándolos a la computadora. Los comandos ingresados se encuentran en Tabla 1.3 Secuencia de los comando AT para configurar una conexión punto a punto, del presente informe.
  • 62. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 62 5.3 Comunicación con el circuito transmisor. Una vez configurados los radios Xbee conectamos uno en el circuito transmisor. Cargamos el sketch de Arduino con el código 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 están listos para realizar la comunicación punto a punto. No importa que Xbee se coloque en el circuito transmisor, ambos fueron configurados para que entiendan sus propios mensajes de comunicación. La comunicación 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 programación 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. Figura 5.7 Comunicación punto a punto. Sobre la placa del circuito transmisor conectamos una carga que simulará las variaciones de voltaje de un sensor. La variación 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 conexión se hará en el canal número 8. En el canal 2 se tiene un conectador el sensor de humedad. Los demás canales los conectamos a 0 volts. Para hacer la primera adquisición de datos, conectamos el circuito receptor en la computadora, seleccionando en la Terminal la conexión del puerto serial COM16. Sobre la terminal enviamos los caracteres del 1 al 8 obteniendo los datos que se muestran en la siguiente imagen.
  • 63. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 63 Figura 5.8 Primera adquisición 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 carácter ‘8’ recibimos un 530. Estos valores son el resultado de la conversión digital del voltaje analógico en esos canales. Para conocer el valor analógico se utiliza la siguiente formula: Donde Con la formula el voltaje analógico en el canal 2 es: El valor del voltaje en el canal 8 es lo siguiente: Antes de realizar las mediciones se registraron los voltajes respectivos con un multímetro. Las siguientes imágenes muestran los voltajes medidos en el canal 8 y en el canal 2.
  • 64. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 64 Figura 5.8 voltaje medido en el canal 2. Vemos que tenemos un ligero error. Ya que el valor calculado es de 1.46 volts. Es quizá porque en este canal teníamos conectado un sensor de humedad y es posible que haya variado un poco en el voltaje. El error es el siguiente: | | En la siguiente imagen se muestra el voltaje registrado en el canal 8 con un multímetro. En el canal 8 se tiene conectado un potenciómetro de precisión, al observar el valor medido y compararlo con el valor calculado, se observa que el valor se acerca mucho al medido. Figura 5.9 voltaje analógico registrado en el canal 8.
  • 65. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 65 El error calculado es el siguiente. | |
  • 66. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 66
  • 67. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 67 6. Interfaz Gráfica. Después 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 gráfica que permite la visualización de los datos que llegan al circuito transmisor. El software en el que se realiza esta tarea es Matlab a través de la herramienta Guía de Interfaz de Usuario. Con esta herramienta se ha diseñado la interfaz gráfica que permite visualizar en forma gráfica los datos recopilados. Sobre ellas se pueden fijar otros parámetros como la frecuencia de muestreo para la obtención 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, sólo una a la vez, por eso se da la capacidad de elegir cuál se quiere observa. En la interfaz también se tiene un tiempo total que es un tiempo propuesto por el usuario para recopilar la información. Estas fueron algunas actividades desarrolladas en esta parte de la Estancia Industrial, que a continuación se muestran con más detalle.  Desarrollo de la Interfaz gráfica de la estación meteorológica: Se diseñó el software que permite la visualización gráfica de los datos de la estación meteorológica.  Almacenamiento de los datos: Dentro del código de la Interfaz gráfica, se direccionó un archivo en hoja de cálculo de Excel que permite almacenar los datos obtenido después de realizar una medición. Metodología. 6.1 Interfaz de la adquisición de datos. Dentro de las herramientas de Matlab se encuentra la herramienta GUI (Guía de Interfaz de Usuario). En ella se ha trabajado en el diseño de la interfaz de la estación meteorológica, dónde se visualizarán las entradas y salidas registradas. Su contenido representa el control entre la adquisición de datos con el circuito transmisor, el encargado de recopilar la información. GUI trabaja con base a la programación 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 visualización física del proyecto final, en ella se encuentran objetos como
  • 68. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 68 pantallas, botones, cajas de texto. La segunda parte se representa como código e instrucciones que se ejecutan detrás de la interfaz gráfica obedeciendo instrucciones generadas por los objetos, a su vez estas instrucciones son eventos generados por los usuarios que manipulan y programan la interfaz La interfaz gráfica para la visualización gráfica es la siguiente: Figura 6.1 Pantalla de la interfaz gráfica de la estación meteorológica. Dentro de la interfaz podemos visualizar los datos graficados que se está registrando. Cuanta con 3 pantallas capaz de visualizar has 8 variables. Además existen otros apartados que permiten la visualización, control del flujo de los datos. Los apartados de la pantalla de la interfaz gráfica se dividen en los siguientes bloques:  Bloque de conexión.  Bloque de control de medición de datos.  Bloque de Selección de variables.  Bloque Pantalla.  Bloque de visualización de variables atmosféricas.  Bloque de fecha y hora. En la siguiente imagen podemos visualizar los bloques de la pantalla de la interfaz gráfica.
  • 69. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 69
  • 70. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 70 6.2 Bloque de conexión: En el bloque conexión se permite hacer la primera comunicación con el circuito transmisor, y lo que se hace en esta parte es seleccionar el puerto serial dónde está conectado el circuito transmisor, una vez seleccionado se abre un puerto que permita leer y escribir datos en el puerto serial, y a continuación enviamos un carácter ‘c’ al circuito transmisor, cuando el circuito transmisor reciba el carácter encenderá el led de la placa y enviará la palabra “Conectado”. Esta palabra se visualizará en la Interfaz dentro del bloque de conexión y será una indicación de que el circuito transmisor está listo para realizar la medición. Esta parte también permite interrumpir la conexión entre la interfaz y el circuito transmisor, desconectándolo si el usuario ya no requiere realizar otra medición. Dentro de este bloque se tienen 4 objetos importantes: 1 botón de conectado, 1 botón de desconectado, una caja de lectura de texto y la visualización de estado. En la siguiente imagen se muestra el bloque de conexión. Figura 6.3. Bloque de conexión en la interfaz.  Puerto: es un cuadro de texto en el que se permite ingresar el puerto serial de conexión. Se ingresa de la siguiente manera COMNúmero. La palabra COM se escribe con mayúsculas y después se ingresa un número. Dentro del código se programa de tal manera que pueda validar la palabra correcta, enviando un mensaje si la palabra es incorrecta. Así mismo si la palabra se ha escrito con minúsculas, las cambia a mayúsculas. Cuando la palabra es correcta, se envía un
  • 71. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 71 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 conexión.  Conectado: Es un botón que permite realizar la conexión con el circuito transmisor. Cuando se presiona con un click a este botón, dentro de la interfaz se presenta un código en Matlab en el que se crea y abre el puerto serial definiendo características como: Puerto de conexión, velocidad de conexión (9600 baudios/s) y nombre del puerto como objeto. Cuando se ha creado el puerto serial se escribe un carácter ‘c’ que envía al circuito receptor y espera la respuesta colocándola en el estado de la interfaz. Dentro de las instrucciones realizadas tenemos variables importantes para la conexión. VARIABLE DESCRIPCIÓN enciende Bandera que se pone en 1 si se ha presionado el botón conectado S Nombre que toma el puerto Serial dentro del código del programa. conectando Variable de tipo carácter. Es igual al caracter ‘c’ para enviarlo al circuito transmisor estado Cadena de carácter que se recibe una vez que se ha enviado el carácter ‘c’ al circuito transmisor. contador Mediciones Variable que inicializa en cero. Es la condición inicial del número de mediciones que se han realizado. Comunicación Bandera que se pone en 1 si la comunicación con el circuito transmisor se ha realizado. Tabla 6.1. Variables importantes al presionar el botón conectado. En la siguiente imagen se presenta el algoritmo del código que se ejecuta al presionarse conectado:
  • 72. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 72 Figura 6.4. Algoritmo que se ejecuta al presionarse el botón de conectar.  Desconectado: Es un botón que realiza la desconexión entre la interfaz y el circuito transmisor. Cuando se presiona el botón se verifica que en algún momento se haya presionado el botón conectado, esto es hace verificando la bandera enciende. Si lo anterior es correcto, se envía un carácter ‘d’ que apaga el led del circuito transmisor. Finalmente cierra y borra el puerto serial, con el fin de que otro dispositivo pueda utilizar el puerto. Cuando se presiona el botón Desconectado se ejecuta el código necesario para realizar la desconexión, dentro de este código hay algunas variables importantes que se muestran en la siguiente tabla:
  • 73. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 73 VARIABLE DESCRIPCIÓN Enciende Bandera que se pone en o si se ha presionado el botón desconectado S Nombre que toma el puerto Serial dentro del código del programa. Cuando se presiona el botón desconectado esta variable se elimina. Estado Cadena de caracteres que muestra la palabra desconectado en la pantalla de la interfaz. Comunicación Bandera que se pone en 1 si la comunicación con el circuito transmisor se ha realizado. Tabla 6.2 Variables importantes al presionar el botón desconectado. En la siguiente imagen se muestra el diagrama de flujo que se ejecuta al presionarse el botón de desconectar. Figura 6.5. Diagrama de flujo del botón desconectar.  Estado: es un cuadro de texto que muestra en una cadena de caracteres estado de la interfaz con el circuito transmisor. Si se ha presionado el botón Conectado, muestra la palabra “Conectado”. Si se presiona el botón desconectado, muestra la palabra “Desconectado” dentro de la interfaz.
  • 74. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 74 6.3 Bloque de control de medición de datos. En este bloque se configuran los tiempos de muestreos que se tendrán para realizar la medición para las 8 variables a medir y una cuadro de texto que indica el tiempo de la medición total. El muestreo de las 8 variables debe ser forzosamente de valor entero y está dada en unidades de segundos. Este bloque la parte más importante, contienen el botón que inicia la medición y es el segundo paso porque depende de la conexión con el circuito transmisor. Si el circuito transmisor no ha realizado la conexión con la interfaz, la medición no puede iniciar. En caso contrario, si la conexión se ha realizado la conexión correcta y se presiona el botón de medir, se leerán los valores de muestreos de las 8 variables a medir y el tiempo total de medición. Se generará un ciclo en el que se inicia un temporizador que y se detendrá cuando haya llegado al tiempo total de medición. Durante el tiempo en que este activo el temporizador, se enviarán caracteres por el puerto serial con múltiplos del tiempo de muestreo de cada variable. Los caracteres que se enviaran son los caracteres numéricos: ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’ y ‘8’. El carácter número está relacionado con el número de sensor que se desea leer. Por ejemplo: Se define un tiempo total de 36 segundos. Y un tiempo de muestro para el sensor1 de 4 segundos y un tiempo muestreo de 6 segundos para un sensor2. Al tener esta información se estará enviando un carácter ‘1’ cada 4 segundos solicitando la información al circuito transmisor el valor digital de ese sensor. Para el sensor2 se solicitará la información al circuito transmisor cada 6 segundos. En la siguiente tabla se muestran los caracteres enviados y los valores que solicita al circuito transmisor. Para no utilizar mayor número de datos del tiempo total lo dividimos en intervalos de 2 segundos.
  • 75. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 75 TIEMPO TOTAL = 36 SEGUNDOS CARÁCTER QUE ENVIA DATO QUE RECIBE Muestreo1 Muestreo 2 Muestreo 1 Muestreo 2 2 Ninguno Ninguno Ninguno Ninguno 4 ‘1’ Ninguno Sensor1 Ninguno 6 Ninguno ‘2’ Ninguno Sensor2 8 ‘1’ Ninguno Sensor1 Ninguno 10 Ninguno Ninguno Ninguno Ninguno 12 ‘1’ ‘2’ Sensor1 Sensor2 14 Ninguno Ninguno Ninguno Ninguno 16 ‘1’ Ninguno Sensor1 Ninguno 18 Ninguno ‘2’ Ninguno Sensor2 20 ‘1’ Ninguno Sensor1 Ninguno 22 Ninguno Ninguno Ninguno Ninguno 24 ‘1’ ‘2’ Sensor1 Sensor2 26 Ninguno Ninguno Ninguno Ninguno 28 ‘1’ Ninguno Sensor1 Ninguno 30 Ninguno ‘2’ Ninguno Sensor2 32 ‘1’ Ninguno Sensor1 Ninguno 35 Ninguno Ninguno Ninguno Ninguno 36 ‘1’ ‘2’ Sensor1 Sensor2 Tabla 6.3 Ejemplo de valores de lectura para tiempos de muestreo de 4 segundos y 6 segundos. El bloque de control de medición de datos consta de una caja de texto dónde se introduce el valor del tiempo total de la medición. 8 cajas de texto en el que se introducen los 8 tiempos de muestreos de los diferentes sensores. Un botón que inicia la medición y otro que detiene la medición. En la siguiente imagen se muestra el bloque de control de las mediciones. Figura 6.6. Bloque de control de medición de datos en la interfaz
  • 76. Reporte de la UEA Estancia Industrial de Ingeniería Electrónica Página 76  Lectura de tiempo: Es una caja de texto en el que se introduce el tiempo total para realizar una medición. El valor del tiempo se debe introducir en segundos.  Muestra1, muestra2, muestra3, muestra4, muestra5, muestra6, muestra7, muestra8: Son cajas de texto en el que se introduce el tiempo de muestreo de los diferentes sensores. El tiempo está dado en segundos.  Inicio de Medición: Es un botón que lee los valores del tiempo de medición y el tiempo de muestreo de los diferentes sensores. Al presionarse este botón se inicia un temporizador para indicar el tiempo en que la medición sea finalizada. Durante el tiempo en que el temporizador este activo, registrará los datos de los diferentes sensores conectados en el circuito transmisor con base en los múltiplos del tiempo de muestreo asignado para cada sensor. Otra de las tareas dentro del código de este botón es involucrarse con la apariencia inicial de las tres pantallas de la interfaz. Coloca las visualizaciones de las pantallas a un intervalo del 50 % del tiempo total de medición y la centra a un 25 % del tiempo total de medición. Por ejemplo si se tiene un tiempo de medición de 100 segundos, al presionarse el botón medición se ajustaran las tres pantallas de tal manera que podamos verlas de 0 segundos a 50 segundos. Aunque se tiene un bloque independiente para el ajuste de pantallas, en esta parte sólo se hace la condición inicial para empezar a visualizar datos. La tarea principal del botón de Inicio de Medición es recopilar datos con base a los tiempos de muestreo y el tiempo total de la medición, entonces al recopilar datos es necesario graficarlos, una parte importante de la interfaz gráfica es visualizar los datos en un tiempo cercano al real. Por ese motivo le asignamos una nueva tarea al presionar este botón: Cuando se envía 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 medición 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 múltiplos del tiempo de muestreo del sensor. 2.- El vector magnitud del sensor que son los datos solicitados en los valores del vector tiempo.