www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mega8 Uhrenquarz Anschwingsicherheit


Autor: Marten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielleicht kann mir hier jemand helfen. Ich versuche mittels Uhrenquarz
den Timer eines ATMega8 asynchron zu takten.
Von der Softwareseite her ist alles ok. Aber die Hardware macht etwas
Probleme. Der Quarz schwingt nur sporadisch an. Meistens aber gar
nicht.

CKOPT ist an (also interne Kondensatoren sind aus)
als externe Kondensatoren benutze ich 2 Trimmerkondensatoren 2-35 pF

Auszüge aus dem Datenblatt des Quarzes:
Frequenz: 0,032768 MHz
Cl: 12 pF
Rsmax: 25 k-Ohm
TK: +/- 50ppm
Frequenztoleranz: +/- 30ppm

Danke für eure Tipps!

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marten,

nur mal so aus Neugier: Was passiert wenn du die Trimmerkondensatoren
abhängst und die internen Kondensatoren benutzt?
(immerhin sind die internen 36pF ja für Uhrenquarze gedacht)

Autor: Marten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Variante hatte ich zuerst. Leider keinen Erfolg damit.
Dann hab ich im Datenblatt des Mega8 unter Erratas gelesen das bei
bestimmten Versionen des Mega8 das CKOPT nicht funktioniert. (also die
Kondensatoren nicht zuschaltet)
Da ich mir auch nicht sicher bin welche Version ich von den Mega8 hab,
hab ichs dann mit den externen Kondensatoren versucht.

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Version mit den 2 Trimmerkondensatoren finde ich aber äusserst
heikel. Wie willst du die zwei abgleichen?

Wenn beide Lastkondensatoren gleich gross sein, gillt die Formel:
CL1=CL2=2(CL-Cs)

Dadurch, dass die Lastkapazität deines Quarzes (CL) mit 12pF schon
recht klein ist, spielt die Streukapazität Cs schon eine nicht zu
vernachlässigende Rolle.

Autor: Marten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab gedacht mit den Trimmerkondensatoren kann man den Punkt
einstellen, ab den es anfängt zu schwingen ... also einfach
durchprobieren.

Hab hier noch als Auswahl: 12pF oder 18pF obwohl die ja schon fast zu
gross sind oder?

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, ich habe 2003er Silizium, da funktioniert CKOpt nicht richtig,
es werden die internen Cs nicht zugeschaltet,
dadurch schwingt der Quarz sonstwo, aber nicht auf 32.768kHz.
Zusätzlich zu den Fuses, die nach Datenblatt gesetzt werden müssen,
habe ich einfach 2 x 33pF gegn Masse gelegt und gut war es.
Abweichung ohne Abgleich sowas um eine halbe Sekunde pro Tag.

Gruss
Jadeclaw.

Autor: Marten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Hilfe habs jetzt hinbekommen! Jetzt scheint der Quarz
ordentlich zu schwingen!

Marten

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dürfen wir bitte den Schlüssel zum Erfolg erfahren?

Ich hätte noch vorgeschlagen, einen R (100k - 10M) parallel zum Quarz
zu schalten.
Evtl. einen 10-100 Ohm zwischen µC-out zum Quarz in Reihe.

Autor: Marten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja klar!
Ich hab 2x12 pF genommen. Ausserdem noch die "Leitungslänge" zu Masse
verkürzt. (Vielleicht lags auch daran)

Marten

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@prof: mal interesse halber was bewirk ein parralelgeschaltet Widerstand
das der Quarz besser anschwingt?

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Garnichts.
Der Parallelwiderstand hat einen ganz anderen Grund:
Bei vielen Oszillator-ICs fehlt der interne Bias-Widerstand zwischen
Ein- und Ausgang. Dort muss dann ein Widerstand auf die
Oszillatoranschlüsse gelegt werden. Bei Atmel-Controllern ist das
überflüssig, dort ist der passende Widerstand schon im IC drin.
Ein Widerstand in Serie zum Quarz hat andere Gründe:
Damit werden 1. parasitäre Obertonschwingungen unterdrückt und
2. wird die Quarzbelastung reduziert, speziell bei Uhrenquarzen
notwendig. Atmel-Controller brauchen auch diesen nicht, da die  interne
Oszillatorschaltung über die Fuses umdimensioniert wird.
Der CD4060 beispielsweise braucht für einen 32kHz-Uhrenquarz beide
Widerstände.

Gruss
Jadeclaw.

Autor: Oliver _. (verleihnix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich verwende das von Reichelt mit 12pF Bürde ohne weitere
Cs am Quarz und direkt am Mega8, ca 5mm vom Quarz zum uC.
Er schwingt immer an, wichtig dabei:
Die Register setzen und 1000ms warten,(Nop, wait etc)
dann weiter im Programm.
Sonst wird das nix richtiges...

mfg
Oliver

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Thema Warten:
Es gibt Bits, die kann man abfragen, dann sieht das so aus:
  ldi Temp, 0x08
  out ASSR, Temp      ; Timer2 - 32kHz-Quarz einschalten
  ldi Temp, 0x06      ; Timer2-Mode auf Vorteiler 256
  out TCCR2, Temp
  ldi Temp, 128      ; Timer2 auf überlauf 1Hz=128.
  out TCNT2, Temp
UBWarte:
  in Temp, ASSR      ; Warte auf Reset der Bits               ; TCN2UB, OCR2UB,
TCR2UB
  andi Temp, 0x07
  tst Temp
  brne UBWarte

  ldi Temp, 0x41      ; Timer2 + 2-Int. freigeben
  out TIMSK, Temp
Der bleibt in der Schleife hängen, bis der Oszillator oben ist.

Gruss
Jadeclaw.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gott, ist die Forumsoft verblödet.
Der Inhalt der Zeilen 9 und 10 gehört in den Kommentar von Zeile 8.

Gruss
Jadeclaw.

Autor: Marten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich muss sagen der Quarz läuft jetzt richtig stabil. Nehm ihn jetzt
allerdings als Taktfrequenz des Mega8.
Muss man dabei eigentlich noch was beachten?

Bloss mal so nebenbei: Wie bekommt man eigentlich die Revision des
Mega8 raus?

Marten

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.