Proyecto de Control de Temperatura

12
CONTROL DIGITAL DE TEMPERATURA Autores: OLMEDO, IGNACIO BARCHINI, FEDERICO

Transcript of Proyecto de Control de Temperatura

Page 1: Proyecto de Control de Temperatura

CONTROL DIGITAL DE TEMPERATURA

Autores: OLMEDO, IGNACIO BARCHINI, FEDERICO

Page 2: Proyecto de Control de Temperatura

Introducción:

Nuestro proyecto es un sistema capaz de controlar la temperatura de un ambiente en un intervalo deseado. El dispositivo mantiene la temperatura en un rango de 40 a 50 grados centígrados pero además se lo puede reconfigurar para funcionaren otros rangos en un intervalo de 0ºC a 62.25 ºC.Manejando este rango de temperaturas las aplicaciones son infinitas. Trabajando con bajas temperaturas se lo puede implementar para conservar alimentos, medicamentos, etc. ,para altas temperaturas se lo podría utilizar para climatizar incubadoras con la posibilidad además de activar una alarma ante temperaturas criticas, entre otras cosas.

Principio de funcionamiento del sistema de control digital:

Nuestro sistema de control censa y controla la velocidad de la temperatura que requerimos para nuestra planta. Esto se realiza de la siguiente manera: la temperatura de la planta es leída por el LM53 ( Transductor ) y enviada al conversor A/D del microcontrolador (pic 16f876A) este compara los valores recibidos con los valores preestablecido para alcanzar el rango de temperatura deseado.

La definición del conversor A/D es de 256 bit y el rango en que trabaja es de 0 a 5 voltios. La salida del LM 35 varia 10mV/ºC.Para acomodar estas escalas de salida del censor y entrada del microcontrolador fue necesario multiplicar la salida del LM35 por 8 mediante el uso de un amplificador operacional (LM741) y por software multiplicarlo por 0.244(ver código fuente). Quedando de esta manera la salida del LM35 igual a 0.0195 igual a 5/256 que es la definición con la que trabaja el microcontrolador.

Rutina para controlar temperatura:

Page 3: Proyecto de Control de Temperatura

Se tomo el código fuente de un termómetro y se le adiciono una rutina para controlar temperatura de la siguiente manera:

;-------------------------------------------------------------------------------------------------------------;carga valores de activacion y desactivacion y ciclo respectivamente

movlw d'164' ;Temperatura de activacion de los 5 rele (eqiuvale a 40ºC de la tabla)

movwf menormovlw d'173'movwf mayor1 ;temperatura de desactivacion del primer rele (eqiuvale a

42ºC de la tabla)movlw d'181'movwf mayor2 ;temperatura de desactivacion delsegundo rele (eqiuvale a

44ºC de la tabla)movlw d'191'movwf mayor3 ;temperatura de desactivacion del tercer rele (eqiuvale a 46ºC

de la tabla)movlw d'197'movwf mayor4 ;temperatura de desactivacion del cuarto rele (eqiuvale a 48ºC

de la tabla)movwf mayormovlw d'205'movwf mayor ;temperatura de desactivacion del quinto rele (eqiuvale a

50ºC de la tabla)movlw 00h movf adresH,W ;copia adressH en el acumuladormovwf buffer ;Guarda el dato obtenido de ADRESL en el buffer temporalbcf status,CARRY ;Limpia el CARRYbtfsc adresH, 0 ;Mira el bit menos significativo de ADRESH (Bit 8)bsf status,CARRY ;Si está en 1 pone en uno el carry;rrf buffer, 1;Hace desaparecer el bit 0 de ADRESL, mete el bit 0 de ADRESH por el 7 de

ADRESL

movf menor, 0 ;Punto de activación -> W; addlw d'1' ;Suma 1 a W

subwf buffer, 0;W = Temp. Actual - (Menor + 1)btfss status,CARRY ;Si dio negativo es porque la temp. medida es igual o menor al punto

de activaciónbsf portC,RELE0 ;Si dio negativo (si carry = 0) acciona el relébcf status,CARRYmovf mayor1, 0 ;Punto de desactivación -> W

subwf buffer, 0;W = Temp. Actual - (Mayor)btfsc status,CARRY ;Si dio negativo es porque aún no alcanzó la temp. de desactivaciónbcf portC,RELE0 ;Si dio positivo (si carry = 1) desactiva el relé

movf menor, 0 ;Punto de activación -> W; addlw d'1' ;Suma 1 a W

subwf buffer, 0;W = Temp. Actual - (Menor + 1)btfss status,CARRY ;Si dio negativo es porque la temp. medida es igual o menor al punto

de activaciónbsf portC,RELE1 ;Si dio negativo (si carry = 0) acciona el relé

movf mayor2, 0 ;Punto de desactivación -> W

Page 4: Proyecto de Control de Temperatura

subwf buffer, 0;W = Temp. Actual - (Mayor)btfsc status,CARRY ;Si dio negativo es porque aún no alcanzó la temp. de desactivaciónbcf portC,RELE1 ;Si dio positivo (si carry = 1) desactiva el relé

movf menor, 0 ;Punto de activación -> W; addlw d'1' ;Suma 1 a W

subwf buffer, 0;W = Temp. Actual - (Menor + 1)btfss status,CARRY ;Si dio negativo es porque la temp. medida es igual o menor al punto

de activaciónbsf portC,RELE2 ;Si dio negativo (si carry = 0) acciona el relébcf status,CARRYmovf mayor3, 0 ;Punto de desactivación -> W

subwf buffer, 0;W = Temp. Actual - (Mayor)btfsc status,CARRY ;Si dio negativo es porque aún no alcanzó la temp. de desactivaciónbcf portC,RELE2 ;Si dio positivo (si carry = 1) desactiva el relé

movf menor, 0 ;Punto de activación -> W; addlw d'1' ;Suma 1 a W

subwf buffer, 0;W = Temp. Actual - (Menor + 1)btfss status,CARRY ;Si dio negativo es porque la temp. medida es igual o menor al punto

de activaciónbsf portC,RELE4 ;Si dio negativo (si carry = 0) acciona el relébcf status,CARRYmovf mayor4, 0 ;Punto de desactivación -> W

subwf buffer, 0;W = Temp. Actual - (Mayor)btfsc status,CARRY ;Si dio negativo es porque aún no alcanzó la temp. de desactivaciónbcf portC,RELE4 ;Si dio positivo (si carry = 1) desactiva el relé

movf menor, 0 ;Punto de activación -> W; addlw d'1' ;Suma 1 a W

subwf buffer, 0;W = Temp. Actual - (Menor + 1)btfss status,CARRY ;Si dio negativo es porque la temp. medida es igual o menor al punto

de activaciónbsf portC,RELE5 ;Si dio negativo (si carry = 0) acciona el relébcf status,CARRYmovf mayor, 0 ;Punto de desactivación -> W

subwf buffer, 0;W = Temp. Actual - (Mayor)btfsc status,CARRY ;Si dio negativo es porque aún no alcanzó la temp. de desactivaciónbcf portC,RELE5 ;Si dio positivo (si carry = 1) desactiva el relé

Esta rutina maneja temperaturas de 40 a 50ºC activando todas las 5 salidas por debajo de los 40ºC y desactivando una a una a medida que se acerca a los 50ºC cada 2ºC es decir en 42, 44,46,48,50 ºC. A cada temperatura le corresponde un número decimal. Si se deseara cambiar el rango de temperatura se deberá observar el equivalente decimal de temperatura en la tabla y modificar la rutina:

Page 5: Proyecto de Control de Temperatura

TablaTension ºC Nº Decimal

0 0 00,02 0,244 10,04 0,488 20,06 0,732 30,08 0,976 40,1 1,22 50,12 1,464 60,14 1,708 70,16 1,952 80,18 2,196 90,2 2,44 100,22 2,684 110,24 2,928 120,26 3,172 130,28 3,416 140,3 3,66 150,32 3,904 160,34 4,148 170,36 4,392 180,38 4,636 190,4 4,88 200,42 5,124 210,44 5,368 220,46 5,612 230,48 5,856 240,5 6,1 250,52 6,344 260,54 6,588 270,56 6,832 280,58 7,076 290,6 7,32 300,62 7,564 310,64 7,808 320,66 8,052 330,68 8,296 340,7 8,54 350,72 8,784 360,74 9,028 370,76 9,272 380,78 9,516 390,8 9,76 400,82 10,004 410,84 10,248 420,86 10,492 430,88 10,736 440,9 10,98 450,92 11,224 460,94 11,468 470,96 11,712 480,98 11,956 491 12,2 50

Page 6: Proyecto de Control de Temperatura

1,02 12,444 511,04 12,688 521,06 12,932 531,08 13,176 541,1 13,42 551,12 13,664 561,14 13,908 571,16 14,152 581,18 14,396 591,2 14,64 601,22 14,884 611,24 15,128 621,26 15,372 631,28 15,616 641,3 15,86 651,32 16,104 661,34 16,348 671,36 16,592 681,38 16,836 691,4 17,08 701,42 17,324 711,44 17,568 721,46 17,812 731,48 18,056 741,5 18,3 751,52 18,544 761,54 18,788 771,56 19,032 781,58 19,276 791,6 19,52 801,62 19,764 811,64 20,008 821,66 20,252 831,68 20,496 841,7 20,74 851,72 20,984 861,74 21,228 871,76 21,472 881,78 21,716 891,8 21,96 901,82 22,204 911,84 22,448 921,86 22,692 931,88 22,936 941,9 23,18 951,92 23,424 961,94 23,668 971,96 23,912 981,98 24,156 992 24,4 100

2,02 24,644 1012,04 24,888 1022,06 25,132 1032,08 25,376 104

Page 7: Proyecto de Control de Temperatura

2,1 25,62 1052,12 25,864 1062,14 26,108 1072,16 26,352 1082,18 26,596 1092,2 26,84 1102,22 27,084 1112,24 27,328 1122,26 27,572 1132,28 27,816 1142,3 28,06 1152,32 28,304 1162,34 28,548 1172,36 28,792 1182,38 29,036 1192,4 29,28 1202,42 29,524 1212,44 29,768 1222,46 30,012 1232,48 30,256 1242,5 30,5 1252,52 30,744 1262,54 30,988 1272,56 31,232 1282,58 31,476 1292,6 31,72 1302,62 31,964 1312,64 32,208 1322,66 32,452 1332,68 32,696 1342,7 32,94 1352,72 33,184 1362,74 33,428 1372,76 33,672 1382,78 33,916 1392,8 34,16 1402,82 34,404 1412,84 34,648 1422,86 34,892 1432,88 35,136 1442,9 35,38 1452,92 35,624 1462,94 35,868 1472,96 36,112 1482,98 36,356 1493 36,6 150

3,02 36,844 1513,04 37,088 1523,06 37,332 1533,08 37,576 1543,1 37,82 1553,12 38,064 1563,14 38,308 1573,16 38,552 158

Page 8: Proyecto de Control de Temperatura

3,18 38,796 1593,2 39,04 1603,22 39,284 1613,24 39,528 1623,26 39,772 1633,28 40,016 1643,3 40,26 1653,32 40,504 1663,34 40,748 1673,36 40,992 1683,38 41,236 1693,4 41,48 1703,42 41,724 1713,44 41,968 1723,46 42,212 1733,48 42,456 1743,5 42,7 1753,52 42,944 1763,54 43,188 1773,56 43,432 1783,58 43,676 1793,6 43,92 1803,62 44,164 1813,64 44,408 1823,66 44,652 1833,68 44,896 1843,7 45,14 1853,72 45,384 1863,74 45,628 1873,76 45,872 1883,78 46,116 1893,8 46,36 1903,82 46,604 1913,84 46,848 1923,86 47,092 1933,88 47,336 1943,9 47,58 1953,92 47,824 1963,94 48,068 1973,96 48,312 1983,98 48,556 1994 48,8 200

4,02 49,044 2014,04 49,288 2024,06 49,532 2034,08 49,776 2044,1 50,02 2054,12 50,264 2064,14 50,508 2074,16 50,752 2084,18 50,996 2094,2 51,24 2104,22 51,484 2114,24 51,728 212

Page 9: Proyecto de Control de Temperatura

4,26 51,972 2134,28 52,216 2144,3 52,46 2154,32 52,704 2164,34 52,948 2174,36 53,192 2184,38 53,436 2194,4 53,68 2204,42 53,924 2214,44 54,168 2224,46 54,412 2234,48 54,656 2244,5 54,9 2254,52 55,144 2264,54 55,388 2274,56 55,632 2284,58 55,876 2294,6 56,12 2304,62 56,364 2314,64 56,608 2324,66 56,852 2334,68 57,096 2344,7 57,34 2354,72 57,584 2364,74 57,828 2374,76 58,072 2384,78 58,316 2394,8 58,56 2404,82 58,804 2414,84 59,048 2424,86 59,292 2434,88 59,536 2444,9 59,78 2454,92 60,024 2464,94 60,268 2474,96 60,512 2484,98 60,756 2495 61 250

5,02 61,244 2515,04 61,488 2525,06 61,732 2535,08 61,976 2545,1 62,22 255

La primera columna corresponde a las tensiones o señal analógica que llegan al microcontrolador, la segunda columna es la temperatura que se muestra en el lcd que es consecuencia de tener dicha tensión en la entrada y la tercera columna es el valor decimal necesario para fijar punto de activación y desactivación en la rutina para controlar la temperatura.

Page 10: Proyecto de Control de Temperatura

A continuación se muestran figuras de los circuitos y diagrama esquemático .