Está en la página 1de 14

REPÚBLICA BOLIVARIANA DE VENEZUELA

INSTITUTO UNIVERSITARIO POLITÉCNICO


“SANTIAGO MARIÑO”
EXTENSIÓN MATURÍN

CIRCUITO INDICADOR Y CONTROLADOR DE TEMPERATURA


CONFIGURABLE

Docente: Bachiller:
Ing. Luis Almeida Bello José
Electiva III (Microcontroladores) CI: 27.287.508

Maturín, enero 2020.


EXPERIENCIA

Diseño Electrónico
El presente proyecto consistió en realizar un “circuito capaz de medir la
temperatura de una zona; además de esto, que se pueda calibrar mediante
dos Set Point, uno para la temperatura máxima y otro para la temperatura
mínima. Estas se deben visualizar en una LCD, y se puedan subir y bajar
mediante do pulsadores. Debe cumplir la regla de: si la temperatura ambiental
está por debajo de la temperatura baja encender un bombillo de 110V AC; si
la temperatura es mayo, debe encender un fan cooler de 12V. Si la
temperatura ambiental se encuentra entre estas dos temperaturas mantener
apagado tanto el bombillo como en fan cooler.”
El primer paso realizado fue crear el diseño electrónico con las
especificaciones ya dadas en el problema. El sistema se realizó en el
simulador de circuitos eléctricos Proteus 8.8. El circuito se divide en 7 módulos
o partes: activador del fan cooler, activador de la lámpara, pulsadores de
control, pulsador de reseteo, módulo del sensor, módulo de la lcd, y la unidad
de control.
 Activador del fan cooler (figura 1): está compuesto por un fan
cooler de 12 V, el cual se conectó a un transistor 2n222a para
activarlo cuando se emita una señal eléctrica desde el
microcontrolador en la base del transistor. Además, también se
colocó un diodo 1n4007 en paralelo al fan cooler para la protección
del transistor.

1
Figura 1.Módulo activador del fan cooler.

 Activador de la lámpara (figura 2): su función el similar al módulo


anterior. La lámpara se encuentra conectada a un alternador de
120V. Para activar este módulo, la unidad de control debe emitir
una señal de control en la base del transistor 2n2222a de este
módulo y de esta forma hacer conmutar el relé que activa la
lámpara.

2
Figura 2. Módulo activador de la lámpara.

 Pulsadores de control (figura 3): esta parte está conformada por


tres pulsadores en configuración pull down. Estos pulsadores
cumplen la función de subir o bajar el rango de temperatura de
este sistema. El tercer botón (OK), es el botón de “enter”.

3
Figura 3. Módulo de pulsadores de control.

 Módulo de lcd y módulo del sensor: En el módulo de la lcd se


visualizan las temperaturas límites y la temperatura actual captada
en el ambiente. El modulo del sensor, es el que contiene el sensor
del temperatura lm35, el cual envía la señal de datos a la unidad
de control. Capta la temperatura ambiente.
 Unidad de control: es la encargada de ejecutar las acciones del
sistema de acuerdo con la programación guardada en su
memoria.

4
Figura 4. Diseño final del circuito.

Programación
Las primeras líneas del código tienen los parámetros configurados para
la lcd y la configuración del convertidor analógico digital del pic. El ADC se
configuró para trabajar con una resolución de 10 bits, y de esta forma poder
calibrar el resultado lo más cercano posible a la señal enviada por el sensor
de temperatura. Se configuró el puerto RA.0 como único puerto analógico de
entrada. Esto se logró configurando los parámetros del registro ADCON1
usando la datasheet del pic (PIC16F877).

5
Figura 5. Configuración de los canales analógicos del microontrolador.

En total, se crearon 10 variables, las cuales se pueden ver en la figura 6.


Estas variables se usaron para almacenar los datos y realizar las conversiones
para calibrar el sensor. Para los pulsadores, el fan cooler y la lámpara, se
asignaron pines del puerto D, agregándole una etiqueta para tener mejor
facilidad de comprensión y uso en la programación.

Figura 6. Variables y etiquetas.

El inicio del programa comienza primero estableciendo los parámetros


iniciales para las etiquetas ventilador, bombilla, tempbaj y tempalt. La siguiente
subrutina encontrada es la encargada configurar la temperatura baja o
temperatura mínima. En hizo usa de la función condicional IF THEN, en ella
se pregunta cual botón se está accionando y de acuerdo con la condición, se
envía a la siguiente subrutina. Las siguientes subrutinas tienes la función de
restar o sumar 1 valor a la temperatura baja.

6
Cuando se acciona un botón, por ejemplo el de bajar, la operación
condicional envía el proceso a la subrutina restar1. Una vez aquí, la primera
operación es ir a la subrutina antirebote y retornar al punto exacto donde se
encontraba el proceso de instrucción. Si la temperatura baja es menor a 1
retorna al principio, es decir, a TempBaja. La temperatura mínima configurable
para este parámetro es de 1 grado Celsius. Cuando se pulsa el botón de subir
ocurre exactamente la misma secuencia de instrucciones, sólo que ahora en
lugar de restar un valor, suma un valor. En la siguiente rutina para configurar
la temperatura alta ocurre exactamente lo mismo que lo mencionado
anteriormente.

Figura 7. Código para la configuración de lo parámetros de temperatura.

La rutina “sensar” es la encargada de mostrar el resultado de las


conversiones del ADC y los parámetros de temperatura. Para el calibrar el
sensor se usó la siguiente formula:
𝑉𝑟𝑒𝑓
𝐴𝐷𝐶𝑟𝑒𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛 =
2𝑁𝑢𝑚𝐵𝑖𝑡𝑠𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛

7
Entonces, tenemos que con 10 bits de resolución previamente
configurados en el ADC:
𝑉𝑟𝑒𝑓 5𝑉
𝐴𝐷𝐶𝑟𝑒𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛 = 𝑁𝑢𝑚𝐵𝑖𝑡𝑠𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛
= = 4.88 𝑚𝑉
2 210
Aproximadamente la mitad de lo que entrega en salida el sensor lm35
(10 mV por cada grado Celsius). Esto se equilibra dividiendo el resultado
captado en el canal analógico entre 128, lo que hace que se tenga una
resolución de 9 bits al final, y de acuerdo con la formula mostrada
anteriormente:
𝑉𝑟𝑒𝑓 5𝑉
𝐴𝐷𝐶𝑟𝑒𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛 = 𝑁𝑢𝑚𝐵𝑖𝑡𝑠𝑅𝑒𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛
= = 9.76 𝑚𝑉
2 29
Este es el valor más cercano a la escala del lm35 que se puede
conseguir.

Figura 8. Resultado del ADC y condiciones.

8
Las siguientes subrutinas mostradas son las condiciones para activar las
salidas del sistema, es decir, activar el fan cooler o el bombillo, o no activar
ninguno. Esto se realizó mediante la instrucción IF THEN con las condiciones
establecidas en el planteamiento del proyecto. Las rutinas de antirebote sirven
para que el microcontrolador con capte señales falsas al presionar cualquier
botón. El PIC trabaja a 1uS cada instrucción y cuando una persona presiona
el botón, por lo menos necesita de 100 mS de tiempo para soltarlo, en ese
tiempo el PIC ya sumó alrededor de 25.000 veces. Esta subrutina soluciona
este problema.

Figura 9. Subrutina de antirebote.

9
Figura 10. Simulación funcionando.

Figura 11. Parámetros de temperatura baja y temperatura alta modificados. Lámpara


encendida.

10
Figura 12. Temperatura por encima del valor alto. Fan cooler encendido, lámpara
apagada.

11
ANEXOS

12
13

También podría gustarte