Go Down

Topic: [Solved] RTC 1307 Problem (Read 4543 times) previous topic - next topic

000

Hi all
I am working on a project based on RTC clock DS1307. I have been using it without any problems for a couple of months now without a problem.
this is what i used. http://www.glacialwanderer.com/hobbyrobotics/?p=12
But during the last week RTC is behaving strangely... ie) it is not running. It runs sometimes when I touch the 32khz with my fingers but whenever I remove my fingers it stops (I can assure you it is not loose connection problem). What could be the problem?? I am using a breadboard. I tried different breadboards, different Crystals, different ICs even but still problem persists...
It has to be crystal I guess... but i changed like 7-8 crystals but still nothing...
IC is fine because I can set and read time from it. Problem is that it is not "running".
Is it some ground problem of the crystal (Because something like that is mentioned in the datasheet of 1307)?? I had shorted the arduino gnd and 3V battery gnds and I am not using any capacitors...
Can someone help me fix this?? because its driving me nuts and I am pretty sure its not a wiring problem...
Thanks in advance.

jackrae

Have you tried changing its battery ?

000

Yup.. Checked with a multimeter. VBAT pin is receiving 3V. even tried a potential divider circuit to get 3v from Arduino 5V. Even that didnt make it work :(

Terry King

Do you have some decoupling capacitor (say .1 uF) across Vcc and Gnd near the chip??

Are you SURE ground is not flaky or bouncing on the breadboard etc? Temporarily double up wires to Ground and Vcc.   There is the occasional bad manufactured-jumper wire.

Regards, Terry King  ..On the Red Sea at KAUST.edu.sa
terry@yourduino.com  LEARN! DO! (Arduino Boards, Sensors, Parts @ http://yourduino.com

000

I havent put a decoupling capacitor... is it necessary??
and GND is not flaky because I have wired it in different breadboards using different wires..


000

I have just now tried putting the .1uF between  Vcc and GND of the breadboard. but still nothing... It works only when I touch it :( Should I specifically place the capacitor at some place? or put any capacitors for crystals??

Terry King

Wow, everything is right and it still doesn't work.. 

This simply means there is something else we don't understand...

Ideas anyone??

Do you have pull-up resistors??

Have you tried another Arduino?? 

Hmmm....
Regards, Terry King  ..On the Red Sea at KAUST.edu.sa
terry@yourduino.com  LEARN! DO! (Arduino Boards, Sensors, Parts @ http://yourduino.com

000

yup. Pull up resistance used are 2.2k and connected as given in http://www.glacialwanderer.com/hobbyrobotics/?p=12
and yes I checked with another arduino still works only when I touch. :(
Cant figure out why its working erratically and its driving me nuts...  =(

liudr

Upload a picture of how you were touching the crystal on the cap or across the leads?

floresta

Quote
It has to be crystal I guess... but i changed like 7-8 crystals but still nothing...
IC is fine because I can set and read time from it. Problem is that it is not "running".
Is it some ground problem of the crystal (Because something like that is mentioned in the datasheet of 1307)?? I had shorted the arduino gnd and 3V battery gnds and I am not using any capacitors...
Can someone help me fix this?? because its driving me nuts and I am pretty sure its not a wiring problem...


The Maxim DS1307 data sheet shows a recommended layout for the crystal in Figure 2.  This would imply that not only are the electrical characteristics of the crystal important but so is the physical layout.  I have successfully used a pc board layout that did not include the recommended ground plane, but a solderless breadboard introduces a lot of extraneous capacitance which may be your problem.

Don

000

Quote
Upload a picture of how you were touching the crystal on the cap or across the leads?

I am touching the metal cap on top not the leads... and touching always doesnt make it run (Abt 80% of the time when I touch it runs) and that too not always at the correct speed..

Quote
I have successfully used a pc board layout that did not include the recommended ground plane, but a solderless breadboard introduces a lot of extraneous capacitance which may be your problem.

I too am guessing this to be the reason... any way to correct this??

liudr


Quote
Upload a picture of how you were touching the crystal on the cap or across the leads?

I am touching the metal cap on top not the leads... and touching always doesnt make it run (Abt 80% of the time when I touch it runs) and that too not always at the correct speed..

Quote
I have successfully used a pc board layout that did not include the recommended ground plane, but a solderless breadboard introduces a lot of extraneous capacitance which may be your problem.

I too am guessing this to be the reason... any way to correct this??


1) Ok, that is a bit strange.
2) Use a perf board to build your circuit on or a PCB kit?

Like this:
http://www.inmojo.com/store/inmojo-market/item/rtc-module-ds1340z/

or this:

http://www.sparkfun.com/products/10160

This is my version ;)

http://www.inmojo.com/store/liudr-arduino-and-physics-gadgets/item/rtc-real-time-clock-module-%2B-eeprom-slot/

jluciani

My guess is that crystal capacitance does not match the DS1307 requirements.
What is the Cl of the crystal? Verify that this matches the DS1307 requirements.
Does the ESR specification of the crystal match the drive capabilities
of the DS1307? Both of these specifications are important for stable operation.

For low frequency crystals I use a guard ring around the crystal. These
devices are high-impedance and are susceptible to noise.
Pictures of my layouts are at http://wiblocks.luciani.org/PICO/PICO1TRC-index.html

(* jcl *)
www: http://www.wiblocks.com
twitter: http://twitter.com/wiblocks

000

Quote
My guess is that crystal capacitance does not match the DS1307 requirements.
What is the Cl of the crystal? Verify that this matches the DS1307 requirements.
Does the ESR specification of the crystal match the drive capabilities
of the DS1307? Both of these specifications are important for stable operation.

How do I find this? because I I got the crystals from a local shop and no way to know the values... I still am thinking its the capacitance problem of the crystals..
By the way what is CI and ESR?

Quote
Use a perf board to build your circuit on or a PCB kit?

I tried building on General purpose line PCB board earlier but it didnt work same problem... but I will give it a try once more...
Cant use/order pref board its too expensive for the stuff I am building considering the shipping charges...

jluciani

Cl is load capacitance. For the DS1307 the required load capacitance is 12.5pF.
This capacitance is internal to the DS1307.

ESR is Effective Series Resistance. For the DS1307 the maximum ESR is 45KOhms.

These values effect startup and stability of the clock. You need the datasheet
for the crystal to get these numbers. If your layout is correct (see the MAXIM
datasheet) the best thing to do is to order a couple of crystals from Mouser
or Digikey.

(* jcl *)
www: http://www.wiblocks.com
twitter: http://twitter.com/wiblocks

Go Up