Control De Temperatura Con Pic 16F877A
CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA
CONTROL DE TEMPERATURA CON PIC
16F877A
CURSO
:
PROFESOR
:
ELECTRÓNICA DE POTENCIA 1
Ing. RUSEL CORDOVA
ALUMNOS:
1966
BELLAVISTA – CALLAO
2009
CONTROL DE TEMPERATURA CON PIC 16F877A
o
DIAGRAMA DE BLOQUES:
TECLADO
( set point)SENSOR
( T0 ext )
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
terceranos entrega un valor 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 DESEÑAL
Resolución
RES =
Vref Volts
Vref
=
255 bits
2 8 −1
Voltaje de
entrada
Temperatura
en bits
CONVERSOR
A/D
0.01T
0.01T
=T →
LUEGO: RESO LU CIO N
0.01T
=T
Vref
255
→
Vref = 2.55 V olts
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 laconversión es RA0, el valor de la conversió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 setiene el valor de la temperatura en ADRESH 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 lavisualización de la temperatura en LCD se transforma el 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 valorde esta en un registro.
o
DIAGRAMA DE FLUJOS
CONFIGURACION
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
Text > T2
D1 = OFF
D2 = ON
D1 = OFF
D2 = OFF
SI
D1 = ON
D2 = OFF
o
LIST
LENGUAJE EN ASSEMBLER
P=16F877A
INCLUDEINCLUDE
__CONFIG _XT_OSC &_LVP_OFF &_WDT_OFF
CBLOCK 0x20
ENDC
T_1
EQU
0x22
T_2
EQU
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
;banco1
BSF
TRISA,0
;entrada de sensor
BSF
TRISA,3
;voltaje Ref=5.1
CLRF
TRISB
MOVLW B'11111100'
MOVWF TRISC
;salidas para LEDs
CLRF
TRISD
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...
Regístrate para leer el documento completo.