Sensor de Temperatura

download Sensor de Temperatura

of 19

description

sensor de temperatura

Transcript of Sensor de Temperatura

UNIDAD 2

13 de sep.UNIDAD 2

UNIDAD 2

Practica de Sensor de Temperatura.

CATEDRATICO:

Ing. Hilario Martnes Arano. ALUMNOS:

Selene Del Carmen Galo RomeroDiana Aguilar AguileraCarlos Alain Simonin MartnezPedro Antonio Martnez TomasJuan Daniel Rosales MolinaAdrin Navarro ArcosAgustn Lora Reyes

FECHA DE ENTREGA:

13/09/2014

Practica 4508-CMicrocontroladoresING. MECATRNICAINSTITUTO TECNOLOGICO SUPERIOR DE TIERRA BLANCA

INDICEIntroduccin3Objetivo General4Objetivo Especifico4Marco Terico4Diseos de los circuitos6Pre- Diseos15Desarrollo practico17Conclusin Y Recomendaciones17Referencias18

Introduccin

Los microcontroladores tienen un significativo muy importante en los dispositivos digitales empleados en el control de uno sistema. Ya que son muy pequeos y esto les ayuda a convertirse en un elemento muy importante.Gracias a la implementacin de estos, es que hoy en da podemos realizar los distintos proyectos que hemos realizado como visualizar en una Pantalla LCD 16x2 y el sensor de temperatura LM335, a travs de la programacin introducida en un microcontrolador con el apoyo del software MPLAB-IDEque es el ideal para este proyecto.Tambin con la ayuda de Proteus podemos simular con el PIC elegido, antes de realizarlo en la prctica con protoboard.

Objetivo General

Programar y aplicar los sistemas en microcontroladores y su interfaz utilizarla en la automatizacin industrial.Objetivo Especifico Utilizar las herramientas para desarrollar programas que permitan afianzar los conceptos tericos. Evaluar el comportamiento de los programas realizados en un circuito de evaluacin de desarrolloMarco TericoMICROCONTROLADOR Sistema electrnico que integra las capacidades de una arquitectura especifica de microprocesador, junto con las capacidades de acople a otros sistemas que brindan los perifricos, todo, en un solo empaquetado. Se logra integracin, disminucin del costo en implementacin de aplicaciones especficas.

LAS VENTAJAS DE UN MICROCONTROADOR Reduccin de la cantidad de espacio en la implementacin de un diseo dado. Reduce el costo de implementacin. Permite desarrollo de aplicaciones especficas de manera ms rpida y eficiente. Los fabricantes dan mucho soporte sobre las aplicaciones ms comunes. Se adaptan mejor a aplicaciones especificas

Al desarrollar una aplicacin basada en microcontrolador, es importante:

Crear el diseo: en funcin de las caractersticas y performance deseadas, seleccionar el microcontrolador que mejor se ajuste a la aplicacin, y luego disear la circuitera asociada. Escribir el firmware: que es el software que controlar al hardware. Compilar el software: a fin de convertirlo en un cdigo entendible por el microcontrolador. Testear el cdigo. Es comn que un programa no funcione tal cual lo esperado la primera vez, por lo que es necesario detectar y corregir los posibles errores. Grabar el cdigo en el microcontrolador y verificar que se ejecute Correctamente en la aplicacin final.

En este caso utilizaremos la herramienta de desarrollo MPLAB IDE, la cual es muy completa. Esta herramienta es desarrollada por Microchip como soporte a su lnea de microcontroladores.

MPLAB permite al diseador realizar, entre otras, las tareas de:

Creacin y edicin del cdigo fuente mediante un editor incorporado. Ensamblar, compilar y linkear cdigo fuente. Depurar y controlar el funcionamiento del programa mediante un simulador incorporado. Realizar mediciones de tiempo con el simulador. Observar el valor de las variables del programa. Grabar el programa en el microcontrolador.

Programa en lenguaje ensamblador que muestra un mensaje en un LCD 16x2, la temperatura recibida por el sensor LM35.

Pantalla LCD 16x2

La Pantalla de cristal liquido o LCD (Liquid Crystal Display) es un dispositivo microControlado de visualizacin grfico para la presentacin de caracteres, smbolos o incluso dibujos (en algunos modelos), es este caso dispone de 2 filas y de 16 caracteres cada una y cada carcter dispone de una matriz de 5x7 puntos (pixels), aunque los hay de otro nmero de filas y caracteres. Este dispositivo est gobernado internamente por un microcontrolador y regula todos los parmetros de presentacin, este modelo es el ms comnmente usado y esta informacin se basar en el manejo de este u otro LCD compatible.El LM35 es un sensor de temperatura.

El LM35 es un sensor de temperatura con una precisin calibrada de 1C y un rango que abarca desde -55 a +150C. El sensor se presenta en diferentes encapsulados pero el mas comn es el to-92 de igual forma que un tpico transistor con 3 patas, dos de ellas para alimentarlo y la tercera nos entrega un valor de tensin proporcional a la temperatura medida por el dispositivo. Con el LM35 sobre la mesa las patillas hacia nosotros y las letras del encapsulado hacia arriba tenemos que de izquierda a derecha los pines son:VCC - Vout - GND.La salida es lineal y equivale a 10mV/C por lo tanto:+1500mV = 150C+250mV = 25C-550mV = -55CDiseos de los circuitos

Cdigo del programa

processor 16f877 include

;Variable para el DELAY del ADCval equ h'20'

;Variables para el DELAY del ENABLE LCDval2 equ 0x30val1 equ 0x31

;Variables para separar el resultado de ADC ; en valor BCDUnidades equ 0x32 Decenas equ 0x33 Centenas equ 0x34 Resto equ 0x35

org 0h goto INICIO org 05h

INICIO: clrf PORTA ;Limpia el puerto A clrf PORTB ;Limpia el puerto B clrf PORTC ;Limpia el puerto C clrf PORTD ;Limpia el puerto D bsf STATUS,RP0 bcf STATUS,RP1 ;Cambio al banco 1 ;Configuracin de puertos C-D para el LCD clrf TRISC ;Configura PORTC como salida clrf TRISD ;Configura PORTD como salida ;Configuracin del puerto A para ADC movlw 00h movwf ADCON1 ;Configura puerto A y E como analgicos movlw 3fh movwf TRISA ;Configura el puerto A como entrada movlw h'0' ;Configuracin del puerto B para mostrar el resultado ADC movwf TRISB ;Configura puerto B como salida bcf STATUS,RP0 ;Regresa al banco 0 ;Inicio del programaSTART call START_LCD ;Inicializa LCD goto START_ADC ;Comienza la lectura del Conv. A/D ;Inicia LCDSTART_LCD: bcf PORTC,0 ; RS=0 MODO INSTRUCCION movlw 0x01 ; 0x01 limpia la pantalla en el LCD movwf PORTD call COMANDO ; Se da de alta el comando movlw 0x0C ; Selecciona la primera lnea movwf PORTD call COMANDO ; Se da de alta el comando movlw 0x3C ; Se configura el cursor movwf PORTD call COMANDO ; Se da de alta el comando bsf PORTC, 0 ; Rs=1 MODO DATO return ;Rutina para enviar un datoENVIA: bsf PORTC, 0 ; RS=1 MODO DATO call COMANDO ; Se da de alta el comando return ;Rutina para enviar comandosCOMANDO: bsf PORTC, 1 ; Pone la seal ENABLE en 1 call DELAY2 ; Tiempo de espera call DELAY2 bcf PORTC, 1 ; ENABLE=0 call DELAY2 return ;Rutina para limpar pantalla LCD ERASE_LCD bcf PORTC,0 ; RS=0 MODO INSTRUCCION movlw 0x01 ; 0x01 limpia la pantalla en el LCD movwf PORTD call COMANDO ; Se da de alta el comando bsf PORTC, 0 ; Rs=1 MODO DATO return ;Configuracin Convertidor A/DSTART_ADC movlw b'11000001' ;Configuracin ADCON0 movwf ADCON0 ;ADCS1=1 ADCS0=1 CHS2=0 CHS1=0 ;CHS0=0 GO/DONE=0 - ADON=1

CICLO: bsf ADCON0,2 ;Conversin en progreso GO=1 call DELAY1 ;Espera que termine la conversinESPERA btfsc ADCON0,2 ;Pregunta por DONE=0?(Termin conversin) goto ESPERA ;No, vuelve a preguntar movf ADRESH,0 ;Si movwf PORTB ;Muestra el resultado en PORTB ;Rutina que muestra temperaturaPRINT_TEMP call ERASE_LCD ;Limpia LCD movlw 'T' movwf PORTD call ENVIA movlw '=' movwf PORTD call ENVIA

call READ_TEMP ;Llamada a rutina que obtine el ;valor de la temperatura a partir ;del resultado del Conv a/D

movf Centenas,W ;Imprime el dgito de las centenas movwf PORTD call ENVIA movf Decenas,W ;Imprime el dgito de las decenas movwf PORTD call ENVIA movf Unidades,W ;Imprime el dgito de las unidades movwf PORTD call ENVIA movlw ' ' movwf PORTD call ENVIA movlw h'DF' ;Imprime el simbolo "" movwf PORTD call ENVIA movlw 'C' movwf PORTD call ENVIA

goto CICLO ;Repite el ciclo de lectura ADC

;Rutina que obtine el valor de la temperatura ;a partir del resultado del Conv a/DREAD_TEMP: clrf Centenas clrf Decenas clrf Unidades movf ADRESH,W addwf ADRESH,W ;Dupilca el valor de ADRESH para ;obtener un valor de temperatura real aprox movwf Resto ;Guarda el valor de ADRESH en Resto ;Comienza el proceso de otencin de valores BCD ;para Centenas, Decenas y unidades atraves de restas ;sucesivas.CENTENAS1 movlw d'100' ;W=d'100' subwf Resto,W ;Resto - d'100' (W) btfss STATUS,C ;Resto menor que d'100'? goto DECENAS1 ;SI movwf Resto ;NO, Salva el resto incf Centenas,1 ;Incrementa el contador de centenas BCD goto CENTENAS1 ;Realiza otra restaDECENAS1 movlw d'10' ;W=d'10' subwf Resto,W ;Resto - d'10' (W) btfss STATUS,C ;Resto menor que d'10'? goto UNIDADES1 ;Si movwf Resto ;No, Salva el resto incf Decenas,1 ;Incrementa el contador de centenas BCD goto DECENAS1 ;Realiza otra restaUNIDADES1 movf Resto,W ;El resto son la Unidades BCD movwf Unidades ;clrf Resto ;Rutina que obtiene el equivalente en ASCII OBTEN_ASCII movlw h'30' iorwf Unidades,f iorwf Decenas,f iorwf Centenas,f return

;Rutina que genera un Delay de 20 microSeg aprox.;para el Conv. A/DDELAY1: movlw h'30' movwf valLoop decfsz val,1 goto Loop return

;Subrutina de retardo para ENABLE_LCD DELAY2: movlw 0xFF movwf val1 Loop1: movlw 0xFF movwf val2Loop2: decfsz val2,1 goto Loop2 decfsz val1,1 goto Loop1 return end

Pre- Diseos

Desarrollo practicoProcedimiento 1.- Para hacernos un termmetro lo nico que necesitamos es un voltmetro bien calibrado y en la escala correcta para que nos muestre el voltaje equivalente a temperatura. El LM35 funciona en el rango de alimentacin comprendido entre 4 y 30 voltios. Podemos conectarlo a un conversor Analgico/Digital y tratar la medida digitalmente, almacenarla o procesarla con un microControlador o similar.2.- Usos:El sensor de temperatura puede usarse para compensar un dispositivo de medida sensible a la temperatura ambiente, refrigerar partes delicadas del robot o bien para loggear temperaturas en el transcurso de un trayecto de exploracin.

3.- El siguiente montaje es un medidor de temperatura de un canal usando un PIC16F877 y un LCD para mostrar los datos aunque se puede modificar fcilmente el programa para obtener los datos de temperatura y calcular con ellos lo que fuese necesario. El rango de medidas que soporta este montaje es solo de temperaturas positivas y abarca desde 0 a +150C.

4.-Programar elmicrocontroladorutilizandoelMPLAB-IDE oel softwareadecuadoparaelprogramador.5.-Probarelcircuitointroduciendodiferentesdatosbinarios.

Conclusin Y Recomendaciones

Como se pudo ver con la ayuda de los microcontroladores se pudo disear un sistema de automatizacin, en donde gracias a esto se comprob el funcionamiento un circuito donde podemos visualizar la temperatura en la pantalla LCD 16x2, con la ayuda del sensore de temperatura LM335 y con el microcontrolador 16F877. Con la ayuda de Mplab, Proteus y el quemador de Pic; como lo visualizamos en las imgenes anteriores de la practica realizada el protoboard.

Referencias

Luis Edier Gaan, Introduccin a microntroladores PIC, Disponible en: http://es.slideshare.net/RUDEROCKER/55228710-manualmicrosypantalla, [8/septiembre/2014].

Mackenzie I Scout, Microcontroladores 8051, cuarta edicin, Prentice Hall, Mexico, 2007.

Moyano Jonathan, introduccin a los microntroladores, Disponible en: http://www.ikkaro.com/introduccion-microcontroladores/.[8/septiembre/2014].

2IM 408-C