Anda di halaman 1dari 10

CONTROL DIGITAL DE

TEMPERATURA

Autores: OLMEDO, IGNACIO


BARCHINI, FEDERICO
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:


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 menor
movlw 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 mayor
movlw 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 acumulador
movwf buffer ;Guarda el dato obtenido de ADRESL en el buffer temporal
bcf status,CARRY ;Limpia el CARRY
btfsc 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ón
bsf portC,RELE0 ;Si dio negativo (si carry = 0) acciona el relé
bcf status,CARRY
movf 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ón
bcf 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ón
bsf portC,RELE1 ;Si dio negativo (si carry = 0) acciona el relé

movf mayor2, 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ón
bcf 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ón
bsf portC,RELE2 ;Si dio negativo (si carry = 0) acciona el relé
bcf status,CARRY
movf 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ón
bcf 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ón
bsf portC,RELE4 ;Si dio negativo (si carry = 0) acciona el relé
bcf status,CARRY
movf 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ón
bcf 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ón
bsf portC,RELE5 ;Si dio negativo (si carry = 0) acciona el relé
bcf status,CARRY
movf 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ón
bcf 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:
Tabla
Tension ºC Nº Decimal
0 0 0
0,02 0,244 1
0,04 0,488 2
0,06 0,732 3
0,08 0,976 4
0,1 1,22 5
0,12 1,464 6
0,14 1,708 7
0,16 1,952 8
0,18 2,196 9
0,2 2,44 10
0,22 2,684 11
0,24 2,928 12
0,26 3,172 13
0,28 3,416 14
0,3 3,66 15
0,32 3,904 16
0,34 4,148 17
0,36 4,392 18
0,38 4,636 19
0,4 4,88 20
0,42 5,124 21
0,44 5,368 22
0,46 5,612 23
0,48 5,856 24
0,5 6,1 25
0,52 6,344 26
0,54 6,588 27
0,56 6,832 28
0,58 7,076 29
0,6 7,32 30
0,62 7,564 31
0,64 7,808 32
0,66 8,052 33
0,68 8,296 34
0,7 8,54 35
0,72 8,784 36
0,74 9,028 37
0,76 9,272 38
0,78 9,516 39
0,8 9,76 40
0,82 10,004 41
0,84 10,248 42
0,86 10,492 43
0,88 10,736 44
0,9 10,98 45
0,92 11,224 46
0,94 11,468 47
0,96 11,712 48
0,98 11,956 49
1 12,2 50
1,02 12,444 51
1,04 12,688 52
1,06 12,932 53
1,08 13,176 54
1,1 13,42 55
1,12 13,664 56
1,14 13,908 57
1,16 14,152 58
1,18 14,396 59
1,2 14,64 60
1,22 14,884 61
1,24 15,128 62
1,26 15,372 63
1,28 15,616 64
1,3 15,86 65
1,32 16,104 66
1,34 16,348 67
1,36 16,592 68
1,38 16,836 69
1,4 17,08 70
1,42 17,324 71
1,44 17,568 72
1,46 17,812 73
1,48 18,056 74
1,5 18,3 75
1,52 18,544 76
1,54 18,788 77
1,56 19,032 78
1,58 19,276 79
1,6 19,52 80
1,62 19,764 81
1,64 20,008 82
1,66 20,252 83
1,68 20,496 84
1,7 20,74 85
1,72 20,984 86
1,74 21,228 87
1,76 21,472 88
1,78 21,716 89
1,8 21,96 90
1,82 22,204 91
1,84 22,448 92
1,86 22,692 93
1,88 22,936 94
1,9 23,18 95
1,92 23,424 96
1,94 23,668 97
1,96 23,912 98
1,98 24,156 99
2 24,4 100
2,02 24,644 101
2,04 24,888 102
2,06 25,132 103
2,08 25,376 104
2,1 25,62 105
2,12 25,864 106
2,14 26,108 107
2,16 26,352 108
2,18 26,596 109
2,2 26,84 110
2,22 27,084 111
2,24 27,328 112
2,26 27,572 113
2,28 27,816 114
2,3 28,06 115
2,32 28,304 116
2,34 28,548 117
2,36 28,792 118
2,38 29,036 119
2,4 29,28 120
2,42 29,524 121
2,44 29,768 122
2,46 30,012 123
2,48 30,256 124
2,5 30,5 125
2,52 30,744 126
2,54 30,988 127
2,56 31,232 128
2,58 31,476 129
2,6 31,72 130
2,62 31,964 131
2,64 32,208 132
2,66 32,452 133
2,68 32,696 134
2,7 32,94 135
2,72 33,184 136
2,74 33,428 137
2,76 33,672 138
2,78 33,916 139
2,8 34,16 140
2,82 34,404 141
2,84 34,648 142
2,86 34,892 143
2,88 35,136 144
2,9 35,38 145
2,92 35,624 146
2,94 35,868 147
2,96 36,112 148
2,98 36,356 149
3 36,6 150
3,02 36,844 151
3,04 37,088 152
3,06 37,332 153
3,08 37,576 154
3,1 37,82 155
3,12 38,064 156
3,14 38,308 157
3,16 38,552 158
3,18 38,796 159
3,2 39,04 160
3,22 39,284 161
3,24 39,528 162
3,26 39,772 163
3,28 40,016 164
3,3 40,26 165
3,32 40,504 166
3,34 40,748 167
3,36 40,992 168
3,38 41,236 169
3,4 41,48 170
3,42 41,724 171
3,44 41,968 172
3,46 42,212 173
3,48 42,456 174
3,5 42,7 175
3,52 42,944 176
3,54 43,188 177
3,56 43,432 178
3,58 43,676 179
3,6 43,92 180
3,62 44,164 181
3,64 44,408 182
3,66 44,652 183
3,68 44,896 184
3,7 45,14 185
3,72 45,384 186
3,74 45,628 187
3,76 45,872 188
3,78 46,116 189
3,8 46,36 190
3,82 46,604 191
3,84 46,848 192
3,86 47,092 193
3,88 47,336 194
3,9 47,58 195
3,92 47,824 196
3,94 48,068 197
3,96 48,312 198
3,98 48,556 199
4 48,8 200
4,02 49,044 201
4,04 49,288 202
4,06 49,532 203
4,08 49,776 204
4,1 50,02 205
4,12 50,264 206
4,14 50,508 207
4,16 50,752 208
4,18 50,996 209
4,2 51,24 210
4,22 51,484 211
4,24 51,728 212
4,26 51,972 213
4,28 52,216 214
4,3 52,46 215
4,32 52,704 216
4,34 52,948 217
4,36 53,192 218
4,38 53,436 219
4,4 53,68 220
4,42 53,924 221
4,44 54,168 222
4,46 54,412 223
4,48 54,656 224
4,5 54,9 225
4,52 55,144 226
4,54 55,388 227
4,56 55,632 228
4,58 55,876 229
4,6 56,12 230
4,62 56,364 231
4,64 56,608 232
4,66 56,852 233
4,68 57,096 234
4,7 57,34 235
4,72 57,584 236
4,74 57,828 237
4,76 58,072 238
4,78 58,316 239
4,8 58,56 240
4,82 58,804 241
4,84 59,048 242
4,86 59,292 243
4,88 59,536 244
4,9 59,78 245
4,92 60,024 246
4,94 60,268 247
4,96 60,512 248
4,98 60,756 249
5 61 250
5,02 61,244 251
5,04 61,488 252
5,06 61,732 253
5,08 61,976 254
5,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.
A continuación se muestran figuras de los circuitos y
diagrama esquemático .

Anda mungkin juga menyukai