Uhr mit Quarz fängt an zu rennen...

pcprofi

Neues Mitglied
12. Apr. 2008
90
0
0
Sprachen
Hallo Leuts,

das nächste Problem taucht auf:
Die Uhr aus --> Diesem Thread hier, fängt in den letzten Tagen an, wie verrückt vor zu gehen.
Sie läuft mit der internen Soft-Clock auf einem 32,786kHz-Quarz.
Es scheint mir so zu sein, dass sie mal richtig geht, und dann aber wieder so an einem Tag mal eben eine Minute vor geht.
Dieses Phänomen tritt seit vll 2 Wochen auf - aber an der Uhr wurde seit längerem nichts mehr Hardwaremäßig geändert, und Softwaremäßig kann es ja eigentlich nciht festhängen, da die Displayausgabe im Sectic stattfindet - und nur das Menü in der Main-Loop hängt.

Hat einer eine Idee, woran das liegen könnte? Ich denke da irgendwie nur an den Quarz - aber wodurch könnte der beeinflusst werden?

Gruß Rainer
 
Hallo Rainer,

was nimmst Du für einen Prozessor ?

Wenn die Softclock "davonrennt" dann ist wahrscheinlich die Lastkapazität zu gering. Must Du mal im Datenblatt des Prozessors nachschauen, was da als interne Kapazitäten verbaut sind.

Hab selber schon Erfahrungen damit gemacht. Während ein Atmega8, 16 oder 32 ohne Probleme mit dem Uhrenquarz ohne weitere Beschaltung zurecht kommt, rennt mir bei einem Atmega644 die Uhr auch davon. 2x 10pF Kerkos nach Masse (an jedes Bein einer) haben das Problem gelöst.

Wenn ich im Datenblatt der verschiedenen Prozessoren nachschaue, dann steht auch drin, das bei einem Atmega644 die internen Kapazitäten geringer sind.

Es hängt auch vom Hersteller und vom Typ des Uhrenquarzes ab, welche Lastkapazitäten benötigt werden. Ich habe in meinem neuen Projekt Uhrenquarze mit militärischen Spezifikationen. Die benötigen dann gleich mal 2x 22pF (beim Atmega644) um richtig zu tickern.

Im Übrigen kann so jeder Uhrenquarz oder Quarz für die Takterzeugung recht präzise "gezogen" werden ;)

Thomas
 
Hallo Rainer,

leider ging dein letzter Beitrag auf Grund eines Missgeschicks von mir verloren :eek: (ich wollte eigentlich "zitieren" nicht "ändern"), sorry.

Was meinst du mit "gezogen"?
Der Quarz schwingt nur dann genau mit seiner nominellen Frequenz, wenn der Schwingkreis angepasst ist, das ist dann der Fall, wenn die Quarz-Lastkapazität mit der Oszillator-Lastkapazität übereinstimmt. Man kann also mit den beiden Cs nach GND die tatsächliche Oszillatorfrequenz in gewissen Grenzen um die Nennfrequenz des Quarzes "verschieben". Ich nehme an, das meinte Thomas mit "gezogen".
Was mich halt wunder ist, dass es jetzt erst seit einiger Zeit halt auftritt... Am Anfang gings immer Sekundengenau...
Wenn ich einmal davon ausgehe, dass die Ursache des Problems nicht die Software ist, dann könnte es noch ein EMV-Problem sein, was wiederum indirekt auch mit den Cs zusammenhängen kann. Der Oszillatorbereich um den 32,768kHz Quarz ist ziemlich empfindlich. Vielleicht liegt hier das Problem. Hast du denn deine Schaltung an einen anderen Ort gelegt, zum Beispiel Fernseher, oder DECT-Telefon?

Grüße,
Dirk
 
Hallo Dirk, ist nicht schlimm, hab ihn per "zurück"-Button nochmal gefunden und kopiere es einfach mal mit hier rein.


Zitat:
Zitat von Knickohr Beitrag anzeigen
Hallo Rainer,

was nimmst Du für einen Prozessor ?
Ist ein Mega8...

Zitat:
Wenn die Softclock "davonrennt" dann ist wahrscheinlich die Lastkapazität zu gering. Must Du mal im Datenblatt des Prozessors nachschauen, was da als interne Kapazitäten verbaut sind.

Hab selber schon Erfahrungen damit gemacht. Während ein Atmega8, 16 oder 32 ohne Probleme mit dem Uhrenquarz ohne weitere Beschaltung zurecht kommt, rennt mir bei einem Atmega644 die Uhr auch davon. 2x 10pF Kerkos nach Masse (an jedes Bein einer) haben das Problem gelöst.
Ich habe bisher immer nur gelesen, dass man die Cs eben weglassen soll bei dem 32,xxxkHz-Quarz... Aber probieren kann man ja, sind ja Cent-Artikel, habe leider nur 22pF da (sind halt die Standart für die höheren Quarze).

Zitat:
Wenn ich im Datenblatt der verschiedenen Prozessoren nachschaue, dann steht auch drin, das bei einem Atmega644 die internen Kapazitäten geringer sind.

Es hängt auch vom Hersteller und vom Typ des Uhrenquarzes ab, welche Lastkapazitäten benötigt werden. Ich habe in meinem neuen Projekt Uhrenquarze mit militärischen Spezifikationen. Die benötigen dann gleich mal 2x 22pF (beim Atmega644) um richtig zu tickern.
Wenn ich das so richtig sehe, dann müssen die Cs also eine Mindestgröße haben, oder wie sieht das aus? Weil dann würd ich grad nen 22er versuchen - der Quarz ist halt son Standartding ausm Elektronikladen (22km weg ).

Zitat:
Im Übrigen kann so jeder Uhrenquarz oder Quarz für die Takterzeugung recht präzise "gezogen" werden

Thomas
Was meinst du mit "gezogen"?

Was mich halt wunder ist, dass es jetzt erst seit einiger Zeit halt auftritt... Am Anfang gings immer Sekundengenau...

Gruß Rainer



Also an sich ist es so, dass die Uhr jetzt 20 cm woanders steht, daneben steht ein Laustprecher vom Laptop, ein Brenner (der an sich nur im Betrieb EMV-Strahlen dürfte) und ne Maus. Die ist aber Kabelgebunden, kann also an sich auchnicht sein. Blieben die Lautsprecher übrig, aber ob die paar Billigdinger so stark Strahlen? Okay ein Wechselmagnetfeld haben die auch...

Also Software kann nach meiner Logik halt nicht sein. Die interne Softclock arbeitet ja per Timer mit Interrupt.
Die Darstellung der Uhrzeit läuft im Sectic ab - das das dürfte in 1er Sekunde bei 8 MHz internem RC-Oszillator Problemlos möglich sein...

Aber ich stelle die Uhr mal woanders hin - heute übrigens wieder gute 12 Sekunden vor - und das ist VIEL Holz...

Gruß Rainer

PS: Leuchstoffröhre als Schreibtischlampe möglicher Störer?
 
Hallo Rainer,

ob da etwas stört, findest du am besten raus, wenn du mögliche Störquellen entfernst oder deine Schaltung einfach woanders hinlegst und beobachtest, ob der Fehler immer noch auftritt.

Ich habe mir das Datenblatt vom ATmega8 angekuckt, es gibt bei den Revisionen D bis I folgendes Problem. Wenn man den internen Oszillator für den Systemtakt nutzt, schaltet die Fuse CKOPT die internen Cs für TOSC1/2 nicht ein. Du kannst ja mal überprüfen, welche Revision du hast. Ist es eine aktuelle Revision (ohne diesen Fehler), dann einfach mal CKOPT einschalten, wenn nicht, dann wie Thomas schon vorgeschlagen hat Cs verwenden.

Grüße,
Dirk

Errata ATmega8 Rev. D to I
CKOPT Does not Enable Internal Capacitors on XTALn/TOSCn Pins when 32 KHz
Oscillator is Used to Clock the Asynchronous Timer/Counter2
When the internal RC Oscillator is used as the main clock source, it is possible to run the
Timer/Counter2 asynchronously by connecting a 32 KHz Oscillator between XTAL1/TOSC1
and XTAL2/TOSC2. But when the internal RC Oscillator is selected as the main clock
source, the CKOPT Fuse does not control the internal capacitors on XTAL1/TOSC1 and
XTAL2/TOSC2. As long as there are no capacitors connected to XTAL1/TOSC1 and
XTAL2/TOSC2, safe operation of the Oscillator is not guaranteed.

Problem Fix / Workaround
Use external capacitors in the range of 20 - 36 pF on XTAL1/TOSC1 and XTAL2/TOSC2.

This will be fixed in ATmega8 Rev. G where the CKOPT Fuse will control internal capacitors
also when internal RC Oscillator is selected as main clock source. For ATmega8 Rev. G,
CKOPT = 0 (programmed) will enable the internal capacitors on XTAL1 and XTAL2. Customers
who want compatibility between Rev. G and older revisions, must ensure that
CKOPT is unprogrammed (CKOPT = 1).
 
Wenn ich wüsste wo ich das nachgucke?! Bin noch neu bei µC...

Also es steht folgendes drauf:

0738I
ATMEGA8-16PU

Das lässt mich natürlich dann zur Revision I tendieren - falls korrekt, einfach mal die Cs anlöten?

Aber warum tritt das ganze dann erst jetzt auf?

Gruß Rainer
 
Hallo Rainer,

ja das dürfte die Revision I sein, also mit diesem Fehler.

Warum das erst jetzt auftritt weiß ich leider auch nicht, vielleicht ist es dir anfangs nicht so aufgefallen.

As long as there are no capacitors connected to XTAL1/TOSC1 and
XTAL2/TOSC2, safe operation of the Oscillator is not guaranteed.
Es ist möglich, dass der Oszillator nicht sicher läuft oder emflindlicher gegen EMV oder Temperatur ist, oder auch bei bestimmten Betriebsspannungen nicht richtig läuft.

Also einfach mal die Cs anschließen.

Grüße,
Dirk
 
Alles klar - ich schließe mal eben Cs an - und ihr hört spätestens die Tage wieder von mir...

Gruß Rainer

btw: Tolles Forum, ich würd gern mehr dazu beitragen - aber wenn man neu in dem Gebiet ist, ist das in so nem speziellen Forum mal gar nicht einfach...
 
Also - ich habe mal 22pFarader hingelötet und nach der Funkuhr gestellt. Bisher läuft die Uhr absolut exakt auf die Sekunde genau.

Scheint also tatsächlich daran gelegen zu haben

Gruß Rainer
 
Ja, absolut.

Seit dem letzten Stellen hat sie ca. eine Sekunde Abweichung von meiner Funkuhr.

Gruß Rainer
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)