TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Cirulo en 28 de Mayo de 2009, 08:49:13

Título: Control de tiempo.
Publicado por: Cirulo en 28 de Mayo de 2009, 08:49:13
Buenas.

Tengo que hacer un sistema de riego automático, que riegue una zona cada 24 horas, y no tengo claro algunos conceptos.

Si uso un reloj interno, con un preescalado, a la larga pierdo mucha precisión, ¿no? Entonces, si debo regar cada día a las 18, al cabo del tiempo puede que riegue a las 19, ¿no?

Por otro lado, si uso un reloj externo será lo mismo, pero con más precisión. Es decir, si uno pierde la hora al mes, el otro la pierde a los 3 meses....

¿Entonces lo suyo es usar un reloj de tiempo real?

Por otro lado, ¿cómo se suele programar ésto? ¿poniendo al micro en un estao latente y que salga de él para contar ciclos o interupciones del reloj?

Saludos.

Título: Re: Control de tiempo.
Publicado por: MLO__ en 28 de Mayo de 2009, 09:58:04
Hola.

Lo mejor es usar un RTC como el DS1307 o el DS1302. Estos poseen oscilador propio y son muy precisos. Para la programacion: se hace en varios lenguajes entre los que estan: C, Basic, ASM, deberias definir cual para comenzar a hacerlo.

Para hacerlo hay varias opciones, se puede poner a trabajar al PIC las 24 horas, no hay problema con eso, revisando los registros del reloj y cuando sea la hora adecuada se activa el sistema de riego.

Saludos
Título: Re: Control de tiempo.
Publicado por: BrunoF en 29 de Mayo de 2009, 02:58:22
No se en que consiste tu proyecto, pero es estricto el horario de encendido? Sino podrías simplificarlo detectando cuando el sol comienza a caer(con un LDR) y encender los regadores al rato y no contar necesariamente "tiempo".
Título: Re: Control de tiempo.
Publicado por: pibe en 29 de Mayo de 2009, 04:13:22
El DS1305 es via SPI y trae 2 alarmas integradas que son programables y cambia el estado de 2 pines para que te interrumpa (o despierte) al pic sin necesidad de estar leyendo el RTC para saber que hora es.

Aquí te dejo un ejemplo que he hecho en asembler : http://www.todopic.com.ar/foros/index.php?topic=24780.msg202091#msg202091

En este ejemplo no he implementado la configuración de las alarmas, pero si lees la hoja de datos del DS1305 podrás hacerlo facilmente. Solamente tendrás que mandarles por SPI los comandos correspondientes para configurar las alarmas.
Título: Re: Control de tiempo.
Publicado por: MLO__ en 29 de Mayo de 2009, 11:20:25
Caramba pibe, que buen dato ....
Título: Re: Control de tiempo.
Publicado por: Cryn en 29 de Mayo de 2009, 22:25:05
muy buen dato, algún RTC así que sea en I2C?
Título: Re: Control de tiempo.
Publicado por: pibe en 02 de Junio de 2009, 05:28:44
Creo que el equivalente (o similar) en I2C es el DS1339

http://datasheets.maxim-ic.com/en/ds/DS1339-DS1339U.pdf