Moin, ich habe eine DS1302 im Betrieb. Ich nutze einen 32,768kHz Quarz mit 6pF und 20ppm. Auf dem Oszilloskop messe ich eine Schwingung am Quarz von 32,7673kHz. Der DS1302 wird mit 3.3V versorgt und hat einen 100nF Kondensator. Die Batterie ist eine Flachbatterie 3V. Pro Tag geht die Uhr bis zu 10 Minuten nach. Im Anhang ein Bild der Unterseite der Leiterplatte. Die Oberseite ist großflächig GND mit ein wenig Unterbrechungen, aber nur punktuell, nicht großflächig. Ich frage die Uhr alle 500mS ab, da ich deren Sekundenwert benötige. Was kann die Uhrsache sein? Danke! PS: Wenn ihr noch mehr Details braucht nenne ich euch diese gerne.
Wie ist denn wohl die Frequenz, wenn du nicht misst? ;) Wie ist die Temperatur? Und: was passiert, wenn du mal einen Tag nicht abfragst, geht sie dann genauer? Evtl. mal ansehen: RV-3028-C7. +-1ppm/25° und 45nA/3V sind doch geil, oder?
Willst du mir sagen, dass mein oszilloskop die Frequenz beeinflusst? Nach meiner Rechnung wäre 32,7673kHz eine Abweichung von 21ppm. Temperatur ist normale Raumtemperatur. Keine Wärme auf der Leiterplatte. Jens M. schrieb: > Und: was passiert, wenn du mal einen Tag nicht abfragst, geht sie dann > genauer? Probiere ich mal. Bei 21ppm komme ich auf ~2Sekunden pro Tag.
RTC schrieb: > Willst du mir sagen, dass mein oszilloskop die Frequenz beeinflusst? du schreibst selbst "Quarz mit 6pF", dein Oszi belastet den Oszillator sicher stärker. RTC schrieb: > Nach meiner Rechnung wäre 32,7673kHz eine Abweichung von 21ppm. welches Osz i liefert dir denn eine so hochaufgelöste Frequenzangabe? Und wie genau ist die Zeitbasis des Oszis?
RTC schrieb: > Willst du mir sagen, dass mein oszilloskop die Frequenz beeinflusst? Ja, das tut es! Quarze empfindlich wenn man die belastet. RTC schrieb: > Nach meiner Rechnung wäre 32,7673kHz eine Abweichung von 21ppm. So genau kann ein Wald-und-Wiesen Oszi gar nicht messen. Dessen Taktquelle ist gerne mal ein 500 PPM Quarz. Schau mal ins Datenblatt des Quarzes was der an Lastkapazität C_L sehen will - IIRC konnte man am DS1302 was einstellen in der Richtung.
Dein Scope belastet ja den Oszillator, wie ein zusätzlicher Kondensator am Quarz, das verschiebt die Frequenz. Daher macht man sowas normalerweise, in dem man einen Ausgang an der RTC aktiviert, der z.B. 32,768kHz ausgeben soll, aber die DS1302 ist in der Hinsicht leider behindert. Und dann stellt sich ja noch das Problem, wie genau dein Scope die Frequenz messen kann. Aber mal als Hinweis: Wenn der Quarz mit max. 20ppm@Raumtemp angegeben ist und du mit Scope 21ppm misst, bist du auf jeden Fall grob daneben. Im Grunde brauchst du eine sehr genaue Sekunde, vom GPS z.B., und zählst davon 86400 ab. Erst dann schaust du nach der RTC, und die sollte dann exakt einen Tag weiter sein. Mögliche Ursachen: - Temperatur/Luftfeuchte/Dreck/Flussmittel/Löttemperatur - Störungen auf der Spannung - Takte in der Nähe - Quarz/LP gefallen - Quarz wird over/underdriven - Cl ist anders als man meint - Wird zu oft abgefragt (manche RTCs stoppen den Counter während der Abfrage, damit man nicht Zeit "heute" und "morgen" ausliest) - Fakes - Simpel ein falscher Quarz - und noch tausend andere Dinge.
Jim M. schrieb: > IIRC konnte man am DS1302 was einstellen in der Richtung. Blödsinn. Der DS1302 will einen Kristall mit 6pF sehen, was OP seiner Aussage nach auch angeschlossen hat. Mir stellt sich jetzt bloss noch die Frage ob die Schaltung bei ungewöhnlich hoher (oder tiefer) Temperatur betrieben wird. Wurde mal zum Testen der Quarz getauscht?
Jens M. schrieb: > Mögliche Ursachen: Die Masse-Berandung der Quarz-Pads, der IC-Pads sowie die der Zuleitungen bringen geschätzte 2 bis 3 pF zusätzlich.
Hallo, wie oft liest Du am Tag den DS1302 und BCD kodierten Daten aus? Verwendest Du den Zeitgeberausgang,z.B. mit 1 Sekunde?
RTC schrieb: > Ich nutze einen 32,768kHz Quarz mit 6pF und 20ppm. Und was steht im Datenblatt vom Quarz über die erforderliche Lastkapazität? Wenn du eine genauere RTC brauchst, guck dir mal die DS3231 mit ihrem temperaturkompensierten Oszillator an.
Karl M. schrieb: > wie oft liest Du am Tag den DS1302 und BCD kodierten Daten aus? erst lesen dann schreiben. Kannst du den Quarz drehen, so das die Leitung an 5/6 gleichlang sind.
Application Note 58 könnte noch hilfreich sein: https://www.maximintegrated.com/en/app-notes/index.mvp/id/58
Also so ganz verstehe ich diese Diskussion um ein paar ppm nicht - das
Hauptproblem scheint mir doch zu sein:
> Pro Tag geht die Uhr bis zu 10 Minuten nach.
Wenn ich mich recht entsinne, vergrößert sich die Abweichung beim DS1302, je öfter man das Chip DS1302 ausliest.
S. Landolt schrieb: > Also so ganz verstehe ich diese Diskussion um ein paar ppm nicht - das > Hauptproblem scheint mir doch zu sein: > >> Pro Tag geht die Uhr bis zu 10 Minuten nach. Das wären nicht "ein paar ppm", sondern grundsolide 0.7% oder 7000ppm. Das passt allerdings so gar nicht mit der gemessenen Frequenzabweichung zusammen. Die würde zu einer täglichen Abweichung von 1.85 Sekunden führen. RTC schrieb: > Ich nutze einen 32,768kHz Quarz mit 6pF und 20ppm. Auf dem Oszilloskop > messe ich eine Schwingung am Quarz von 32,7673kHz. Kurz: Da ist was oberfaul.
>Wenn ich mich recht entsinne, vergrößert sich die Abweichung > beim DS1302, je öfter man das Chip DS1302 ausliest. Wäre eine Erklärung; würde andererseits bedeuten, dass das Teil pro Zugriff rund 3.5 ms verliert - kann das sein?
S. Landolt schrieb: > Wäre eine Erklärung; würde andererseits bedeuten, dass das Teil pro > Zugriff rund 3.5 ms verliert - kann das sein? Solchen Effekt kenne ich nur aus der fernen Vergangenheit (~25 Jahre). Von der RTC eines zu dieser Zeit aktuellen Laptops. Da hat auch jeder Zugriff auf die Uhrzeit-Register kurzzeitig die Zählung selbiger angehalten. Wohl ein extrem kostenoptimiertes Design, wo nicht mal mehr Geld für ein Latch für die 6 Bytes BCD-Daten drinne war... Würde mich einigermaßen überraschen, wenn heute noch so ein Hardwaremüll im Umlauf wäre. Aber: Nix ist unmöglich.
Uff, also die GND Fläche um dem Quarz herum kann ich anpassen - denke aber nicht, dass das so eine große Abweichung erzeugt. Ebenso schaue ich mal, ob ich ab und zu ggf. das "Clock Halt Flag" setze. Aber laut Datenblatt muss der Quarz 6pf haben - ich habe nochmal meine Bestellung überprüft und das ist korrekt. Alle Bauteile bei Mouser bestellt. Ich habe auch mal zwischendruch getestet und in Endlosschleife die RTC abgefragt, also ohne Pausen. Das hatte keine Auswirkung. ichwieder schrieb: > Kannst du den Quarz drehen, so das die Leitung an 5/6 gleichlang sind. Den Quarz auf der Leiterplatte kann ich nicht drehen. Jim M. schrieb: > Mir stellt sich jetzt bloss noch die Frage ob die Schaltung bei > ungewöhnlich hoher (oder tiefer) Temperatur betrieben wird. Wie gesagt: normale Zimmertemperatur. Es sind keine Bauteile auf der Leiterplatte, die warm werden. Jim M. schrieb: > Wurde mal zum Testen der Quarz getauscht? Noch nicht.
Hat nicht direkt mit dem Thema zu tun, aber: Ich hab hier einen DS1337 als Minuten-Takt für eine Tochteruhr, der wird nicht ausgelesen, und funktioniert sehr genau. Keine für mich meßbaren Abweichungen festzustellen. Aber wird halt auch nicht ständig ausgelesen.
c-hater schrieb: > S. Landolt schrieb: > >> Wäre eine Erklärung; würde andererseits bedeuten, dass das Teil pro >> Zugriff rund 3.5 ms verliert - kann das sein? > > Solchen Effekt kenne ich nur aus der fernen Vergangenheit (~25 Jahre). Das passt doch, der DS1302 ist ungefähr so alt. Das PDF-Datenblatt ist vom April 1997, vorher gab's wohl nur Papier. > Würde mich einigermaßen überraschen, wenn heute noch so ein Hardwaremüll > im Umlauf wäre. Aber: Nix ist unmöglich. Solche Teile sind immer noch im Umlauf, sieht man doch an diesem Thread. Warum tut man sich das freiwillig an?
> ... in Endlosschleife die RTC abgefragt, also ohne Pausen. > Das hatte keine Auswirkung. Dann liegt der Verdacht nahe, dass mit dem Uhrenprogramm als solchem etwas nicht stimmt.
Thomas W. schrieb: > Keine für mich meßbaren Abweichungen festzustellen. Nach welcher Laufzeit? Es kommt sicher drauf an, ob du mit einer Sanduhr vergleichst oder z.B. gegen ein 1PPS-Signal von einem GPS-Empfänger guckst.
S. Landolt schrieb: >> ... in Endlosschleife die RTC abgefragt, also ohne Pausen. >> Das hatte keine Auswirkung. > > Dann liegt der Verdacht nahe, dass mit dem Uhrenprogramm als solchem > etwas nicht stimmt. Hatte ich z.B. bei meiner Tochteruhren-Steuerung, daß ab und zu der Impuls für die Tochteruhr nicht zur Zeigerbewegung geführt hat. Das würde sich z.B. auch als "Uhr geht nach" auswirken, aber nichts mit dem Zeitgeber zu tun haben.
Ich habe jetzt ein Problem gefunden: Bei jedem Neustart verliert die RTC ihre Sekunden. Beispiel: 12:30:30 -> 12:30:00 Schalte ich z.B. bei 12:30:55 aus, warte 20 Sekunden und schalte wieder an, dann steht die Uhr auf 12:31:00, solltre aber 12:31.15 sein. Kann dies ein Problem der RTC sein? Ich weiß, dass es auch ein Softwarefehler sein kann, ich schaue mal.
Das ist die Saftware. Der Chip ist schon so alt, das wäre bekannt wenn der so einen Bug hätte.
Neustart ? Was für ein Neustart ? Entweder das ist schon wieder leicht trollig oder bitte alle Informationen am Anfang dazu geben. Warscheinlich Neustart vom Microcontroller ? Dann liegts an der Software die das Sekundenregister nicht ausliest.
Ihr habt recht. Beim überprüfen ob die RTC läuft, habe ich immer die Sekunden mit 0 überschrieben. Dadruch gehen wohl in der Testphase bei Neustart immer etliche Sekunden flöten. Danke.
RTC schrieb: > Ihr habt recht. Beim überprüfen ob die RTC läuft, habe ich immer die > Sekunden mit 0 überschrieben. Dadruch gehen wohl in der Testphase bei > Neustart immer etliche Sekunden flöten. Das mag sein, aber in deinem Layout ist nichts von externen Kondensator am Quarz zu sehen. Gehören da nicht an Q1 und Q2 6pF Kondensatoren jeweils nach GND?
A. F. schrieb: > Gehören da nicht an Q1 und Q2 6pF Kondensatoren > jeweils nach GND? Nicht laut Datenblatt. Das schränkt die Verwendbarkeit des ICs deutlich ein, man kann nicht auf genaue Frequenz trimmen. Aber man spart halt 2 Kondensatoren ein, das schont das Bastler-Budget. Georg
Georg schrieb: > Nicht laut Datenblatt. Das schränkt die Verwendbarkeit des ICs deutlich > ein, man kann nicht auf genaue Frequenz trimmen. Aber man spart halt 2 > Kondensatoren ein, das schont das Bastler-Budget. > > Georg Wie jetzt? Natürlich muss die Lastkapazität exakt gewählt werden, sonst hat man einen Frequenzfehler und so entsteht über einen Tag locker die 10 Minuten Differenz.
A. F. schrieb: > Georg schrieb: >> Nicht laut Datenblatt. Das schränkt die Verwendbarkeit des ICs deutlich >> ein, man kann nicht auf genaue Frequenz trimmen. Aber man spart halt 2 >> Kondensatoren ein, das schont das Bastler-Budget. >> >> Georg > > Wie jetzt? Natürlich muss die Lastkapazität exakt gewählt werden, sonst > hat man einen Frequenzfehler und so entsteht über einen Tag locker die > 10 Minuten Differenz. In diesem Fall muss eben der Quarz passend zum IC gewählt werden. Aber 10 Minuten pro Tag sind 7000ppm. Welcher Quarz lässt sich so weit ziehen und schwingt dann noch an zweifel
A. F. schrieb: > so entsteht über einen Tag locker die > 10 Minuten Differenz Angenommen, der Quarz schwänge an, welche Lastkapazität wäre nötig für diesen Versatz von 7000 ppm?
Macht ein normaler Quarz nicht mit. Der Ziehbereich ist viel kleiner. Was auch noch sein kann: schnelle Leitungen im Bereich der Quarzanschlüsse der RTC.
Der TO hat den Fehler doch längst gefunden: RTC schrieb: > Ihr habt recht. Beim überprüfen ob die RTC läuft, habe ich immer die > Sekunden mit 0 überschrieben.
A. F. schrieb: > Wie jetzt? Natürlich muss die Lastkapazität exakt gewählt werden, sonst > hat man einen Frequenzfehler und so entsteht über einen Tag locker die > 10 Minuten Differenz. Du scheinst merkwürdige Vorstellungen über den Ziehbereich eines Quarzes zu haben. Außerdem nimmt bei zu geringer Kapazität die Frequenz zu.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.