Woran könnte es liegen, dass das Quarz an einer DS1307 RTC bei Betrieb mit VCC (5V, Transformator + Linearregler) nicht schwingt, bei Betrieb mit Batterie aber doch? Sobald ich den Strom einschalte, sieht man am Oszilloskop, wie die Amplitude innerhalb von zwei Sekunden auf 0 fällt. Das DS1307-IC kann über I2C angesprochen und programmiert werden, aber wenn der Strom aus der Schaltung kommt, bleibt die Zeit fast stehen: die Sekunde springt nur noch alle ~50 Sekunden. Ich hatte erst gedacht, dass es am fehlenden Abblock-Kondensator vor der Uhr liegt (im Bild ist ein Kondensator eingezeichnet, aber auf der realen Platine fehlen die Pads). Ein Zwischensockel mit 100 NF führt allerdings zu keiner Verbesserung. Könnte es am Transformator in der Nähe liegen? Neben dem IC ist die Uhr, 1 cm weiter der Transformator, drei Leiterbahnen unter dem DS1307 sind Relais-Masse-Leitungen, die auch ein Stück unter dem Transformator laufen. Leider weiss ich nicht, ob das Quarz exakt zum IC passt. Es ist das SMD-Uhrenquarz von Reichelt ("0,032768-SMD"), zu dem keine vernünftige Load Capacitance angegeben ist. Ersatzweise habe ich mit Mini-Quarz aus einer Uhr getestet - gleiches Problem.
Datasheet DS1307 Seite 7: NOTE: AVOID ROUTING SIGNAL LINES IN THE CROSSHATCHED AREA (UPPER LEFT QUADRANT) OF THE PACKAGE UNLESS THERE IS A GROUND PLANE BETWEEN THE SIGNAL LINE AND THE DEVICE PACKAGE. Wenn die sowas reinschreiben, dann ist das Teil offenbar recht empfindlich. Und folglich ist ein Trafo direkt daneben nicht wirklich günstig.
> AVOID ROUTING SIGNAL LINES
Daran könnte es natürlich liegen, aber das IC ist durch Sockel +
Zwischensockel ziemlich weit von allen PCB-Traces entfernt.
> cUnd folglich ist ein Trafo direkt daneben nicht wirklich
günstig
Oops, den Teil hatte ich überlesen. Ich werde den Trafo mal testweise
auslöten.
Hallo Dietmar, der DS1307 braucht die Batterie! Wenn an Vbat keine Batterie angeschlossen ist, muss(!) der Pin Vbat auf Masse gelegt werden. Beachte, dass zwischen Batterie und Vbat keine Dioden geschaltet werden dürfen. Das ist im Datenblatt ein wenig unglücklich beschrieben und ich habe vor einiger Zeit auch lange gesucht. Gruß Michael
Ergänzung: wenn man das ISP-Kabel zum Computer-Port abzieht, funktioniert es plötzlich. Hmm.
Hi >, aber das IC ist durch Sockel + >Zwischensockel ziemlich weit von allen PCB-Traces entfernt. Eine weitere Fehlerquelle! MfG Spess
Ich würde mal probeweise von den Quarzanschlüssen jeweils 33pF gegen Masse schalten. Für mich wird einfach die Schwingbedingung des Oszillators nur grenzwertig erfüllt. Dass da keine Leitungen nahe am Oszillator vorbeigeführt werden sollen, muss nicht heissen, dass er sonst nicht vernünftig schwingt, es kann auch "nur" zu verringerter Präzision führen, aber das wäre momentan harmlos.
> Ich würde mal probeweise von den Quarzanschlüssen jeweils 33pF gegen Masse schalten Werde ich morgen mal machen. Komischerweise bleibt die Uhr auch stehen, wenn das RS232-Kabel angesteckt wird. Das sollte gar nicht möglich sein, weil RS232 galvanisch getrennt ist (Optokoppler und DC/DC-Wandler zwischen Microcontroller und MAX232). Das passiert aber nur, wenn Platine und Computer an unterschiedlichen Steckdosen hängen.
33p dürfte für einen 32kHz Uhrenquarz aber zu viel sein! Die haben typisch Lastkapazitäten von 7..12pF, wovon das meiste schon durch IC und Leiterbahnen abgedeckt sind. Evtl. ist das gerade das Problem mit dem Sockel (zu grosses CL).
> wovon das meiste schon durch IC und Leiterbahnen abgedeckt sind
Für die Platine wurde ein SMD-Quarz gewählt (weil nur das bis 70 Grad
geht). Dafür wurden im Datenblatt vergleichsweise riesige SMD-Pads
vorgeschlagen. Ob das ein Problem sein könnte - zu viel parasitäre
Kapazität? Ich verstehe aber nicht, wie das Quarz ein Problem sein kann,
wenn es mit Batterie funktioniert und wenn es ohne Verbindung zum
Computer funktioniert. Es scheint mir doch eher eine Störung im
Zusammenhang mit der Stromversorgung zu sein.
Nachtrag: die Uhr bleib stehen, sobald man irgendeinen Pin der Platine berührt. Aber nur bei Netzbetrieb. Bei Batteriebetrieb läuft sie weiter.
> Nachtrag: die Uhr bleib stehen, sobald man irgendeinen Pin der Platine
berührt. Aber nur bei Netzbetrieb
Und nur bei einer Steckerstellung (2-Leiter-Anschluss). Umdrehen des
Steckers und die Uhr läuft.
Ich sehe da unter dem Quarz einen via für Masse. Ist das Quarzgehäuse an der Massefläche angeschlossen? Hört sich für mich danach an, dass die Phase vom Netz irgendwie in die Massefläche eingekoppelt wird und dann das Quarz keine Lust mehr auf Schwingen hat.
> Ich sehe da unter dem Quarz einen via für Masse. Ist das Quarzgehäuse an
der Massefläche angeschlossen?
Das Via dient nur dazu, die Massefläche zur Abschirmung nach oben zu
holen. Das SMD-Quartz ist auf Kunststoff und nicht daran angeschlossen.
Was mich wundert ist, dass die riesige CPU problemlos mit 18 MHz läuft
aber dieser winzige Uhrenchip bei 32 KHz so empfindlich ist.
Der Oszillator eines Uhrenchips ist auf minimalen Stromverbrauch optimiert und dementsprechend sensibel. Auch der Oszillator eines AVR lässt sich in 2 Modi betreiben, einem empfindlichen mit kleinem Spannungshub und niedrigem Stromverbrauch, und einem robusteren mit grossem Spannungshub.
also wenn der Quarz innerhalb von 2 Sekunden ausgeht (also nicht schlagartig), dann ist der Oszillator wirklich etwas grenzwertig, und geht bei der kleinsten Abweichung irgendwelcher Betriebsbedingungen aus. Probiere mal ein anderes Quarzexemplar aus - vielleicht haste wirklich einfach einen schlechten erwischt (sowas hatte ich auch schon gehabt, und simpler Austausch hat geholfen). Ansonsten mal mit paar verschiedenen pF C's experimentieren
Es lag anscheinend an den riesigen SMD-Pads (und vieleicht zusätzlich an der unbekannten Cl der Uhren-Quarze): Wenn das Quarz direkt an die IC-Pins angeschlossen wird, läuft alles problemlos. Keine Ahnung, ob die Kapazität dieser Pads ein Quarz im Grenzbereich endgültig aus dem Tritt bringen oder ob das zwei kleine Antennen für Noise sind.
Also am evtl. eingefangenen Noise kann sowas nicht liegen, denn sowas würde höchstens zu einer etwas unsauberen und gestörten Schwingung führen. Sollte davon aber nie ausgeblasen werden können. Ich denke schon, es sind die SMD-Pads, die zu viel C reinbringen, und damit die Schwingbedingungen des Oszillators ungünsitg beeinflussen. Ein anderer Quarz hätte da vielleicht zuverlässiger funktioniert - die sind ja nicht alle gleich.
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.