TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Noelillo en 25 de Enero de 2015, 20:42:00

Título: Problemas con el DS1307
Publicado por: Noelillo en 25 de Enero de 2015, 20:42:00
Estoy con un proyecto que utilizo el DS1307, a los pocos minutos (5min o 1minu) todos los dígitos minutos,seg,horas , pasan a valer 48 (48:48:48). Comienza poco a poco... Me explico: cuando esta contando por ejemplo 1:20:45 pasa, en una decimas de segundo a 48:48:48 y en otras decimas de segundo a 1:20:50... hasta que al final se queda en 48:48:48.

He utilizado el ds1307 en otros proyectos y siempre me pasa algo. en un riego automatico que lo utilice, al pasar los días veía que todos los valores eran FF:FF:FF. y dejaba de funcionar...

Esto le pasa a alguien más ???

 
Título: Re: Problemas con el DS1307
Publicado por: dogflu66 en 25 de Enero de 2015, 22:12:53
No lo he tenido que usar en aplicación práctica, pero en pruebas lo he estado controlando varios días e iba bien, incluso al ponerlo en marcha después de varias semanas me ha funcionado correctamente.
Título: Re: Problemas con el DS1307
Publicado por: Noelillo en 26 de Enero de 2015, 13:30:10
Utilizas interrupciones?

Estoy dándole vueltas y a ver si otro circuito conectado a i2c me provoca este problema...

Cada vez q tengo una idea con un reloj, me tiritan las piernas.
Título: Re: Problemas con el DS1307
Publicado por: dogflu66 en 26 de Enero de 2015, 20:44:22
Siempre utilizo interrupciones.
Título: Re: Problemas con el DS1307
Publicado por: elreypic2 en 26 de Enero de 2015, 22:51:26
Noelillo,

Podrías subir tu codigo y tu esquemático para echarles un vistazo?

Saludos,

Elreypic.
Título: Re: Problemas con el DS1307
Publicado por: krizpin en 27 de Enero de 2015, 19:40:07
Hola buenas..
Perdonar quizas no sea el hilo donde deberia de preguntar esto pero puede decirme alguien como pasar el codigo bcd que saca el ds1307 ,,ds3231 etc a decimal??? uso proton y no tengo ni idea como separar el bcd de 8 bits en decimal..Graciasss
Título: Re: Problemas con el DS1307
Publicado por: KILLERJC en 27 de Enero de 2015, 23:19:30
Hola buenas..
Perdonar quizas no sea el hilo donde deberia de preguntar esto pero puede decirme alguien como pasar el codigo bcd que saca el ds1307 ,,ds3231 etc a decimal??? uso proton y no tengo ni idea como separar el bcd de 8 bits en decimal..Graciasss

No entiendo por que deseas pasar BCD a decimal ya que te lo esta claramente dando en decimal!
Utiliza un BCD packed ( es decir 2 numeros BCD en un byte)
el nibble alto (b7:b4) seria tu decenas y tu nibble bajo (b3:b0) tus unidades

Ejemplo:
Si te devuelve en la parte de segundos algo asi:
0x45  o en binario : 0100 0101

Serian 4 decenas y 5 unidades, lo cual es 45 en decimal
Tenes una conversion directa, lo cual lo hace mucho mas facil para mostrarlo en un LCD, sin necesidad de pasarlo a BCD o utilizar otro artilugio.
Título: Re: Problemas con el DS1307
Publicado por: Noelillo en 28 de Enero de 2015, 04:43:53
DOGFLU66:

Yo en Proton no he sido capaz de hacer funcionar una INTERRUPCION.

Los programillas que hago utilizo siempre o casi siempre algo asi:
 Inicio:
 Gosub Teclado
 GosuB Pantalla
 Gosub Reloj
Goto inicio
Meto un interrupción y cuando se produce se bloquea.

Puedes poner un ejemplo con interrupión con el ds1307?

ElReyPic:

He cambiado el DS1307 por otro nuevo, lo estoy probando en estos momento y va bien...

Kvizpin:

Quieres hacer un reloj en 7segmentos?
Título: Re: Problemas con el DS1307
Publicado por: dogflu66 en 29 de Enero de 2015, 07:29:03
No creo que sirva de mucho un ejemplo para el uso de interrupciones porque no uso el mismo lenguaje.

La precaución que hay que tener cuando se utilizan las interrupciones son dos: si se utiliza I2C por software hay que deshabilitar las interrupciones al principo de la subrutina o función de control del I2C y activar al salir, y si se usa I2C por hard (modulo I2C) no seria necesario.

Y a nivel de hard (diseño) cuando se usa I2C y uno de los dispositivos o todos tienen los pin programables, se insertan resistencias limitadoras en el bus del dispositivo en los pin multifunción, esto evita que durante las pruebas o incluso durante el arranque se produzcan lucha de niveles y termine el dispositivo más débil estropeándose.

Normalmente no se le da importancia en los foros al diseño del hardware, pero el hardware es la piedra angular de los proyectos y no es nada fácil, hay que distinguir la diferencia del hardware de libro y del real.
Título: Re: Problemas con el DS1307
Publicado por: Noelillo en 31 de Enero de 2015, 13:36:03
Yo lo tengo puesto con dos resistencias de 4k7 a +5vcc el los dos pines SCL y SDA.
Están conectados, el DS1307, tres memorias 24lc256 y un pcf8574p.

 
Título: Re: Problemas con el DS1307
Publicado por: dogflu66 en 31 de Enero de 2015, 21:54:47
Usas la configuración de libro.
Título: Re: Problemas con el DS1307
Publicado por: Noelillo en 01 de Febrero de 2015, 16:31:41
Hay otra manera de hacerlo???
Título: Re: Problemas con el DS1307
Publicado por: dogflu66 en 01 de Febrero de 2015, 19:14:23
.
.
.
Y a nivel de hard (diseño) cuando se usa I2C y uno de los dispositivos o todos tienen los pin programables, se insertan resistencias limitadoras en el bus del dispositivo en los pin multifunción, esto evita que durante las pruebas o incluso durante el arranque se produzcan lucha de niveles y termine el dispositivo más débil estropeándose.
.
.
.
Título: Re: Problemas con el DS1307
Publicado por: Noelillo en 02 de Febrero de 2015, 09:09:56
Muy bien... 4k7 son adecuadas para q no se rompan los circuitillos..
Título: Re: Problemas con el DS1307
Publicado por: dogflu66 en 02 de Febrero de 2015, 09:44:39
Las resistencias de 4K7 que indicas son resistencias de polarización del bus a positivo, porque los modulos que se conectan al bus I2C en teoria no pueden suministrar positivo, solo suministran negativo (estado bajo) y si algo no da positivo al bus este no puede funcionar. Los pin de los dispositivos I2C solo pueden trabajar generando estado bajo y el otro en espera como entrada (alta impedancia).

Las resistencia de las que hago mención son resistencias limitadora (nada que ver con  resistencias de polarización), estas resistencias son de bajo valor y van en serie con el bus.

Te recomiendo que revises el funcionamiento del I2C, los pin I2C de estos dispositivos son tipo colector abierto, por lo que no pueden generar positivo, solo estado bajo o masa.

Recomiendo que leas sobre:
Resistencias de polarización (Pull-Up, Pull-Down).
Resistencias limitadoras.
Bus tipo colector abierto.
Bus I2C (hardware).
Título: Re: Problemas con el DS1307
Publicado por: siniestro en 22 de Abril de 2015, 16:14:00
A mi pasaba algo similar pero yo tenia el DS1307 en un modulo que fabriqué y lo insertaba en mi protoboard, soy descuidado y a veces lo extraje con la alimentacion encendida, igual me pasó cuando lo transportaba, supongo que la vibracion movia la bateria que tenia incluida, pasaba exactamente igual, solo mostraba 48:48:48, otro problema que me dio fué que se quedaba en una hora fija y no pasaba de ahi..
Título: Re: Problemas con el DS1307
Publicado por: flacomaida en 03 de Junio de 2015, 22:29:03
Hola a todos por aquí! Siniestro, Quería saber si pudiste solucionar el tema de que se detiene en una hs fija el reloj? Ami me pasa lo mismo con un reloj con temperatura y fecha que hice con un DS1307. Si bien lo tengo funcionando, algunas veces se queda bloqueado en una hs y no se mueve hasta que  actualizo la hs nuevamente.
Alguien sabe que podría ser?  Ya revise la batería, cristal, masa. Y esta todo bien!
Saludos!
Título: Re: Problemas con el DS1307
Publicado por: soymoe en 09 de Junio de 2015, 18:36:56
Hola a todos por aquí! Siniestro, Quería saber si pudiste solucionar el tema de que se detiene en una hs fija el reloj? Ami me pasa lo mismo con un reloj con temperatura y fecha que hice con un DS1307. Si bien lo tengo funcionando, algunas veces se queda bloqueado en una hs y no se mueve hasta que  actualizo la hs nuevamente.
Alguien sabe que podría ser?  Ya revise la batería, cristal, masa. Y esta todo bien!
Saludos!

Definitivamente el un error de programacion
Título: Re: Problemas con el DS1307
Publicado por: Noelillo en 27 de Julio de 2015, 15:27:45
Hice otro reloj y esté lo deje conectado y funciono de puta madre 2 años y ahora a que no sabéis que número pone?


48:48:48 tanto en las horas como fecha... Es cojonudo el DS. Tienes un reloj cada 2 años por 3€. No está mal, no?
Título: Re: Problemas con el DS1307
Publicado por: siniestro en 03 de Agosto de 2015, 23:53:18
Pues ya no falló, llegué a pensar que era problemas con la alimentación, como en el protoboard, usando pilas, los cablecitos se movian mucho y quizá eso alteraba algo. .