Está en la página 1de 22

0

UNIVERSIDAD FEDERICO SANTA MARIA

Medidor de
Temperatura Remoto
con Monitoreo
Inteligente

Andrs Carrasco
Juan campos
24/08/2015

Asignaturas: Computadores y Comunicacin Digital

El fin del proyecto es construir una aplicacin de telemetra, el cual consta de un


sistema autnomo que mida temperatura en un punto remoto,controle en caso de
emergencia (incendio o gas abierto) y que enve dicha informacin a un sistema local
que mostrara la informacin en una pantalla LCD ms un plus el cual consta de agregar
funciones o caractersticas nuevas para mejorar este proyecto.
Para la construccin de este sistema autnomo se har uso de componentes esenciales
como lo son:
-micro controlador 16F877A, lm35, UM/96, cristal de cuarzo, condensadores y
resistencias varias.
El sistema local como base constara de: Micro controladores PIC16F877A mas su
circuito funcional caracterstico, pantalla LCD (Perifrico), UM/96 (Transmisores).
Luego de construir el proyecto se espera poder medir la temperatura de forma
remota con el sistema autnomo y poder observarla en la pantalla LCD del circuito
local, y el correcto funcionamiento de las nuevas caractersticas agregadas al proyecto.

ndice
Capitulo 1
Componentes..................................................................................................................3
Diagrama de bloques......................................................................................................3
Funcionamiento del sistema...........................................................................................3
Capitulo 2
Lenguaje c.......................................................................................................................6
Capitulo 2
Circuito esquemtico......................................................................................................8
Diagrama de bloques del programa en labview..............................................................9
Lenguaje c.......................................................................................................................6
Monitoreo de la temperatura en smartphone................................................................11
Panel frontal de control de temperatura en labview......................................................10
Capitulo 3
12
Prueba en protoboard con UM96..................................................................................13
Prueba en protoboard sin UM96...................................................................................13
Pruebas en simulacin..................................................................................................13
Conclusin 16

Introduccin
La aplicacin de telemetra que abordaremos en el siguiente informe constara de
dos partes esenciales la cuales son:
-Sistema Remoto: Es un sub sistema computacional el cual medir la temperatura en el
lugar que se encuentre, para luego ser enviada al sistema local. El sistema remoto se
compone de un micro controlador PIC16F877A ms su circuito funcional caracterstico,
sensor de temperatura LM35, circuito adaptador de seal ,UM/96 como Tx y LCD
SERIE para poder visualizar los datos.
-Sistema Local: Estar encargado de recibir la temperatura y enviarla al Software
Labview donde se podran ver datos en tiempo real ,un grafico y tabla de valores
entregados por el pic o se podra visualizar en un Smartphone mediante el uso de un
modulo Bluetooth y aplicacin creada. El sistema local est compuesto por un micro
controlador PIC16F877A mas su circuito funcional caracterstico, interfaz FTDI y
UM/96 como Rx,Modulo Bluetooth,Smartphone y Notebook.
Los sistemas estarn comunicados por un par de UM/96 los cuales tienen un
alcance de aproximadamente 1k en lnea vista, el sistema remoto se colocara en un punto
x (por definir segn alcance). El sistema remoto mide la temperatura y la enva al
sistema local, se mostrara la temperatura por la pantalla del Notebook. Se espera que los
sistemas puedan comunicarse dentro de las dependencias de la universidad y que la
medicin de la temperatura sea correcta con un mnimo de margen de error.

Capitulo 1

Diagrama de bloques:

Figura 1

Funcionamiento del sistema.


Como se ha mencionado anteriormente el sistema constara de dos partes
esenciales, las cuales se dividen en: un sistema remoto encargado de medir la
temperatura mostradas en un LCD y un sistema local que desplegara la informacin
recibida por una pantalla de un Smartphone o Notebook.
El sistema constara con un PIC16F877A que ser el encargado de recibir el dato que
envi el sensor de temperatura, se har uso del sensor de temperatura LM35 el cual
presenta una escala lineal para la medicin de la temperatura aumentando el voltaje de
salida 10mv por cada grado que la temperatura suba. El programa contara con una
conversin anlogo-digital para que el voltaje del LM35 sea digitalizado y guardado
como una variable , luego de guardar la variable esta se enviara a travs del UM/96 Tx
para ser recibida por el nodo local.
El nodo local estar recibir la seal del sistema remoto con el UM/96 Rx, el micro
controlador se encargara de recibir la variable en un formato digital de 256 bits (esto
debido la conversin anlogo-digital). Se necesita tener un voltaje de referencia para
convertir el dato binario de temperatura a su valor fsico original, para este caso
usaremos un divisor de tensin con referencia ajustable de presicion de 1 volt, luego de
mostrar la temperatura por pantalla, ser enviado un acuse al nodo remoto diciendo que
el dato fue recibido con xito y por ltimo el sistema remoto responder que el acuse
fue recibido.

Componentes:

2 PIC16F877A.
2 Mdems UM/96.
Lm35.
Pantalla LCD.
Cristal de cuarzo 4Mhz y Condensadores de 22pF.
Resistencias y condensadores varios.
Pulsadores.
Optocopladores.
Rels.
Interfaz FTDI.
Modulo Bluetooth.
Smartphone y Notebook.

Capitulo 2

Lenguaje c

Transmisin
#include <16F877A.h>
#fuses XT, NOWDT, PUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP, NOCPD, NOWRT
#device ADC=8
#use delay(clock=4000000)
#use rs232 (baud=9600, xmit=PIN_C6 , rcv=PIN_C7 ,stream=port_1)
#use rs232 (baud=9600, xmit=PIN_B0 , rcv=PIN_B1 ,stream=port_2)
int Far,vin1;
int x,y;
void main() {
int vin0;
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(3);
while(TRUE)
{ set_adc_channel(0);
delay_ms(100);
vin0=read_adc();
vin1=(vin0*(0.3921569));
fputc(vin0,port_1);
Far=(vin1* 1.8)+32;
x=input_B();
if (x==0){
if(y==2){
output_D(2);
fputc(254,port_2);fputc(1,port_2);delay_ms(10);
fputc(254,port_2);fputc(128,port_2);delay_ms(10);
fprintf(port_2,"TEMPERATURA");
fputc(254,port_2);fputc(192,port_2);delay_ms(10);
fprintf(port_2,"%d C",vin1);
fputc(254,port_2);fputc(200,port_2);delay_ms(10);
fprintf(port_2,"%d F",Far);
}
else {
output_D(0);
fputc(254,port_2);fputc(1,port_2);delay_ms(10);
fputc(254,port_2);fputc(128,port_2);delay_ms(10);
fprintf(port_2,"TEMPERATURA");
fputc(254,port_2);fputc(192,port_2);delay_ms(10);
fprintf(port_2,"%d C",vin1);
fputc(254,port_2);fputc(200,port_2);delay_ms(10);
fprintf(port_2,"%d F",Far);
}
}

10

if (x==16){
if(y==2){
output_D(7);
fputc(254,port_2);fputc(1,port_2);delay_ms(10);
fputc(254,port_2);fputc(128,port_2);delay_ms(10);
fprintf(port_2,"INCENDIO!");
fputc(254,port_2);fputc(192,port_2);delay_ms(10);
fprintf(port_2,"%d C",vin1);
fputc(254,port_2);fputc(200,port_2);delay_ms(10);
fprintf(port_2,"%d F",Far);
}
else{
output_D(5);
fputc(254,port_2);fputc(1,port_2);delay_ms(10);
fputc(254,port_2);fputc(128,port_2);delay_ms(10);
fprintf(port_2,"INCENDIO!");
fputc(254,port_2);fputc(192,port_2);delay_ms(10);
fprintf(port_2,"%d C",vin1);
fputc(254,port_2);fputc(200,port_2);delay_ms(10);
fprintf(port_2,"%d F",Far);
}
}
if (x==32){
output_D(6);
y=2;
fputc(254,port_2);fputc(1,port_2);delay_ms(10);
fputc(254,port_2);fputc(128,port_2);delay_ms(10);
fprintf(port_2,"GAS INFLAMABLE!");
fputc(254,port_2);fputc(192,port_2);delay_ms(10);
fprintf(port_2,"%d C",vin1);
fputc(254,port_2);fputc(200,port_2);delay_ms(10);
fprintf(port_2,"%d F",Far);
}
if (x==48){
output_D(7);
fputc(254,port_2);fputc(1,port_2);delay_ms(10);
fputc(254,port_2);fputc(128,port_2);delay_ms(10);
fprintf(port_2,"PELIGRO");
fputc(254,port_2);fputc(192,port_2);delay_ms(10);
fprintf(port_2,"ZONA DE RIESGO");
}
}
}

11

Recepcin
#include <16F877A.h>
#fuses XT, NOWDT, PUT,
NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#device ADC=8
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6 , rcv=PIN_C7 , stream=port_1)
#use rs232(baud=9600, xmit=PIN_B5 , rcv=PIN_B4 , stream=port_2)
int dato,vin1;
void main(){
while(TRUE){
if(kbhit(port_1)){
dato=fgetc(port_1);
vin1=(dato*(0.3921569));
fprintf(port_2 , "%d ",vin1);
}
}
}

12

Circuito esquemtico del Subsistema Tx Simulado en


Proteus

Figura 2

Para la medicin de Temperatura con el LM35 y la verificacin de los datos entregados


se hace una comparacin con un instrumento patrn en este caso una Termocupla
conectada a un multitester disponible en paol, la idea es que el sensor de temperatura
de valores cercanos o exactos con un mnimo de +-1 grados de margen de error del
instrumento patrn para as obtener datos verdaderos.
Circuito esquemtico del Subsistema Rx Simulado en
Proteus

Figura 3

13

Circuito esquemtico del Sistema fi nal COMPLETO

Diagrama de bloques del programa en Labview.


3)
1)

2)

Figura 4

14

En esta imagen se puede apreciar de manera explcita la programacin en el software


Labview:
La parte 1 consta de la configuracin del puerto VISA (Puerto de datos seriales) como
lo son los baudios, bits de paridad y bits de stop el cual se configura teniendo en cuenta
la configuracin que damos anteriormente al microcontrolador para trabajar en sincrona
con la recepcin de datos y la posterior adaptacin de un dato con decimales a un dato
entero as como el cierre del mismo puerto.
La parte 2 consta de la recepcin del dato y sincronizarla con el termmetro grafico, los
indicadores de temperatura con operaciones lgicas (de Mayor o Menor) mas la
inclusin del recurso de grafico en tiempo real cada 2 segundos.
La parte 3 consta de la recepcin de los datos y la transformacin de datos en seal para
grabarlos o escribirlos en el grafico y tabla de valores.

Para simular este proyecto se realizo el circuito correspondiente en Proteus y el


diagrama de bloques en labview y se encontr la forma de conectar ambos software y
tener un circuito completo antes de armarlo en protoboard mediante la creacin de
puertos seriales virtuales (Configure Virtual Serial Port Driver) se logro unir estos
programas y obtener una simulacin completa e interesante, todos las fotos agregadas a
este informe son de la simulacin del circuito.

15

Panel frontal de control de temperatura en Labview

Figura 5

El plus que se le agreg a este proyecto tiene la finalidad de monitorear la


temperatura que mide microcontrolador remoto (Tx), mostrndola de manera grafica en
Notebook o Computador de escritorio mediante un termmetro grafico ms indicadores
visuales de rangos de temperatura, una lista de valores que reciben cada 2 segundos y
con ello generando un listado el cual puede ser exportado de manera manual a Excel al
iniciar la medicin.
Este panel se visualiza desde la pantalla del computador, el cual est conectado al
microcontrolador a travs de la interfaz FTDI o conectado a Proteus mediante la
creacin de un Puerto Virtual.
El microcontrolador enviara los datos al computador y gracias al programa Labview
este podr recibirlos e interpretarlos, una vez que los datos sean recibidos el programa
los guardara en una tabla y podrn ser mostrados de distintas formas, tal como se ve en
la imagen (barra de temperatura, grafico de datos, leds indicadores, e indicador sonoro
etc).

16

Monitoreo de la temperatura en Smartphone (PLUS)

Figura 6

En la figura se muestra la programacin en diagrama de bloques de la aplicacin,


diseada desde la siguiente pgina: ai2.appinventor.mit.edu/.
En el caso de que se desee observar los datos del microcontrolador en el smartphone se
debe conectar un modulo bluetooth al microcontrolador y en el smartphone tener
instalada la aplicacin Temptel (adems de haber hecho el programa en app inventor).
Una vez listos estos requisitos se abre la aplicacin Temptel desde el Smartphone,
buscamos los dispositivos disponibles, se conecta al modulo bluetooth del
microntrolador y ya se podr observar la temperatura desde la pantalla del Smartphone
desde una interfaz sencilla e intuitiva de usar.

Figura 7

17

Capitulo 3

18

Pruebas en simulacin.
Una vez lista la programacin del transmisor y receptor, se simulo el circuito en
proteus 8 (programa con el cual podemos verificar si la programacin funciona
correctamente). Ya que en el programa no se encuentran los UM96 los circuitos se
conectaron directamente por sus pines de comunicacin (c6 en el transmisor y c7 en el
receptor). Luego de conectar los microcontroladores procedimos a implementar el lm35
y conectarlos a los pines RA0 y RA3 (usados para la conversin anlogo-digital), ya
listo todo lo anterior se cargan los programas en los microcontroladores y verificamos su
funcionamiento.
La simulacin no tuvo problemas y ya corroborado el correcto funcionamiento del
programa comenzamos la construccin del circuito en protoboard.

Prueba en protoboard sin UM96.


Los circuitos se montaron en la misma protoboard y usando una misma fuente
para verificar si funcionaban correctamente, conectando el pinC6 del transmisor al
pinC7 del receptor, adems se conecto una interfaz FTDI al pinB0 del transmisor al
computador para visualizar una grafico de la temperatura en el programa labview.
Al energizar el circuito este funciono sin mayores inconvenientes, los valores eran
visibles en la pantalla LCD y en el computador.

Prueba en protoboard con UM96.


Se mantuvo la conexin anterior (usando una misma fuente para ambos circuitos
y en la misma protoboard), solo se desconecto el pinC6 del transmisor y el pinC7 (que
estaban conectados de forma directa por un alambre UTP) y se conectaron a los UM96.
En la primera prueba el circuito no funciono, as que se reviso el programa de ambos
microcontroladores, encontrando varios problemas en la programacin, como la
sincronizacin de los UM96 con el programa en el microcontrolador Receptor, para
solucionar estos errores se realizo un examen exhaustivo de las lneas en el programa.
Una vez que se arreglaron los problemas de programacin, se hicieron otras pruebas con
buenos resultados, al revisar los UM96 se encontr que uno de los cables presentaba
fallas y al cambiar el cable el circuito funciono correctamente en su totalidad.
A continuacin imgenes donde se puede observar las pruebas realizadas de transmisin
y recepcin:

19

Transmisor con UM96

figura 7

Receptor con UM96

figura 8

20

Labview

figura 9

21

Conclusin
En la realizacin del proyecto se uso todo lo aprendido en el primer semestre de clases,
poniendo en prctica materias como lo son: conversin anlogo digital, comunicacin
serie con los UM96 y pantalla LCD y otros ms
uno de los errores que apareci en el momento de la implementacin fue que se
estaba realizando la conversin anlogo digital en el transmisor y receptor, lo cual
generaba que el dato mostrado por la pantalla era errneo, luego de corregir este error, el
transmisor enviaba el dato en 8bit y en el receptor se transformo el dato binario a datos
centgrados.