Está en la página 1de 26

GRADO EN INGENIERÍA ELECTRÓNICA INDUSTRIAL Y

AUTOMÁTICA

TRABAJO FIN DE GRADO

TRANSMISIÓN DE SEÑALES ANALÓGICAS CON


XBEE EN EL ENTORNO LABVIEW

DOCUMENTO 2- CÁLCULOS SOFTWARE

Alumno/Alumna: Bengoetxea Abasolo Aitor

Director/Directora (1): Oleagordia Aguirre Iñigo Javier

Curso: 2018-2019

Fecha: 30/12/2018
TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

ÍNDICE
INTRODUCCIÓN ...................................................................................................................... 4
CONFIGURACIÓN DE LOS XBEE ......................................................................................... 6
PROGRAMACIÓN DEL ARDUINO ..................................................................................... 12
CÁLCULO DE LA TEMPERATURA ................................................................................ 13
IMPLEMENTACIÓN DEL XBEE CON EL ARDUINO ................................................... 18
CONGIGURACIÓN EN LABVIEW ....................................................................................... 21
CONCLUSIONES .................................................................................................................... 25
BIBLIOGRAFÍA ...................................................................................................................... 26

ESCUELA DE INGENIERÍA DE BILBAO 2


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

ÍNDICE DE FIGURAS

Figura1. 1 APLICACIÓN DE X-CTU ....................................................................................... 4


Figura1. 2 APLICACIÓN DE LABVIEW ................................................................................... 5
Figura1. 3 APLICACIÓN DE ARDUINO .................................................................................. 5

Figura 2. 1 APLICACIÓN DE ARDUINO ................................................................................. 6


Figura 2. 2 XCTU CONFIGURACIÓN ...................................................................................... 7
Figura 2. 3 XBEE CONFIGURACIÓN ...................................................................................... 8
Figura 2. 4 XBEE CONFIGURACIÓN ...................................................................................... 9
Figura 2. 5 XBEE CONFIGURACIÓN .................................................................................... 10

Figura 3. 1 CÁLCULO DE LA TEMPERATURA .................................................................... 13


Figura 3. 2 CÁLCULO DE LA TEMPERATURA .................................................................... 14
Figura 3. 3 CÁLCULO DE LA TEMPERATURA .................................................................... 15
Figura 3. 4 ACONDICIONAMIENTO DE LA SEÑAL ............................................................ 15
Figura 3. 5 XBEE ACOPLADO AL ARDUINO UTILIZANDO LA SHIELD ........................... 18
Figura 3. 6 IMPLEMENTACIÓN DEL XBEE ......................................................................... 19
Figura 3. 7 IMPLEMENTACIÓN DEL XBEE ......................................................................... 20

Figura 4. 1 DIAGRAMA DE BLOQUES LABVIEW ................................................................ 21


Figura 4. 2 CONFIGURACIÓN DEL BLOQUE LINX ............................................................ 22
Figura 4. 3 LINX ...................................................................................................................... 23
Figura 4. 4 LECTURA pt100.................................................................................................... 23
Figura 4. 5 BLOQUES PARA PRESENTAR RESULTADOS .................................................. 23
Figura 4. 6 MULTIPLICADOR ................................................................................................ 24

ESCUELA DE INGENIERÍA DE BILBAO 3


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

INTRODUCCIÓN

En este proyecto la parte del software es fundamental. Se han utilizado tres programas
diferentes y en este documento se explica detalladamente la configuración de cada uno de ellos.
Los programas utilizados han sido: X-CTU, LabView y Arduino.

 X-CTU: Este programa se utiliza para la configuración de los XBee. Posee una interfaz
gráfica que permite ver claramente cual es la configuración de cada uno de los módulos.
Anteriormente se utilizaba el Windows Terminal, mucho más complejo y difícil de
entender. XCTU nos sirve para configurar, inicializar, actualizar firmware y testear los
módulos XBee, comunicándose por puerto serie a los módulos.

FIGURA1. 1 APLICACIÓN DE X-CTU

 LabView: Es una plataforma y entorno de desarrollo para diseñar sistemas, con un


lenguaje de programación visual gráfico. En este TFG, se ha utilizado para representar
gráficamente los resultados obtenidos. Se complementa muy bien con los XBee con lo
que, es el software perfecto para esta aplicación.

ESCUELA DE INGENIERÍA DE BILBAO 4


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

FIGURA1. 2 APLICACIÓN DE LABVIEW

 Arduino: El IDE de Arduino es un entorno de programación que ha sido


empaquetado como un programa de aplicación, es decir, que consiste en un editor
de código, un compilador, un depurador y un constructor de interfaz gráfica.
Arduino tiene compatibilidad con XBee. El Arduino quien recoge los datos
analógicos y los procesa.

FIGURA1. 3 APLICACIÓN DE ARDUINO

ESCUELA DE INGENIERÍA DE BILBAO 5


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

CONFIGURACIÓN DE LOS XBEE

Como se ha explicado anteriormente para configurar los XBee hemos utilizado el software
de X-CTU. En este punto se explica paso a paso cual es la configuración que se ha realizado.
En este caso se ha utilizado una conexión punto a punto en modo transparente. En el documento
de la “Memoria” se explica detalladamente en que consiste dicha configuración.

Lo primero que se debe hacer es conectar el primero de los XBee que se quiere
configurar, para ello se utiliza solamente el XBee Explorer USB de SparkFun. Es decir,
solamente existe la posibilidad de configurar el módulo utilizando este adaptador. Con la Shield
y el Arduino no se puede configurar el módulo. Una vez se haya configurado el primero de los
XBee se sustituirá dicho módulo por el otro XBee a configurar.

FIGURA 2. 1 APLICACIÓN DE ARDUINO

Se explicará mediante imágenes cual es el proceso a seguir para configurar los dos XBee
utilizados.

ESCUELA DE INGENIERÍA DE BILBAO 6


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

FIGURA 2. 2 XCTU CONFIGURACIÓN

En la figura se puede observar la pantalla de inicio de X.-CTU, el primer paso de todos


es pulsar el botón para buscar que módulos están conectados al ordenador.

ESCUELA DE INGENIERÍA DE BILBAO 7


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

FIGURA 2. 3 XBEE CONFIGURACIÓN

Después hay que seleccionar el dispositivo conectado al ordenador y hacer click


en Next.

ESCUELA DE INGENIERÍA DE BILBAO 8


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

FIGURA 2. 4 XBEE CONFIGURACIÓN

Es muy importante que los baudios que se escojan en este momento de la


configuración coincidan con los que se escogen en el programa de LabView (9600).

ESCUELA DE INGENIERÍA DE BILBAO 9


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

FIGURA 2. 5 XBEE CONFIGURACIÓN

Una vez el programa haya reconocido el XBee se selecciona y se pasa a la


pantalla en la que se puede ver la configuración que lleva. Los parámetros más importantes de
esta ventana de configuración son los siguientes:

ID PAN ID: Es el identificador de red, todos los dispositivos que se quieran conectar
entre sí deberán tener el mismo identificador. En este caso se ha utilizado el que venía de serie,
pero puede ser cualquier número.

CE Coordinador Enable: Se habilita en caso de que se quiera utilizar el dispositivo como


coordinador.

 1 Coordinador
 0 Punto final
SH Serial Number High: Numero serial del dispositivo conectado hay 2 High y Low.

ESCUELA DE INGENIERÍA DE BILBAO 10


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

SL Serial Number Low: Numero serial del dispositivo conectado hay 2 High y Low.
DH Destination Adress High: Dirección del dispositivo con el que se quiere realizar la
comunicación, por defecto es 0, lo que significa que solo se comunicará con el coordinador. En
caso de querer comunicarte con otro dispositivo se colocará el SH Serial Number High y SL
Serial Number Low del dispositivo en cuestión en el DH Destination Adress low.
DH Destination Adress Low: Si se coloca FFFF, el mensaje se manda a todos los
dispositivos pertenecientes a la misma red.
AP API Enable:
 API disable, comunicación por comandos AT
 Api enable 1, comunicación por medio de tramas
SM Sleep Mode:
 No Sleep 0, configurado como router
 Con un valor diferente, configurado como un Dispositivo Final
I/O Settings:
 ADC: para recibir un dato analógico de un sensor
 DI: Entrada digital
 DO: salida digital en bajo o en alto

Como se puede observar hay infinidad de modos de configuración en este caso se han
modificado los campos de Destination Address Low y 16-bit Source Address. La dirección
modificada, es una dirección inventada, lo único que hay que tener en cuenta es que al otro
XBee que vayas a configurar hay que cambiar las direcciones de lugar, es decir, en Destination
Addres Low tiene que poner B3EE y en 16-bit Source Address CC11.

ESCUELA DE INGENIERÍA DE BILBAO 11


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

PROGRAMACIÓN DEL ARDUINO

Para explicar la programación de Arduino se ha optado por dividir en dos la parte de la


explicación y así comprender mejor que pasos se han llevado a cabo para lograr el cálculo de
la temperatura con el XBee integrado.

ESCUELA DE INGENIERÍA DE BILBAO 12


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

CÁLCULO DE LA TEMPERATURA

FIGURA 3. 1 CÁLCULO DE LA TEMPERATURA

Simplemente se inicializan las constantes que se utilizan más adelante y se habilitan las
entradas analógicas.

ESCUELA DE INGENIERÍA DE BILBAO 13


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

FIGURA 3. 2 CÁLCULO DE LA TEMPERATURA

En el caso de un Arduino Uno, el valor de 0 voltios analógico es expresado en digital


como B0000000000 (0) y el valor de 5V analógico es expresado en digital como B1111111111
(1023). Por lo tanto, todo valor analógico intermedio es expresado con un valor entre 0 y 1023
(porque el Arduino tiene una resolución de 10 bits), es decir, sumo 1 en binario cada 4,883 mV.
De ahí viene la fórmula del voltaje. El objetivo es llegar a calcular la temperatura partiendo de
la lectura que realiza el Arduino.

ESCUELA DE INGENIERÍA DE BILBAO 14


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

FIGURA 3. 3 CÁLCULO DE LA TEMPERATURA

El desarrollo para obtener las fórmulas utilizadas es el siguiente:

Vcc (12V)
2 1
4k7 4k7
100k
Vout
V2
Va
80 100k
PT100
2M

2M

FIGURA 3. 4 ACONDICIONAMIENTO DE LA SEÑAL

Partiendo del circuito de acondicionamiento de la señal, se resuelve el circuito para


obtener la relación que hay entre la PT100 y la tensión de salida del amplificador. La
configuración del amplificador es la de un amplificador restador con lo que la función de
transferencia es:

(𝑹𝟑 + 𝑹𝟏 )𝑹𝟒 𝑹𝟑
𝑽𝑶𝑼𝑻 = 𝑽𝟐 ( ) − 𝑽𝟏 ( )
(𝑹𝟒 + 𝑹𝟐 )𝑹𝟏 𝑹𝟏

ESCUELA DE INGENIERÍA DE BILBAO 15


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

Primero se resuelve la parte el circuito de la derecha (1) y después la de la izquierda (2):

(2𝑀 + 100𝑘)2𝑀 2𝑀
𝑉𝑂𝑈𝑇 = 𝑉2 ( ) − 𝑉1 ( )
(2𝑀 + 100𝑘)100𝑘 100𝑘

𝑉𝑂𝑈𝑇 = 𝑉2 (20) − 𝑉𝑎 (20)

𝑽𝑶𝑼𝑻 + 𝑽𝒂 𝟐𝟎
𝑽𝟐 =
𝟐𝟎

Se aplica la fórmula de divisor de tensión para obtener la 𝑉2:

𝑹𝑷𝑻𝟏𝟎𝟎
𝑽𝒐 = 𝑽𝒊𝒏
𝑹 + 𝑹𝑷𝑻𝟏𝟎𝟎

𝑅𝑃𝑇100
𝑉2 = 12
4𝑘7 + 𝑅𝑃𝑇100

80
𝑉𝑎 = 12 = 0,2𝑉
4𝑘7 + 80

Se sustituyen los valores de las dos tensiones en la fórmula obtenida anteriormente:

𝑅𝑃𝑇100 × 12 𝑉𝑂𝑈𝑇 + 𝑉𝑎 20
=
4𝑘7 + 𝑅𝑃𝑇100 20

𝑅𝑃𝑇100 × 12 𝑉𝑂𝑈𝑇 + 0,2 × 20


=
4𝑘7 + 𝑅𝑃𝑇100 20

20(𝑅𝑃𝑇100 × 12) = (𝑉𝑂𝑈𝑇 + 4)(4𝑘7 + 𝑅𝑃𝑇100 )

20(𝑅𝑃𝑇100 × 12) = (𝑉𝑂𝑈𝑇 × 4𝑘7) + (18.800) + (𝑉𝑂𝑈𝑇 × 𝑅𝑃𝑇100 ) + (4 × 𝑅𝑃𝑇100 )

240𝑅𝑃𝑇100 = (𝑉𝑂𝑈𝑇 + 4)𝑅𝑃𝑇100 + (𝑉𝑂𝑈𝑇 × 4𝑘7) + 18.800

𝟒𝒌𝟕 × 𝑽𝑶𝑼𝑻 + 𝟏𝟖. 𝟖𝟎𝟎


𝑹𝑷𝑻𝟏𝟎𝟎 =
−𝑽𝑶𝑼𝑻 + 𝟐𝟑𝟔

Se ha desarrollado la fórmula del divisor de tensión para poder calcular la resistencia de


la PT100 en el instante en el que el Arduino realiza una lectura.

ESCUELA DE INGENIERÍA DE BILBAO 16


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

Después, se utiliza la fórmula de la PT100 que ya se explica en el documento de la


“Memoria”:

RT = RO (1+T)
 = 0,00385(𝛀⁄𝛀)/℃

Por último, se calcula la temperatura a partir del valor de la resistencia calculada:

𝑹𝑻 − 𝟏𝟎𝟎
𝑻𝒂 =

ESCUELA DE INGENIERÍA DE BILBAO 17


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

IMPLEMENTACIÓN DEL XBEE CON EL ARDUINO

Antes de ejecutar este código hay que tener conectado el XBee Shield con el Arduino
tal y como se ve en la siguiente imagen:

FIGURA 3. 5 XBEE ACOPLADO AL ARDUINO UTILIZANDO LA SHIELD

Hay que asegurarse de que el interruptor está puesto en la posición DLINE.

ESCUELA DE INGENIERÍA DE BILBAO 18


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

FIGURA 3. 6 IMPLEMENTACIÓN DEL XBEE

ESCUELA DE INGENIERÍA DE BILBAO 19


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

FIGURA 3. 7 IMPLEMENTACIÓN DEL XBEE

El código para poder conectar el XBee al Arduino se ha obtenido de la página


especificada en el apartado de la bibliografía. Es un código sencillo que ya está comentado, con
lo que no se profundizará en este apartado. Simplemente saber que hay que descargar la librería
de “SoftwareSerial” para Arduino, sino el código no funcionará. Además, el código habilita la
conexión entre el Arduino y el XBee en las dos direcciones, pero en este proyecto solo se manda
información de Arduino a XBee y no de XBee a Arduino.

ESCUELA DE INGENIERÍA DE BILBAO 20


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

CONGIGURACIÓN EN LABVIEW

En este apartado se explica detalladamente cual ha sido la configuración realizada en el


programa de LabView.

FIGURA 4. 1 DIAGRAMA DE BLOQUES LABVIEW

Este es el diagrama de bloques que hace posible la visualización de los resultados de una
manera gráfica y fácil de entender. Antes de pasar a la configuración del diagrama de bloques
hay que conectar el Arduino al programa de LabView. Para ello lo primero que hay que hacer
es descargar la librería de LINX en LabView. Una vez descargada la librería aparecerán gran
cantidad de montajes hechos para poder probar nuestro XBee y Arduino.

ESCUELA DE INGENIERÍA DE BILBAO 21


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

Cuando se abra el diagrama de bloques de la figura anterior lo primero que hay que hacer
es configurar los bloques de LINX como aparece en la siguiente figura:

FIGURA 4. 2 CONFIGURACIÓN DEL BLOQUE LINX

El cuadrado marcado en rojo es el más importante, no aparece en ninguna página de internet,


pero si los baudios no coinciden con los configurados en XCTU el montaje no funcionará. Los
baudios aparecen a 0 de serie con lo que es obligatorio cambiarlo nada más abrir el proyecto.

ESCUELA DE INGENIERÍA DE BILBAO 22


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

En cuanto a la explicación del diagrama de bloques:

FIGURA 4. 3 LINX

Los bloques de LINX son los que proporcionan comunicación con el XBee y a su vez con
el Arduino.

FIGURA 4. 4 LECTURA PT100

Proporciona la lectura directa obtenida de la PT100.

FIGURA 4. 5 BLOQUES PARA PRESENTAR RESULTADOS

Estos bloques tienen como función mostrar de una manera gráfica los grados que está
percibiendo la PT100 de una manera gráfica y visual. El bloque de temperatura nos dará el
mismo resultado que el bloque de la lectura de la PT100.

ESCUELA DE INGENIERÍA DE BILBAO 23


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

FIGURA 4. 6 MULTIPLICADOR

Este multiplicador se utiliza para calibrar la temperatura inicial que aparece con la de
ambiente. Se hace uso de un termostato para saber que temperatura hay en la habitación y
posteriormente utilizando este bloque igualamos la temperatura del LabView con la que nos
proporciona el termostato.

ESCUELA DE INGENIERÍA DE BILBAO 24


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

CONCLUSIONES

Se puede observar como dentro de la aplicación de X-CTU hay infinidad de configuraciones


que no se han llegado a analizar. Ya se explica en el documento de la “Memoria” que ese podría
ser otro TFG. En los programas de LabView y Arduino no se pueden hacer demasiadas
modificaciones. En caso de querer probar con otro tipo de configuraciones es recomendable
cambiar de tipo de montaje y no usar en de cálculo de temperatura.

ESCUELA DE INGENIERÍA DE BILBAO 25


TRABAJO FIN DE GRADO 2.CÁLCULOS SOFTWARE

BIBLIOGRAFÍA

[1] https://learn.sparkfun.com/tutorials/xbee-shield-hookup-guide/all

[2] Programming Arduino with LabVIEW

ESCUELA DE INGENIERÍA DE BILBAO 26

También podría gustarte