Sensor de Temperatura[1]

18
Max David Quispe Bonilla unac Control de Temperatura con PIC 16F877A OBJETIVO: Nuestro objetivo de control es mantener un acierta magnitud dentro de un rango preestablecido (set point) sin importar si alguna influencia externa interrumpe el proceso. Utilizar adecuadamente una etapa de potencia (amplificador operacional en la configuración de amplificador restador), para conseguir que la tensión del sensor sea proporcional a la temperatura en Celsius. Mostrar la variación de la temperatura y temperatura ideal en un LCD con la ayuda del PIC 16F877A. Utilizar una etapa de potencia para poder controlar y manejar adecuadamente el motor (ventilador) y la lámpara u foco. Como se dijo en el preinforme el sistema consiste en un sensor de temperatura, un microcontrolador, un teclado o pulsadores, un display de cristal líquido, y una etapa de potencia para accionar el motor (ventilador) y la lámpara u foco; como muestra el siguiente esquema MATERIALES: - Sensor de temperatura (LM 335) ELECTRONICA DE POTENCIA I 1

description

sensor tempr con lm35

Transcript of Sensor de Temperatura[1]

Page 1: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

Control de Temperatura con PIC 16F877A

OBJETIVO:

Nuestro objetivo de control es mantener un acierta magnitud dentro de un rango preestablecido (set point) sin importar si alguna influencia externa interrumpe el proceso.

Utilizar adecuadamente una etapa de potencia (amplificador operacional en la configuración de amplificador restador), para conseguir que la tensión del sensor sea proporcional a la temperatura en Celsius.

Mostrar la variación de la temperatura y temperatura ideal en un LCD con la ayuda del PIC 16F877A.

Utilizar una etapa de potencia para poder controlar y manejar adecuadamente el motor (ventilador) y la lámpara u foco.

Como se dijo en el preinforme el sistema consiste en un sensor de temperatura, un microcontrolador, un teclado o pulsadores, un display de cristal líquido, y una etapa de potencia para accionar el motor (ventilador) y la lámpara u foco; como muestra el siguiente esquema

MATERIALES:

- Sensor de temperatura (LM 335)- Microprocesador 16F877A- Pantalla LCD- Motor DC (ventilador)- Lámpara u Foco- Resistencias- Potenciómetros - Amplificador Operacional - Driver para motor DC (L293B)

ELECTRONICA DE POTENCIA I1

Page 2: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

MARCO TEÓRICO

A menudo la temperatura se define como aquella propiedad que miden los termómetros. También se introduce la temperatura basándose en alguna propiedad termométrica, por ejemplo la expansión de un líquido, un gas, la resistencia de un conductor, la tensión eléctrica generada por un par termoeléctrico (termocupla), etc.

En la práctica existen numerosos tipos de sensores de temperatura o termómetros que, según la aplicación especifica, pueden ser los más adecuados.

Aplicaciones

Para automatizar el control de la temperatura del agua en un acuario, piscifactoría, etc, abriendo y cerrando compuertas durante unos tiempos determinados, o conectando calentadores de agua.

Para automatizar el control de la temperatura de productos factibles de fermentación, abriendo y cerrando orificios de ventilación en los depósitos donde están almacenados durante unos tiempos preestablecidos.

Para automatizar el control de la temperatura ambiente en un invernadero. Para automatizar el control de la temperatura en granjas, champiñóneras, etc.

introduciendo aire frío o caliente, durante un tiempo determinado. Para simular el funcionamiento de un horno eléctrico, conectando una

resistencia en función de la temperatura. Ventilador automático en función de la temperatura.

DIAGRAMA DE BLOQUES DEL SISTEMA

Sensor de temperatura LM335

El componente electrónico LM 335 es un transductor de temperatura que proporciona una tensión eléctrica proporcional a la temperatura Kelvin. La función de transferencia

de este sensor es: (voltios). El circuito eléctrico que se debe montar para que funcione correctamente es:

ELECTRONICA DE POTENCIA I2

Page 3: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

El valor de la resistencia R es 1.96 Kpudiéndose tomar un valor ligeramente diferente). La tensión de alimentación Vcc es de 5 voltios. La resistencia RADJ (el potenciómetro pequeñito de color azul) sirve para ajustar la tensión V del sensor y que

se cumpla exactamente la expresión .

Para conseguir que la tensión del sensor sea proporcional a la temperatura Celsius se emplea un amplificador operacional en la configuración de amplificador restador. El esquema de este amplificador es:

Fig.1

La tensión de salida de este amplificador, en función de la tensión de entrada viene dada por la expresión

En la entrada no inversora se conectará la tensión V2 del sensor, y en la entrada inversora se conectará una tensión fija V1 para conseguir que la salida V0 del A.O. sea proporcional a la temperatura centígrada. Con esto se tendrá

ELECTRONICA DE POTENCIA I3

Page 4: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

Para conocer el valor de las resistencias R1 y R2, y el de la tensión fija V1, impondremos las siguientes condiciones:

para T = 273ºK, haremos que VS = 0 voltios, lo que equivale a la temperatura centígrada 0ºC.

para T = 373ºK, haremos que VS = 10.0 voltios, lo que equivale a una temperatura centígrada de 100ºC.

Así se obtiene el sistema de ecuaciones:

La resolución de este sistema permite conocer el valor de la relación y la tensión

V1. La solución es = 9, y V1 = 3.033 voltios. Una de las dos resistencias puede tomarse arbitrariamente, y la otra se obtendrá después.

Primer paso: montar el sensor LM335 con su resistencia de ajuste RADJ; como se mostró anteriormente.. Montar asimismo la resistencia R y conectar el conjunto a la fuente.

Suponiendo que la temperatura ambiente es de 293 grados Kelvin (20 grados centígrados), girar el tornillo de la RADJ con un destornillador, hasta conseguir que en V se midan (con el polímetro) 2.93 voltios

Segundo paso: montar el amplificador restador como se indica en la fig. 1.

Los valores de las resistencias R1 y R2 seran:: si se toma (por ejemplo), R2 = 9.53 K ,

entonces se tendrá = 1.06 K. Esta resistencia la construiremos uniendo en serie una de 825 y otra de 237 Por lo tanto: R1 = 825 + 237

Para conseguir la tensión V1 emplearemos una resistencia variable o potenciómetro (colocado dentro de la caja de aluminio y provista de un botón multivuelta).

Tercer paso: Una vez realizado el montaje del esquema 1, medir la tensión V 1, que está suministrada por el potenciómetro. Esta tensión debe valer 3.03 voltios, como se especifica en el diseño del termómetro realizado en la introducción. En caso de no tener este valor, girar el botón del potenciómetro para conseguirlo. En este momento el termómetro está ajustado. Para comprobar su funcionamiento medir V2, V1 y VS. Entre los valores de estas tensiones se debe cumplir la relación VS = V2 – 273 (sin tener en cuenta la situación del punto decimal tanto en VS.

ELECTRONICA DE POTENCIA I4

Page 5: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

Diagrama de la Implementación

V0 se conecta al puerto de entrada RA0 del PIC, y este hace el trabajo ya comentado anteriormente.

Driver L293B para el Motor DC

Este circuito integrado nos permite poder tener mas potencia y torque en nuestro motor DC y de esta manera garantizar su adecuado funcionamiento.

Descripción de los pines del L293B

ELECTRONICA DE POTENCIA I5

Page 6: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

ETAPA DE POTENCIA CON SCR PARA LA LAMPARA

El SCR es un dispositivo semiconductor de 4 capas que funciona como un conmutador casi ideal.

El símbolo y estructura del SCR son:

ELECTRONICA DE POTENCIA I6

Page 7: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

Analizando los diagramas: A = ánodo, G = compuerta o Gate, C = K = cátodo

Funcionamiento básico del SCR

El siguiente gráfico muestra un circuito equivalente del SCR para comprender su funcionamiento.

Al aplicarse una corriente IG al terminal G (base de Q2 y colector de Q1), se producen dos corrientes: IC2 = IB1.

IB1 es la corriente base del transistor Q1 y causa que exista una corriente de colector de Q1 (IC1) que a su vez alimenta la base del transistor Q2 (IB2), este a su vez causa más corriente en IC2, que es lo mismos que IB1 en la base de Q1, y este proceso regenerativo se repite hasta saturar Q1 y Q2 causando el encendido del SCR.

Los parámetros del SCR son:

- VRDM: Máximo voljaje inverso de cebado (VG = 0)- VFOM: Máximo voltaje directo sin cebado (VG = 0)- IF: Máxima corriente directa permitida.- PG: Máxima disipación de potencia entre compuerta y cátodo.- VGT-IGT: Máximo votaje o corriente requerida en la compuerta (G) para el cebado- IH: Mínima corriente de ánodo requerida para mantener cebado el SCR- dv/dt: Máxima variación de voltaje sin producir cebado.- di/dt: Máxima variación de corriente aceptada antes de destruir el SCR.

ELECTRONICA DE POTENCIA I7

Page 8: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

IMPLEMENTACIÓN EN EL PROTEUS:

PROGRAMA DEL PIC:list P=16f877A ;tipo de uCinclude <P16F877A.inc> ;archivo de definiciones

__CONFIG _XT_OSC & _LVP_OFF & _WDT_OFFerrorlevel -302,-305

;definicion de macrosbanco1 macro

bsf STATUS,RP0bcf STATUS,RP1endm

banco0 macrobcf STATUS,RP0bcf STATUS,RP1endm

;definicion de RAMcblock 20h

contadorPDel0 PDel1TEMPERATURAVAR11RESTADOR1

ELECTRONICA DE POTENCIA I8

Page 9: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

TEMP_ACTUALADRESH_JGUARDADITOPIENSA

endc

;programa principalorg 0BSF STATUS,RP0MOVLW B'00000111'MOVWF PORTB

CLRF PORTCBCF STATUS,RP0

MOVLW B'01000001' ;P MOVWF ADCON0 ;P

CLRF GUARDADITOCLRF PORTCgoto inicio

inicio:call inicio_LCD ;inicializa LCD,cursor parpadente

;ESCRIBE ARRIBA movlw 'T' ;envia caracteres a la pantallacall EnviaCarLCDmovlw '.'call EnviaCarLCDmovlw 'I'call EnviaCarLCDmovlw 'D'call EnviaCarLCDmovlw 'E'call EnviaCarLCDmovlw 'A'call EnviaCarLCDmovlw 'L'call EnviaCarLCDmovlw 0X20call EnviaCarLCDmovlw 'T'call EnviaCarLCDmovlw '.'call EnviaCarLCDmovlw 'H'call EnviaCarLCDmovlw 'O'call EnviaCarLCDmovlw 'R'call EnviaCarLCDmovlw 'N'call EnviaCarLCDmovlw 'O'call EnviaCarLCDmovlw 0X20call EnviaCarLCD

;********************************************************************

ELECTRONICA DE POTENCIA I9

Page 10: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

movlw h'c0' ;establece posicion del cursor en 2a filacall EnviaCmdLCD

MOVLW .15 ;TEMPERATURA INICIAL DEL S.POINTMOVWF TEMPERATURA

BSF ADCON0,2 ;P BTFSC ADCON0,2 ;P GOTO $-1 ;P MOVF ADRESH,W ;P MOVWF ADRESH_J

CALL MUESTRA.S.POINT

GOTO PRINCIPAL;***********************************************************;"TEMPERATURA S.POINT": MUESTRA LA TEMPERATURA S.POINT Y LA TEMPERATURA ACTUAL GUARDADO EN TEMPERATURA Y TEMP_ACTUAL

MUESTRA.S.POINT movlw h'c0' ;establece posicion del cursor en 2a fila

call EnviaCmdLCD

movlw 0X20call EnviaCarLCDmovlw 0X20call EnviaCarLCD

MOVLW .50 SUBWF TEMPERATURA,W BTFSS STATUS,Z GOTO FINAL2 MOVLW .99 GOTO IMPRIME2FINAL2

MOVF TEMPERATURA,W ADDWF TEMPERATURA,WIMPRIME2

CALL BIN_A_BCDMOVF DECENAS,WADDLW '0'call EnviaCarLCDMOVF UNIDADES,WADDLW '0'call EnviaCarLCD

movlw 0XDFcall EnviaCarLCD

movlw 'C'call EnviaCarLCDmovlw 0X20call EnviaCarLCDmovlw 0X20call EnviaCarLCDmovlw 0X20call EnviaCarLCDmovlw 0X20call EnviaCarLCD

ELECTRONICA DE POTENCIA I10

Page 11: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

movlw 0X20call EnviaCarLCD

MOVLW .50 SUBWF TEMP_ACTUAL,W BTFSS STATUS,Z GOTO FINAL1 MOVLW .99 GOTO IMPRIME1FINAL1

MOVF TEMP_ACTUAL,W ADDWF TEMP_ACTUAL,WIMPRIME1

CALL BIN_A_BCDMOVF DECENAS,WADDLW '0'call EnviaCarLCDMOVF UNIDADES,WADDLW '0'call EnviaCarLCD

movlw 0XDFcall EnviaCarLCD

movlw 'C'call EnviaCarLCD

RETURN;***********************************************************

PRINCIPAL BTFSC PORTB,2 GOTO S.POINT GOTO TEMPERATURA_ACTUALIZADA LEDS MOVLW .1 SUBWF TEMPERATURA,W MOVWF PIENSA MOVF TEMP_ACTUAL,W SUBWF PIENSA,W BTFSC STATUS,C GOTO LED_BAJA MOVLW .20 ADDWF TEMPERATURA,W SUBWF TEMP_ACTUAL,W BTFSC STATUS,C GOTO LED_ALTO GOTO LED_NORMALLED_BAJA MOVLW B'01000001' MOVWF PORTC GOTO PRINCIPALLED_NORMAL MOVLW B'00100010' MOVWF PORTC GOTO PRINCIPAL LED_ALTO

ELECTRONICA DE POTENCIA I11

Page 12: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

MOVLW B'10000100' MOVWF PORTC GOTO PRINCIPAL;***********************************************************;ESTA RUTINA SOLO GENERA LA VARIANZA DEL S.POINT

S.POINT CALL RETARDO BTFSC PORTB,2 GOTO $-1 SALTO BTFSC PORTB,0 GOTO MENOS BTFSC PORTB,1 GOTO MAS BTFSC PORTB,2 GOTO FIN.S.POINT GOTO SALTO MENOS CALL RETARDO DECF TEMPERATURA,F CALL MUESTRA.S.POINT CALL LEDS_TIME_REAL BTFSC PORTB,0 GOTO $-1 GOTO SALTO MAS CALL RETARDO INCF TEMPERATURA,F CALL MUESTRA.S.POINT CALL LEDS_TIME_REAL BTFSC PORTB,1 GOTO $-1 GOTO SALTO FIN.S.POINT CALL RETARDO BTFSS PORTB,2 GOTO PRINCIPAL GOTO FIN.S.POINT;******************************************************************

;ESTA RUTINA SOLO CONVIERTE ADRESH_J A GRADOS CENTIGRADOS EN EL REGISTRO TEMP_ACTUAL

TEMPERATURA_ACTUALIZADA BSF ADCON0,2 ;P BTFSC ADCON0,2 ;P GOTO $-1 ;P MOVF ADRESH,W ;P

MOVWF ADRESH_J ;AQUI SE DEBERIA PONER UN RETARDO CALL RETARDO ;agregado MOVLW .50 MOVWF VAR11 MOVLW .250 MOVWF RESTADOR1

ELECTRONICA DE POTENCIA I12

Page 13: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

MOVLW .50 MOVWF TEMP_ACTUALBUCLE MOVF RESTADOR1,W SUBWF ADRESH_J,W BTFSC STATUS,C GOTO FIN_BUCLE DECF TEMP_ACTUAL,F MOVLW .5 SUBWF RESTADOR1,F DECFSZ VAR11,F GOTO BUCLE GOTO FIN_BUCLEFIN_BUCLE MOVF TEMP_ACTUAL,W SUBWF GUARDADITO,W BTFSC STATUS,Z GOTO LEDS MOVF TEMP_ACTUAL,W MOVWF GUARDADITO CALL MUESTRA.S.POINT GOTO LEDS

;**************************************************************************;PROGRAMA QUE CONVIERTE UN NUMERO DECIMAL A BCD

CBLOCK CENTENASDECENASUNIDADES ENDCBIN_A_BCD CLRF CENTENAS CLRF DECENAS MOVWF UNIDADESBCD_RESTA MOVLW .10 SUBWF UNIDADES,W BTFSS STATUS,C GOTO BIN_BCD_FINBCD_DECENA MOVWF UNIDADES INCF DECENAS,F MOVLW .10 SUBWF DECENAS,W BTFSS STATUS,C GOTO BCD_RESTA RETURN ;******************************************************************** ;RETARDO DE 10 MILISEGUNDO PARA PULSADORES

RETARDO movlw .8 ; 1 set numero de repeticion (B) movwf PDel0 ; 1 |PLoop1 movlw .249 ; 1 set numero de repeticion (A) movwf PDel1 ; 1 |

ELECTRONICA DE POTENCIA I13

Page 14: Sensor de Temperatura[1]

Max David Quispe Bonilla unac

PLoop2 clrwdt ; 1 clear watchdog clrwdt ; 1 ciclo delay decfsz PDel1, 1 ; 1 + (1) es el tiempo 0 ? (A) goto PLoop2 ; 2 no, loop decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ? (B) goto PLoop1 ; 2 no, loopPDelL1 goto PDelL2 ; 2 ciclos delayPDelL2 clrwdt ; 1 ciclo delay return ; 2+2 Fin. ;*********************************************************************;ESTA PROGRAMA MUESTRA LOS CAMBIOS DE LOS LEDS,VENTILADOR Y CALEFACTOR EN PROCESO DE CAMBIO DE S.POINT

LEDS_TIME_REAL MOVLW .1 SUBWF TEMPERATURA,W MOVWF PIENSA MOVF TEMP_ACTUAL,W SUBWF PIENSA,W BTFSC STATUS,C GOTO LED_BAJA_2 MOVLW .20 ADDWF TEMPERATURA,W SUBWF TEMP_ACTUAL,W BTFSC STATUS,C GOTO LED_ALTO_2 GOTO LED_NORMAL_2 LED_BAJA_2 MOVLW B'01000001' MOVWF PORTC RETURNLED_NORMAL_2 MOVLW B'00100010' MOVWF PORTC RETURN LED_ALTO_2 MOVLW B'10000100' MOVWF PORTC RETURN

include "lcd.asm" ;libreria de funciones de LCDend

ELECTRONICA DE POTENCIA I14