sensor de temperatura[1]
DESCRIPTION
sensor tempr con lm35TRANSCRIPT
![Page 1: Sensor de Temperatura[1]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/1.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/2.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/3.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/4.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/5.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/6.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/7.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/8.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/9.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/10.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/11.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/12.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/13.jpg)
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]](https://reader035.vdocumento.com/reader035/viewer/2022081803/5525c588550346126f8b4a50/html5/thumbnails/14.jpg)
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