Hallo Um das Problem mit der genauen Sekunde per angepasstem externen OSC mal zu machen habe ich im Anhang liegenden Code geschrieben, der Sekunden, Minuten, Stunden hochzählt. Der TImer 1 sollte bei 4.194304 MHz und dem Prescaler 64 eigentlich genau 1 Overflow/Sekunde machen. Nach 7 Stunden habe ich eine Abweichung von 5 Sekunden! Ist das irgendwo zu erklären?
Dann hat dein OSC nicht ganz genau die angegebene Frequenz, die er haben soll (7*3600 = 25200 Sekunden 5/25200 = 0,2 Promille Abweichung recht passabel...) Hast du dir den Thread von Peter Dannegger zu dem Thema schon mal angeguckt? Mit meiner Uhrenvariante hatte ich bisher noch nicht solche Abweichung; und kalibrierbar ist sie ausserdem.... http://www.mikrocontroller.net/forum/read-4-334642.html#new
ALso ehrlich gesagt glaube ich nicht an eine technische Abweichung bei dem OSC. Wenn dort draufsteht 4,194304 MHz dann sollte das auch so sein. Ich geb ja nicht umsonst die ganzen Kommastellen an. Ich verwende diesen im STK500 auf dem extra-OSC Steckplatz. Dieser ist wie ich sehe, auch nicht sehr nahe am µC angebracht, was ja möglichst immer so sein sollte. Kann es vlt. daran liegen? Gruß Rolf
Guck dir mal den Plan im Handbuch an: hinter dem Quarz sitzt ein kompletter Oszillator, der das Signal verstärkt. Durch die Leitungslänge kann es eigentlich nur zu einer Signalformverfälschung kommen. Quarze sind mechanische Bauteile, die bis auf eine gewisse Toleranz genau gefertigt werden können. Kannst ihn ja mal ausmessen...
Ich hab dein Programm mit der Uhr mal angekukt. Nicht schlecht. Aber warum der spezielle Wert für den OSC von 12,... MHz ? Kann ich es auch mit anderen Werten machen und dementsprechend den Wert für das Compare Register OCR1A ausrechnen?
Ja. der 12,288MHz-Quarz war der einzige, der verfügbar war. Baudratenkompatibel ist er ausserdem.
also kann man sagen das höhere Raten besser sind? Ich habe hier nen 8MHz und nen 16MHz liegen. Welcher ist sinnvoller?
Es gibt Geräte, die können feststellen, ob ein Oszillator resp. ein Signal 4.194304 MHz hat oder 4.194304001 MHz. Die Dinger nennen sich "Frequenzzähler". Man darf aber nicht den Fehler machen, das Signal direkt am Quarz bzw. an den Osc-Pins des uP abgreifen zu wollen, denn der Tastkopf mit seinen -sagen wir mal- 15 pF beeinflusst das gewaltig. Also das OSC-Signal über ein zusätzliches Cmos-Gatter führen, z.B. 74HC00 oder 74AC00 und dann dessen Ausgang mit'm g'scheiten Frequenzzähler messen (...der mind. 1/2 Stunde eingeschaltet ist oder einen Quarzofen hat und unlängst kalibriert wurde). Sonst muss man halt Langzeitmessungen machen und nach 24 Stunden mit dem DCF Funkuhrsignal stoppen und rückrechnen. GPS Funkuhr wäre besser. Klaus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.