Autor Tema: Real Time Clock o el DS1307 desatado  (Leído 230439 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Wirry85

  • PIC10
  • *
  • Mensajes: 11
Re: Real Time Clock o el DS1307 desatado
« Respuesta #180 en: 26 de Septiembre de 2011, 17:09:59 »
Muchas gracias, le echare un vistazo utilizo el CCS.

Saludos.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Real Time Clock o el DS1307 desatado
« Respuesta #181 en: 08 de Octubre de 2011, 00:20:10 »
Hola!! Una preguntita, puedo utilizar esta libreria en un PIC que no tenga i2c? En CCS con la directiva #use i2c estaria implementando el protocolo por software, cierto?
Gracias!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Real Time Clock o el DS1307 desatado
« Respuesta #182 en: 08 de Octubre de 2011, 00:58:38 »
Efectivamente, la emulación I2C por software que implementa CCS funciona perfectamente, con excepción de la interrupción de dato recibido. Si no usas esta interrupción en la librería, te funcionará bien.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Real Time Clock o el DS1307 desatado
« Respuesta #183 en: 08 de Octubre de 2011, 01:46:16 »
Muchas gracias Manolo!! Lo necesito para el llaverito giratorio ;) pienso ponerle reloj jeje.
Saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Guevu

  • PIC10
  • *
  • Mensajes: 8
Re: Real Time Clock o el DS1307 desatado
« Respuesta #184 en: 14 de Octubre de 2011, 11:06:46 »
Buenas tardes estoy usando un ds1307 con un pic18f452, usando la libreria me funciona pero me  va un pelin rapido, podria ser por el cristal? que es lo que hay que soldar a tierra?, las dos patillas del cristal, o la carcasa cilindrica exterior?, tiene que ser de 12.5pF obligatoriamente???

Gracias gente, haceis un excelente trabajo

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Real Time Clock o el DS1307 desatado
« Respuesta #185 en: 14 de Octubre de 2011, 11:30:19 »
Las patillas no van a GND! Y tampoco necesita capacitor externo.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Real Time Clock o el DS1307 desatado
« Respuesta #186 en: 14 de Octubre de 2011, 11:31:38 »
Hola Guevu:
            cito a un amigo que hizo un artículo al respecto:
 Una consideración especial se debe tener a la hora de montar el cristal de 32768Khz. Primero debes saber que será muy difícil lograr un circuito impreso óptimo para obtener una precisión ideal en el funcionamiento del reloj. Luego, debes comprender también que es de suma rareza encontrar cristales que resuenen a la frecuencia exacta que indica su nomenclatura. Es decir, lo normal será encontrar cristales con una “tolerancia” de error que a lo largo de los días (o meses) se haga notable en algunos segundos de atraso o adelanto de la hora grabada. Si las variaciones son de muchos minutos en pocas semanas, sin dudas debemos cambiar el cristal por otro de mejor calidad. Pero si optas por un cristal común (sin demasiada selección especial), con un lazo de alambre conectado a GND (como ves en la imagen superior), con un buen plano de tierra en los alrededores de su conexión (tal como indica la hoja de datos del DS1307) y con un largo adecuado de los pines de conexión, debes lograr una pequeña variación de pocos segundos en uno o dos meses. NUNCA obtendrás una precisión absoluta pero al menos puedes aproximarte mucho a un excelente funcionamiento. Observa los planos de tierra en el circuito impreso.



fuente : http://www.neoteo.com/ds1307-reloj-en-tiempo-real-con-18f2550
« Última modificación: 14 de Octubre de 2011, 11:34:06 por jukinch »
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Real Time Clock o el DS1307 desatado
« Respuesta #187 en: 14 de Octubre de 2011, 12:24:46 »
Lo que va a GND es el pin VBat si no usas una batería.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado JOJOJORGE5

  • PIC16
  • ***
  • Mensajes: 167
Re: Real Time Clock o el DS1307 desatado
« Respuesta #188 en: 15 de Octubre de 2011, 21:37:00 »

fuente : http://www.neoteo.com/ds1307-reloj-en-tiempo-real-con-18f2550

Pues si esa configuración la vi también en muchas placas base de PC solo que en ese caso al ser placas multilayer la carcasa del cristal iba soldada directamente al plano de tierra.
si ellos la usan debe ser buena.

Desconectado bmfranky

  • PIC16
  • ***
  • Mensajes: 165
    • La Tienda De Fran
Re: Real Time Clock o el DS1307 desatado
« Respuesta #189 en: 04 de Noviembre de 2011, 09:47:17 »
Buenas tardes estoy usando un ds1307 con un pic18f452, usando la libreria me funciona pero me  va un pelin rapido, podria ser por el cristal? que es lo que hay que soldar a tierra?, las dos patillas del cristal, o la carcasa cilindrica exterior?, tiene que ser de 12.5pF obligatoriamente???

Gracias gente, haceis un excelente trabajo

Según el datasheet, el cristal tiene que ser 12,5pf compatible.

Visiten La Tienda De Fran ;-) Aqui. y mi nueva Web Aqui.

Desconectado bmfranky

  • PIC16
  • ***
  • Mensajes: 165
    • La Tienda De Fran
Re: Real Time Clock o el DS1307 desatado
« Respuesta #190 en: 04 de Noviembre de 2011, 10:01:48 »
Hola chicos, aprovecho para preguntar, si les sabría mal, que pusiese un enlace directo a este hilo, en la descripción del articulo, de unos kits de RTC DS1307 que he puesto a la venta en ebay, la verdad es que no lo he puesto porque no querría que nadie se sintiera ofendido, el motivo de insertar el enlace, seria el de proporcionarle ejemplos y ayuda a los usuarios que me compraran el kit.

El Kit es este Kit DS1307

Si los señores moderadores, creen que incumplo alguna norma al postear esto ,en esta sección, por favor no duden en mover lo, o eliminarlo si lo creen conveniente, repito que no quiero molestar a nadie ni mi interés es el de incentivar el negocio, mas halla de presentar el kit que vendo, para que sepan donde quiero insertar el enlace.
« Última modificación: 02 de Enero de 2012, 21:07:32 por bmfranky »
Visiten La Tienda De Fran ;-) Aqui. y mi nueva Web Aqui.

Desconectado juankcba

  • PIC10
  • *
  • Mensajes: 7
Re: Real Time Clock o el DS1307 desatado
« Respuesta #191 en: 15 de Mayo de 2012, 06:15:07 »
Hola a todos los del foro... resulta que estoy en una pequeña disputa con mi ds1307 y no logro dar en que estoy haciendo mal... implemento dos funciones una para inicializar el ic anterior al while(1) y la otra para leer los datos del ic, utilizo un cristal de 20Mhz y el pic 18f67j10 sin embargo aca estoy varado.

Código: [Seleccionar]
void RTF(void)
{
unsigned char sec, min, hr, mon, year, date, day;


OpenI2C1(MASTER,SLEW_OFF);
SSPADD =0x31;
 
 IdleI2C1();   StartI2C1();  IdleI2C1();
 
 if (!DataRdyI2C1())
      WriteI2C1(0b11010000); //address of DS1307.
 IdleI2C1();
 if (!DataRdyI2C1())
     WriteI2C1(0x00); // Position the address pointer to 0.
 IdleI2C1();
 if (!DataRdyI2C1())
     WriteI2C1(0x00); // Clear seconds register and CH bit.
 IdleI2C1();
 
 StopI2C1();
//****************  Date and Time ********************//
 hr  = 0b01100111; // Set to 12 hour format.
 min = 0b00000011;
 sec = 0b00000000; // Oscillator enabled.
 day = 0b00000001; // Set 1 = Sunday.
 date= 0b00000001;   // Date set to 1st.
 mon = 0b00000001;   // Month set to January.
 year= 0b00000100;   // Year set to 2008.
//****************  Transmit Time and Date ********************//
 
 StartI2C1();
 IdleI2C1();
 
 if (!DataRdyI2C1())
    WriteI2C1(0b11010000); //address of DS1307.
 IdleI2C1();
 
 if (!DataRdyI2C1())
 WriteI2C1(0x00); // Position the address pointer to 0.
 IdleI2C1();
 
 if (!DataRdyI2C1())
    WriteI2C1(sec);
 IdleI2C1();
 
 if (!DataRdyI2C1())
     WriteI2C1(min);
 IdleI2C1();
 
 if (!DataRdyI2C2())
    WriteI2C1(hr);
 IdleI2C1();
 
 if (!DataRdyI2C1())
     WriteI2C1(day);
 IdleI2C1();
 if (!DataRdyI2C1())
    WriteI2C1(date);
 IdleI2C1();
 if (!DataRdyI2C1())
    WriteI2C1(mon);
 IdleI2C1();
 if (!DataRdyI2C1())
     WriteI2C1(year);
 IdleI2C1();
 if (!DataRdyI2C1())
   
 WriteI2C1(0x00);
 IdleI2C1();
 StopI2C1();
}


y la funcion para leer es

Código: [Seleccionar]
void RTC(void)
{
unsigned char seconds,minutes,hours,day,date,month,year,dow;

 StartI2C1();
 IdleI2C1();
 
 if (!DataRdyI2C1())
    WriteI2C1(0xd0); //address of DS1307.
 IdleI2C1();
 
 if (!DataRdyI2C1())
    WriteI2C1(0x00); // Position the address pointer to 0.
 IdleI2C1();
 StartI2C1();
 IdleI2C1();
 
 if (!DataRdyI2C1())
     WriteI2C1(0xd1); // Direction bit set to read.
 IdleI2C1();
//*********************** Reception *********************//
 if (DataRdyI2C1())
     seconds = ReadI2C1();  IdleI2C1();   AckI2C1();  IdleI2C1();
 if (DataRdyI2C1())
     minutes = ReadI2C1();  IdleI2C1();   AckI2C1();  IdleI2C1();
 if (DataRdyI2C1())
     hours = ReadI2C();  IdleI2C1();  AckI2C1();  IdleI2C1();
 if (DataRdyI2C1())
     day = ReadI2C1();  IdleI2C1();  AckI2C1();  IdleI2C1();
 if (DataRdyI2C1())
     date = ReadI2C1();  IdleI2C1();  AckI2C1();  IdleI2C1();
 if (DataRdyI2C1())
     month = ReadI2C1(); IdleI2C1();   AckI2C1();  IdleI2C1();
 if (DataRdyI2C1())
      year = ReadI2C1();  IdleI2C1();  NotAckI2C1();  IdleI2C1();
 StopI2C1();

deco(16,seconds);


}

la funcion deco lo unico que hace es desgoblar en 8 bits y mostrarlos en un glcd bit x bit... el problema es que cuando inicio el pic leeo 0000 0000 y al segundo leo 0000 0001... pero queda ahi y se que no esta tildado porque se ven actualizan otras cosas en el glcd cosa que sigue funcionando el codigo...

Cualquier ayuda sera bienvenida y perdon si revivo el post! es q despues de unas cuantas horas y de probar codigos ya no se que puede ser... este pic tiene 2 I2C los use a los dos tambien utilice las configuraciones  DDRDbits.RD6=1; DDRDbits.RD5=1; y  DDRCbits.RC4=1;  DDRCbits.RC3=1;

Saludos

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Real Time Clock o el DS1307 desatado
« Respuesta #192 en: 15 de Mayo de 2012, 07:54:12 »
Tienes tus pullups puestas? 104 por todos lados? Revisa conexiones

Desconectado juankcba

  • PIC10
  • *
  • Mensajes: 7
Re: Real Time Clock o el DS1307 desatado
« Respuesta #193 en: 15 de Mayo de 2012, 22:34:15 »
Si claro que las tengo puestas a vcc y también he probado diferentes resistencias pero nada

Desconectado jlaguna

  • PIC10
  • *
  • Mensajes: 2
Re: Real Time Clock o el DS1307 desatado
« Respuesta #194 en: 19 de Noviembre de 2013, 16:39:48 »
Buena tarde señores, tengo una inquietud e probado el programa, pero no veo el funcionamiento de byte dow para inicializar el DS1307:

void ds1307_set_date_time(byte day, byte mth, byte year, byte dow, byte hr, byte min, byte sec)

Entendí en un principio que byte year eran los dos primeros digitos del año(20) y dow los menos significativos (13), pero en realidad al escribirlos asi no lo toma me escribe es 203, por favor me pueden colaborar como se deben ingresar correctamente 2013, o es que el ds1307 solo usaría el 13 según lo que veo.

gracias.