• No se han encontrado resultados

PC-PIC sensor de temperatura

N/A
N/A
Protected

Academic year: 2020

Share "PC-PIC sensor de temperatura"

Copied!
7
0
0

Texto completo

(1)

INSTRUMENTACION

REPORTE DE COMUNICACIÓN SERIAL SENSOR DE

TEMPERATURA

PC

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 un sensor de temperatura y la computadora, en el que la computadora enviara información al PIC de sensor. Información que nosotros podremos ingresar por medio de una interfaz que crearemos mas adelante y dicha información se visualizara en el LCD del sensor.

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 única de PC a PIC, para que podamos ingresar información desde la computadora hasta donde se encuentre el sensor.

(2)

IV.

MARCO TEORICO

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.

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 asi podamos ingresarle la información por medio de los botones que colocaremos en la interfaz (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

(4)

requiere en este caso la comunicación será unicamente de PC a PIC, como el sensor que se va a comunicar es uno de

temperatura, la interfaz nos permitirá ingresar un dato como referencia.

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 que permitirán la comunicación entre la PC y el sensor. 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 7. parea creando la conexión

(introduciendo el código de activación del bluetooth) el cual dejara de parpadear cuando este conectado).

8. se realizara la visualización de los valores que el sensor LM35 presenta los cuales son variables 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 y en la pantalla de la PC por medio de la interfaz

(5)

9. Por último se verifico la comunicación y se pudo constatar que la comunicación PC-PIC funcionara correctamente ingresándole datos como referencia por medio de los botones de la interfaz, dichos botones se programaron para que el verde agregara un aumento de 1 en 1 a la referencia, el amarillo restara de 1 en 1 y el azul un aumento de 10 en 10 las unidades en °C.

VI.

CONCLUSIONES

Con esta práctica se continua con la comunicación serial de un solo sentido y nos permitió interactuar con el sensor de temperatura e ingresarle datos por

medio de la computadora,

posteriormente se realizara la práctica de comunicación dual entre PIC-PC y PC-PIC, podemos concluir que es de gran utilidad dicha comunicación debido a que es mucho más cómodo ingresar los datos desde una computadora.

(6)

ANEXO: PROGRAMA CARGADO AL PIC

#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;

default:

disable_interrupts(INT_RDA); break;

(7)

}

//**************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); }

}

} }

Referencias

Documento similar

Este parón o bloqueo de las ventas españolas al resto de la Comunidad contrasta sin em- bargo con la evolución interior de ese mismo mercado en cuan- to a la demanda de hortalizas.

[r]

Our clients generally require compensation for medical costs, loss of earnings and punitive damages?. The attorney may also be involved in other cases, including

Para comunicación con el PC y otros periféricos Arduino UNO → un único puerto serie. Puerto

A Carlos Eduardo, Oscar y Gilma, mis colegas de doctorado que ya se graduaron y que fueron mi ejemplo y grupo de apoyo. Por supuesto a todos los Emes, amigos

In this paper, we observed that 7-O-glycosyl moieties did not enhance the inhibitory activity of the aglycone NGE.. against seven Gram-positive and three Gram-negative

Para la programación del PIC se ha usado un compilador en C para PICs PCWH CCS versión 4.104, cuya potencia del lenguaje C se aprovecha para compilarlo a lenguaje máquina

La idea inicial era utilizar este sistema PIC-WEB como servidor, para alojar una página web desde la cual poder realizar el control de robot, pero debido a