Danke, funzt jetzt auch.
Grüße Eisbaeeer
Druckbare Version
Danke, funzt jetzt auch.
Grüße Eisbaeeer
@Knickohr
Klar, indem man das Array in der Lib korrekt adressiert.Zitat:
Kann man den doofen Array expected [DCF77BUFFER] noch irgendwie ausmerzen ? Ist doof, immer die Fehlermeldung im Compiler zu sehen.
Ersetze "Loadadr DCF77Buffer,Z" mit "Loadadr DCF77Buffer(1),Z
und schon gibt es keine Fehlermeldung mehr. =D>
Hi,
ich habe da ein Problem wo ich hoffe das ihr mir helfen könnt. Ich benutze die super DCF77 libary die hier vorgestellt wurde. Funktioniert auch bestens. In der Anwendung die ich brauche kann ich die softclock nur Nachts mit DCF aktualisieren. Natürlich kommt es da ich keinen Quarz drann habe (so genau muss es nun auch nicht sein) zu ungenauigkeiten bis zum nächsten DCF Empfang.
Problem ist nur das es 10sec pro Stunde sind, was dann doch recht heftig ist (warum auch immer das so krass hier ist). Egal ob interner 8Mhz RC oder externer 8MHz Quarz. Wo bzw wie kann ich das denn ein wenig nachkorrigieren. Im Prinzip müsste ich doch den Timer nur etwas weniger Zählen lassen pro Umlauf??!!
Wäre super wenn mir da jemand helfen könnte,
Grüße und Danke,
Lars
EDIT: Ich passe einfach den Startwert an, richtig?? Ist mir gerade aufgefallen als ich nochmal über den code gelesen habe.
Hallo,
warum machst Du dann den 32kHz Uhrenquarz nicht auch n och dran und läßt die Uhr darüber laufen ?
Dann sind es in mehreren Tagen vielleicht mal eine Sekunde. Die DCF dient dann nur zum Einstellen der Softclock.
Thomas
Hi,
na ja hat zwei Gründe....erstens ist die Platine schon fertig und hat den Uhrenquarz natürlich nicht vorgesehen. Anderer Punkt ist das fast alle Pins belegt sind....sprich es in meinem Fall auch echt ungünstig wäre wenn ich die beiden Quarzpins wieder freigeben müsste. Wenn ich es verhindern kann würde ich es zumindest :D
Habe den Startwert erst um eins niedriger gemacht....da war die Uhr 10s zu langsam. Jetzt mache ich bei jedem Umlauf eimal 61 und einmal 60....dann läuft sie ziemlich genau. Bzw genau genug für meine Anwendung. Auf die Sekunde am Tag kommt es hier ja auch nicht an. Andere Möglichkeit wäre die Uhr auf den Timer1 zu machen wo ich genauer einstellen könnte......aber den brauche ich für andere Sachen.
Oder jemand noch eine andere idee außer den Startwert so zu modifizieren?
Grüße und Danke,
Lars
Hallo,
meine Uhr läuft an einem Tag mehrere Sekunden oder gar Minuten vor. Habe einen Uhrenquarz an dem Atmega 1280 angeschlossen (TOSC1 und TOSC2 bzw. Pin PG3 und PG4). Nur wie Nutze ich diesen? Was muss ich einstellen? Wenn ich in der include Datei nur statt DCF77-soft nur DCF77 einstelle, dann bekomme ich gar nichts mehr angezeigt. Habt verständnis dass ich diesen 20 Seiten Thread nicht durchgelesen habe und die Antwort irgendwo da drin ist.
Keiner eine Idee?
Uhrenquarz und DCF habe ich persönlich noch nicht auf einem Atmega verwendet. Ich nutze meist einen DS1307. Nicht nur wegen der batteriegepufferten Gangreserve. Allerdings weicht dieser trotz Uhrenquarz auch etwas ab (Vielleicht sollte ich nicht immer nur die Sonderangebote kaufen). Die DCF Routine fragt den DCF-PIN mehrmals pro Sekunde ab. Config Clock = Soft setzt nur die Variablen. Den Rest (die komplette Uhr) muß selbst programmiert werden. Ob es bei DCF auch so ist, weiß ich nicht. Ich nutze für DCF die Bascom internen Routinen. Wenn die Uhr etwas abweicht, hilft eine manuelle Timerkorrektur. Die Abweichung sollte aber stets gleich bleiben. Dies geht aber nicht über den internen Takt. Dafür benötigst Du einen Quarz oder Quarzoszillator.
Bei DCF sollte die Uhr aber öfter gestellt werden. So große Abweichungen sprechen für schlechten Empfang.
Bei mir stellt die sich jede Stunde. Nur habe ich gerade einen Einbauort, wo die Uhr nicht immer empfang hat. In der Nacht ist der Empfang gut am Tag eher Mäßig bis schlecht bis unmöglich. Deswegen benötige ich einen Uhrenquarz. Denn sonst geht die innerhalb eines Tages mehrere Minuten nach. Nur weis ich nicht wie ich den Uhrenquarz in der DCF77 Routine verwenden soll. Im Wiki steht von DCF77_soft ersetzen durch nur DCF77 aber dann zeigt bei mir die Uhr gar nichts mehr an.
Da wird z.B. ein Schaltnetzteil oder Netzgerät den Empfang stören. Wenn die Uhr nachgeht, würde ich mit den Timereinstellungen / bzw. der Crystal-Angabe spielen. Wichtig ist externer Takt.