Also mein Problem liegt darin das die Uhr zu langsam läuft. Am Timer habe ich einen Uhrenquarz mit 32768Hz angeschlossen. Lasst euch bitte nicht an den Code aus hab noch nicht so viel gemacht :) Ich habe dann auch schon das Output Compare Register verändert aber so richtig läuft das einfach nicht. Das Problem ist sie läuft zu langsam oder halt zu schnell. Ist mein Ansatz vielleicht falsch mit dem Output Compare ? Oder mache ich sonst was falsch. Meine einzige Idee noch ist den Teiler zu ändern und dann damit etwas rum probieren. Aber ich dachte das so ein Quarz doch sehr genau ist. Dann sollte ich doch bei einen Teiler von 1024 einen Wert von 32768/1024 eintragen was 32 ist. Was sind da eure Ideen oder Verbesserungen bin für jede Hilfe dankbar.
Ich mache das immer mit dem Overflow-Interrupt. Teiler auf 128 (CS2 und CS0 gesetzt), dann gibt's alle 128*256=32768 Quarzschwingungen einen Interrupt.
Also ich habe das jetzt auch schon wie von Christian beschrieben mit dem Overflow Interrupt ausprobiert. Leider ist auch nicht das gewünschte Ergebniss eingetreten. Hab das wieder einmal angehängt. Komme jetzt auf 2sek pro Tag an eine richtige Uhr ran. Besser will es aber einfach nicht laufen leider. Vielleicht hat ja noch jemand ne Idee oder findet was ich falsch gemacht habe.
"Komme jetzt auf 2sek pro Tag an eine richtige Uhr ran." Das dürfte normal sein. Du mußt ja noch den Quarz mit einem Trimmer abgleichen oder in Software korrigieren. Peter
Also ich dachte das das so schon genau genug ist ohne das ich in der Software das mit einberechnen muss. Und meinst du mit Trimmer die extern beschalteten Kondensatoren? Hab im Datenblatt nachgelesen das die nicht notwendig sind. Wenn du was anderes meinst erklär mir das mal bitte etwas genauer.
Klingt glaub ich etwas komisch, nicht böse gemeint. Bin dankbar für jede Hilfe nur so langsam etwas am verzweifeln.
@Stephan Wenn Du möchtest, dass Deine Uhr noch genauer läuft, dann solltest Du die externen Kapazitäten so einstellen (trimmen), dass der Quarz exakt auf 32768 Hz schwingt, jedes Hz Abweichung, erzeugt eine Abweichung von ca. 2 Sekunden pro Tag (60*60*24). Schau mal nach unter: ziehen von Quarzen Und anschließend solltest Du die gesamte Schaltung bei einer ziemlich konstanten Temperatur betreiben, denn der Quarz, die Kapazitäten und der µC verändern sonst ihre Parameter und damit die Frequenz. Und. Ich möchte Dich aber nicht mutlos machen. Der Quarz muss sich erst "einbrennen", d.h. im laufe der nächsten Jahre wird er seine Eigenschaften auch noch ändern. Mit anderen Worten, hochgenaue Uhren sind eine Wissenschaft für sich. Nicht umsonst haben Atomuhren eine Daseinsberechtigung ;) Bernhard
Nimm statt einem Quarz einen DS32kHz: http://www.maxim-ic.com/quick_view2.cfm?qv_pk=2940 Der geht WIMR in einem Jahr ca. 1 Sekunde falsch.
na, dann besser gleich einen DS3231. Schönes Teil - nicht lieferbar. Muster gibts inzwischen, Produktionsmengen nicht. Habe jetzt zusätzlich einen M41T81 + Quarz auf der Platine, kommt auch etwa hin mit den 2s. Vielleicht kann ich dann die nächste Serie mit dem DS ausstatten. @Stephan: hast du denn auch eine Pufferung am MC? Stromausfälle gibt es immer wieder mal (ich meine, sie werden häufiger??) - was nützt eine supergenaue Uhr, wenn sie sich ständig verstellt :-)
Ok danke dann für die vielen Antworten. Werde mich dann mal ins Labor setzen müssen und ausmessen und mit Kondensatoren etwas ausprobieren. Hoffe das ich das damit etwas genauer noch hinbekomme wenn nicht muss ich halt per Software das ausgleichen. Vielen dank an euch!!!
wenn du einen ds32khz verwendest, benötigst du keine kond. mehr ( ist ja ein clk oszillator )=> ohne viel rumfummeln solltest du also eine genauigkeit von 2sec pro jahr bekommen! mfg, mathias
www.maxim-ic.com da meldest dich an und bestellst samples! die kommen dann innerhalb einer woche, meistens schneller
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.