DUAL sensor de temperatura

Texto completo

(1)

INSTRUMENTACION

REPORTE DE COMUNICACIÓN SERIAL SENSOR DE

TEMPERATURA

PC

(IDA Y VUELTA)

Roberto Carlos Cortes Hernández Miguel Ríos

Iván Octavio García Hinojosa Ernesto Jhotan Chávez Estrada

INSTITUTO TECNOLOGICO DE COLIMA

Departamento de Ingeniería Mecatrónica

Av. Tecnológico No. 1. , C.P.28976, Villa de Álvarez, Col. Tel / Fax (01 312) 3129920, 3140933. ,www.itcolima.edu.mx

I. RESUMEN

En este trabajo se describe la comunicación serial entre la computadora y un sensor de temperatura.

II. INTRODUCCION

Los sensores de temperatura son dispositivos que transforman los cambios de temperatura en cambios en señales eléctricas que son procesados por equipo electrico o electrónico.

El sensor de temperatura, típicamente suele estar formado por el elemento sensor, de cualquier tipo, la vaina que lo envuelve y que está rellena de un

material muy conductor de la temperatura, para que los cambios se transmitan rápidamente al elemento sensor y del cable al que se conectarán el equipo electrónico.

III. PLANTEAMIENTO DEL PROBLEMA

Se requiere realizar un circuito que sea capaz de censar los cambios de temperatura que mida el sensor LM35 y comunicarlo a una computadora por medio de la comunicación serial. La comunicación se realizara en forma dual

(2)

Microcontrolador PIC 16F877A

Un microcontrolador es un circuito programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica, un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.

El PIC16F877 es un microcontrolador con memoria de programa tipo FLASH, lo que representa gran facilidad en el desarrollo de prototipos y en su aprendizaje ya que no se requiere borrarlo con luz ultravioleta como las versiones EPROM, sino que permite reprogramarlo nuevamente sin ser borrado con anterioridad.

El PIC16F877 es un microcontrolador de Microchip Technology fabricado en tecnología CMOS, su consumo de potencia es muy bajo y además es completamente estático, esto quiere decir que el reloj puede detenerse y los datos de la memoria no se pierden.

El encapsulado más común para este microcontrolador es el DIP (Dual In-line Pin) de 40 pines, propio para usarlo en experimentación.

Figura 1. Microcontrolador PIC 16F877A.

Sensor de temperatura LM35

El LM35 es un sensor de temperatura con una precisión calibrada de 1ºC. Su rango de medición abarca desde -55°C hasta 150°C. La salida es lineal y cada grado centígrado equivale a 10mV

Empaquetado through-hole TO-92.

Características:

 Calibrado en grados °Celsius  Opera desde 4 V hasta 30V

 Menos de 1Ω impedencia dinámica

 Amplio rango de temperaturas de operación.

(3)

Las pantallas de cristal líquido (LCD) se han popularizado mucho en los últimos años, debido a su gran versatilidad para presentar mensajes de texto (fijos y en movimiento), valores numéricos y símbolos especiales, su precio reducido, su bajo consumo de potencia, el requerimiento de solo 6 pines del PIC para su conexión y su facilidad de programación en lenguajes de alto nivel (por ejemplo, lenguaje C). Desde todo punto de vista el empleo del display LCD 16x2 (LCD 2x16) debería considerarse como la primera opción a la hora de decidir por un dispositivo de presentación alfanumérica, excepto cuando las condiciones de iluminación ambiental no sean las más favorables. En este último caso se debería pensar en el empleo de displays de 7 segmentos, que aunque no tienen la misma versatilidad tienen la ventaja innegable de sus mejores características de visibilidad aún en los ambientes más desfavorables. En la actualidad existen diversos modelos de display LCD, aunque los más comunes son los LCD 16x2 (16 caracteres x 2 filas) o LCD 2x16, gobernados por el controlador Hitachi HD44780, que se ha convertido en el estándar de facto para las aplicaciones con microcontroladores PIC. Específicamente se hará referencia al display LM016L, que tiene las características mencionadas, aunque cualquier otro display LCD con el controlador HD44780 o compatible se puede utilizar. Existen LCD 16x2 con diferentes combinaciones de colores de fondo y texto.

ISIS Proteus

El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas Inteligente) permite diseñar el plano eléctrico del circuito que se desea realizar con componentes muy variados, desde simples resistencias, hasta alguno que otro microprocesador o microcontrolador, incluyendo fuentes de alimentación, generadores de señales y muchos otros componentes con prestaciones diferentes. Los diseños realizados en Isis pueden ser simulados en tiempo real, mediante el módulo VSM, asociado directamente con ISIS.

Figura 6. Programa simulador de circuitos electronicos.

JY-MCU

Modulo de comunicación serial que recibe la señal que se deséa enviar del PIC transfiriendola vía bluetooth, usador

(4)

para comunicar de forma inalambrica el PIC con algún dispositivo con bluetooth.

Figura 4.Modulo bluetooth JY-MCU para PIC.

Virtual Serial Port Driver

Programa usado para crear puertos virtuales los cuales ayudan a poder probar el circuito y los programas de forma virtual.

LISTA DE MATERIALES  1 PIC 16f877A

 1 Resistencia de 10KΩ  1 Cristal de cuarzo de 4MHz  1 Display LCD 16 x 2

 2 Capacitores cerámicos de 22pF  Cables para conectar en

protoboard  1 MINIPROG+

 1 Cable de USB A a USB B

 1 Computadora con ISIS proteus, PICkit, PCWHD y C#

 Módulo JY-MCU

V.

Desarrollo

1. Se comenzó por realizar la interfaz en con el programa Visual Studio esta interfaz servirá para

que nosotros podamos

interactuar con el sensor y de alguna manera controlar una acción. (se recomienda ver los video-tutoriales acerca de cómo crear la interfaz)

2. Enseguida se realizó la programación necesaria para que la interfaz realice lo que se necesita y muestre lo que se requiere en este caso la comunicación será dual de ida y vuelta por lo que el sensor enviara y recibirá información del PC, como el sensor que se va a comunicar es uno de temperatura, la interfaz nos permitirá ingresarle una referencia de temperatura para que al llegar a dicha temperatura

(5)

se encienda un ventilador y al mismo tiempo el pic mandara la información de la temperatura al PC para poder visualizarla por medio de la interfaz.

(El programa que se realizo en la interfaz viene anexado al final).

3. Se realiza la simulación en Proteus para para poder probar la comunicación virtual.

4. Con el programa Virtual Serial Port Driver se crean los puertos virtuales y se hace la configuración de los puertos seriales tanto en C# como en ISIS para que ambos puertos estén sincronizados acomodando el de ISIS en COM1 y el de C# en COM2 y ajustando los baudios de los puertos a 9600.Dicho programa viene anexado en la serie de tutoriales proporcionado por el profesor.

5. Se procede a conectar el bluetooth al circuito en físico junto con el sensor, se conectan las salidas del bluetooth del RX a

la pata 25 del PIC y la pata 26 al TX.

6. Se realiza la configuración del bluetooth la cual se realiza conectando el emisor a la computadora y se configura el puerto solo, posteriormente se parea creando la conexión (introduciendo el código de activación del bluetooth) el cual dejara de parpadear cuando este conectado).

7. se realizara la visualización de los valores que el sensor LM35 presenta los cuales son variables

(6)

mediante el tiempo en que se le aplica calor al sensor y estos se imprimirán en la pantalla de comunicación y en el LCD.

8. Por último se verifico la comunicación dual y se controló el sensor mediante la interfaz que realizamos, con esto ingresamos una referencia de temperatura de 40° C y se calentó el sensor con un encendedor al llegar a la referencia el ventilador se encendió y lo enfrió hasta que bajo de la temperatura de la referencia y así se apagó el ventilador.

VI. CONCLUSIONES

Se realizo un medidor de temperatura con un actuador que enciende un ventilador cuando llega a cierta referencia que ingresamos en el interfaz.

Esta practica puede tener aplicaciones muy útiles en el control de temperatura de maquinas o materiales usados en las empresas para fabricar sus productos, ya que se tiene la facilidad de que por medio de una computadora ya sea desde un cuarto de control o cualquier parte de la planta puedan controlar dichas temperaturas sin la tediosa necesidad de realizarlas de manera manual, además que ahorra tiempo y esfuerzo, además que puede ser mucho más seguro y confiable ya que el sensor puede medir en un rango de 55° a 150° con una precisión de ± 1°.

(7)

ANEXO: PROGRAMA

#include <16F877A.h>

#device ADC=10 #fuses XT,NOWDT,NOPROTECT,NOLVP #use delay(clock=4M)

#use rs232 (baud=9600, xmit=pin_c6, rcv=pin_c7, parity=N, stop=1, bits=8) #include <lcd.c>

//************VARIABLES*******************

float lectura, temperatura, voltaje; char recibidor;

int referencia=0, xref=0;

//*********INT.SERIAL********************

#int_rda void serial() {

recibidor=getc();

switch(recibidor) {

case 'a':

referencia=referencia+1; xref=0;

break;

case 'b':

referencia=referencia-1; xref=0;

break;

case 'c':

referencia=referencia+10; xref=0;

break;

case 'd': referencia=0; xref=0; break;

case 'e': xref=1; break;

(8)

default:

disable_interrupts(INT_RDA); break;

}; }

//**************INICIA MAIN********************* void main()

{

enable_interrupts(GLOBAL); enable_interrupts(INT_RDA); port_b_pullups(TRUE);

setup_adc_ports(RA0_ANALOG);

setup_adc(ADC_CLOCK_INTERNAL); while(1)

{

lcd_init();

//***************lectura de ADC************* set_adc_channel(0);

lectura = read_adc(); voltaje =(lectura*5)/1023;

temperatura = voltaje * 100; lcd_gotoxy(1,1);

printf(lcd_putc, "\f Temperatura=%.0f ", temperatura); delay_ms(200);

lcd_gotoxy(1,2);

printf(lcd_putc,"Referencia = %u ",referencia); delay_ms(900);

if(xref==1){

if(temperatura>referencia){

output_high(pin_B4); }

else {

output_low(pin_B4); }

}

if(temperatura>referencia){

printf("%S""%.0f""%S;","Temperatura:",Temperatura," C "); delay_ms(200);

} else{

printf("%S""%.0f""%S;","Temperatura:",Temperatura," C "); delay_ms(200);

}

(9)

Figure

Actualización...

Related subjects :