Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Medidor de
Temperatura Remoto
con Monitoreo
Inteligente
Andrs Carrasco
Juan campos
24/08/2015
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
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
Figura 2
Figura 3
13
2)
Figura 4
14
15
Figura 5
16
Figura 6
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.
19
figura 7
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.