Problema Circuito Termostato (PIC y lm35)

Hola, tengo un problema especifico con un circuito que diseñe de un termostato. (adjunto rar circuito simulado en proteus / archivo .HEX / codigo en word)

Les paso a comentar el funcionamiento basico, para despues contarles de mi problema.
Cuando se cierra el Switch que esta conectado a RB0 (PIC16F887), procedemos a setear la temp min y max, apretamos el boton max y seteamos la maxima, lo mismo con la minima (cuando se setea la min se enciende el led D1 y con la maxima el led D2).
Con el relay se manejan los led D5 y D4, cuando supera la maxima se prende el D5 (la idea tambien es conectar un ventilador, en vez de los led, asi "enfriaria" al sensor al superar la maxima.

Les paso a enumerar mis problemas (si...jeje son varios)

1) Simulandolo en el proteus, cuando supera la maxima temp, no pasa nada, o sea...el rele no actua (rele que uso 12v, 10ma) , y sigue prendido el led D4. Mi confusion esta en si es un problema del circuito o del codigo y si este fuera el caso, si me podrian ayudar con el codigo.

2) Obviamente ya tengo el circuito armado en protoboard, sigue sin andar el rele, y el sensor lm35 se calienta muchismo (espero no haberlo quemado jeje). Nose si tendria que ponerle algo mas al circuito del sensor para solucionar ese sobrecalentamiento. La Tension a la que conecte todo el circuito es a 12v, como se sobrecalento mucho lo baje a 5v, pero nose que me voltaje seguro me convendria

3) Los led D1 y D2 tampoco se enciende cuando estoy seteando la temp maxima y minima. Pero puede ser producto del codigo o del algun problema que enuncia anteriormente.

Lo bueno de todo esto, es que con el circuito armado, me anduvo bien el teclado seteando la temperatura y que me aparezcan en los display, y el sensor tambien al parecer mostraba bien la temperatura (99) pero era obvio porque estaba muy sobrecalentado.

Bueno, yase que son muchos problemas, pero quiero saber si alguien tiene alguna idea para darme o guiarme, o decirme...empeza de vuelta jajaja.
Muchas gracias!
Saludos!
 

Adjuntos

  • termostato.rar
    55.8 KB · Visitas: 141
Para depurar ese tipo de problemas hay que ir viendo los valores que toman los registros relevantes de tu programa en la ventana "Watch" del Isis.. Establecé un breakpoint en la instrucción siguiente a leer el valor del conversor A/D (por ejemplo), si el valor es correcto andá siguiendo lo que pasa después y si no lo es fijate qué pasa antes, etc..

En cuanto a D1 y D2 no queda otra opción más que un problema en el código, pero en el circuito real ponele una resistencia limitadora.. aunque supongo que ya la tiene.
 
Gracias por responder! Voy a ir viendo como me decis vos, haber si encuentro algun error.

Todos los led tiene su resistencia limitadora, asi que por ahi todo esta bien.

No sabes que problema podria ser el sobrecalentamiento del sensor lm35? como lo tendria que solucionar....

Gracias!
 
No.. para eso vas a tener que esperar al consejo de algún usuario que la tenga más clara que yo.. pero yo empezaría revisando los parámetros típicos de trabajo de ese sensor en su hoja de datos y comprobar que lo estés haciendo funcionar en la zona adecuada de tensiones y corrientes.
 
Atrás
Arriba