PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Softclock: wird Schaltjahr/Sommer/Winterzeit berücksichtigt?



Marten83
11.01.2008, 19:59
Guten Abend!

Ich wollte gerade das Menü für das Einstellen der Uhrzeit und des Datums machen, da ist mir aufgefallen, dass ich nicht weiss, ob bei der Soft clock in Bascom Schaltjahre und Sommer- / Winterzeit berücksichtigt werden.
Hat da jemand Erfahrungen bzw. Kenntnisse?
Wenn dem nicht so ist, dann wäre es doch besser eine RTC (DS1337C) zu nehmen, oder?
Hinzu kommt noch, dass der Uhrenquarz direkt am AVR einen größeren Temperaturdrift hat als die RTC.

Was meint ihr dazu?

MfG Marten83

Gento
11.01.2008, 20:06
Woher sollte ein Stück Silizium wissen ob Sommerzeit ist.

Das Wissen alleine liegt in der Software die Du schreibst.
Selbst für Schaltjahre die sind und alle 100 Jahrel ausfallen ,aber alle 400 Jahre doch nicht gibt es Formelm.

Gento

Marten83
11.01.2008, 20:10
Naja, das wollte ich doch gerne wissen, ob das in den Routinen der Soft Clock in Bascom berücksichtigt ist.
Ich kann aus der Hilfe diesbezüglich nichts erkennen.
Oder stehe ich jetzt auf dem Schlauch und hinter der Date$ Variablen steht gar keine Routine?

Dirk
11.01.2008, 20:14
Hallo Marten83,

Schaltjahre werden bis 2099 berücksichtigt.

Sommer-/Winterzeit: Ein Flag oder Schalter ist nicht vorgesehen, must du also mit deiner Software realisieren.

Gruß Dirk

P.S.: Schau dir die mcs.lib mit einem Editor an und such nach "soft_clock". Da kannst du dir die Bascom-Softclock selbst ansehen!

Marten83
11.01.2008, 20:28
Hmm, dann werde ich das erstmal damit probieren und mal Testen wie genau das Ganze läuft.
Vielleicht vergleiche ich mal die beiden Möglichkeiten miteinander.

Dirk
11.01.2008, 20:39
... mal Testen wie genau das Ganze läuft. Vielleicht vergleiche ich mal die beiden Möglichkeiten miteinander.

Ob man eine Softclock (also eine ins eigene Programm integrierte "Uhr") oder eine RTC nimmt, hat wenig mit der Genauigkeit zu tun. Beide kann man nach Abgleich sehr genau hinkriegen.

Es geht dabei darum, ob man die Zeit mit wenig Energieaufwand unabhängig vom Hauptprozessor speichern will. Das kann dann die RTC.

Gruß Dirk

Ratber
12.01.2008, 17:34
@Marten83

Schaltjahre sind wie schon gesagt bei der softclock berücksichtigt bis 2099.
sommerzeit nicht.
Die mußt du dir selber stricken.
Ist aber nicht kompliziert da die Daten ja schon feststehen.

Was die Genauigkeit angeht so sollte man die elektrischen Vorgaben schon berücksichtigen (Gilt auch für RTC-chip).
Mit einem ziehkondensator (Drehkondensator) kann man den dann einen abgleich vornehmen.(Wenn kein zähler verfügbar ist einfach nach und nach verstellen wie die stellschraube an alten Pendeluhren)

Gento
12.01.2008, 23:48
Schaltjahre sind wie schon gesagt bei der softclock berücksichtigt bis 2099.

Sehr witzig ,weil bis 2099 greift die Regel alle 4 Jahre.

Gento

Dirk
12.01.2008, 23:55
Sehr witzig ,weil bis 2099 greift die Regel alle 4 Jahre.

Jo, ... und genau das wird berücksichtigt. O:)
Klasse, oder?

Gruß Dirk

Gento
13.01.2008, 00:51
Sehr witzig ,weil bis 2099 greift die Regel alle 4 Jahre.

Jo, ... und genau das wird berücksichtigt. O:)
Klasse, oder?

Gruß Dirk

Eben nicht ..... da erst ab 2100 die Regel nicht mehr gilt.

bis 2099 := 0815 , danach rechnen

Gento

Ratber
13.01.2008, 04:35
Ja und was gibts nun zu meckern ?

Bis dahin werden 99.999xxxxx% aller Schaltungen eh nicht mehr laufen also ist das Hupe.

peterfido
13.01.2008, 12:33
Ich würde sagen, dass das dann nur bis 2096 interessant ist. 97-99 sind keine Schaltjahre. Wenn ich jetzt ein Programm a la Wochentag zum Datum programmiere, dann brauch ich auch spätere Jahre, vorausgesetzt die Zeitrechnung bleibt, wie sie ist.

Dirk
13.01.2008, 13:39
Leute,

Ausgangspunkt war doch die Frage, ob die Bascom-Softclock Schaltjahre berücksichtigt.

In der mcs.lib findet sich in der Softclock-Routine der Kommentar, dass Schaltjahre bis 2099 korrekt (Ergänzung von mir: mit dem 29.2.) berücksichtigt sind.
Wenn ich mir den Code ansehe, dann stimmt das so auch!

Also: Was gibt es an der Aussage der mcs.lib zu relativieren, bezweifeln oder was nützt der Hinweis auf 2100 und Folgejahre???

Oder hat jemand Zweifel an folgendem Experiment:
Man läßt einen uC mit der Bascom-Softclock bis 2099 laufen (und korrigiert höchstens mal geringe Zeitabweichungen, nicht aber das Datum) und findet dann am 31.12.99 das korrekte Datum in der Softclock wieder?

Gruß Dirk

P.S.: Meine Voraussage: Passt! (Wenn der uC durchhält). Kleiner Tip: Mit einem schnelleren Taktgeber für die Softclock (z.B. 1ms anstelle von 1s) könnte man das Experiment in 1 Monat durchjagen. Viel Spaß!

Ratber
13.01.2008, 14:07
Mit einem schnelleren Taktgeber für die Softclock (z.B. 1ms anstelle von 1s) könnte man das Experiment in 1 Monat durchjagen. Viel Spaß!

Man kann auch die Uhr einfach wenige Sekunden vor das jeweilige Ereignis stellen und ist in wenigen minuten durch ;)

Marten83
14.01.2008, 10:54
Also, danke für die Erläuterungen.

Wie Ratber schon gesagt hat: bis 2099 wird meine Wetterstation sowieso nicht mehr existieren.
Eigentlich wollte ich die Uhrzeit sowieso mit der DCF-77 Funktion in Bascom machen. Leider hängt sich der uC nach ca 3 Minuten auf. Deswegen jetzt die Softclock.
Beim rumprobieren ist mir aufgefallen, dass man schon nach ein paar Stunden merkt, dass die Genauigkeit stark von der Temperatur abhängt.
Aber da es sich nur um ein paar Sekunden handelt wird das wohl zu verkraften sein. Unter anderem soll die Temperatur in meiner Wohnung ja auch nicht allzu stark schwanken.
Für Sommer- und Winterzeit schreibe ich noch eine kleine Routine. Sollte nicht zu aufwendig werden.

Vielen Dank auf jeden Fall für die Infos.

MfG, Marten83