Termómetro Digital
-
Upload
pablo-andres-flores-tovar -
Category
Documents
-
view
15 -
download
1
description
Transcript of Termómetro Digital
Microprocesadores
ESIME
INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA PROGRAMA INSTITUCIONAL DE ENSEÑANZA FORMATIVA EN LA LICENCIATURA EN INGENIERIA DE COMUNICACIONES Y
ELECTRONICA
UNIDAD ZACATENCO
Asignatura
Microprocesadores
PROFESOR TITULAR
Calzada Serafín Felipe
Alumnos:
Escamilla López José Juan 2009300405
Termómetro Digital GRUPO:6CV2
México, Distrito Federal, 2012
Introducción Teórica
TERMOMETRO DIGITAL con LM35 y PIC 18F4550 El siguiente Proyecto se trata de un Termómetro Digital que muestra la temperatura a través de un LCD. El circuito se basa en 2 componentes principales el sensor de temperatura LM35 y el PIC 18F4550. El LM35 es un sensor de temperatura con una precisión calibrada de 1ºC y un rango que abarca desde -55º a +150ºC. Lo que quiere decir que por cada 1ºC en la variación de la temperatura, el sensor en su salida obtendrá una variación de 10 mV. Por ejemplo si la temperatura es de -55ºC podemos obtener -550mV y si fuera de 150ºC la salida seria 1500mV. Este voltaje es el que se inserta al PIC 18F4550 el cual a través de su conversor A/D mostrara los datos en el Lcda. La alimentación es de 5 volts. No se hizo uso de amplificadores, solo fue necesario el uso de una cuantas multiplicaciones dentro del código el cual fue hecho en MikroC. El esquema del Circuito es el siguiente:
1
COMUNICACIONES DIGITALES ESIME
El PIC18F4550 es un microprocesador de propósito general versátil y económico. Pertenece a la popular familia de procesadores PICmicro de la empresa norteamericana Microchip cuya sede se ubica en Chandler, Arizona (USA).
Fig 4.3 PIC18F4550 - empaquetado DIP-40
Lo particular del procesador PIC18F4550 es que es uno de los PICs que viene con soporta nativo para USB, lo cual quiere decir que incluyen un controlador USB interno que ya brinda patas de salida para conectar directo a la PC, sin la necesidad de pull-ups o ninguna circuitería externa.
Fig 4.4 Características del PIC
Soporta cristales y osciladores de varias frecuencias como entrada y tiene post-scaler de manera que el procesador pueda trabajar a una frecuencia de 48 MHz, independiente del oscilador que se conecte. Para ello debe configurarse (a través de los configuration bits) el oscilador que se le ha conectado. Trabajar a 48 MHz es un requisito para poder transferir a full-speed por el puerto USB.
2
COMUNICACIONES DIGITALES ESIME
El controlador USB, por lo tanto, transfiere a full-speed (1.5 Mbytes/seg) por USB y es compatible con el estándar USB 2.0.
Pinout
A continuación se presenta el pinout del PIC18F4550, en empaquetado DIP40. En particular se puede reconocer las pines D- y D+ de la conexión USB (pines 23 y 24).
Fig 4.5 Pinout del PIC18F4550
3
COMUNICACIONES DIGITALES ESIME
Los materiales a emplear: -Sensor de Temperatura LM35 -Tarjeta de desarrollo para programaar el pic
LCD=16x2-
F,C2=22p1C- Protoboard- XTal=4MHz- 18F4550 PIC-
4
COMUNICACIONES DIGITALES ESIME
Diagrama del sensor LM35
5
COMUNICACIONES DIGITALES ESIME
Programa para el funcionamiento del termómetro digital en lenguaje C
#include "18f4550.h" #device adc=10 //Usa resolución de 10 bits #use delay(clock=4000000) #fuses xt,nowdt,noput,nobrownout,nolvp,noprotect #include "lcd.c" #use standard_io (D) void main (void) { float temper,medicion; lcd_init(); //Inicia LCD lcd_putc("Termometro\n"); //Saca texto lcd_putc("con LM35"); //Saca texto delay_ms(2000); lcd_putc("\f"); //Limpia pantalla lcd_putc("by AnimalXXX\n"); //Saca texto delay_ms(2000); lcd_putc("\f"); lcd_putc("Temperatura\n"); //Saca texto lcd_putc("actual"); //Saca texto lcd_gotoxy(18,2); //Acomoda cursor LCD lcd_putc("oC"); while (TRUE) { lcd_gotoxy(11,2); //Acomoda cursor LCD lcd_putc(" "); //Limpia ese sector de pantalla lcd_gotoxy(11,2); //Acomoda cursor LCD setup_adc (adc_clock_internal); setup_adc_ports (all_analog); set_adc_channel (0); //Elige canal a medir RA0 delay_us (20);
6
COMUNICACIONES DIGITALES ESIME
medicion=read_adc (); //Hace conversión AD setup_adc (adc_off); //Apaga ADC temper=medicion*(0.48875755327468230694037145650049); //Pasa binario a °C ////////////////////////////////////////////////////////////////////////////////// // el "0.48875755327468230694037145650049" sale de dividir 5/1023 y el resultado // de eso multiplicarlo por 100 // el 5 sale de los 5 voltios aplicado a el voltage de referencia, los 1023 salen // de los 10 bit de resolucion del conversor analogico digital que seleccionamos. // Si utlizaramos la resolucion de 8 bist del conversor analogico digital, la // formula fuera (5/255)*100 ya que con 8 bits el numero maximo posible es de 0255 ////////////////////////////////////////////////////////////////////////////////// lcd_gotoxy(13,2); printf(lcd_putc,"%02.1f",temper); //xxx.x °C delay_ms (1000); } }
7
COMUNICACIONES DIGITALES ESIME
Desarrollo del proyecto
Teniendo todos los materiales y programado el pic se dispuso a montar el circuito en el protoboard. Quedando de la siguiente manera.
8
COMUNICACIONES DIGITALES ESIME
Aplicación
Este termómetro puede ser implementado para interiores, Nosotros le damos un uso práctico para una oficina ya que sensa la temperatura ambiente.
Nota: Una disculpa , de este proyecto no se tiene un video por problemas técnicos que tuve con mi computadora pero el proyecto funciono en su totalidad.
Conclusión
El termómetro digital fue un interesante proyecto pues se comprobó la funcionalidad de cómo trasformar una señal analógica a digital utilizando el pic 18F4550 y un programa que se expone con anterioridad se logra el objetivo propuesto.
9
COMUNICACIONES DIGITALES ESIME