Wieder einmal DCF77 und Timer1

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Pluto25 wrote:

      Ohne das die Sekunde auch 0 wird? Da stimmt irgend was nicht - eigene SetTime Routine? Oder Direktbearbeitung von _sec ?
      Nein , keine Nachbearbeitung. Ist vielleicht etwas ungenau geschrieben. Nach der 28. Sekunde ist die nächste Minute im DCF-Empfangssignal abgeschlossen

      Pluto25 wrote:

      In der Bascom Hilfe: Bit 7 wird gesetzt wenn die Zeit übernommen wurde. Bit 2 zeigt ob der Empfang ok war. (Nur während der 59.Sekunde)
      Ja, das gilt für das Statusbyte. Im Beispiel ist jedoch auch ein Byte dcf_bits aufgeführt. Was bedeuten diese Bits?
      Ich muss jetzt noch nachfügen dass nach ca. 2 Stunden das Bit7 des Statusbytes gesetzt und die Zeit übernommen wurde. Scheint mir aber doch etwas lange.
    • jepe wrote:

      Scheint mir aber doch etwas lange
      Ist hier ähnlich schlecht. Vor der Antwort gelöscht und immer noch nicht wieder da ;( (DCF_Status=8/9)
      Und recht hat der : hier empfängt er fuchbare Daten: (Tag 32 des 22.Monats im Jahr 0, 01:24:127) Das sollte er wirklich nicht übernehmen :D . Oft stimmen viele aber mindestens einer liegt voll daneben X(
      Es scheint mir bedenklich diese "gewaltsam" zu übernehmen. Vielleicht als Schnellstart (nach Plausieblitätsprüfung )?
      Hier nimmt er (nach Stromausfall) an das 12:34 und zählt von da aus weiter bis er die richtige Zeit bekommt.
      Die Dcf_Bits scheint ein Zähler zu sein , ihr Wert springt wild umher.
      Er hat es gerade geschafft a_22_9ac28a82 Nun stehen die Bits bei Neun und ändern sich nicht mehr, der Rest auch nicht (13.11.21,20:09:00,Dcf_status $99)
    • Ich wohne in der Schweiz und hatte bisher wenig Probleme mit DCF77 (oder ich habe sie nicht bemerkt :( ).
      Nach Neustart ca. 1 1/2h bis zur Synchronisation obwohl die richtigen Werte bereits nach 3 Min. anzeigt werden(Daten der DCF-Auswertung).
      Da werde ich wohl mit dem Resultat leben müssen; gut wenn man es weiss.
    • Der Empfang ist relativ gut wenn man genügend weit von uP und (Schalt!)Netzteil entfernt ist. Die Werte die er im Testprogramm unter dcf_sec und dcf_day anzeigt sind stabil. Darum wundere ich mich dass es über 1 Stunde dauert bis er mit Check = 1 das Empfangsresultat übernimmt. Vielleicht habe ich aber nur zu wenig genau hingeschaut :/ Ich wundere mich immer wenn ich Bilder sehe bei denen der Ferritstab direkt auf dem uP liegt; hat bei mir nie funktioniert.
      P.S. bei euch auf dem platten Land sollte der Empfang doch gut sein? ^^
    • Seine Position ist unglücklich. Das Modul auf Steckpins neben dem Mega, Die Antenne auf einem Steg im Schaltkasten ca 10 cm von mehreren Relais und Netzleitungen. Sie lag ursprünglich auf der Platine - das ging hier beim Probelauf (eine Etage höher auf Holzplatte gut. Im Schaltkasten auf Metallplatte gar nicht mehr)
      Anfangs habe ich die Antenne(Ferritstab) mit Hilfe eines Oscars positioniert. Da hat er die Zeit recht schnell gefunden (sobald es ca zweimal hintereinander nur 58 Pulse waren)
      Zur Zeit bekommt er scheinbar hunderte (Sekunden laufen zu schnell) - kein Erfolg seid fast 3 Stunden ;(
      Vermutlich ist das ständige Abfragen (485) auch nicht förderlich.
    • Laut Wikipedia sollte die Uhr nach spätestens 2 Minuten synchronisiert haben - vorausgesetzt, der Empfang ist störungsfrei.

      Die zu geringe Empfangsstärke des DCF-Signals und Störpulse darauf auf dem Signal sind eine mögliche Ursache für das Synchronisieren der.

      Eine weitere Ursache könnte im Anwenderprogramm liegen. Möglicherweise werden Interrupts gemacht, die den DCF-Interrupt verzögern und somit zu falscher Auswertung führen. Folge ist das Verwerfen des Signal.

      Man könnte ja mal ein Test fahren, und die Interrupts außer den von DFC ausschalten, bis die Zeit synchronisiert ist. Dann mal schauen, wie lange es dann geht.

      Dauert die Synchronisierung dann auch so lange, liegt es wohl am Empfang.
    • Ich habe jetzt (12:00) das Testprogramm wieder gestartet, diesmal explizit mit Check = 0. Zeitübernahme nach Time$ nach dem ersten vollen Minutendurchlauf.
      Versuch mit Check = 1 (default) --> Zeitübernahme nach dem 2. vollen Minutendurchlauf.
      Versuch mit Check = 2 --> Zeitübernahme nach dem 2. vollen Minutendurchlauf
      d. h. alles i.O. so sollte es sein.
      Danach habe ich zur Kontrolle die ursprüngliche Kombination, Check NICHT in der Config erwähnt (gemäss Beschreibung sollte dann Check = 1 sein) nochmals ausprobiert und siehe da: keine Zeitübernahme nach > 1 Stunde.
      Zur Kontrolle nochmals explizit Check = 1 in der Config aufgeführt und --> Synchronisation nach 2 vollen Minutendurchgängen!
      Mit der Beschreibung scheint also etwas nicht zu stimmen darum immer Check = 0/1/2 angeben. a_35_aee4835d
    • Ich habs gerade mal compiliert. 315 Unterschiede in der Bin. =O Eine neue Varible (DCF-MIN_CHECK) wurde angelegt. Ein gewaltiger Unterschied bedenkt man das es Default auch 1 sein soll.
      Seltsam. In der alten Version (die mit dem Oscar) war auch das Check nicht enthalten. Dennoch war es recht schnell (nachdem die Pulse stimmten) Dcf-Lib Vers 1.04, Bascom 2.0.8.1

      The post was edited 1 time, last by Pluto25 ().