Forum: Mikrocontroller und Digitale Elektronik Real Time Clock ds1302 funktioniert nicht zu 100%


von Tristan P. (tristan_p)


Lesenswert?

Guten Tag,

ich habe ein ds1302 der mir dir Zeit halten soll. Habe ihn nach 
folgender schaltung aufgebaut und betreibe ihn mit einem Arduino Uno R3.

Es ist mir möglich die Zeit zu setzen, der DS1302 speichert diese dann 
auch.
Es ist mir möglich die Zeit zu lesen und zu verarbeiten.
Es ist mir nicht möglich die Zeit auf dem DS1302 weiterlaufen zu lassen. 
Es ist als ob dieser chip alles kann was ich benötige, bis auf die 
hauptfunktion, die Zeit selbstständig weiterzählen zu lassen.
Wenn ich lese, bekomme ich immer die Zeit die ich gesetzt habe.

Ausschnitt aus meinem Code ist gerade nicht verfügbar, glaube ich aber 
auch nicht notwendig. Habe mir eine Testumgebung aufgebaut, in der ich 
die zeit schreibe (kalppt), warte, und dann die zeit lese (klappt). Am 
arduino sollte es nicht liegen, da ich ja alles mit dem chip machen 
kann.

Bräuchte mal einen denkanstoß woran es liegen könnte.
ps: wenn ich den 32.768hz uhrenquarz wegnehme, kann ich das oben 
beschriebene immernoch machen (logisch weil er den nicht braucht um 
lesen/schreiben zu können), was aber bedeuten würde, dass die 
fehlerquelle quarz nicht ausgeschlossen ist, denn zum zeit weiterlaufen 
lassen benötigt er den doch, oder?

gruß, Dankeschön

von Nico (nico123)


Lesenswert?

Schaltung?

von Tristan P. (tristan_p)


Lesenswert?

Die hatte ich vergessen einzufügen.. sorry:
http://www.maximintegrated.com/images/qv/2685.gif

von Karl H. (kbuchegg)


Lesenswert?

Tristan Pajtler schrieb:
> Die hatte ich vergessen einzufügen.. sorry:
> http://www.maximintegrated.com/images/qv/2685.gif

Super.
Das ist die Schaltung wie sie sein SOLLTE!
Und was hast du tatsächlich aufgebaut?

Leute. Es hilft nicht bei der Fehlersuche, wenn ihr Links auf Web-Seiten 
postet, auf denen man sehen kann, wie die Dinge sein SOLLTEN. Irgendwas 
ist bei euch anders, denn sonst würde das ja funktionieren.
Du schickst ja auch nicht die Hersteller-Pläne von Citroen in deine 
Werkstatt, wenn du ein Problem mit deinem C4 hast, sondern bringst DEIN 
Auto höchstpersönlich vorbei.

von Peter D. (peda)


Lesenswert?

Das CLOCK HALT FLAG ist richtig gesetzt?

Peter

von Nico (nico123)


Lesenswert?

Hast Du das Clock-Halt-Flag auf 0 gesetzt?

von Alexander U. (alexander_u)


Lesenswert?

Hallo,

Ich wette du hast nicht das "clock halt"-bit auf 0 geschrieben. 
Defaultmäßig ist dies auf 1 und die Zeit zählt nicht.

siehe Datenblatt:
"CLOCK HALT FLAG
Bit 7 of the seconds register is defined as the clock halt (CH) flag. 
When this bit is set to logic 1, the clock oscillator is stopped and the 
DS1302 is placed into a low-power standby mode with a current drain of 
less than 100nA. When this bit is written to logic 0, the clock will 
start. The initial power-on state is not defined."

mfg alex,

EDIT: Wohl etwas zu spät xD

von Tristan P. (tristan_p)


Lesenswert?

Danke erstmal :)

Ich habe diese schaltung gepostet, da ich keine andere vor verfügung 
habe, jedoch sind das eine hand voll drähte, welche, da kannst du mir 
glauben, ich richtig zusammengesteckt habe.

Alle haben geschrieben, dass es dieses halt-bit sein könnte, jedoch geht 
es quasi, wenn man von der testumgebung wieder weggeht zum richtigen 
bertieb, um den code in dieser zip:
http://www.instructables.com/files/orig/FSG/S7YD/H1YOHHOJ/FSGS7YDH1YOHHOJ.rar

dort wird 2x dieses halt flag gesetzt (auf false). das kann es nciht 
sein, obwohl es sich verdammt danach anhört :/

Habe auch schon so späße wie
rtc.halt(true);
delay(2000);
rtc.halt(false);
//auspobieren

getestet, aber es will nicht anspringen.
Gibt es eine Möglichkeit zu testen ob der quarz defekt ist? Der ist zwar 
neu aber, hab den so im verdacht :/

von Karl H. (kbuchegg)


Lesenswert?

Tristan Pajtler schrieb:
> Danke erstmal :)
>
> Ich habe diese schaltung gepostet, da ich keine andere vor verfügung
> habe, jedoch sind das eine hand voll drähte, welche, da kannst du mir
> glauben, ich richtig zusammengesteckt habe.

Wenn ich auf Fehlersuche gehe, dann glaube ich erst mal gar nichts!
Und das solltest du dir auch zu eigen machen.
Geglaubt wird nichts. Alles und jedes wird überprüft. Und erst wenn es 
überprüft wurde und als Fehlerursache definitiv nach der Überprüfung 
ausscheidet, dann wird dieser Punkt zu den Akten gelegt.

von Nico (nico123)


Lesenswert?

Tristan Pajtler schrieb:
> Gibt es eine Möglichkeit zu testen ob der quarz defekt ist? Der ist zwar
> neu aber, hab den so im verdacht :/

Klar, mit dem Oszi mal an den zwei Kontakten messen!

von Tristan P. (tristan_p)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Tristan Pajtler schrieb:
>> Danke erstmal :)
>>
>> Ich habe diese schaltung gepostet, da ich keine andere vor verfügung
>> habe, jedoch sind das eine hand voll drähte, welche, da kannst du mir
>> glauben, ich richtig zusammengesteckt habe.
>
> Wenn ich auf Fehlersuche gehe, dann glaube ich erst mal gar nichts!
> Und das solltest du dir auch zu eigen machen.
> Geglaubt wird nichts. Alles und jedes wird überprüft. Und erst wenn es
> überprüft wurde und als Fehlerursache definitiv nach der Überprüfung
> ausscheidet, dann wird dieser Punkt zu den Akten gelegt.

Okay, schrient ein weiser rat zu sein den ich befolgen sollte :)

Nico ... schrieb:
> Tristan Pajtler schrieb:
>> Gibt es eine Möglichkeit zu testen ob der quarz defekt ist? Der ist zwar
>> neu aber, hab den so im verdacht :/
>
> Klar, mit dem Oszi mal an den zwei Kontakten messen!

Hab ich leider nicht, jedoch ein DIMM, was passiert wenn ichs damit 
veruchte?

von Nico (nico123)


Lesenswert?

Tristan Pajtler schrieb:
> Hab ich leider nicht, jedoch ein DIMM, was passiert wenn ichs damit
> veruchte?

Das klappt nicht, geht nur mit 'nem Oszi!

von Nico (nico123)


Lesenswert?

Was für einen Quarz hast Du denn im Einsatz?
Erfüllt dieser die Vorgaben aus dem Datenblatt der RTC?

von Tristan P. (tristan_p)


Lesenswert?

Datenblatt meines Quarzes:
http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=B400%252FHC49U.pdf;SID=11UFGHin8AAAIAAD6JKuI359871569ca29666bc59ebe4ea729712

Datenblatt ds1302:
http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=A200%252FDS1302%2523DAL.pdf;SID=11UFGHin8AAAIAAD6JKuI359871569ca29666bc59ebe4ea729712

Im Datenblatt des Ds1302 steht folgendes:
"The Crystal selected for use sould have a specified load capacitance 
(CL) of 6 pF."
Das habe ich übersehen.. es heißt aber "should have", also muss es dann 
sein?
Ist es überhaupt möglich dass der ds1302 ohne diese 6pF keinen clock 
empfängt?

Edit:
Oh, woanders im Netz steht "A 32.768 kHz Crystal with a 6 pF load 
capacitance is needed (sold separately)."

von Karl H. (kbuchegg)


Lesenswert?

Tristan Pajtler schrieb:

> "The Crystal selected for use sould have a specified load capacitance
> (CL) of 6 pF."
> Das habe ich übersehen.. es heißt aber "should have", also muss es dann
> sein?

'Should have' ist in Datenblätter oder technischen Dokumenationen nichts 
was man sich aussuchen kann. 'Should have' ist fakultativ. In der 
deutschen Übersetzung bedeutet das "muss haben"

von Tristan P. (tristan_p)


Lesenswert?

Mh okay :/

Warum findet man so viele DS1302-Schaltungen ohne diesen Kondensator?

Wie muss ich diese kapazitive Last schalten?

Linkes schaubild, oder rechtes oder noch anders?
http://www.laogu.com/news/upload/img/2006_9_14_17_30_12_3.gif

//Was ist, wenn ich nur 10 pF zur zeit da habe?
Was ist, wenn ich nur 100 nF zur zeit da habe?

Gruß!

von Carsten (Gast)


Lesenswert?

Da das sie Kapazität der Quarzes ist und nicht ein extra Kondensator.
Die ist mit im Datenblatt angegeben. ;)

Gruß
Carsten

von Tristan P. (tristan_p)


Lesenswert?

Und was mache ich da nun? :/

Brauche ich einene neuen Quarz?

von Nico (nico123)


Lesenswert?

Hast Du vielleicht 'nen Frequenzgenerator oder 'nen Mikrocontroller da, 
mit dem Du die RTC taktest (anstelle des Quarzes)?

von Thomas Forster (Gast)


Lesenswert?

> Und was mache ich da nun?

Uhrenquarz verwenden.

Hast du keinen alten Videorekorder/Radiowecker/Quarzuhr/Satreceiver zum 
wegwerfen?

Überall da drin sollte ein passendes Uhrenquarz stecken.

von Tristan P. (tristan_p)


Lesenswert?

Nico ... schrieb:
> Hast Du vielleicht 'nen Frequenzgenerator oder 'nen Mikrocontroller da,
> mit dem Du die RTC taktest (anstelle des Quarzes)?

Ich hab echt einen µC den ich programmiren könnte :)
Wie sähre denn ein code aus, der 32,768 kHz erzeugt? :/

Thomas Forster schrieb:
>> Und was mache ich da nun?
>
> Uhrenquarz verwenden.

..aber das ist doch ein Uhrenquarz!

von Eumel (Gast)


Lesenswert?

Tristan Pajtler schrieb:
> Arduino Uno R3

Tristan Pajtler schrieb:
> Wie sähre denn ein code aus, der 32,768 kHz erzeugt? :/

q. e. d.

von Tristan P. (tristan_p)


Lesenswert?

Des rätsels lösung :)

Habe folgenden Quarz:
http://www.reichelt.de/Quarze/3-2768-HC18/3/index.html?;ACTION=3;LA=5000;GROUP=B41;GROUPID=3173;ARTICLE=2376;START=0;SORT=-rank;OFFSET=500;SID=11UJfc7X8AAAIAACagMDA88e30f2ac82e92bcb0ee87eb0f99277f

Dort steht :
Frequenz 3,2768 MHz

...das sind 3276800 Hz! Und nicht 32768. Richtig?
Habe ich vielleicht einfach einen zu schnellen Quarz?!
Aber warum läuft die zeit dann nicht?

PS: der chip funktioniert sobald ich einen µC den taktgeber spielen 
lasse!

von Eumel (Gast)


Lesenswert?

Tristan Pajtler schrieb:
> Des rätsels lösung :)
>
> Habe folgenden Quarz:
> http://www.reichelt.de/Quarze/3-2768-HC18/3/index....
>
> Dort steht :
> Frequenz 3,2768 MHz
>
> ...das sind 3276800 Hz! Und nicht 32768. Richtig?
> Habe ich vielleicht einfach einen zu schnellen Quarz?!
> Aber warum läuft die zeit dann nicht?
>
> PS: der chip funktioniert sobald ich einen µC den taktgeber spielen
> lasse!

Wenn du diesen Quarz hast, dann kann das Teil nicht richtig 
funktionieren. Er ist 100 mal zu schnell.
Aber schön, dass du den Fehler gefunden hast :)

Weiterhin frohes basteln.

von Alex W. (Gast)


Lesenswert?


von Tristan P. (tristan_p)


Lesenswert?

Alex W. schrieb:
> Nimm den:
>
> 
http://www.reichelt.de/Uhrenquarze-SMD-Gehaeuse/0-032768/3/index.html?;ACTION=3;LA=446;ARTICLE=1089;GROUPID=4005;artnr=0%2C032768

Hatte an diesen gedacht:
http://www.reichelt.de/Uhrenquarze-SMD-Gehaeuse/0-032768-L6/3/index.html?;ACTION=3;LA=2;ARTICLE=32847;GROUPID=4005;artnr=0%2C032768-L6;SID=11UJfc7X8AAAIAACagMDA88e30f2ac82e92bcb0ee87eb0f99277f
denn der den du gepostet hast, hat eine CL von 10pf, im Datenblatt des 
ds1302 steht, dass der 6pF haben soll. Wird vermutlich nich viel 
ausmachen, aber wenn ichs jetzt richtig mache, dann ganz :)

Vielen Dank an alle :)

von Alex W. (Gast)


Lesenswert?

Tristan Pajtler schrieb:
> Hatte an diesen gedacht:
>
> http://www.reichelt.de/Uhrenquarze-SMD-Gehaeuse/0-...
>
> denn der den du gepostet hast, hat eine CL von 10pf, im Datenblatt des
>
> ds1302 steht, dass der 6pF haben soll. Wird vermutlich nich viel

im db steht das er 12,5 hat :-)

von Tristan P. (tristan_p)


Lesenswert?

mh seltsam :/

wenn man draufklickt
http://www.reichelt.de/Uhrenquarze-SMD-Gehaeuse/2/index.html?;ACTION=2;LA=3;GROUP=B46;GROUPID=4005;START=0;OFFSET=500;SHOW=1;SID=11UJfc7X8AAAIAACagMDA88e30f2ac82e92bcb0ee87eb0f99277f

dann oben rechts bei "lastkapazität" 6pf auswählt kommt der den ich 
gepostet hab.
wenn man dann draufklickt steht, er habe 12,5 :/

Im datenblatt steht:

Load Capacitance: min:6 max:12,5

warum kann sich die denn ädnern?

von Tristan P. (tristan_p)


Lesenswert?

Habe mir einen von einem lokalen elektronikshop gekaufen, klappt 1a :)

An die Nachwelt: Hatte schlichtweg den falschen Quarz.

Danke an Alle.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.