Forum: Mikrocontroller und Digitale Elektronik Atmega8A, Uhrenquarz, Lastkapazität, interne 36pF


von Zeit-Nehmer (Gast)


Lesenswert?

Hallo,

ich möchte den Timer2 an einem Atmega8A asynchron takten.
Im Datenblatt lese ich auf S.47: "the user can enable internal 
capacitors on XTAL1 and XTAL2, thereby removing the need for external 
capacitors. The internal capacitors have a nominal value of 36pF."

Bei Reichelt, TME, usw. finde ich Uhrenquarze für Lastkapazitäten von 
6pF bis 12,5pF.

Nach der Rechnung hier:
https://www.mikrocontroller.net/articles/Quarze_und_AVR#Anschluss
komme ich selbst bei 12,5pF nur auf eine nötige Kapazität C1 und C2 von 
20pF. Da wäre doch 36pF viel zu hoch.
Was hat sich Atmel da gedacht?
Was für einen Uhrenquarz brauche ich hier?

von Thomas E. (thomase)


Lesenswert?

Zeit-Nehmer schrieb:
> Da wäre doch 36pF viel zu hoch.
> Was hat sich Atmel da gedacht?

Die Kapazitäten sind nicht für einen Uhrenquarz gedacht, sondern für 
einen hochfrequenten Quarz für den Systemtakt.

> Was für einen Uhrenquarz brauche ich hier?

Irgendeinen. Die Bürde mußt du mit externen Kondensatoren herstellen.

von THOR (Gast)


Lesenswert?

Ich hab schonmal ne Uhr mit nem 32kHz Uhrenquarz und den internen 32pF 
gebaut, das geht auch.
Die Zeitabweichung bekommt man dann in Software wieder raus.

von Boris O. (bohnsorg) Benutzerseite


Lesenswert?

Es gibt auch bereits kompensierte RTC-Module, die in etwa die Größe 
SOT-23-x haben. Mit I²C und einem Sekundentakt per Interruptleitung 
läuft es am asynchronsten. Es kann so eine Pufferbatterie für die Uhr 
verbaut werden und der µC kann gänzlich stromlos sein. Bspw. ist der IC 
RV3029 für <5€ zu haben.

Die Kompensation in Software zu errechnen wird bisschen aufwändiger, da 
die CPU dafür rechnen muss, mithin aktiv sein. Der interne 
Temperatursensor ist nicht besonders präzise und müsste auch 
gelegentlich nachgestellt werden. Denn wir rufen uns ins Gedächtnis: die 
Ungenauigkeit des Quarzes ändert sich quadratisch mit der Temperatur.

Für reine Timer-Funktion im 10min-Bereich brauchts keinen Quarz, für 
eine Uhr, die im Jahr 1min falsch gehen darf, brauchts neben den Quarz 
auch Rechen- und Sensorleistung.

von Zeit-Nehmer (Gast)


Lesenswert?

Thomas E. schrieb:
> Die Kapazitäten sind nicht für einen Uhrenquarz gedacht, sondern für
> einen hochfrequenten Quarz für den Systemtakt.

Nein.
Hier Seite 50 des Datenblattes:
"the user can enable internal capacitors on XTAL1 and XTAL2, thereby 
removing the need for external capacitors. The Oscillator is optimized 
for use with a 32.768kHz watch crystal. [...]
Note:  The Timer/Counter Oscillator uses the same type of crystal 
oscillator as Low-Frequency Oscillator and the internal capacitors have 
the same nominal value of 36pF."

THOR schrieb:
> Ich hab schonmal ne Uhr mit nem 32kHz Uhrenquarz und den internen 32pF
> gebaut, das geht auch.
> Die Zeitabweichung bekommt man dann in Software wieder raus.

Ja, ich habe im Forum schon gesehen, dass es bei einigen so geklappt hat 
(so lange man keinen Atmega8 vor Revision G erwischt hat).
Aber merkwürdig finde ich die 36pF doch.

von Peter R. (pnu)


Lesenswert?

zum xten mal: Die Lastkapazität ist wichtig für eine genau eingehaltene 
Schwingfrequenz. Bei Digitalschaltungen sind die Anforderungen an die 
Frequenzgenauigkeit etwa um den Faktor 100 großzügigerer als es der 
Quarz bringen könnte.

Genaue Lastkapazität braucht man bei Frequenzaufbereitungen (Funk).

Wenn von der angeggebenen Lastkapazität auf den vom Oszillator 
erforderlichen Wert abgewichen wird, ist die Schwingsicherheit am 
Kontroller erreicht. Also die für den Kontroller angegebenen Werte 
einhalten.

Exakte Arbeit bei Uhren erzielt man dann per Software, den Quarz 
beschaltet man mit für den Kontroller empfohlenen Werten.

: Bearbeitet durch User
von Thomas E. (thomase)


Lesenswert?

Zeit-Nehmer schrieb:
> Nein.

Warum fragst du, wenn du es sowieso besser weißt?

von Zeit-Nehmer (Gast)


Lesenswert?

Thomas E. schrieb:
> Warum fragst du, wenn du es sowieso besser weißt?

Ich zitiere das Datenblatt.
Es ist ja durchaus möglich, dass Du es besser weißt als das Datenblatt. 
Aber wenn Du dem Datenblatt widersprichst, dann wäre eine Begründung 
doch angebracht.

Peter R. schrieb:
> Also die für den Kontroller angegebenen Werte einhalten.
Wie ist das gemeint? Die Dinger sind eingebaut...

von Jim M. (turboj)


Lesenswert?

Zeit-Nehmer schrieb:
> Was hat sich Atmel da gedacht?

Kapazitäten sind auf Si Wafern eher teuer und i.d.R. auch nicht genau.

> Was für einen Uhrenquarz brauche ich hier?

Der mit 12,5pF müsste anlaufen, 18-20pF wären wohl besser - Digikey hat 
auch noch 22,9pF und 27pF im Angebot. Sooo empfindlich sind Quarze dann 
doch nicht - wenn man mit einer leichten Abweichung in der Frequenz 
leben kann,s.o.

Ich hätte allerdings einen deutlich moderneren µC verwendet, diese 
Einschränkung hat auch was mit dem Alter des Chip Designs zu tun...

von Zeit-Nehmer (Gast)


Lesenswert?

Hallo Jim,

danke für Deine Antwort.
Jim M. schrieb:
> Der mit 12,5pF müsste anlaufen,
Ich werde mal einen für 12,5pF Last bestellen...

Jim M. schrieb:
> wenn man mit einer leichten Abweichung in der Frequenz
> leben kann,s.o.
... und ihn dann per Software kalibrieren. Gut, dass es keine 
Serienproduktion wird. ;-)

Jim M. schrieb:
> Ich hätte allerdings einen deutlich moderneren µC verwendet,
Wenn ich nicht noch 10 von den Dingern in TQFP32 hier liegen hätte, 
hätte ich auch einen anderen gekauft. Macht aber nix - für das, was ich 
von ihm will, ist der Atmega8A vollkommen ausreichend.

von Peter R. (pnu)


Lesenswert?

Zeit-Nehmer schrieb:
> Peter R. schrieb:
>> Also die für den Kontroller angegebenen Werte einhalten.
> Wie ist das gemeint? Die Dinger sind eingebaut...

Im Datenblatt des Kontroller steht z.B. C=22pF für den dabei angegebenen 
Schaltungsvorschlag.

Dieser Wert solte man wegen der Schwingsicherheit nehmen.

Wenn möglich, beschafft man dann einen Quarz, der für die Lastkapazität 
gefertigt ist, die sich in der für die 22pF angegebenen Schaltung 
ergibt.

Dann sollte der Oszillator sicher anschwingen und auch die 
Schwingfrequenz genau sein.

Wenn man einen Quarz mit andrem CL nimmt, wird die Frequenz maximal etwa 
100 ppm = 0.01 % falsch sein. Bei einem Kontroller macht das nichts aus, 
da sind selbst 1% Fehler erträglich. Um CL braucht man sich im 
Allgemeinen nicht groß kümmern.

Nur bei Funktechnik oder Messtechnik sind höhere Genauigkeiten gefragt.

: Bearbeitet durch User
von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

> Denn wir rufen uns ins Gedächtnis: die
> Ungenauigkeit des Quarzes ändert sich quadratisch mit der Temperatur.

Das ist so allgemein falsch und wuerde nur auf Quarze zutreffen,
die so geschnitten wurden, das der TK einen Sattelpunkt hat und
Mann mit seiner Temperatur gerade auf einem der beiden Extrema
um den Sattelpunkt herum sitzt.

Der wesentlich haeufigere Fall ist einfach nur linear.

von Peter R. (pnu)


Lesenswert?

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#5086026:
> Der wesentlich haeufigere Fall ist einfach nur linear.

Die meist verwendeten AT-Schnitte (über 4MHz) haben eine kubisch 
verlaufende Temperaturkurve mit Umkehrpunkt bei etwa 25°. Je nach 
Schnittwinkel sitzen dann Max und Min der Kurve temperaturmäßig etwa 
symmetrisch zu den 25° auseinander. Bei großem Abstande gehen max und 
Min frequenzmäßig weit nach oben oder unten.

von Zeit-Nehmer (Gast)


Lesenswert?

Hallo Peter,

Peter R. schrieb:
> Im Datenblatt des Kontroller steht z.B. C=22pF für den dabei angegebenen
> Schaltungsvorschlag.
Im Datenblatt des Controllers steht:
""the user can enable internal capacitors on XTAL1 and XTAL2, thereby
removing the need for external capacitors. The Oscillator is optimized
for use with a 32.768kHz watch crystal."

Du bist gerade auf der falschen Seite, nämlich dort, wo es um die 
Generierung des Systemtaktes geht.
Ich möchte nur den Timer asynchron takten.

> Wenn möglich, beschafft man dann einen Quarz,
Ja, natürlich kann ich externe Kondensatoren vorsehen und dafür einen 
passenden Quarz kaufen.
Aber warum steht im Datenblatt 36pF und "optimized for use with a 
32.768kHz watch crystal", wenn ich kaum einen Uhrenquarz für 36pF finden 
kann? Das war meine Ausgangsfrage.
Was hat Atmel sich dabei gedacht?

Die Antwort scheint zu sein: "nicht viel" oder "passt scho" und "wer's 
so eng hat und sich die Hardware sparen will, muss eben in Software 
korrigieren".

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

> kubisch verlaufende Temperaturkurve

Das sollte Mann bei Funktionen mit einem Umkehrpunkt
auch erwarten.
Ich habe allerdings noch nie Quarze gesehn, die eine
quadratische Funktion des TK haben.
So ein Quarz waere vermutlich einfach kaputt.

Ich kenne die Statistiken der Produktion der Quarzhersteller nicht,
wuerde aber in heutiger Zeit vermuten, dass in der Massenproduktion
der am einfachsten zu fertigende Schnitt genutzt wird, der
das Einhalten der Abweichung nach der Spezifikation erlaubt.
Also z.B. 50 ppm. Dabei ist der Schnitt dann wohl ziemlich egal
und die resultierende Funktion wird irgendwo zwischen linear
und kubisch liegen.

Uhrenquarze am (HF-)Quarzoszillator betreiben zu wollen,
ist ja wie Mann sieht ohnehin nicht beste Idee.
Selbst an den speziellen LF-Oszillatoren sind sie gerne
zickig...

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.