ESCRITURA/LECTURA PT100 LABVIEW
Para realizar este ejercicio, se va a utilizar el software de Nationals Instruments "labView", también se va a utilizar tecnología ZIGBEE con los módulos de comunicación inalámbrica XBEE.
|
Módulos XBEE |
En la imagen superior, se muestran los módulos XBEE, estos módulos cuentan con una antena integrada para realizar la comunicación entre ellos. En nuestro caso, vamos a utilizar estos módulos simplemente para enviar las mediciones a nuestro ordenador sin la necesidad de emplear cables.
Además de labView, también se va a utilizar el entorno de desarrollo de Arduino para este proyecto ya que lo vamos a necesitar para programar el ESP 32 al que conectaremos la PT100.
PT100
La sonda PT100 es un tipo de sensor RTD, es decir detecta temperatura por resistencia. Estos equipos, están fabricados en platino y su resistencia a 0º es de 100 ohmios, de ahí viene su nombre. Este es el tipo de sensor RTD más conocido y más utilizado, pero también existen sondas PT500, PT1000... Las cuales como es de entender, tienen una resistencia de 500 y 1000 ohmios a 0º respectivamente.
Como se puede ver el la imagen superior, la relación resistencia-temperatura de una PT100 no es perfectamente lineal, por ello hay que aplicar una fórmula para conocer los valores de temperatura y resistencia en función del voltaje obtenido.
|
Fórmula |
En la imagen superior se muestra la fórmula desarrollada que se ha de utilizar para obtener el valor de resistencia de la PT100.
Una vez obtenido el valor de la resistencia de la PT100, podemos calcular la temperatura que esta leyendo en función de la resistencia. La siguiente imagen muestra como es la fórmula para obtener la temperatura.
A continuación se muestran algunos valores típicos resistencia-temperatura:
LABVIEW
El primer paso ha sido desarrollar el programa mediante labView, el objetivo de este programa era el de adquirir datos de la sonda de temperatura, mostrarlos en directo y almacenarlos en una base de datos Access. Para poder manejar una base de datos Access desde labView, se han tenido que crear archivos enlazadores(udl), además se han tenido que utilizar instrucciones en lenguaje SQL para los procesos de adquisición y almacenaje de datos.
El programa, se ha dividido principalmente en 2 bloques, que son el de adquisición/ almacenamiento y el de búsqueda. Estos bloques se desarrollan dentro de bucles While y contienen principalmente instrucciones de base de datos y comandos SQL.
Además de los dos bloques mencionados previamente, se han realizado mas estructuras para el desarrollo del programa, como la estructura que define la fecha y las distintas unidades temporales, la estructura que define la comunicación con el puerto serie, o la estructura de conexión con las distintas bases de datos.
|
LabView |
En la imagen superior, se muestra la pestaña DESCRIPCCIÓN del front panel, en ella, se indica la función que realiza el programa, además, se insertan unas fotos en relación al tema.
|
LabView |
En la imagen superior se muestra la pestaña DIRECTO, donde irán apareciendo los distintos valores que se obtengan de la sonda de temperatura. También se colocan un par de imágenes en relación al tema.
|
LabView |
En la imagen superior, se muestra la ventana de BÚSQUEDA del panel frontal, en donde se podrá seleccionar un día determinado y ver los valores de temperatura correspondientes a ese día.
En todas las ventanas, se puede observar que en la parte superior, hay un selector, este selector sirve para seleccionar el puerto COM por el cual vamos a recibir los valores.
ACCESS
Para almacenar las lecturas obtenidas, se establece una conexión con una base de datos Access en la cual se van a registrar datos como Rt, Tº y la fecha y hora de adquisición de cada dato. Para hacer posible esta comunicación LabView-Access, se necesita crear archivos .udl (enlazador), además de tener creada la base de datos.
|
LabView-Access |
Para crear un archivo enlazador, iremos a la pestaña tools> Create Data Link. Una vez hecho esto nos aparecerá la siguiente pantalla:
|
LabView-Access |
En esta ventana, simplemente buscaremos la dirección en la que tenemos guardada nuestra base de datos, clicamos sobre probar conexión, y si esta prueba es positiva, clicaremos aceptar y ya esta listo nuestro archivo enlazador.
|
LabView-Access |
Establecemos conexión con la base de datos correspondiente mediante el udl, el cual abrimos con el código que se muestra en la imagen superior.
|
LabView-Access |
Con el fragmento de código que se muestra en la imagen superior, crearemos las tablas dentro de la base de datos, la instrucción SQL quedaría de la siguiente forma:
CREATE TABLE x_y (FILA NUMBER, R_PT100 FLOAT, TEMP NUMBER …)
Como se puede apreciar, la orden es muy sencilla, solamente tenemos que indicar el nombre y el tipo de dato de los valores que vamos a introducir en cada columna.
|
LabView-Access |
Con el fragmento de código que se muestra en la imagen superior, vamos a crear un índice en la columna de fila, este índice se creara para todos los días del año y tendrá 3000 celdas por día.
ESP-32
El ESP-32 lo alimentamos mediante una fuente de alimentación de corriente continua a 3'3 voltios . Con esto hecho, ya podemos empezar a trabajar con él.
Para poder obtener los valores de temperatura de la PT100, hemos utilizado el microcontrolador ESP-32 implementando también un puente de Wheatstone.
Pte. de Wheatstone
El puente de Wheatstone consta de 4 resistencias, los valores de 3 de ellas son conocidos y la cuarta corresponde a la PT100, de este modo, midiendo la diferencia de tensión entre los puntos Vc y Vd , podemos conocer la R de la PT100.
Para conocer la diferencia de tensión entre los puntos Vc y Vd, se han conectado estos dos puntos a dos conversores ADC del ESP, seguidamente, se ha realizado un programa en lenguaje processing para poder interpretar los valores que se obtienen. El Código es el siguiente:
|
Programa ESP |
El código lo que hace es, en primer lugar tomar una lectura del adc correspondiente al pin 34 del ESP-32, a continuación, escala esta lectura a 3,3v. Repite este proceso para el adc correspondiente al pin 35 del ESP-32 y resta los dos valores obtenidos. El resultado de la resta lo almacena en la variable tipo float 'value'. Va a repetir este proceso 200000 veces ya que el código esta introducido dentro de un bucle for que se repite ese número de veces. Al salir del bucle for, dividiremos el valor de value entre 200000, ya que esta variable contiene la suma de los 200000 valores. Al hacer esto, obtenemos un valor muy preciso, al ser este la media de 200000 lecturas.
Una vez que comprobamos que el programa funciona correctamente, se procede a conectar un cable du pont a la Tx del ESP y a la Rx del XBEE. Mediante Tx, transmitimos datos desde el ESP y mediante Rx leemos estos valores en el XBEE.
XBEE
Para la configuración de los XBEE, se ha utilizado un software llamado XCTU, el cual nos permite ajustar los distintos parámetros de nuestros módulos, otra de las ventajas de este software, es que nos permite abrir los puertos serie que queramos. En este caso la comunicación se realizara mediante comandos AT, esto lo deberemos tener en cuenta para posteriormente realizar la configuración.
Interfaz de XCTU
Configuraremos el XBEE que vayamos a conectar al ESP como coordinador y el que conectemos a nuestro PC como router. Esto lo haremos de la siguiente manera:
|
XCTU |
En primer lugar, buscaremos los dispositivos conectados a nuestro PC.
|
XCTU |
Se desplegara una lista con distintas opciones de configuración, nosotros cliclaremos sobre la opción 'update' que se encuentra en la parte superior.
|
XCTU |
Una vez entramos en el menú 'update' seleccionamos la opción que mas nos convenga, en nuestro caso, debemos seleccionar la opción 'coordinador AT' para el modulo conectado al ESP y la opción 'router AT' para el modulo conectado al PC. También se deben configurar parámetros como el ID de la red a la que se va a conectar.
MONTAJE
El montaje de esta práctica ha consistido en la colocación de un puente de Wheatstone conectando sus puntos Vc y Vd a dos ADC del ESP32 con el fin de determinar la diferencia de tensión entre dichos puntos, además la conexión de la PT 100 con el puente se ha realizado uniendo su cable blanco a Ro y sus dos terminales marrones a R. La tierra del puente se ha conectado al punto de unión entre el terminal blanco y Ro, el circuito se ha alimentado a 3,3 V utilizando el regulador de tensión de un universal Trainer. El resto del montaje ha consistido en la alimentación del ESP y el XBEE (los cuales se han alimentado a 3,3V ) y en la comunicación Tx/Rx entre el ESP y el modulo XBEE.
A continuación, se muestra una imagen del montaje de la práctica en una protoboard:
|
Montaje |
Es difícil apreciarlo, pero el la protoboard se pueden ver las resistencias de puente de Wheatstone, también se puede ver el ESP-32, el cual no esta pinchado en la protoboard sino que esta conectado mediante cables du pont Hembra-Macho, del mismo modo se ha conectado el módulo XBEE que se puede ver en la parte superior derecha de la imagen. En la parte superior izquierda de la imagen, podemos ver la PT 100, la cual está conectada al puente de Wheatstone.
ENLACES DE DESCARGA
Comentarios
Publicar un comentario