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:
https://www.forosdeelectronica.com/f24/usa-modulo-timer-pic-picbasic-33911/#post601848
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 (n).

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.:oops:

Cualquier sugerencia, mas que agradecido.

Un Saludo y Muchas Gracias.

 

Adjuntos

  • Comedero 12MHz.rar
    10.5 KB · Visitas: 32
  • DARLE DE COMER AL GATO PRUEBA 001.rar
    39.3 KB · Visitas: 23
  • com_002.jpg
    com_002.jpg
    201.6 KB · Visitas: 55
  • com_001.jpg
    com_001.jpg
    136.7 KB · Visitas: 52
  • com_003.jpg
    com_003.jpg
    168.3 KB · Visitas: 51
  • Tablero_Com-Gato_03.JPG
    Tablero_Com-Gato_03.JPG
    50.3 KB · Visitas: 45
Última edición:
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...
 
Última edición por un moderador:
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????
 
Última edición:
Mil Gracias por responder.
De nada. Estamos para ayudar. :cool:

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.
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.
dj-t3_idea_forosdeelectronica.jpg
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
 
Wauuu DJ muchísimas gracias, CLARÍSIMO lo tuyo.:aplauso:
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.:eek:hno:

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.

 

Adjuntos

  • com_004.jpg
    com_004.jpg
    178.6 KB · Visitas: 17
Wauuu DJ muchísimas gracias, CLARÍSIMO lo tuyo.:aplauso:
De nada...
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... ;) ...:LOL:

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).
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)...
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.
:eek:hno:... Se me pasó por alto... :rolleyes:
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... (y)
 
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!

 

Adjuntos

  • com_005.jpg
    com_005.jpg
    246.2 KB · Visitas: 17
  • com_006.jpg
    com_006.jpg
    182 KB · Visitas: 21
Última edición:
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! ;)
 
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.
 
Atrás
Arriba