Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Docente: Bachiller:
Ing. Luis Almeida Bello José
Electiva III (Microcontroladores) CI: 27.287.508
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.
2
Figura 2. Módulo activador de la lámpara.
3
Figura 3. Módulo de pulsadores de control.
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.
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.
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.
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.
9
Figura 10. Simulación funcionando.
10
Figura 12. Temperatura por encima del valor alto. Fan cooler encendido, lámpara
apagada.
11
ANEXOS
12
13