RTC Real time Clock (reloj en timpo real)

Tengo una duda, haber si alguen puede colaborarme, queria saber como funciona el RTC, como puedo programarlo, y como puedo usar sus datos, me dijeron que funciona con protocolo I2C, quisiera una explicacion o un documento que me pueda ayudar.
 
Waldo, para poder ayudarte necesitamos más datos, como el modelo de RTC, el microcontrolador que lo gobernará y el lenguaje de programación usado.

Un saludo
 
El DS1302 se controla mediante el protocolo I2C. Para utilizarlo debes seguir una secuencia determinada de envío de datos, parecida a ésta:
- Inicio de la comunicación I2C
- Envío por puerto I2C de la dirección del DS1302 y del comando de lectura/escritura
- Direccionamiento del registro al que quieras acceder
- Datos a escribir en tal caso
- Parada de la comunicación
Pero el compilador CCS trae de fábrica una librería para controlar el dispositivo. La cuelgo aquí por si no la tienes. Sería bueno que la abrieras para ver cómo funciona internamente todo ésto que te digo en líneas generales.
Un abrazo
 

Adjuntos

  • DS1302.rar
    1.2 KB · Visitas: 243
saluSaludos a todos los foristas, bueno, reabro el tema este del RTC, pues busque y busque y solo encontré este https://www.forosdeelectronica.com/f24/reloj-tiempo-real-rtc-4707/ el detalle de este tema es que se perdieron los links de las imágenes.

Bueno, detallo para que quiero el RTC.

Necesito programar un microcontrolador que haga algunas tareas como prender algunas cosas dado un tiempo exacto, y creo que lo mejor seria contar los minutos, dado un tiempo total, es decir que en una hora de funcionamiento, por así decirlo, un foco debe prenderse tres veces a intervalos iguales, dicho de otra manera: 60/3=20 puesto así, el foco debe prenderse cada 20min, siendo el ultimo ciclo en el minuto 60 (espero se entienda).

Lo que necesito de este RTC son los minutos, bueno, me imagino que ya luego podré ver que es mejor utilizar.

Espero la pronta respuesta de los que me puedan colaborar y desde ya muchas gracias.
dos a todos los foristas, bueno, reabro
 
Depende de lo que necesites, no aclaras si necesitas que pase algo a las horas en punto o así. Si lo que necesitas es que pase algo a la hora de estar funcionando, el rtc no te hace falta.
 
bueno, haber si puedo poner mas claro para que necesito el RTC.
el microcontrolador, va a ir contando los minutos que el rtc me envie.......
nose que tan mas claro quieres que sea, y con que pones que el rtc no me hace falta, tampoco explicas porque???? si te todas maneras necesito MANEJAR un tiempo exacto!!!!
 
Última edición por un moderador:
Al igual que el amigo Scooter, yo también opino que si lo que deseas es que pase algo cada cierto tiempo, lo que necesitas es un temporizador, el cual lo configuras para que cada cierto tiempo pase lo que quieras con el pic. El RTC envía los datos de la hora exacta con la cual fue programado al pic, puede actuar también de temporizador, pero creo que hay mejores opciones.
 
a bueno, haber, lo que pasa es que los ciclos son 1:programables (puede que sea un ciclo como diez ciclos) 2: el tiempo no es una hora (eso fue solo un, por así decir) lo que necesito son 10 o 12 horas, y leí que los temporizadores se desprograman o van variando mucho después de algún tiempo.
 
Última edición por un moderador:
A ver si me explico: Haber hay varias formas de contar segundos, minutos horas y días con total exactitud sin usar un RTC. Lo digo porque te ahorras el gasto de un RTC+batería+cuarzo ya que con el cuarzo del microcontrolador ya es exacto.

Casos posibles, (seguramente habrá mas)
a) Necesitas que algo pase cada día a las 17:45 o bien algo referenciado a la hora "del mundo real", en este caso si que es altamente recomendable un RTC, se podría hacer sin él pero sería complicarse la vida.

b) Necesitas hacer temporizaciones de X tiempo después de encender, pulsar un botón o de que se active un sensor de lo que sea. En este caso no es tan necesario un RTC, se puede hacer sin ningún problema con rutinas de temporización (no se recomiendan las cutre-rutinas del bucle vacío). Esto es válido para cualquier valor de X y en principio es mas fácil hacerlo sin un RTC.

a bueno, haber, lo uqe pasa es que los ciclos son 1:programables (puede que sea un ciclo como dies ciclos) 2: el tiempo no es una hora (eso fue solo un, por asi decir) lo ke necesito son 10 o 12 horas, y lei que los temporizadores se desprograman o van variando mucho despues de algun tiempo.
1 No hay problema en que sean programables
2 Tampoco hay problema

Según entiendo lo que necesitas es un temporizador largo, nada mas.


Te explico mi punto de vista:
- Con RTC
Mas dinero y mas sitio en la placa, mas complicado de buscar componentes
El programa mas o menos igual de complicado
Es mas fácil mantener el estado de funcionamiento si se va el suministro eléctrico y luego vuelve, pero eso tienes que pensar si es bueno o malo, dependerá del proceso pero es posible que sea bueno reiniciar si hay un corte de corriente

- Sin RTC
Mas barato, menos componentes que localizar
El programa igual de complicado
Es un poquito mas complejo conservar el estado si se va el suministro, depende de lo que quieras hacer. Por ejemplo si se va la corriente y vuelve pasada media hora puede que quieras empezar de cero, segur con el trozo que quedaba, seguir con lo que queda menos el tiempo de corte...
Si necesitas temporizar y cortar a las 12h con cortes o sin ellos es mas sencillo con RTC, si necesitas 12h de proceso reiniciando o siguiendo tras el corte no hace falta RTC.
 
Última edición:
al final creo que lo hago con un 555, y si sale mal, bueno, regresare XD le sale mejor a arnold.
otra posibilidad que leía es que se puede tomar la señal de la red eléctrica local (aquí en Bolivia es 50hrz)
la rectificas a media onda y la puedes ir contando, pero no ubique bien como hacerlo, o que otras sugerencias tienen???
 
Última edición por un moderador:
Olvida un 555 para 12h es inviable.
Si, se puede usar la frecuencia de red, de hecho los radio reloj despertador antes lo usaban.
 
pero ya despues del trafo y los diodos me perdi, entiendo que los diodos se ponen en serie con las salidas del trafo para que la honda se vuelva cuadrada, y después se pone a un contador y cada 50 hz, va a ser=1 creo que sería así no?? siendo así, cual sería el contador??? y como haría para que cuente los 50hz y de como resultado uno, que sería el segundo
 
Última edición por un moderador:
Tengo una duda, haber si alguen puede colaborarme, queria saber como funciona el RTC, como puedo programarlo, y como puedo usar sus datos, me dijeron que funciona con protocolo I2C, quisiera una explicacion o un documento que me pueda ayudar.

Esquema.
Fig2403_DS1307.gif


http://www.pic16f84a.org/proteus.html#Proteus_Capitulo_24
 
el aficionado!!!

busque el esquema que pusiste, pero no lo encuentro en el foro, quería preguntar, cual es el valor de Q1 ?
 
Última edición por un moderador:
Atrás
Arriba