Contol de temperatura con pic
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA
CONTROL DE TEMPERATURA CON PIC 16F877A
CURSO :
ELECTRÓNICA DE POTENCIA 1
PROFESOR
:
Ing. RUSEL CORDOVA
ALUMNOS:
BELLAVISTA – CALLAO 2009
1 9 6 6
CONTROL DE TEMPERATURA CON PIC 16F877A
o DIAGRAMA DE BLOQUES:
TECLADO (set point)
SENSOR (T0ext)
ADC
uC
ETAPA DE POTENCIA
VISUALIZACION
o
SENSOR LM35
Descripción: 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. El sensor se presenta en diferentes encapsulados pero el mas común es el to-92 de igual forma que un típico transistor con 3 patas, dos de ellas para alimentarlo y la tercera nos entrega unvalor de tensión 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 = 150ºC • +250mV = 25ºC • -550mV = -55ºC
o
CONVERSIÓN A/D Y PROCESADO DE SEÑAL
ResoluciónRES =
Vref Volts Vref = 255 bits 2 8 −1
Voltaje de entrada
0.01T
CONVERSOR A/D
Temperatura en bits
0.01T
LUEGO: RESO LU CIO N
=T →
0.01T =T Vref 255
→
Vref = 2.55 Volts
Conversión AD: El uC 16F877A tiene el siguiente módulo conversor:
El voltaje de referencia de 2.55 V se introducirá por RA3 y el canal elegido para la conversión es RA0, el valor de laconversión se almacena en los registros ADRESH y ADRESL siendo por defecto los de ADRESH los de mayor peso.
Para activar la conversión se pone el bit ADON en “1” y para comenzar la conversión se activa el bit GO, ambos bits estan en el registro ADCON0. En el bloque S/H se hace el muestreo de la señal para ser digitalizada en la siguiente etapa. Una vez que se tiene el valor de la temperatura enADRESH se compara con el valor introducido por el teclado. Si el valor sensado es menor que el rango establecido anteriormente, entonces D1=ON y D2=OFF. Si el valor censado esta dentro del rango establecido anteriormente, entonces D1=OFF y D2=OFF. Si el valor censado es mayor que el rango establecido anteriormente, entonces D1=OFF y D2=ON. Para la visualización de la temperatura en LCD se transformael valor que esta en ADRESH a código ascii a través de una rutina de conversión. Luego este valor es enviado al LCD por medio del comando EnviaCarLCD que forma parte de una rutina de manejo de LCD la cual será adjuntada en la última parte del trabajo. Para capturar la tecla pulsada se usa una rutina la cual explora el teclado y devuelve el valor de esta en un registro.
o
DIAGRAMA DE FLUJOSCONFIGURACION DE REGISTROS
PULSO HELP? NO SI INGRESAR T1 < 150
INGRESAR T2 < 150
ACTIVAR CONVERSOR
TERMINO CONVERSION? NO SI ENVIAR A LCD
NO Text < T1? NO T1 < Text < T2? SI D1 = ON D2 = OFF
SI Text > T2 D1 = OFF D2 = ON D1 = OFF D2 = OFF
o
LIST
LENGUAJE EN ASSEMBLER
P=16F877A INCLUDE INCLUDE __CONFIG _XT_OSC &_LVP_OFF &_WDT_OFF CBLOCK 0x20 ENDC T_1 EQU 0x22 T_2EQU 0x23 INDICADOR EQU 0x24 AUX EQU 0x25 AUX2 EQU 0x26 REG1 EQU 0x27 REG2 EQU 0x28 REG3 EQU 0x29 TEMPER EQU 0x2A ASCII_H EQU 0x2B ASCII_M EQU 0x2C ASCII_L EQU 0x2D HEXADECIMAL EQU 0x2E Key_var equ 0x2F ORG 00H goto EMPEZAR org 0x05 include EMPEZAR BSF STATUS,RP0 ;banco 1 BSF TRISA,0 ;entrada de sensor BSF TRISA,3 ;voltaje Ref=5.1 CLRF TRISB MOVLW B'11111100' MOVWF TRISC ;salidas para LEDs CLRFTRISD BSF ADCON1,0 ;para permitir ingreso de Vref=5.1V bcf OPTION_REG,7 ;resistencias Pull Up activada BCF STATUS,RP0 ;banco_0 ;;;configuracion de conversor AD MOVLW B'11000001' ;RA0=entrada de sensor MOVWF ADCON0 CLRF PORTC ;iniciar el trabajo CALL inicio_LCD ;inicio de LCD MOVLW 'P' call EnviaCarLCD MOVLW 'U' call EnviaCarLCD MOVLW 'L' call EnviaCarLCD MOVLW 'S' call EnviaCarLCD MOVLW 'E' call...
Regístrate para leer el documento completo.