Forum: Mikrocontroller und Digitale Elektronik Quarz zu ungenau? Bugfix?


von Ingo (Gast)


Lesenswert?

Hallo,

ich verwende für eine Uhr einen Amega644 und einen 16MHz Quarz. Die Uhr 
synchronisiert Nachts auf ein DCF77 Signal. Soweit alles prima nur im 
laufe des Tages hinkt die Uhr immer weiter der echten Zeit hinterher. 
Ich habe zwei Funkuhren (G-Shock und Haushaltsfunkuhr) die beide sehr 
synchron laufen und abends auch noch die selbe Uhrzeit anzeigen. Nur 
meine Uhr hängt nach 18h etwa 12s nach. Leider habe ich gerade kein Oszi 
zur Hand. Aber es scheint mir dennoch etwas viel für einen Quarz bei 
Raumtemperatur zu sein.

12s/ 18h * 3600s/h = 185ppm


Verbaut ist dieser Quarz hier:
http://www.reichelt.de/Quarze/16-0000-HC49-SMD/3/index.html?;ACTION=3;LA=2;ARTICLE=72515;GROUPID=3173;artnr=16%2C0000-HC49-SMD;SID=13UOB5TH8AAAIAAHvtQBIeb0e60c4d26bdb41d7ac7b6f92ef7f3a

Zu den Quarzanschlüssen sind je 22pF (mein Standartwert) parallel. Im 
Tutorial steht es müsse mehr sein, kann die große Abweichung daraus 
resultieren?

Hier nochmal die paar Zeile Code für Timer und Uhr:
1
void TimerInit ( void )
2
{
3
  TCCR0A |= (1<<WGM01);        // CTC
4
  OCR0A = 249;            // f = F_CPU / (Prescaler * (OCR0A+1) ) = 16e6 / (64 * (249+1) ) = 1kHz
5
  TCCR0B |= (1<<CS00) | (1<<CS01);
6
  TIMSK0 |= (1<<OCIE0A);
7
}
und dann im Interrupt:
1
static unsigned int Count, Entprellzaehler, MilliSekundenzaehler = 0;
2
  Count++;
3
  MilliSekundenzaehler++;
4
...
5
  /* Sekundeninterval */
6
  if (MilliSekundenzaehler == 1000){
7
    Uhr();
8
    MilliSekundenzaehler = 0;
9
  }
10
...

passt soweit denke ich...

Ingo

von Ingo (Gast)


Lesenswert?

Die Uhrenfunktion möchte ich auch nicht vorenthalten:
1
void Uhr ( void )
2
{
3
  Uhrzeit.Sekunden++;
4
  if (Uhrzeit.Sekunden >= 60){
5
    Uhrzeit.Minuten++;
6
    Uhrzeit.Sekunden = 0;
7
    if (Uhrzeit.Minuten >= 60){
8
      Uhrzeit.Stunden++;
9
      Uhrzeit.Minuten = 0;
10
      if (Uhrzeit.Stunden >= 24){
11
        Uhrzeit.Stunden = 0;
12
      }
13
    }  
14
  }
15
}

Ingo

von Ingo (Gast)


Lesenswert?

Achso, die ISR ist nicht länger als das Aufrufinterval, es gehen also 
keinen Interrupts verloren...

von Georg G. (df2au)


Lesenswert?

Ingo schrieb:
> Im
> Tutorial steht es müsse mehr sein, kann die große Abweichung daraus
> resultieren?

Mit noch mehr Kapazität sinkt die Quarzfrequenz noch weiter.
Nimm dir einen guten Zähler und miss die Frequenz. Notfalls muss du die 
Kondensatoren verkleinern - oder einen fertigen und besseren Oszillator 
nehmen.

von Hmm (Gast)


Lesenswert?

Poste mal den gesamten Code (als Anhang), bitte.
Es gibt so einige Fehlermöglichkeiten, die aufzuzählen mir zu lange 
dauert, resp.: ich bin zu faul.

von Wilhelm F. (Gast)


Lesenswert?

Ingo schrieb:

> Nur
> meine Uhr hängt nach 18h etwa 12s nach.

Das hatte ich auch mal, der Quarz eines Billighändlers fürs Hobby hatte 
saftige 690ppm Abweichung.

Es kann auch sein, daß man in der Software Timernachladung für den 
autonomen Betrieb ohne Quarz nicht sehr präzise vor ging, und mal einen 
Prozessortakt zu viel oder zu wenig zählt.

Abhilfe würde ich heute per Software machen, die ich per Tastenbedienung 
kalibrierbar mache, da brauchte man aber ein EEPROM für 
Parameterspeicherung, oder in zweiter Linie die Quarzschaltung mit 
Trimmkondensator in Hardware.

von Ingo (Gast)


Lesenswert?

> Das hatte ich auch mal, der Quarz eines Billighändlers fürs Hobby hatte
> saftige 690ppm Abweichung
Das is übel

> Es kann auch sein, daß man in der Software Timernachladung für den
> autonomen Betrieb ohne Quarz nicht sehr präzise vor ging, und mal einen
> Prozessortakt zu viel oder zu wenig zählt.
???

> Abhilfe würde ich heute per Software machen, die ich per Tastenbedienung
> kalibrierbar mache, da brauchte man aber ein EEPROM für
> Parameterspeicherung, oder in zweiter Linie die Quarzschaltung mit
> Trimmkondensator in Hardware.
Naja, is grundsätzlich ja möglich, aber mich wundert viel mehr die doch 
recht hohe Abweichung.

Den ganzen Code werde ich nicht posten, is Quatsch da zu viel. Die 
Zeilen die sich mit dem Timing beschäftigen habe ich gepostet, aufm 
Oszi, als ich das Programm geschrieben habe, habe ich den Pulstrigger 
auf 500us gesetzt und zu Beginn der ISR einen Pin High und am Ende 
wieder low gesetzt. An die 500us bin ich nicht herangekommen, dass heißt 
ich habe noch min 100% Zeitreserve. Also kann's daran nicht liegen. 
Timer is richtig initialisiert, also muss es tatsächlich eine zu große 
Abweichung im Quarztakt sein.


Ingo

von Hmm (Gast)


Lesenswert?

>Den ganzen Code werde ich nicht posten, is Quatsch da zu viel.
Ganz wie Du wünschst.

>...also muss es tatsächlich eine zu große Abweichung im Quarztakt sein.
Ach ja?

Na dann: Viel Erfolg.

von Karl H. (kbuchegg)


Lesenswert?

Ingo schrieb:

>> Abhilfe würde ich heute per Software machen, die ich per Tastenbedienung
>> kalibrierbar mache, da brauchte man aber ein EEPROM für
>> Parameterspeicherung, oder in zweiter Linie die Quarzschaltung mit
>> Trimmkondensator in Hardware.
> Naja, is grundsätzlich ja möglich, aber mich wundert viel mehr die doch
> recht hohe Abweichung.

Gleich deine Sodtware ab und gut ists. 180ppm sind jetzt nicht was, 
worüber ich mir groß Gedanken machen würde. Hauptsache sie sind konstant

AVR - Die genaue Sekunde / RTC

von Ingo (Gast)


Lesenswert?

Hmm schrieb:
>>Den ganzen Code werde ich nicht posten, is Quatsch da zu viel.
> Ganz wie Du wünschst.
>
>>...also muss es tatsächlich eine zu große Abweichung im Quarztakt sein.
> Ach ja?
>
> Na dann: Viel Erfolg.
Nenn mir einen Fehler, der jetzt noch auftauchen kann bzw. noch im Code 
verborgen liegen könnte, wenn nicht an den Stellen an den die Uhr 
gestellt wird?

Ingo

von Peter R. (pnu)


Lesenswert?

...und von einem 24ct-Quarz (beim Endverkäufer Reichelt) erwartest Du 
"Quarzgenauigkeit" ???

Bei einem Quarz mit gezielt hergestelltem Temperaturgang kann man etwa + 
- 20ppm erwarten, also etwa + - 2 sec je Tag. Der braucht aber mehr 
Sorgfalt bei der Herstellng als ein "Computerquarz"

Wenn Du wirklich Genauigkeit im 20-ppm-Bereich erwartest, musst Du erst 
einmal schauen, dass Du möglichst Quarze erwischst, die für 
Frequenzaufbereitungen von Sendern/Empfängern vorgesehen sind. Die sind 
in Tunern von TV-Geräten, Videorecordern usw. am ehesten als 
4,00000MHz-Quarze zu finden.
Bei denen wird die Herstellung sorgfältiger gemacht als bei 
Computerquarzen, bei denen es auf 100 ppm mehr oder weniger nicht 
ankommt.

Bei der Verwendung für eine Uhr sollte man dann auf Trimmer verzichten 
und Festkondensatoren verwenden. Der Frequenzfehler durch Toleranz der 
Kondensatoren wird per Software ausgeglichen. Im Extremfall kann dann 
sogar eine temperaturabhängige Korrektur durchgeführt werden, dann kommt 
man auf eine halbe Sekunde pro Tag oder besser.

Für wirklich stabile Frequenz ist die Oszillatorschaltung eines 
Kontrollers nicht ausgelegt. Für Stabilität im 10ppm-Bereich sollte es 
schon ein gesondert aufgebauter Oszillator sein.

von Ingo (Gast)


Lesenswert?

Konstant sind die 185ppm...

von Wilhelm F. (Gast)


Lesenswert?

Ingo schrieb:

>> Es kann auch sein, daß man in der Software Timernachladung für den
>> autonomen Betrieb ohne Quarz nicht sehr präzise vor ging, und mal einen
>> Prozessortakt zu viel oder zu wenig zählt.
> ???

Na ja, ich habe hier Literatur zum 8051. Da sind Standard-Routinen für 
die Timernachladung on-the-fly im 16-bit-Mode beschrieben. Im Buch war 
es falsch, daß man da zum Low-Byte 3 hinzu addiert, man muß nur 2 hinzu 
addieren, das fand ich mal selbst heraus.

Später an anderen Beispielen fand ich heraus, daß jemand den Timer in 
jedem Interrupt komplett stoppt, und 7 vom Reloadwert subtrahiert. Das 
läuft besser.

von Ingo (Gast)


Lesenswert?

Ich hätte jetzt nicht solche Abweichungen erwartet, die etwa dem 5 
fachen der Datenblattangaben entsprechen. Ich werde bei der nächsten Uhr 
auf jeden fall einen externen Oszillator verwenden mit noch mehr 
Genauigkeit.

von Ingo (Gast)


Lesenswert?

Ich will den guten alten 8051 nicht anmeckern, aber bei einem doch recht 
neuen AVR sollten diese Sachen eigentlich doch ausgebessert sein oder?


Ingo

von Wilhelm F. (Gast)


Lesenswert?

Ingo schrieb:

> Ich hätte jetzt nicht solche Abweichungen erwartet, die etwa dem 5
> fachen der Datenblattangaben entsprechen. Ich werde bei der nächsten Uhr
> auf jeden fall einen externen Oszillator verwenden mit noch mehr
> Genauigkeit.

Wie kommst du jetzt auf diesen Nonsens?

Verwechsele mal nicht, was ich vom ollen 8051 hier schrieb.

Der Quarz an deinem µC sollte auch einigermaßen stabil laufen. Die 
Dinger sind aber nie so präzise wie eine Uhrenschaltung.

Womit sind Quarze in der Toleranz angegeben? Z.B. 100ppm? Das macht 
schon 8,6 Sekunden am Tag, wenn es der schlechteste ist.

von Davis (Gast)


Lesenswert?

Peter R. schrieb:

> ...und von einem 24ct-Quarz (beim Endverkäufer Reichelt) erwartest Du
> "Quarzgenauigkeit" ???

Selbstverständlich: der Baustein ist mit +/- 30 ppm angegeben. Da ich 
bis jetzt keine so große Abweichungen wie der TO hatte, gehe ich von 
einem anderen Problem aus.

von Wilhelm F. (Gast)


Lesenswert?

Wenn man es mit der DCF-Uhr ganz gut haben möchte, daß sie auch ohne 
Funksignal genau weiter läuft, da kommt man um einen teuereren 
Oszillator mit unter 1ppm nicht herum. Ich habe hier in meiner 
Schrottsammlung diverse, die auch noch ein Trimmpoti haben. Müssen sehr 
teuer gewesen sein, und zeigen am Frequenzmesser auch nach längerer Zeit 
immer noch mehr als 4 Stellen genau an. Den Frequenzmesser muß ich eine 
halbe Stunde vorwärmen, der hat einen Quarzofen. Sowohl nach dem 
Einschalten des Bauteils, als auch nach einer Stunde. Keine 
Temperaturdrift, nichts.

von Ingo (Gast)


Lesenswert?

Ebend, +\- 30ppm, unter diesen Bedingungen habe ich den ausgewählt. Aber 
ich denke es ist nicht möglich den Fehler einzugrenzen, solange die 
tatsächliche Quarzfrequenz nicht bekannt ist. Das merkwürdige ist, dass 
manche sagen passt doch, is n Billigquarz, während die anderen sagen 
viel zu ungenau... Ich bin etwas verwirrt.

von Thomas R. (Gast)


Lesenswert?

Davis schrieb:
> der Baustein ist mit +/- 30 ppm angegeben.

Die Abgleichtoleranz eines Quarzes (z.B. +/- 30 ppm)  gilt nur bei der 
spezifizierten Lastkapazität, z.B 15 +/- 0 pF.
Beim Betrieb mit abweichender Lastkapazität ist die Frequenzabweichung 
typisch 10...30 ppm/pF.

Beste Grüsse
Thomas

von Wilhelm F. (Gast)


Lesenswert?

Ingo schrieb:

> Ebend, +\- 30ppm, unter diesen Bedingungen habe ich den ausgewählt.

Mach dir keinen Kopf da drum, wenn die Uhr am Tag mal ohne Funksignal 3 
Sekunden falsch gehen könnte. Wenn es Hobby ist, und keine 
professionelle Anwendung.

von Thomas R. (Gast)


Lesenswert?

Thomas R. schrieb:
> Davis schrieb:
>> der Baustein ist mit +/- 30 ppm angegeben.
>
> Die Abgleichtoleranz eines Quarzes (z.B. +/- 30 ppm)  gilt nur bei der
> spezifizierten Lastkapazität, z.B 15 +/- 0 pF.
> Beim Betrieb mit abweichender Lastkapazität ist die Frequenzabweichung
> typisch 10...30 ppm/pF.
>
> Beste Grüsse
> Thomas
Nachtrag:

Betreibt man also einen Quarz, der für 15 pF Lastkapazität gefertigt 
wurde  mit 30 pF, so kann er gerne 450 ppm daneben liegen und ist 
trotzdem in seine Spezifikation.

von Ingo (Gast)


Lesenswert?

Die Uhr geht aber nach 18h 12s nach...

von Ingo (Gast)


Lesenswert?

Also ist die Lastkapazität mit 22pF zu hoch?

von Davis (Gast)


Lesenswert?

Thomas R. schrieb:

> ... Abgleichtoleranz eines Quarzes (z.B. +/- 30 ppm)  gilt nur bei der
> spezifizierten Lastkapazität, z.B 15 +/- 0 pF.

Es spricht doch nichts dagegen diese Kapazität zu nehmen. W. i. d. P?

von Wilhelm F. (Gast)


Lesenswert?

Ingo schrieb:

> Die Uhr geht aber nach 18h 12s nach...

Wechsele mal den Quarz.

von Willi (Gast)


Lesenswert?

Die meisten handelsüblichen Funkuhren syncronisieren sich jede volle 
Stunde mit dem DCF-Signal. Dadurch bleibt die Abweich klein trotz der 
preiswerten 32Khz Uhrenquarze.

MfG Willi

von Stuner (Gast)


Lesenswert?

Du hast die Kapazitive Last zu tief angesetzt. Am besten schaust du dir 
mal den Artikel hier an:

http://www.mikrocontroller.net/articles/Quarze_und_AVR

Du müsstest jeweils einen Kondensator mit ~54 pF verwenden, dann sollte 
der Quarz auch innerhalb seiner Spezifikation von +/- 80 ppm liegen.

von Wilhelm F. (Gast)


Lesenswert?

Thomas R. schrieb:

> Betreibt man also einen Quarz, der für 15 pF Lastkapazität gefertigt
> wurde  mit 30 pF, so kann er gerne 450 ppm daneben liegen und ist
> trotzdem in seine Spezifikation.

Das ist wiederum interessant, und ein Hinweis darauf, daß Quarze in 
Standard-µC-Schaltungen daneben liegen können.

von Thomas R. (Gast)


Lesenswert?

Wahrscheinlich ist der Quarz für eine kleinere Lastkapazität 
spezifiziert, als er betrieben wird. Es nützt dann nichts, den gegen 
einen Quarz mit gleiche Lastkapazität zu tauschen.
Ändere lieber deine beiden Fußpunktkondensatoren von 22 pF auf z.B. 
12..15 pF und gucke dann mal, um wiviel die Uhr schneller läuft.

von Wilhelm F. (Gast)


Lesenswert?

Thomas R. schrieb:

> Ändere lieber deine beiden Fußpunktkondensatoren von 22 pF auf z.B.
> 12..15 pF und gucke dann mal, um wiviel die Uhr schneller läuft.

Oder füge gleich einen Trimmer in der Größenordnung ein.

von Thomas R. (Gast)


Lesenswert?


von Ingo (Gast)


Lesenswert?

Hmm, der eine sagt mehr Kapazität, wie im Tutorial, der andere sagt 
weniger. Ich kann's jetzt leider nicht testen, bin auf'm Sofa und nicht 
im Labor :( Ich werde erstmal prüfen auf welcher Frequenz der Quarz 
schwingt, dann werde ich mal mit den Lastkapazitäten spielen. Mal größer 
mal kleiner ;)

von Thomas R. (Gast)


Lesenswert?

Ingo schrieb:
> Nur
> meine Uhr hängt nach 18h etwa 12s nach.

Wenn deine Uhr nachgeht, ist die Frequenz zu niedrig und damit sind die 
Fußpunktkondensatoren zu groß.
==========> verkleinern! ;-)

von Anja (Gast)


Lesenswert?

Thomas R. schrieb:
> Ingo schrieb:
>> Nur
>> meine Uhr hängt nach 18h etwa 12s nach.
>
> Wenn deine Uhr nachgeht, ist die Frequenz zu niedrig und damit sind die
> Fußpunktkondensatoren zu groß.
> ==========> verkleinern! ;-)

Nö liegt bestrimmt an der Kapazität des Steckbretts.

Gruß Anja

von Ingo (Gast)


Lesenswert?

Muss dich leider enttäuschen Anja, is ne Leiterplatte. Hatte ich nicht 
erwähnt, aber Streckbett wäre denkbar gewesen. Ich kann morgen ja mal n 
paar Fotos hochladen wenn ich wieder am Rechner bin. Mit iPhone geht das 
immer schlecht, reiche ich aber gern nach ;)

von Peter D. (peda)


Lesenswert?

Ingo schrieb:
> meine Uhr hängt nach 18h etwa 12s nach.

Setze mal die Fuses auf Full-Swing-Mode, dann ist der Quarz deutlich 
stabiler.

Der Low-Power-Mode ist extrem kritisch, da muß die VCC glatt wie ein 
Baby-Popo sein (<1mV Ripple).


Peter

von Ingo (Gast)


Lesenswert?

Danke für den Tip Peter, werde ich morgen mal gucken auf was die Fuses 
stehen.

von Bernd (Gast)


Lesenswert?

Ingo schrieb:
> Nur
> meine Uhr hängt nach 18h etwa 12s nach.

hier Mal ein Beispiel was man vor über 200 Jahren ohne Quarzofen und 
ähnlichen Schnickschnack erreicht hat:
Die H4 zeigte auf der 81-tägigen Fahrt nach Jamaika und zurück nur eine 
Gangabweichung von 5 Sekunden

(http://de.wikipedia.org/wiki/John_Harrison_%28Uhrmacher%29)

von Torsten S. (tse)


Lesenswert?

Mag sein das ich falsch bin aber so ein ähnliches Problem hatte ich 
schon. Die Initialisierung von OCR0A kommt mir spanisch vor. Vom 
errechneten Wert muß man eins abziehen im CTC Mode.

Bei mir gehts auf die Sekunde genau in 24h. Nicht abgeglichen, 16MHz 
XTAL, Mega2560. Das sieht so aus für Timer3:
1
/* CTC Mode, Prescaler 256 */
2
TCCR3A = 0;
3
TCCR3B = (1 << WGM32) | (1 << CS32) | (0 << CS31) | (0 << CS30);
4
5
// 10Hz/100ms
6
OCR3A = (F_CPU / 256 / 10) -1;
7
TIMSK3 |= (1<<OCIE3A);

von Ingo (Gast)


Lesenswert?

Hab ich gemacht, siehe Kommentar bei Berechnung

von Torsten S. (tse)


Lesenswert?

Hhmm: 1kHz, 8Bit Timer, F_CPU 16MHz

Das klappt nicht ohne Rest. Guck mal hier und trag Deine Werte ein:

http://www.frank-zhao.com/cache/avrtimercalc.php

von Spess53 (Gast)


Lesenswert?

Hi

>Hhmm: 1kHz, 8Bit Timer, F_CPU 16MHz
>Das klappt nicht ohne Rest. Guck mal hier und trag Deine Werte ein:

Rechne mal lieber selbst.

MfG Spess

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Oder sieh im ersten Post im Kommentar nach:
16000000/(64*250)s = 1000/s => 1ms

von Torsten S. (tse)


Lesenswert?

> Rechne mal lieber selbst.
Mea culpa.

> Oder sieh im ersten Post im Kommentar nach:
> 16000000/(64*250)s = 1000/s => 1ms
Du hast es besser dargestellt als im Original. Danke.

Kommentare sind Kommentare. Wer nicht selber nachrechnet glaubt nur das 
was der Kommentator als richtig vermutet.

1kHz als Zeitbasis finde ich sportlich.

> Achso, die ISR ist nicht länger als das Aufrufinterval, es gehen also
> keinen Interrupts verloren...
Ein frommer Wunsch.

von Ingo (Gast)


Lesenswert?

1kHz sind langsam, da hat der Controller noch min 100% Zeitreserve, 
siehe oben...

von Ingo (Gast)


Lesenswert?

Man bedenke das hier knapp 16000 Takte/ms geschehen könnten, wenn man 
den Zeitschlitz 100% ausreizten würde, da sind schon mittelschwere 
Berechnungen möglich :)


Ingo

von Gerd E. (robberknight)


Lesenswert?

Wenn ich das nicht falsch im Kopf habe, müsste der Atmega644 nen 
Anschluss für nen 2. Quarz haben. Dort könntest Du nen 32KHz-Uhrenquarz 
ranhängen und damit Deinen Uhrentimer betreiben.

Die haben auch Toleranzen von so +-20ppm, wegen der deutlich niedrigeren 
Frequenz sind das aber deutlich weniger Hz.

von Ingo (Gast)


Lesenswert?

Hallo Gerd, ja wäre möglich, aber leider is die Platine schon fertig und 
irgendwas noch anfrickeln will ich auch nicht. Kotzt mich schon an, dass 
ich die Platine zusätzlich noch Erden musste damit ich vernünftigen 
Empfang habe :(. Also geht von der Platine eine dünne Leitung mit 
kleiner Krokoklemme drann zum SchKo einer freien Steckdose...

von Uhrenbastler (Gast)


Lesenswert?

Gerd E. schrieb:
> Wenn ich das nicht falsch im Kopf habe, müsste der Atmega644 nen
> Anschluss für nen 2. Quarz haben. Dort könntest Du nen 32KHz-Uhrenquarz
> ranhängen und damit Deinen Uhrentimer betreiben.
>
> Die haben auch Toleranzen von so +-20ppm, wegen der deutlich niedrigeren
> Frequenz sind das aber deutlich weniger Hz.

Ergibt sich durch die Abweichung um "deutlich weniger Hz" eine höhere 
Ganggenauigkeit bei der gleichen Toleranz von +/-20 ppm?

von Ingo (Gast)


Lesenswert?

Natürlich nicht...

von Ingo (Gast)


Angehängte Dateien:

Lesenswert?

So anbei mal 2 Fotos sowie das Layout oben und unten. die 22pF am Quarz 
sind, zugegeben, etwas schlecht positioniert...



Ingo

von Spess53 (Gast)


Lesenswert?

Hi

> die 22pF am Quarz sind, zugegeben, etwas schlecht positioniert...

Die ganze Anbindung des Quarzes ist Sch... . Rate mal, weshalb direkt 
neben den XTAL-Anschlüssen ein GND-Pin liegt?

MfG Spess

von Peter D. (peda)


Lesenswert?

Spess53 schrieb:
> Die ganze Anbindung des Quarzes ist Sch... .

So schlimm ist das nicht, da habe ich schon schlimmeres gesehen.
Der Hauptstrom fließt durch die beiden Kondensatoren und den Quarz, d.h. 
dieser Pfad sollte möglichst kurz sein.

Peter

P.S.:
Haben die Fusebits denn was gebracht?

von Ingo (Gast)


Lesenswert?

Die Fuses standen tatsächlich auf "normalen OSC". Ich hab jetzt mal auf 
Full-Swing umgestellt. In 18h weiss ich mehr ;-)


Ingo

von Fritz (Gast)


Lesenswert?

Das Layout könnte besser sein, erklärt aber nicht die Gangabweichung der 
Uhr in diesem Ausmaß.

von Wilhelm F. (Gast)


Lesenswert?

Fritz schrieb:

> Das Layout könnte besser sein, erklärt aber nicht die Gangabweichung der
> Uhr in diesem Ausmaß.

Sehe ich auch so. 16MHz und 1cm Abstand vom µC sind normalerweise kein 
so großes Problem. Den 18MHz-Quarz am 80C517A platzierte man auch nicht 
ohne Luft direkt am µC-Gehäuse. Habe da einige Boards, wo es 
abstandsmäßig auch nicht besser ist, als bei Ingo.

An Stelle des TO würde ich noch mal den Timer simulieren, ob es nicht 
tatsächlich irgendwo einen Takt zu viel oder zu wenig gibt, oder auch 
vollständig ausgefallene Timerinterrupts, wenn irgendwo ein anderer 
länger dauernder höher priorisierter Interrupt hinein spielt. Evtl. auch 
die Bauteile Quarz und Kapazitäten mal austauschen.

Möglicherweise hat auch einer der beiden Fußpunktkondensatoren keine 
Verbindung, der Oszillator kann dann mit der parasitären Kapazität immer 
noch laufen.

Allerdings kenne ich den Timer des verwendeten µC nicht, ob er per 
Autoreload automatisch nach lädt, oder ob noch ein Fehler drin steckt, 
wenn man ihn manuell in der Interruptroutine nach laden muß.

So wie es im Code oben aus sieht, lädt der Timer aber von selbst den 
korrekten Wert nach.

Timer: Ich hab da schon mal bei früheren Kollegen einiges schlimmes 
gesehen, die z.B. am Prototypen den Nachladewert mit dem Oszi durch 
Probieren ermittelten, weil sie von einer korrekten Nachladefunktion 
noch nie was hörten, weil sie dem Assembler nicht mächtig waren, denn 
beim 8051 beispielsweise klappt die absolut exakte Nachladung des Timer 
0 in Hochsprache nicht so dolle. Auch wenn das sonst gute Programmierer 
waren. Erst der 8052 hat einen zusätzlichen Timer 2 mit 
16-bit-Autoreload, da mußte man den Assembler nicht mehr quälen. Man 
weiß nicht genau, welchen Code der Compiler erzeugt, aber wenn man es in 
Assembler macht, hingegen schon. Sowas ist dann besonders gut für ein 
Serienprodukt! Wenn das Produkt nicht eine Uhr ist, gehts noch so 
halbwegs. Ob eine LED jetzt mit 1Hz oder 1,02Hz blinkt! Sogar ein UART 
ist noch gegen ein halbes Prozent Falschberechnung tolerant, läuft auch 
mit 9648BAUD oder 9552BAUD anstatt 9600BAUD.

Dann begutachtete ich kürzlich noch das Motherboard meines alten 486, 
bevor er zum Schrott ging. Es ist haarsträubend, wie auf solchen Boards 
manchmal Taktfrequenzen um z.B. 40MHz weit über mehrere Ecken und Lagen 
geroutet sind. Das Board hatte so einige Oszillatoren um diese Frequenz 
herum. Da funktioniert es auch. OK, es waren integrierte 
Fertigoszillatoren.

Also, Ingo, ich persönlich glaube, daß sich da noch was machen läßt. 
Alle Signale rund um den Oszillator sind auch in der Regel schön 
sinusförmig, keine harten Rechtecke. Ob und was Nachbarleiterbahnen mit 
Rechtecksignalen da beeinflussen, besonders wenn diese in höheren 
Frequenzen spielen, habe ich allerdings noch nie genau untersuchen 
müssen.

Meine olle DCF77-Uhr läuft übrigens mit 50Hz Interruptfrequenz, 
beanspruchte den Interruptapparat also nicht besonders. Das 20ms-Raster 
reichte schon völlig, um das Signal abzutasten und zu verarbeiten. Die 
CPU-Auslastung war schlappe 6%, und das auch nur wegen der sekündlichen 
Ausgabe am Display, wo auch noch immer auf das Busy-Flag gewartet werden 
mußte. Für den Rest legte ich den in den Schlaf, Idle-Mode. Ich machte 
meine DCF-Uhr aber auch vollständig in Assembler.

von hal9001 (Gast)


Lesenswert?

Ingo schrieb:
> Zu den Quarzanschlüssen sind je 22pF (mein Standartwert) parallel.

Also mich wudert es wie wenig Ahnung die Leute von Quarzen haben.
Wie kommst Du auf einen Standartwert von 22pF? Der Quarz ist mit
einem Cl von 32pF spezifiert. Wenn wir jetzt mal die Kapazität
von deinen Controllerpins ignorieren, müssten die beiden Cs je
64pF haben, weil die ja elektrisch in Reihe geschaltet sind.
Denke dir einfach die Masse an den Cs weg.

Was da heute an Quarzen verkauft wird, ist z.T. wirklich der letzte
Dreck. Die haben z.T. mehr Nebenresonanzen als du Finger an den Händen
hast. Das können halt die wenigsten Kunden nachmessen. Ich hatte mal
ein besonders gutes Exemplar vom R.....,  der sprang beim leichten
draufklopfen zwischden den vielen nebenresonazen hin und her...

von hal9001 (Gast)


Lesenswert?

Was mir gerade noch aufgefallen ist, der recomended drive level
ist 10...100uW. Rechne mal nach, i.d.R. werden die Quarze satt
überlastet, da gehört noch ein Widerstand in Serie.
Das kommt halt davon wenn der eine vom anderen die Standartschaltung
mit Standartwerten abkupfer ohne nachzudenken......

von Inco (Gast)


Lesenswert?

Also mit Full-Swing habe ich jetzt auch schon Abweichung die dem 12s/18h 
entspricht...
Ich werde am Mittwoch mal versuchen genaue Werte für die aktuelle 
Frequenz zu finden und dann mal mit der Lastkapazität spielen.

Aber deinen Aussagen nach müsste der Quarz ja dann zu schnell laufen, 
tut er aber nicht... Alles sehr merkwürdig!

So, geh jetzt feiern, guten Rutsch, melde mich morgen wieder...



Ingo

von (prx) A. K. (prx)


Lesenswert?

hal9001 schrieb:
> Was mir gerade noch aufgefallen ist, der recomended drive level
> ist 10...100uW. Rechne mal nach, i.d.R. werden die Quarze satt
> überlastet

Wenn bisher der low-power Modus eingestellt war wohl kaum.

von Heribert (Gast)


Lesenswert?

Ingo schrieb:
> void TimerInit ( void )
> {
>   TCCR0A |= (1<<WGM01);        // CTC
>   OCR0A = 249;            // f = F_CPU / (Prescaler * (OCR0A+1) ) = 16e6 / (64 * 
(249+1) ) = 1kHz
>   TCCR0B |= (1<<CS00) | (1<<CS01);
>   TIMSK0 |= (1<<OCIE0A);
> }
> und dann im Interrupt:static unsigned int Count, Entprellzaehler, 
MilliSekundenzaehler = 0;
>   Count++;
>   MilliSekundenzaehler++;
> ...
>   /* Sekundeninterval */
>   if (MilliSekundenzaehler == 1000){
>     Uhr();
>     MilliSekundenzaehler = 0;
>   }
> ...
Das liegt ganz sicher nicht nur am Quarz. Allein der Auszug aus Deiner 
Service-Routine verrät, dass der Ablauf nicht linear ist. Du bekommst 
hier in jeder Sekunde einen Fehler rein -> Unterschiede in der 
Durchlaufzeit der Serviceroutine. Deshalb nimmt ja auch für eine RTC 
einen Baustein oder implementiert das in einem CPLD oder suchst sich 
eine uC der eine RTC integriert hat. Wenn in Deiner Service-Routine noch 
mehr abfragen sind, welche nicht immer die gleiche Laufzeit/ms-Zählung 
garantieren, dann umso schlimmer. Versuche doch mal nicht ms zu zählen 
sondern gleich in 100ms oder s-Intervallen. Dann ist der Fehler nicht so 
dramatisch. Alernativ kannst Du auch einen langsameren Quarz nehmen.

Am besten wäre aber, wenn Du die TOSC-Pins nutzt, und dort einen 
32,768KHz Quarz dran klebst. Dafür ist dieser Eingang schließlich auch 
da. Dann sollte die Uhr für einen deutlich längeren Zeitraum mit 
geringer Abweichung laufen.
Der 32.768KHz-Quarz wird vermutlich auch ohne Anschwingkapazitäten 
laufen.

von MWS (Gast)


Lesenswert?

Heribert schrieb:
> Allein der Auszug aus Deiner
> Service-Routine verrät, dass der Ablauf nicht linear ist.

Das hat keinen Einfluss, da der Timer nicht per Code nachgeladen wird, 
sondern per HW-CTC.

Wenn jedoch regelmäßig Interrupts global gesperrt würden, oder ein 
anderer Interrupt blockiert (der muss nicht mal höherrangig sein), dann 
fallen eben immer wieder einige ms-Interrupts aus.
Aufsummiert gibt das den beschriebenen Fehler.

von Peter D. (peda)


Lesenswert?

Heribert schrieb:
> Du bekommst
> hier in jeder Sekunde einen Fehler rein -> Unterschiede in der
> Durchlaufzeit der Serviceroutine.

Das ist Quatsch mit Soße.
Das Reload erfolgt in der Timer-Hardware.
Solange alle Interrupts zusammen kleiner 16000 CPU-Takte sind, ist alles 
in Butter und der akkumulierte Fehler ist 0.

Heribert schrieb:
> Deshalb nimmt ja auch für eine RTC
> einen Baustein oder implementiert das in einem CPLD oder suchst sich
> eine uC der eine RTC integriert hat.

Gehts nicht noch umständlicher?

Mit dem CPU-Quarz kriegt man ne RTC super konstant hin, ganz ohne 
umständliche extra Hardware.
Es kann aber sein, daß die Abweichung von der Nennfrequenz höher ist, 
als bei einem speziellen Uhrenquarz. Dann muß man eben in Software 
korrigieren. Man kann z.B. jede Minute einen anderen Reloadwert nehmen.
In der Codesammlung ist ein Beispiel dazu. Die tatsächliche Frequenz 
wird als Macro eingetragen und der Compiler rechnet dann das Macro aus.

Mit DCF-77 könnte man sogar den Korrekturwert automatisch ermitteln 
lassen.


Peter

von Peter D. (peda)


Lesenswert?

Wilhelm Ferkes schrieb:
> denn
> beim 8051 beispielsweise klappt die absolut exakte Nachladung des Timer
> 0 in Hochsprache nicht so dolle.

Das geht auch bequem nur in C. Ich hab mit dem AT89C2051 einige Uhren 
aufgebaut.
Es gibt viele Möglichkeiten. Man kann z.B. nur TH0 laden, dazu hat man 
dann 256 Zyklen Zeit. Und falls ein anderer Interrupt länger braucht, 
gibt man dem T0 einfach die höchste Priorität.
Hier mal ein Beispiel:
1
#include <reg51.h>
2
3
typedef unsigned char u8;
4
5
#define  XTAL  12e6
6
7
#define TH0_RELOAD  (XTAL / 12 / 256 * 50e-3)
8
#define TH0_REMAIN  ((TH0_RELOAD - (u8)TH0_RELOAD) * 20 + 0.5)
9
10
bit one_second;
11
u8 count_50ms;
12
13
void t0_init( void )
14
{
15
  TMOD = 1;                           // T0: Mode 1 (16 Bit)
16
  TR0 = 1;
17
  ET0 = 1;
18
}
19
20
void t0_int( void ) interrupt INT_T0  // 50ms 
21
{
22
  TH0 = -TH0_RELOAD;
23
24
  if( count_50ms <= (u8)TH0_REMAIN )  // handle remainder
25
    TH0--;
26
27
  if( --count_50ms )
28
    return;
29
30
  count_50ms = 20;                    // 1s = 20 * 50ms
31
  one_second = 1;
32
}

Peter

von amateur (Gast)


Lesenswert?

@Ingo

Wenn Deine Uhr/Quarz genau ungenau geht, warum fügst Du keinen einfachen 
Korrekturfaktor ein?
Du kannst bei jeder Synchronisation die Differenz messen und dann, 
verteilt über den Tag ein paar Takte klauen bzw. hinzufügen.
Wegen so etwas würde ich nicht den Lötkolben anschmeißen - wohl gemerkt: 
Der Quarz muss natürlich gleichmäßig (ungleichmäßig) laufen.
Übrigens kannst Du auf diese Weise, bei einem Quarz der OK ist, auch die 
Grundgenauigkeit erhöhen.
Ich mach so etwas schon seit langem, zumindest seit dem ich feststellen 
musste, dass die einfachen Quarze nicht besonders genau aber relativ 
stabil sind.

von Wilhelm F. (Gast)


Lesenswert?

amateur schrieb:

> Ich mach so etwas schon seit langem, zumindest seit dem ich feststellen
> musste, dass die einfachen Quarze nicht besonders genau aber relativ
> stabil sind.

Bei einem Hobbystück geht das. Nicht bei einem Prototypen für eine 
Produktionsserie.

von amateur (Gast)


Lesenswert?

@Wilhelm

>Nicht bei einem Prototypen für eine Produktionsserie.

Würde ich nur mit Bleistift unterschreiben.
Da das ganze sozusagen Selbstsynchronisierend ist, muss die Sequenz nur 
einmal programmiert werden und läuft auf allen Systemen. Im Grunde keine 
Konstanten - vor allem keine im fertigen System.

Natürlich nur in den angegebenen Grenzen.
Also genaue, nicht allzu weit auseinanderliegende Synchronisationspunkte 
und ein Quarz, der halbwegs gleichmäßig läuft.

von Peter R. (pnu)


Lesenswert?

Mein Gott !!!


Was soll dieses seitenlange herumraten ?

Der Quarz für 24 ct ist eben Scheiße und muss ausgetauscht werden.

Bei Massenfertigung von Quarzen kommt so etwas vor.

von A6AA (Gast)


Lesenswert?

Peter R. schrieb:
> Für wirklich stabile Frequenz ist die Oszillatorschaltung eines
> Kontrollers nicht ausgelegt. Für Stabilität im 10ppm-Bereich sollte es
> schon ein gesondert aufgebauter Oszillator sein.

Hallo Peter, Hallo Ingo,

10ppm über Zeit und Temperatur sind - mal so ins Blaue gesagt - NICHT 
möglich. Das liegt aber nicht an der Oszillatorschaltung des Prozessors. 
Die Quarze sind normalerweise folgendermaßen spezifiziert:
a) Fertigungstoleranz (e.g. 10ppm)
b) Toleranz über Temperatur (e.g. 10ppm)
c) Aging (Alterung) - das können schon mal 3ppm/a sein über Lifecycle 
normalerweise etwa 10...20ppm gesamt. das Gibt best case schon mal etwa 
30ppm bei den besten Quarzen über Temperatur, im eng bemessenen 
Raumtemepraturbereich wird das weniger sein.

Um eine Genauigkeit in dem gewünschten Bereich zu bekommen sind dem ESR 
und den Parallelkapazitäten besondere Aufmerksamgeit zu schenken. 
Verwende mal CAP 12p oder 17p, dann schwingt der Quarz etwas schneller, 
oder 27p oder 33p dann etwas langsamer. Der Serienwiderstand trägt zur 
Anschwingstabilität bei.

Wenn Du schnell sehr gute Genauigkeit benötigts brauchst Du TCXOs, die 
sind aber teuer. Alternative: Der alte Trimmerkondensator 
anstatt/parallel zu den Kondensatoren und dann abgleichen, das sollte 
für Raumtemepratur ausreichen.

Grüße

von Quarzhersteller (Gast)


Lesenswert?

Peter R. schrieb:
> Der Quarz für 24 ct ist eben Scheiße und muss ausgetauscht werden.
> Bei Massenfertigung von Quarzen kommt so etwas vor.

Das ist grober Unfug.
Der Quarz ist innerhalb seiner spezifizierten Toleranz, wird aber 
ausserhalb seiner spezifizierten Lastkapazität betrieben.
Ein Austausch des Quarzes nützt garnichts, die Applikation muss an die 
Quarzspezifikation angepasst werden.
@Peter R.: die grösse deine Klappe passt nicht zu deinem Know-How.

von Christian R. (supachris)


Lesenswert?

A6AA schrieb:
> Verwende mal CAP 12p oder 17p, dann schwingt der Quarz etwas schneller,
> oder 27p oder 33p dann etwas langsamer.

Hat sich das denn immer noch nicht herumgesprochen, dass die beiden 
Kondensatoren in Reihe die Last-Kapazität des Quarzes ergeben müssen? 
Jedenfall in der Standard-OSzillator-Schaltung eines µC. Also müssen für 
optimalen, sicheren Betrieb jeweils etwa das doppelte der geforderten 
Last-Kapazität an den Quarz.
Diese Pauschal-Aussagen mit den 22pF sind ein echt übler "Rat" immer. Da 
müsste der Quarz ja nur ca 10 pF Last erfordern. Das haben allenfalls 
Uhrenquarze.

von Michael H. (michael_h45)


Lesenswert?

Thomas R. schrieb:
> Die Abgleichtoleranz eines Quarzes (z.B. +/- 30 ppm)  gilt nur bei der
> spezifizierten Lastkapazität, z.B 15 +/- 0 pF.
> Beim Betrieb mit abweichender Lastkapazität ist die Frequenzabweichung
> typisch 10...30 ppm/pF

Dazu würde mich eine Quelle brennend interessieren.

von Paul Baumann (Gast)


Lesenswert?

Michael H. schrob:
>Dazu würde mich eine Quelle brennend interessieren.

Eine Quelle -brennend?

Bitte:
http://www.nrhz.de/flyer/media/12758/BrennendeOelquellenKuwait1991.jpg

MfG Paul

von 6A66 (Gast)


Lesenswert?

Michael H. schrieb:
>> Beim Betrieb mit abweichender Lastkapazität ist die Frequenzabweichung
>> typisch 10...30 ppm/pF
>
> Dazu würde mich eine Quelle brennend interessieren.

So viel waren es bei mir nicht, das hängt auch von der Buaform ab, 
ansonsten - ACK. Heißt eben aber: Die Lastkapazität des Quarzes will 
sorgfältig ermittelt werden - mit 22pF klappt das Schwingen villeicht 
aber eben nicht genau.

Christian R. schrieb:
> Hat sich das denn immer noch nicht herumgesprochen, dass die beiden
> Kondensatoren in Reihe die Last-Kapazität des Quarzes ergeben müssen?
> Jedenfall in der Standard-OSzillator-Schaltung eines µC. Also müssen für
> optimalen, sicheren Betrieb jeweils etwa das doppelte der geforderten
> Last-Kapazität an den Quarz.

Auch nur Näherungsweise. In die Berechnung gehen auch die 
Einangskapazitäten des Treibers (Prozessor) sowie parasitäre Kapazitäten 
mit ein. Da diese stark streuen können und die Lastkapazitäten auch nur 
in der E-Reihe verfügbar sind ist leicht nachvollziehbar dass die 
Genauigkeit per se nicht einfach auf 10ppm "einstellbar" ist da die 
Toleranzne das nicht mitmachen.

Für eine Bastler wird es daher am einfachsten sein ein paar Caps 
auszutauschen oder einen (Kondensator-)Trimmer zu verwenden.

rgds

von 6A66 (Gast)


Lesenswert?

Christian R. schrieb:
> Diese Pauschal-Aussagen mit den 22pF sind ein echt übler "Rat" immer. Da
> müsste der Quarz ja nur ca 10 pF Last erfordern. Das haben allenfalls
> Uhrenquarze.

Bei SMD-Quarzen kann das schon der Standard sein (2,5x3,5 SMD).

Christian R. schrieb:
> Diese Pauschal-Aussagen mit den 22pF sind ein echt übler "Rat" immer.

Full ACK -  aber die meisten Bastelschaltungen verwenden die bedrahteten 
und großen SMDs und da denke ich wird das einigermaßen zum Erfolg führen 
(ohne Nachweis). Ich kenne aus meinen alten Uralt-Erfahrungen die 27pF 
noch. Und wenn der Professor dann mit 200ppm Abweichung schwingt merkt 
das auch noch keiner. Da könnte man gleich auf den Quarz verzichten und 
RC machen (siehe App-Notes der Prozessoren).

rgds

von Ingo (Gast)


Lesenswert?

So frohes Neues...

Also es scheint ja tatsächlich alles mit der Lastkapazität zu fallen. In 
der Tat sind die 22pF wirklich nur ein Bastelwert, der immer 
funktioniert hat bzw. Bis jetzt ist eine Abweichung vom grundtakt nicht 
aufgefallen weil eine Abweichung von ca 200ppm nicht ins Gewicht fällt, 
selbst bei einer Freuqnezmessung nicht, da oft eine Fenauigkeit von 0,1% 
ausreichend ist.

Also, ich werde morgen mal messen wo sich die Frequenz wirklich 
rumtreibt und dann mal 2x 68pF versuchen.

von Spess53 (Gast)


Lesenswert?

Hi

>...und dann mal 2x 68pF versuchen.

Und vorher dringend mal Abschnitt 5 in

http://www.atmel.com/Images/doc2521.pdf

lesen.

MfG Spess

von Thomas R. (Gast)


Angehängte Dateien:

Lesenswert?

Michael H. schrieb:
> Thomas R. schrieb:
>> Die Abgleichtoleranz eines Quarzes (z.B. +/- 30 ppm)  gilt nur bei der
>> spezifizierten Lastkapazität, z.B 15 +/- 0 pF.
>> Beim Betrieb mit abweichender Lastkapazität ist die Frequenzabweichung
>> typisch 10...30 ppm/pF
>
> Dazu würde mich eine Quelle brennend interessieren.

Einfach mal nach "pulling-range" und "crystal" googeln, dann findest du 
hunderttausende von Quellen.

von Thomas R. (Gast)


Lesenswert?

Ingo schrieb:
> Also, ich werde morgen mal messen wo sich die Frequenz wirklich
> rumtreibt und dann mal 2x 68pF versuchen.

2*68 pF statt 2*22 pF werden deinen Frequenzfehler vergrössern.
Berichte dann doch mal.

von Michael H. (michael_h45)


Lesenswert?

Thomas R. schrieb:
> Michael H. schrieb:
>> Thomas R. schrieb:
>>> Die Abgleichtoleranz eines Quarzes (z.B. +/- 30 ppm)  gilt nur bei der
>>> spezifizierten Lastkapazität, z.B 15 +/- 0 pF.
>>> Beim Betrieb mit abweichender Lastkapazität ist die Frequenzabweichung
>>> typisch 10...30 ppm/pF
>>
>> Dazu würde mich eine Quelle brennend interessieren.
>
> Einfach mal nach "pulling-range" und "crystal" googeln, dann findest du
> hunderttausende von Quellen.

Besten Dank!
Natürlich auch an Paul ^^

von Paul Baumann (Gast)


Lesenswert?

Michael H. schrabte:
>Besten Dank!
>Natürlich auch an Paul ^^

Ich freue mich, daß ich helfen konnte.
;-)
nicht hauen

MfG Paul

von Torsten S. (tse)


Lesenswert?

Ich bleibe bei meiner Behauptung das das Problem nicht beim Quartz 
sondern bei der Software liegt. An irgendeiner Stelle werden ISRs 
einfach zu lange gesperrt.

Da wir die Quelltexte nicht kennen vermute ich mal das in Zeile 384 
etwas faul ist. Soll heißen: Ohne diese ist alles nur stochern im Nebel.

Und ich bleibe auch dabei das ne tausendstel Sekunde Auflösung als 
Zeitbasis sportlich ist wenn man nebenbei noch zeitkritisches 
Multiplexing fürs LED macht.

von Falk B. (falk)


Lesenswert?

@  Torsten S. (tse)

>Ich bleibe bei meiner Behauptung das das Problem nicht beim Quartz
>sondern bei der Software liegt. An irgendeiner Stelle werden ISRs
>einfach zu lange gesperrt.

Kann sein, muss nicht.

>Da wir die Quelltexte nicht kennen vermute ich mal das in Zeile 384
>etwas faul ist. Soll heißen: Ohne diese ist alles nur stochern im Nebel.

Das ist die Kernkompetenz des Forums!

>Und ich bleibe auch dabei das ne tausendstel Sekunde Auflösung als
>Zeitbasis sportlich ist wenn man nebenbei noch zeitkritisches
>Multiplexing fürs LED macht.

Gähn Dabei langeweilt sich der uC fast zu Tode. 1ms sind 16000 Takt 
bei 16 MHz zwischen zwei Interrupts! Siehe Soft-PWM.

von Bernd (Gast)


Lesenswert?

Falk Brunner schrieb:
> Gähn Dabei langeweilt sich der uC fast zu Tode. 1ms sind 16000 Takt
> bei 16 MHz zwischen zwei Interrupts!

schon, aber nur wenn man den uC nicht mit unnötiger Arbeit oder gar 
delays beschäftigt

von Helmut S. (helmuts)


Lesenswert?

> Gähn Dabei langeweilt sich der uC fast zu Tode. 1ms sind 16000 Takt
> bei 16 MHz zwischen zwei Interrupts! Siehe Soft-PWM.

Der AVR hat doch überhaupt keine Proritäten für Interrupts. Da hat man 
mit wenigen Fließkommaoperationen ganz schnell die 1ms verbraucht bevor 
der Uhreninterrupt wieder eingeschaltet wird. Zumindest denkbar wäre 
dieser Fall.
Natürlich wäre es am einfachsten einen Frequenzzähler anzuschließen um 
die 16MHz Taktfrequenz am Clock-out über einen 1pF Kondensator zu 
messen. Noch besser wäre es zum Testen einen Teilerausgang auf einem Pin 
zu aktivieren. Damit vermeidet man eine Rückkopplung auf den Oszillator.

von Karl H. (kbuchegg)


Lesenswert?

Bernd schrieb:
> Falk Brunner schrieb:
>> Gähn Dabei langeweilt sich der uC fast zu Tode. 1ms sind 16000 Takt
>> bei 16 MHz zwischen zwei Interrupts!
>
> schon, aber nur wenn man den uC nicht mit unnötiger Arbeit oder gar
> delays beschäftigt

Ist wurscht, solange die Interrupts ab und an nicht länger als knapp das 
Doppelte davon, also rund 31990 Takte gesperrt sind. Und so dämlich wird 
er ja doch nicht sein.

Obwohl. Möglich ist es natürlich, dass zwischen cli() und sei() eine 
entsprechende Anzahl an Takten liegt. Ich seh aber ehrlich gesagt nicht, 
wie man bei einer Funkuhr derartige Zahlen erreichen würde.

von Karl H. (kbuchegg)


Lesenswert?

Ich würde allerdings trotzdem gerne den ganzen Code sehen.

Das hier
1
void TimerInit ( void )
2
{
3
  TCCR0A |= (1<<WGM01);        // CTC
4
  OCR0A = 249;            // f = F_CPU / (Prescaler * (OCR0A+1) ) = 16e6 / (64 * (249+1) ) = 1kHz
5
  TCCR0B |= (1<<CS00) | (1<<CS01);
6
  TIMSK0 |= (1<<OCIE0A);
7
}

würde ich anders machen. Keine |= sondern echte Zuweisungen (Bis auf 
TIMSK0). An dieser Stelle will ich tatsächlich alle Bits bei den 
Zuweisungen zu den Konfigurationsregistern behandeln.

von amateur (Gast)


Lesenswert?

Festzustellen ob's an den Weichtieren oder den Hartschaligen liegt dürft 
ja eine der einfachsten Übungen sein. Falls aber das offensichtliche zu 
Versteckt liegt: Raus mit dem Code und ein paar abgemagerte Testroutinen 
rein. Wofür gibt's denn Flash?
Ich würde bei der Gelegenheit gleich 'ne Routine mit reinfummeln, die 
feststellt ob der Quarz rumtorkelt (Silvester?) oder konstant zu schnell 
bzw. zu langsam ist.

von Falk B. (falk)


Lesenswert?

@  Helmut S. (helmuts)

>> Gähn Dabei langeweilt sich der uC fast zu Tode. 1ms sind 16000 Takt
>> bei 16 MHz zwischen zwei Interrupts! Siehe Soft-PWM.

>Der AVR hat doch überhaupt keine Proritäten für Interrupts. Da hat man
>mit wenigen Fließkommaoperationen ganz schnell die 1ms verbraucht bevor
>der Uhreninterrupt wieder eingeschaltet wird. Zumindest denkbar wäre
>dieser Fall.

Bitte? Erstens braucht kein Mensch hier FLießkomma, zweitens ist auch 
der AVR nich soo lahm bei Fließkomma und drittens ist die Rechenzeit des 
Hauptprogramm vollkommen egel, solange die Interrupts nciht gesperrt 
sind.

> Noch besser wäre es zum Testen einen Teilerausgang auf einem Pin
> zu aktivieren. Damit vermeidet man eine Rückkopplung auf den Oszillator.

Genau so macht man es sinnvollerweise.

http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC#Echtzeituhr_mit_Uhrenquarz

von 6A66 (Gast)


Lesenswert?

Ingo schrieb:
> Also, ich werde morgen mal messen wo sich die Frequenz wirklich
> rumtreibt und dann mal 2x 68pF versuchen.

Hallo Ingo,

wenn Du das messen willst braucht Du wirklich eine GUTE Methode.
Die Scpoes allein haben schon eine Abweichung von z.B. +/-30ppm (Agilent 
MSOX30nn) an der Zeitbasis, damit kannst Du einen solchen Quarz nur 
"schätzen". Eine Möglichkeit wäre ein guter (siehe Handbuch) Generator 
mit VCTCXO Basis mit dem Du dann Dein Scope "kalibrieren" kannst.
Rechnerisch ergeben sich etwa 185ppm Differenz (12s/18h). Bei 15ppm/pF 
und 12pF Abweichung kämen wir bei 180ppm Abweichung raus - also im 
Bereich des Möglichen.

rgds

von Ingo (Gast)


Lesenswert?

So, ich habe mit einem Frequenzzähler gemessen:
Bei jedem betreten der 1ms ISR wird ein Pin getoggelt.

Also mit 22pF hatte ich tatsächlich 179,1ppm Abweichung (499,91045Hz).
68pF => 304,8ppm (499,84759 Hz)

Nun: 4,7pF => 13,92ppm (499,99304 Hz)


Also war es doch der olle Quarz... Man man man!


Ingo

von Harry Hirsch (Gast)


Lesenswert?

Das ist kein Beweis, daß der Quarz schuld ist. Jeder Quarz schwingt mit 
höherer Frequenz, wenn die Bürdekapazität erniedrigt wird. Aber wenn er 
mit diesem Wert zuverlässig arbeitet (anschwingt) kann man es so lassen.

von Thomas R. (Gast)


Lesenswert?

Die Ergebnisse durch die Reduzierung der Lastkapazität decken sich mit 
dem, was ich oben geschrieben habe.

In Ingos Layout kann man die Leiterbahnen vom Prozessor zum Quarz leider 
nicht sehen. Sollten die so ausgeführt sein, dass sie eine nennenswerte 
Induktivität darstellen, so führt dies zu einer deutlichen 
Frequenzreduzierung.
Poste doch mal die Seite der Platine, auf der diese Leiterbahnen sind.

von Ingo (Gast)


Angehängte Dateien:

Lesenswert?

Hier das Layout, Massefläche ist ausgeblendet...



Ingo

von Thomas R. (Gast)


Lesenswert?

Für den Quarzoszillator ist das Layout nicht gerade optimal.
Ich beginne ein Layout immer damit, dass zuerst der Quarz, seine 
Fusspunktkondensatoren, Abblockkondensatoren, die Betriebsspannung und 
die Masseanschlüsse mit möglichst kurzen und dicken Leiterbahnen 
verbunden werden.
Erst danach werden die unkritischen Leiterbahnen um diese so erstellten 
Gegebenheiten herum geroutet.
Die Leitungen vom Quarz sind unter 2 Prozessorpads geführt. Hier kann es 
zum kapazitiven Übersprechen kommen.
Eventuell hast du durch die (nicht gezeigte) Massefläche noch 
zusätzliche Kapazitäten an den Quarz gebracht.

von Ingo (Gast)


Lesenswert?

Thomas R. schrieb:
> Eventuell hast du durch die (nicht gezeigte) Massefläche noch
> zusätzliche Kapazitäten an den Quarz gebracht.

Möglich, 4,7pF scheinen mir arg wenig, wenn der Quarz doch 32pF 
Lastkapazität fordert!?


Ingo

von Harry Hirsch (Gast)


Lesenswert?

Neben der parasitären Leitungskapazität hat wohl auch der 
Induktivitätsbelag der Quarzzuleitungen einen Einfluß auf die 
Schwingfrequenz. Sonst könnte man ja auf den Gedanken kommen, die "22pF" 
Kondensatoren durch ausreichende Leiterbahnlänge vollständig zu 
ersetzen.

von Georg G. (df2au)


Lesenswert?

Ingo schrieb:
> Möglich, 4,7pF scheinen mir arg wenig, wenn der Quarz doch 32pF
> Lastkapazität fordert!?

"Fordert" bedeutet in diesem Zusammenhang "damit die Frequenz wie vom 
Hersteller gewollt erreicht wird". Woher die 32pF kommen, wie sie sich 
zusammensetzen, ist unwesentlich, genau wie der Betrag. Es wird nur die 
Frequenz damit vorgegeben. Mit der passenden Schaltung kann man Quarze 
auch mit Serien-Induktivität in der Frequenz ziehen.

Bei den Primitiv-Oszillatoren der Mikroprotze sollen die Kondensatoren 
als Nebeneffekt verhindern, dass der Quarz auf einer Nebenresonanz 
schwingt. Laut Reichelt Katalog sind die 16MHz Grundwellenquarze. Damit 
würde der erste nennenswerte Oberton bei 48MHz liegen. Das macht der AVR 
aber nicht.
Gängig sind für 16MHz auch Quarze, die im 3. Oberton schwingen.Damit 
würde dann die nächste Resonanz bei 26.7MHz (5. Oberton) liegen - das 
wäre schon kritisch. Die üblichen AT-Schnitte der Quarze sind recht gut 
im Oberton zu betreiben.

von Falk B. (falk)


Lesenswert?

@  Ingo (Gast)

>Möglich, 4,7pF scheinen mir arg wenig, wenn der Quarz doch 32pF
>Lastkapazität fordert!?

Sicher. Kann es sein, dass bei dem AVR mittel Fuses internen Kapazitäten 
zugeschaltet werden? Ich hab da 2x36pF in Kopf bei einigen Typen.

von Ingo (Gast)


Lesenswert?

Falk Brunner schrieb:
> Kann es sein, dass bei dem AVR mittel Fuses internen Kapazitäten
> zugeschaltet werden? Ich hab da 2x36pF in Kopf bei einigen Typen.

Ich glaube nicht, ich habs vorhin ganz ohne Kapazität versucht => wildes 
Schwingen...



Ingo

von Simon K. (simon) Benutzerseite


Lesenswert?

Hast du nen Tastkopf parallel angeschlossen zufällig?

von Ingo (Gast)


Lesenswert?

Simon K. schrieb:
> Hast du nen Tastkopf parallel angeschlossen zufällig?

Ja, aber mit Kondensatoren und 1:10 Tastkopf kann ich die Schwingung 
sauber sehen. Ohne Kondensatoren schwingt es bzw. ich kriegs nicht 
sauber getriggert da vermutlich zu viel Jittern


Ingo

von Simon K. (simon) Benutzerseite


Lesenswert?

Ingo schrieb:
> Simon K. schrieb:
>> Hast du nen Tastkopf parallel angeschlossen zufällig?
>
> Ja, aber mit Kondensatoren und 1:10 Tastkopf kann ich die Schwingung
> sauber sehen. Ohne Kondensatoren schwingt es bzw. ich kriegs nicht
> sauber getriggert da vermutlich zu viel Jittern

Und wie gut ist die Genauigkeit ohne angeschlossenen Tastkopf?

von Ingo (Gast)


Lesenswert?

Das Frequenzsignal habe ich ohne Tastkopf am OSC gemessen, sonst wäre 
das ja Quatsch. Ich hab das Oszi nur zum "anschauen" der 
Quarzschwingungen angeschlossen. Für die Frequenzmessung habe ich einen 
IO getoggelt und mit Frequenzzähler gemessen...


Ingo

von Falk B. (falk)


Lesenswert?

@  Ingo (Gast)

>Das Frequenzsignal habe ich ohne Tastkopf am OSC gemessen, sonst wäre
>das ja Quatsch.

AUA! Genau DAS ist Quatsch. So ein Quarzsozillator mag es nicht, durch 
nen Meter Koaxkabel belastet zu werden, auch die 10-15pF einen 10:1 
Tastkopfes sind nur ein Kompromiss!

> Ich hab das Oszi nur zum "anschauen" der
>Quarzschwingungen angeschlossen.

Wie? Mit einem Klingeldraht? Odr noch schlimmer Koaxkabel?

> Für die Frequenzmessung habe ich einen
> IO getoggelt und mit Frequenzzähler gemessen...

DAS ist OK.

von Ingo (Gast)


Lesenswert?

Falk Brunner schrieb:
>>Das Frequenzsignal habe ich ohne Tastkopf am OSC gemessen, sonst wäre
>>das ja Quatsch.
>
> AUA! Genau DAS ist Quatsch. So ein Quarzsozillator mag es nicht, durch
> nen Meter Koaxkabel belastet zu werden, auch die 10-15pF einen 10:1
> Tastkopfes sind nur ein Kompromiss!

Hmm, ich glaube du hast mich falsch verstanden, ich habe das 
Frequenzsignal an einem toggelnden IO abgenommen OHNE dabei einen 
Tastkopf am OSC zu haben!

>> Ich hab das Oszi nur zum "anschauen" der
>>Quarzschwingungen angeschlossen.
>
> Wie? Mit einem Klingeldraht? Odr noch schlimmer Koaxkabel?
Nee, Tastkopf 10:1

Falk Brunner schrieb:
> DAS ist OK.
Meine ich auch... :-)


Ingo

von hal9001 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!
Ich glaube Du hast ein Problem mit Nebenresonanzen. Sieh Dir mal das 
Bild im
Anhang an. Es handelt sich um einen 25Mhz Quarz. Du kannst hier neben
der Hauptresonanz noch diverse Nebenresonanzen sehen. Die liegen alle
dicht bei den 25Mhz. Das Bild ist noch von einem besonders guten Quarz,
ich habe da noch viel schlimmere Katastrophen gesehen. Wir hatten bei 
uns in der Firma das Problem das in der Produktion immer bei wenigen 
Platinen die Ethernetschnittstelle nicht richtig funktioniert. Das 
Problem wurde innovativ gelöst, die Platinen wurden einfach 
verschrottet. Erst als es bei einer Serie mal mehr waren und als man 
merkte dass es auch ziemlich häufig zu Paketverlusten kommt, durfte ich 
das ganze untersuchen. Ich hatte
zunächst den Entwickler konsultiert und nach der Dimensionierung der Cs
gefragt. Antwort "Aus dem Projekt xyz abgekupfert". Das üblich halt, die
Fehler verbreiten sich wie eine Epedemie. Eine Änderung der 
Dimensionierung
hat nix gebracht. Ich habe dann an die 100 Quarze mit meinem privaten 
Netzwerktester ausgemessen. Die Firma setzt halt Bauelemente ein die sie 
nicht einmal ausmessen kann. Der angebliche deutsche Hersteller hat in 
den Datenblättern auch nix zu dem Thema veröffentlicht. Die 
Messergebniss
waren eine Kathastrophe, obwohl die Quarze alle aus einer Serie stammen
hatte nicht eine Kurve Ähnlichkeit mit der anderen. Der angemailte 
Quarz-
hersteller hat immerhin nach 6 Wochen geantwortet: Das 
Nebenresonanzverhalten dieses Types ist nicht definiert, wir können 
Ihnen
aber nach Spezifikation Quarze fertigen. (Zum nfachen Preis versteht 
sich).
Wenigstens hatte man nicht die Messung angezweifelt. Nach meiner Meinung
dürfte es jede Menge Gerätschaften mit solchen Problemen geben, es fällt
halt i.d.R. nicht auf wenn mal Pakete widerholt werden, welcher 
Hersteller
hat denn überhaupt das Messequipment um einen Quarz zu qualifizieren.
Früher gabe es solchen Dreck nicht, da waren auch richtig dicke 
Quarzscheiben drin. Mein Tipp für dich kauf dir den Netzwerktester vom
Funkamateuer und untersuche die Quarze bevor du sie einsetzt. Verwende 
keine SMD-Typen, die sind die schlimmsten. Am besten sind große 
Metallgehäuse. Ich würde mal mehrere Quarze aufsägen und gucken wie groß
die Scheibe ist, vielleicht hat der Chinese da auch rumoptimiert. Oder
lass dir einen Quarz machen, das kostet natürlich ne Stange Geld.

von Ingo (Gast)


Lesenswert?

Die von dir aufgezeigten Nebenresonanzen würden aber noch viel größere 
Abwichungen hervorrufen. Abertrotzdem sehr interessant.


Ingo

von hal9001 (Gast)


Lesenswert?

Hi,
Das ist ja nur ein Beispiel für einen Quarz von 100.
Das Bild ist nie identisch. D.h. der Abstand und die
Anzahl der Nebenresonanzen streut. Bei diesem Quarz
handelt es sich um einen Quarz im Metallgehäuse, SMD
Quarze sind noch viel schlimmer.

von Selfhorst (Gast)


Lesenswert?

Hier mein Vorschlag für ein Workaround:

Wenn Du Dir Abends wieder die Zeit via DCF holst, hast Du doch die 24h 
Zeitdifferenz. Aus dieser Differenz kannst Du Dir sehr einfach einen 
Korrekturfaktor für die nächsten 24h berechnen. Theoretisch sollte die 
Uhr dann nach 24h korrekt laufen. Diesen Korrekturfaktor kannst Du dann 
noch adaptiv über die nächsten Tage verfeinern.

von hal9001 (Gast)


Lesenswert?

Ingo schrieb:
> Die von dir aufgezeigten Nebenresonanzen würden aber noch viel größere
> Abwichungen hervorrufen. Abertrotzdem sehr interessant.

Vielleicht hast Du ja die Frequenz durch die viel zu kleine
Lastkapazität nach unten gezogen. Am besten ist nimm Geld
in die Hand, kauf den NWA und messe die Teile aus....

von hal9001 (Gast)


Lesenswert?

Selfhorst schrieb:
> Wenn Du Dir Abends wieder die Zeit via DCF holst, hast Du doch die 24h
> Zeitdifferenz. Aus dieser Differenz kannst Du Dir sehr einfach einen
> Korrekturfaktor für die nächsten 24h berechnen. Theoretisch sollte die
> Uhr dann nach 24h korrekt laufen. Diesen Korrekturfaktor kannst Du dann
> noch adaptiv über die nächsten Tage verfeinern.

Keine gute Idee wenn es wirklich Nebenresonanzen sind. Ich hatte den
Fall das man den Quarz durch klopfen zum springen bringen konnte.

von Jens M. (Gast)


Lesenswert?

hal9001 schrieb:
> Sieh Dir mal das Bild im Anhang an.

Hallo, sieht ja sehr interessant aus. Da ich kein HF Spezi bin hab ich 
eine Frage dazu.

Wenn ich das richtig verstehe wobbelst du den Quarz zwischen 24 - 26 Mhz 
durch und misst die Dämpfung. Dort wo der Quarz seine 
Resonanzfrequenz(en) hat, dämpft er das zu messende Signal.

Das sieht natürlich alles andere als toll aus, aber ein µC ist doch kein 
Netzwerkanalysator.  Die verwendete Schaltung nennt sich glaub ich 
Colpit Oscillator. Die wird durch den Quarz (bzw dessen Dämpfung) zur 
Schwingung bei einer Frequenz gezwungen. Die kann dann doch nur eine 
Frequenz (die niedrigste?) "sehen" oder versteh ich das falsch?



P.S. (Kannst du zum Verständnis die Meßschaltung mal reinstellen?)

hal9001 schrieb:
> kauf den NWA und messe die Teile aus..

Der ist aber ausverkauft.

von Thomas R. (Gast)


Lesenswert?

hal9001 schrieb:
> Früher gabe es solchen Dreck nicht, da waren auch richtig dicke
> Quarzscheiben drin.

Mit Verlaub:
Die Frequenz eines AT-Quarzes ist umgekehrt proportional zu der Dicke 
der Quarzscheibe. Somit ist die Dicke bei gegebener Frequenz vorgegeben:
f= 1660 kHz*mm/d
Nebenresonanzen lassen sich vermeiden, indem die Quarzscheibe leicht 
konvex geschliffen wird und der Rand gefast wird.
Das ist aber bei Quarzen im Cent-Bereich nicht mehr machbar.

von Thomas R. (Gast)


Lesenswert?

Jens Martin schrieb:
> Die kann dann doch nur eine
> Frequenz (die niedrigste?) "sehen" oder versteh ich das falsch?

Wenn die Oszillatorschaltung richtig dimensioniert ist, sieht der 
Oszillator die Frequenz mit dem niedrigsten ESR und sonst keine.
Die Hauptresonanz und auch die Nebenresonanzen haben aber ihre eigenen 
Temperaturcharakteristiken (Parabeln 3. Ordnung).
Bei bestimmten Temperaturen kann es passieren, dass sich eine 
Nebenresonanz in die Nähe der Hauptresonanz bewegt und diese dann 
verschiebt. Das führt zu Sprüngen in der Temperaturcharakteristik der 
Hauptresonanz. Man nennt das "Dips".
Die Messung von Dips ist in DIN EN 60444-7 spezifiziert.

von Peter R. (pnu)


Lesenswert?

Und wer sagt Dir dass die Oszillatorschaltung richtig ausgelegt ist? - 
ausgerechnet auf einen 16MHz-Grundwellenquarz?

Der übrigens ein Ausreißer sein kann oder bei dem die Verklebung 
zwischen Elektrode und Anschlussdraht angerissen ist oder der sonst 
irgendeine Macke hat.

Solange der Ärger nur bei diesem einen Quarz vorliegt, ist es doch 
Unsinn, über 100 Beiträge lang Vermutungen rauszulassen.

Als Erstes sollte man einen anderen Quarz einsetzen und dann messen.

von hal9001 (Gast)


Lesenswert?

Thomas R. schrieb:
> Mit Verlaub:
> Die Frequenz eines AT-Quarzes ist umgekehrt proportional zu der Dicke
> der Quarzscheibe. Somit ist die Dicke bei gegebener Frequenz vorgegeben:
> f= 1660 kHz*mm/d
> Nebenresonanzen lassen sich vermeiden, indem die Quarzscheibe leicht
> konvex geschliffen wird und der Rand gefast wird.
> Das ist aber bei Quarzen im Cent-Bereich nicht mehr machbar.

Da hst Du natürlich recht, das war nicht richtig formuliert. Mit "dick"
meinte ich den Durchmesser der Scheibe. Die SMD-Quarze haben ja keine
Scheibe, dass sind entweder Stäbchen oder Stimmgabeln. Die 
Nebenresonanzen
von den Scheibenquarzen sind sehr viel weniger ausgeprägt als die der
SMD-Quarze.

von Thomas R. (Gast)


Lesenswert?

Kein Chiphersteller kann einen Oszillator so designen, dass der für 
einen riesigen Frequenzbereich optimiert ist.
Ich gehe davon aus, dass der Quarz i.O. ist, aber mit einer falschen 
Lastkapazität betrieben wurde.
Vielleicht hat Ingo noch mehrere gleiche Quarze und kann mal berichten, 
was nach einem Austausch passiert.

von Thomas R. (Gast)


Angehängte Dateien:

Lesenswert?

hal9001 schrieb:
> Ich hatte den Fall das man den Quarz durch klopfen zum springen bringen konnte.

Die Ursache dafür ist meistens die, dass die Quarzscheibe schief 
eingebaut ist und dadurch das Gehäuse berührt - siehe Foto.

von Ingo (Gast)


Lesenswert?

Thomas R. schrieb:
> Vielleicht hat Ingo noch mehrere gleiche Quarze und kann mal berichten,
> was nach einem Austausch passiert.
Hätte ich, ich habe diese Uhr sogar 3x aufgebaut. Die eine Uhr, von der 
wir hier reden arbeitet nun einwandfrei bzw. mit der jetzigen 
Gangabweichung kann ich leben.

Wenn ich die anderen beiden Uhren in Betrieb nehme werde ich natürlich 
berichten.

Peter R. schrieb:
> Solange der Ärger nur bei diesem einen Quarz vorliegt, ist es doch
> Unsinn, über 100 Beiträge lang Vermutungen rauszulassen.
Da es sich hier um ein Forum handelt, ist die Hauptaufgabe dieses Forum 
Diskussionen zu führen, ob sie sinnvoll sind oder nicht.
Also ich für meinen Teil habe gelernt, dass man auf jedenfall die 
Lastkapazitäten prüfen bzw. die Schwingfrequenz prüfen sollte, wenns 
etwas ganauer sein muss.


Ingo

von 6A66 (Gast)


Lesenswert?

Ingo schrieb:
> Also ich für meinen Teil habe gelernt, dass man auf jedenfall die
> Lastkapazitäten prüfen bzw. die Schwingfrequenz prüfen sollte, wenns
> etwas ganauer sein muss.

Gut! Die letzte Schaltung (Serienproduktion) hatte einen solchen Fehler. 
Kondensatoren neu berechnet und schon ging's. Kamen noch andere Fehler 
dabei raus.

rgds

von hal9001 (Gast)


Lesenswert?

Thomas R. schrieb:
> Die Ursache dafür ist meistens die, dass die Quarzscheibe schief
> eingebaut ist und dadurch das Gehäuse berührt - siehe Foto.

Glaube ich in dem Fall nicht, denn der eierte genau auf einer
seiner Nebenresonanzen rum.

von hal9001 (Gast)


Lesenswert?

Jens Martin schrieb:
> Der ist aber ausverkauft.

Habe ich jetzt auch gesehen, schade.

Die Geräte werden aber manchmal im ebay angeboten.
Es gibt auch noch eine alternative:

http://www.mydarc.de/dg8saq/VNWA21/index.html

leider etwas teurer.

von Ingo (Gast)


Lesenswert?

So, ich habe die anderen Beiden Uhren auch in Betrieb genommen. Sie 
zeigten selbes Verhalten und liefen nur mit 4,7pF genau < 15ppm. Also 
stimmt die Aussage.mit 64pF nicht.

Ingo

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.