Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

20/10/2012 #1

Avatar de carlitosferar

Comedero para gato - Pet Feeder
Hola:
Perdón por abrir un tema nuevo con algo tan simple pero no sé donde insertar esto, sé que hay muchos post con el tema temporizadores , incluso uno para comedero de peces pero está muerto hace mucho tiempo.

Primero les cuento el proyecto y luego hago una pregunta.

Se trata de de un simple comedero automático (en mi caso para gato).
Basado en un aporte de D@rkbytes:
¿Cómo se usa el módulo TIMER del PIC en PICBasic?
Lo he migrado (como pude) a un 16f628A, mantuve el reloj tal cual y el resto lo hice a fuerza de “IF” que es la única herramienta que domino .

El programita: A parte del reloj (fundamental e indispensable), controla 4 comidas programables en hs y minutos. Permite visualizarlas en cualquier momento . Y ademas dar alguna comida en forma manual fuera de programa.
El cacharro está funcionando bien , el reloj bastante bien también.

Les dejo todo el material que tengo. (Programa y simulación)

Y como no podía ser menos.... va una pregunta:
Le he incorporado una pila 9V (Con sus respectivos diodos) para mantener la memoria del pic ante cortes de energía.
Aparentemente funciona; el PIC se mantiene vivo durante el corte pero al retomar la alimentación a TODO el circuito, EL LCD NO ARRANCA, se queda en esos famosos y exasperantes cuadraditos negros, que desaparecen alegremente al resetear; y como es lógico, perder todo lo guardado.
Es evidente que debo indicarle por programa que refresque la pantalla al reconectar, pero no tengo idea como hacerlo.

Cualquier sugerencia, mas que agradecido.

Un Saludo y Muchas Gracias.

21/10/2012 #2


Con respecto al LCD, puedes hacer que se detecte cuándo no hay energía de línea, y cuándo se retoma, entonces al retomar, tienes que volver a inicializar el LCD, ya que cada vez que se corte la energía del mismo, tiene que inicializarse, aunque sería interesante alimentar también el LCD con la batería, pero la luz de fondo (backlight), dejarlo con la de línea...
21/10/2012 #3

Avatar de carlitosferar

DJ T3 dijo: Ver Mensaje
Con respecto al LCD, puedes hacer que se detecte cuándo no hay energía de línea, y cuándo se retoma, entonces al retomar, tienes que volver a inicializar el LCD, ya que cada vez que se corte la energía del mismo, tiene que inicializarse, aunque sería interesante alimentar también el LCD con la batería, pero la luz de fondo (backlight), dejarlo con la de línea...
Mil Gracias por responder.
Tu planteo es correcto y precisamente, lo que expuse en el desarrollo.
El tema es que, con mis escasos conocimientos no se como incorporar ese comando, como hacer para que el programa reconozca la re-conexión.

Respecto al backligh del LCD la propuesta es mas que acertada, incluso para el estado de standby,
lo que sucede es que para eso debo modificar el PCB cortar la pista y generar una llave en el pin 15.
Además tener en cuenta que el PIC está a tope y ya no tiene pines libres.

Un Saludo y Muchas Gracias.

Edito:
A ver si entiendo: ¿Puede ser que lo que sugieres es alimentar el pin 2 del LCD con la pila; y de esa manera mantenerlo vivo durante el corte y por lo tanto no sería necesario iniciarlo al reconectar?.
Estoy en lo cierto????
21/10/2012 #4


carlitosferar dijo: Ver Mensaje
Mil Gracias por responder.
De nada. Estamos para ayudar.

carlitosferar dijo: Ver Mensaje
El tema es que, con mis escasos conocimientos no se como incorporar ese comando, como hacer para que el programa reconozca la re-conexión.
Con ASM (assambler) no te puedo ayudar, no lo manejo, pero sería cuestión de hacer una función que cuando, ejemplo: si recién empieza a correr el pic, tenga una variable que esté en "0", y con el pin 1 del pic recibiendo energía (1), vaya a la rutina de inicialización del LCD, luego si el pin 1 del pic no reciba energía, genere un "0" en esa variable, por ejemplo, y cuando vuelva a detectar otra vez energía (1), genere un "1" en la variable, que haría correr la rutina de inicialización del LCD otra vez. No se si se entiende.
carlitosferar dijo: Ver Mensaje
Respecto al backligh del LCD la propuesta es mas que acertada, incluso para el estado de standby,
lo que sucede es que para eso debo modificar el PCB cortar la pista y generar una llave en el pin 15.
Además tener en cuenta que el PIC está a tope y ya no tiene pines libres.
Si la luz de fondo (backlight) está constantemente encendida, solo pon un diodo entre la alimentación general, y la alimentación del pic y el LCD, como el dibujo.

carlitosferar dijo: Ver Mensaje
A ver si entiendo: ¿Puede ser que lo que sugieres es alimentar el pin 2 del LCD con la pila; y de esa manera mantenerlo vivo durante el corte y por lo tanto no sería necesario iniciarlo al reconectar?.
Estoy en lo cierto????
Exacto, con el pic y el LCD energizados, no se tendría que reiniciar nada. Fijate en el dibujo anterior.


Saludos
Imágenes Adjuntas
Tipo de Archivo: jpg dj-t3_idea_forosdeelectronica.jpg (244,8 KB (Kilobytes), 116 visitas)
21/10/2012 #5

Avatar de carlitosferar

Wauuu DJ muchísimas gracias, CLARÍSIMO lo tuyo.
Lo de la variable no lo tomo como una solución si no como una lección, me da vergüenza como por ignorancia uno se ahoga en un vaso de agua y la solución resulta tan simple.

Respecto a ASM menos mal que no lo manejas ..me hubieses matado.

Gracias también por la molestia en hacer el esquema:
Si ampliamos una de las fotos que puse primero veras que el apaño de los diodos ya está hecho para el PIC, solo restaría conectarlo al pin 2 del LCD y cortar las pistas que vienen directamente de la fuente.

Ahora dame un tiempo para meterle mano y te cuento los resultados.

Un cordial saludo desde Alicante.

PD: Gracias al moderador NN, por poner, ahora sí, el tema en el sitio correcto.

Imágenes Adjuntas
Tipo de Archivo: jpg com_004.jpg (178,6 KB (Kilobytes), 16 visitas)
21/10/2012 #6


carlitosferar dijo: Ver Mensaje
Wauuu DJ muchísimas gracias, CLARÍSIMO lo tuyo.
De nada...
carlitosferar dijo: Ver Mensaje
Lo de la variable no lo tomo como una solución si no como una lección, me da vergüenza como por ignorancia uno se ahoga en un vaso de agua y la solución resulta tan simple.
Quizás no es ignorancia, sino que te enredas en algo tan simple, que algunas veces parece que fuese el fin del mundo, solo por no prestar atención o por otro motivo desconocido... ...

carlitosferar dijo: Ver Mensaje
Respecto a ASM menos mal que no lo manejas ..me hubieses matado.
Por ahora manejo C, y por ahí algo de ASM (pero cosas muy simple).
carlitosferar dijo: Ver Mensaje
Gracias también por la molestia en hacer el esquema:
Siempre y cuando sea para aclarar o apoyar una idea, no viene mal un dibujito... (de nada)...
carlitosferar dijo: Ver Mensaje
Si ampliamos una de las fotos que puse primero veras que el apaño de los diodos ya está hecho para el PIC, solo restaría conectarlo al pin 2 del LCD y cortar las pistas que vienen directamente de la fuente.
... Se me pasó por alto...
carlitosferar dijo: Ver Mensaje
Ahora dame un tiempo para meterle mano y te cuento los resultados. Un cordial saludo desde Alicante.
Todo el que necesites, siempre y cuando comentes los resultados, y si surge, los problemas...

Saludos...
23/10/2012 #7

Avatar de carlitosferar

DJ T3 dijo: Ver Mensaje
De nada...
Todo el que necesites, siempre y cuando comentes los resultados, y si surge, los problemas...
Resultados y Conclusiones:

1- Alimentar el LCD con la pila: Correcto!, el tema es que en este tipo de display sin backligh no se ve
prácticamente NADA .
Pero está bien para cerciorarse de que queda funcionando.

2- De todas maneras al reconectar la alimentación se reseteaba.
La respuesta, muy simple, me la dio Proteus y unos cuadraditos rojos:
Las resistencias pull-up !!!.
Esto es para tenerlo en cuanta al programar. En estos casos sería lo ideal excitar los pines con 1s y no con 0s.
Y Esta era la cuestión: Al cortar la alimentación toda la botonera se ponía en 0 y producía el error.
Luego me pondré a reveer el programa, pero de momento lo solucioné, cortando pista y alimentando las Rs con la pila. (Imagen PCB)

3- Resultado mas que satisfactorio, creo que la versión Beta 1.0 se puede dar por terminada.

4- Ventajita gratis: Si durante el corte saltó una comida memorizada: esta se dispara y queda en espera de la respuesta del switch, como el motor esta desconectado sigue a la espera hasta que se restablezca la alimentación. O sea, que aunque se pase la hora igual sirve la esa comida.

De nuevo Mil Gracias DJ T3. Y quedo a disposición.

Un Saludo!

Imágenes Adjuntas
Tipo de Archivo: jpg com_005.jpg (246,2 KB (Kilobytes), 16 visitas)
Tipo de Archivo: jpg com_006.jpg (182,0 KB (Kilobytes), 20 visitas)
23/10/2012 #8

Avatar de seaarg

No se como es el programa, pero un tip para que tengas en cuenta.

Si el corte de energia duro durante 2 comidas, ojo que el dispenser no le tire la cantidad de dos comidas al pobre gato porque va a quedar demasiado lleno!
23/10/2012 #9

Avatar de carlitosferar

Gracias por el comentario:
Da la casualidad de que no sucede, ya que la última alarma anula la anterior.
Pero de haber sucedido no sería tan malo ya que le estaba debiendo 2 comidas.
De todas manera vale para tener en cuenta en otros proyectos, por ej. para peces habría que tener mas cuidado. .
Un Saludo.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.