DCF Uhr ohne Sync. geht falsch

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • DCF Uhr ohne Sync. geht falsch

      Hallo BASCOM-Gemeinde,
      ich bin hier nicht neu, habe mich aber bisher immer mit Lesen beschäftigt. Ich arbeite seit 2002 mit BASCOM.
      Aber jetzt habe ich mal ein kleines Problem.
      Ich spiele z.Zt. mit einer DCF77 Uhr. Viele werden jetzt sagen "schon wieder DCF77 !!!!"
      Ich zeige die Uhrzeit und das Datum auf einem LCD-Display an und gebe das zusätzlich 1x pro Minute über USB auf ein Terminalprogramm in der Subroutine "Sectic" aus. Funktioniert super!
      ABER: Wenn längere Zeit keine Sync. erfolgt geht die Softclock falsch. Getestet, innerhalb von 12 Stunden ohne Sync. geht die Softclock ca. 15 Sekunden! vor. Verglichen mit mehreren industriellen DCF-Uhren. Das ist mir entschieden Zuviel, da ich hier sporadisch über längere Zeit Empfangsstörungen habe.
      Hardware:
      - Arduino Nano V3 mit 16 MHz Quarz.
      - Lcd = 16 * 2
      - Conrad DCF-Empänger

      BASCOM:
      Config Dcf77 = Pind.3 , Timer = 1 , Check = 2 , Update = 0 , Updatetime = 0 , Timer1sec = 0 , Debug = 1, Inverted = 0, GOSUB = Sectic

      Hat da jemand eine Idee?

      Allen ein frohes Weihnachtsfest
    • naja, ohne sync hast du eine Quarzuhr, die so genau geht, wie der Quarz vom Arduino. Du könntest mit der $crystal-Angabe spielen und da bisschen mehr als 16000000 eintragen. So könntest du dich an die reale Frequenz des Quarzes heran tasten.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Danke für Eure schnellen Antworten!

      @Michael
      Das ist natürlich eine Erklärung. Laut Schaltplan ist dort ein Quarz 16 MHz und zwei C's nach Masse eingezeichnet, Standard.
      Ich werde jetzt mal das Fusebit B ändern und mir den Systemtakt auf einen Pin ausgeben lassen. Hochgenauer Frequenzzähler ist vorhanden.
      Hätte ich auch vorher schon mal machen können. Bin aber immer von einem Quarz ausgegangen. Erst Gehirn einschalten und dann ………..
      Ich halte Euch auf dem Laufenden.
    • Ich hab das jetzt mal getestet.
      Fusebit geändert und Oszillatorsignal auf Pin ausgegeben. 16.008.500 MHz +-, ist nicht konstant wie man es bei einem Quarz erwarten würde, schwankt in den letzten 2-3 Stellen.

      Das hat mich jetzt angespornt. Habe meiner Frau den Fön aus der Hand gerissen. 50cm Abstand, 5 Min. warm gemacht. Die Frequenz geht runter auf 16.002.00 MHz +-.

      Ich habe wieder was gelernt! Der Arduino Nano V3 mag es warm!
      Zukünftig bei Zimmertemperatur $Crystal=16008500.
      Ich habe noch mehre Arduino Nano V3 bestellt, werde mir mal jeden ansehen.

      Blöd: Wenn ich bei Projekten mit dem internen RC Oszillator arbeite, prüfe ich so, wie oben beschrieben immer die Taktfrequenz. Beim Arduino bin ich vom Verkaufsargument ausgegangen, Quarz!
      Für den Hersteller ist der Preisunterschied zwischen einen Keramikresonator und Quarz sicher nur wenige Cent. Aber daran wird dann gespart.

      Ok: Das ist im Moment nur eine Spielerei mit dem Arduino auf den Steckboard. Sollte daraus mal eine schöne Wohnzimmeruhr werden wird eh ein anderer Prozessor natürlich mit Quarz eingesetzt.
    • Mein neuer Test mit $Crystal=16008500 war erfolgreich. Nach ca. 12 Stunden ohne DCF Signal ist nahezu keine Abweichung mehr erkennbar.

      @Tobias:
      Danke für Deinen Tipp Robotdyn. Habe mir die Webseite angesehen. Das sieht nach einem Quarz aus der da verbaut wurde.
      Hast Du Erfahrungen mit der Lieferzeit? Normalerweise dauern ja Lieferungen aus China immer sehr sehr lange.
    • Ich hab auch schon irgendwo Arduinos gesehen die vom Leiterplattendesign für Schwinger und Quarz designt waren, natürlich war nen schwinger drauf :(
      Wenn Bastel_Tom nicht auf ne Fernostlieferung warten will: z.b. hier im nachbarland, gibts aber bestimmt auch noch woanders. Ein HC49 Quarz ist für den Seriellen, der zweite für den AVR an sich.

      Tobias
    • Moin,
      "normale" Quarze sind für Langzeit-Uhren wegen ihrer Toleranzen nicht geeignet. Man kann dann wie beschrieben am Crystal-Parameter individuell nachjustieren oder einen Drehko einbauen. Berührt man die Schaltung in der Nähe des Quarzes mit den Fingern, so ändert sich dabei auch etwas die Frequenz, diese "Handkapazität" verändert die Lastkapazität am Quarz. Das ist normal. Dagegen kann man Schirmbleche anbringen.
      Wenn man ohne Justierung arbeiten will, sollte man Uhrenquarze verwenden und diese mit korrekter Lastkapazität beschalten. Das ist nicht einfach, das Design geht da auch mit in die Lastkapazität ein.
      Ein weiteres Problem ist die Temperaturempfindlichkeit normaler Quarze, Uhrenquarze sind da auf niedrigen Temperaturgang optimiert. Bei Quarzen für Armbanduhren liegt der Scheitelpunkt der Temperatur-Frequenz-Kennlinie bei 27°C.
      So richtig genau wird es mit einer geregelten Quarztemperatur (Quarzofen), in teuren Frequenz-Messgeräten z.b. beim Uhrmacher findet man sowas.

      Viele Grüße