TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado 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.
-
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
-
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".
-
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.
-
Caramba pibe, que buen dato ....
-
muy buen dato, algún RTC así que sea en I2C?
-
Creo que el equivalente (o similar) en I2C es el DS1339
http://datasheets.maxim-ic.com/en/ds/DS1339-DS1339U.pdf