- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: config DCF77 +Sampleerklärung

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ob Du das Status-Bit 7 für Dich als Informationsquelle verwendest, bleibt Dir überlassen.
    Im DCF-Signal wird die Zeit-Information für die nächste volle Minute übertragen. Daher ist die Minuteninformation nicht diejenige der laufenden Minute, sondern der nächsten. Mit der 28. Sekunde ist die Minuteninformation komplett und wird in die entsprechende Variable DCF_Min geschrieben. Das gleiche "Phänomen" wirst Du bei DCF_Hour beim Stundenwechsel bei der Sekunde 35 feststellen. Die Variable DCF_Sec ... DCF_Year sind interne Variablen zum Zwischenspeichern der empfangenen Zeitinformation und haben für die Applikation selbst keinen unmittelbaren Wert.
    In der Test-Stellung kann hier die empfangene Zeit-Information beobachtet werden.
    Viele Grüße
    Josef
    -------------------------------------------------------------------------------------
    DOS-File System für BASCOM-AVR auf http://members.aon.at/voegel

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    16.10.2006
    Ort
    Essen
    Beiträge
    26
    Hallo Josef,

    danke, das wußte ich überhaupt nicht.
    Also kann ich DCF_Sec ... nicht für Anzeigezwecke gebrauchen, sondern muß die Soft oder RCT Zeit dafür benutzen.

    Gut, wenn man es weiß, kann man damit leben. Ich dachte ich hätte einen Fehler gemacht oder entdeckt.

    Gruß Peter

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    Das Verhalten ist kein Bug, mit dem man "leben muss", sondern ergibt sich aus der Konzeption der Programmes. Das ganze besteht ja aus zwei Teilen:

    - einer eigenständigen Soft-CLOCK
    - einer DCF-Signal-Auswertung, welche bei korrekter Zeitinformation die Soft-Clock stellt.

    Im Programm sollte daher nur mit den Variablen aus der Soft-Clock gearbeitet werden.
    Dagegen, die DCF_... Variablen im Programm zu verwenden spricht nur das vorher angeführte systembedingte Verhalten. Auch gibt es für DCF_Sec keine Sekunde 59, da diese ja nicht gesendet wird. Die Pause von 2 Sekunden zwischen 58 und 00 ist ja die Minutenmarke. Weiters wird in den Variablen DCF_Sec .... DCF_Year bei gestörtem Empfang auch nur Schrott zu finden sein, weil dort die Informationen ja wie empfangen eingeschrieben werden. Mit dem kompletten Zeittelegramm in der Sekunde 58 wird die gespeicherte Zeitinformation je nach dem CHECK-Parameter geprüft. Falls diese als richtig erkannt wird und eine Minutenmarke unmittelbar darauf folgt, wird die SOFT-CLOCK gestellt.
    Viele Grüße
    Josef
    -------------------------------------------------------------------------------------
    DOS-File System für BASCOM-AVR auf http://members.aon.at/voegel

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    16.10.2006
    Ort
    Essen
    Beiträge
    26
    Hallo Josef,

    danke für die Infos.

    Das Testprogramm verführte dazu auch die Zeit aus den DCF Variablen zu beobachten. Bei "normaler" Anwendung hätte ich das Verhalten wohl gar nicht bemerkt. Aber gut zu wissen.
    Ich würde bei meinem fertigen Innern/Aussen Termometer auch nur die RTC Zeit verwenden. Die hatte heute ca. 2 sec Abweichung, obwohl die Schaltung schon seit 2 Monaten hier im Schrank liegt.

    Gruß Peter

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.02.2005
    Ort
    Salzburg
    Alter
    43
    Beiträge
    464
    Hallo Leute!!

    Hab gerade die Routine config dcf77 in meinen Quellcode integriert und ich muß sagen, es geht sehr gut. Noch während der Auswertung der Sekundenzeiten werden die einzelnen Werte schon geupdated.
    Ich finde es sehr gelungen.

    MFG

    Bertl

  6. #16
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381
    @ Peter,

    Hallo!

    ich möchte gern Deinen Code zum probieren zu Hilfe ziehen. Nur leider kenne ich mich noch nicht so recht mit der soft_clock aus.
    Das Programm will ich wie Du auf einem Mega32 laufen lassen.
    Meine Frage ist nun:
    1. wie sieht es mit den Fusebit für den mega aus, wie müssen diese richtig gestellt werden
    2. benötige ich für die soft_clock den 32kHz Quarz?

    Könntest Du mir kurz Deine Hardwarekonfiguration darstellen?

    Vielen Dank und Gruß MAT

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    16.10.2006
    Ort
    Essen
    Beiträge
    26
    Hallo MAT,
    sorry ich war weg, deshalb die späte Antwort.

    Ich nutze ein selbstgebautes MEGA32 Board. Am I2C Bus habe ich den 1307, als die Echtzeituhr angeschlossen. Der Baustein nutzt den 32 kHz Quarz und eine 3V Batterie.

    Bei den Fusebits habe ich Fusebit KLA987 auf 111111 gesetzt. (für den 16MHz Quarz) und Fusebit H auf 1 (JTAG aus)

    Das Programm stellt die Softuhr über die DCF77 Routine, wenn diese gestellt ist wird der 1307 gestellt. In einer echten Anwendung würde man nur die 1307 Zeit zeigen, weil diese "immer" stimmen sollte.

    Gruß Peter

  8. #18
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381
    Hallo Peter!

    Danke für Deine Antwort! Zur zeit läuft meine DCF77 nun endlich.
    Jetzt habe ich schon in Forenbeiträge nach einer Lösung gesucht, mit der ich bei einer bestimmten Zeit eine Aktion auslösen kann.
    Hast Du ne Lösung zur Hand?

    Das wäre schön!

    CU & Gruß MAT

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    16.10.2006
    Ort
    Essen
    Beiträge
    26
    Hallo MAT,

    nimm sowas wie:

    If _Hour = 23 .AND. _Min = 0 then
    deine Aktion
    End if

    Gruß Peter

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2006
    Alter
    33
    Beiträge
    113
    Einfach inner Schleife mit ner If-Abfrage ueberpruefen ob die gewuenschte zeit da ist sollte doch gehen...
    Also so:
    if minute_t = 5 and stunde_t = 13 then
    *machwas du willst*
    end if

    weiss nich ob das die richtigen variablen sind, hab mit dem code noch nich gearbeitet, sollte aber tun.

    edit: peter war schneller -_- ich haette nich zwischendurch essen solln^^
    Stell dir vor es ist krieg - und keiner geht hin.
    Gewinner des Roboterwettbewerbs "Zukunft durch Innovation" des Bundeslandes NRW in Aachen.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen