Forum: Mikrocontroller und Digitale Elektronik Uhr mit nem Atmega32


von Steph0815 (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Christian Zietz (Gast)


Lesenswert?

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.

von Stephan Plaschke (Steph0815) (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

"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

von Stephan Plaschke (Steph0815) (Gast)


Lesenswert?

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.

von Stephan Plaschke (Steph0815) (Gast)


Lesenswert?

Klingt glaub ich etwas komisch, nicht böse gemeint. Bin dankbar für jede
Hilfe nur so langsam etwas am verzweifeln.

von Bernhard S. (bernhard)


Lesenswert?

@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

von Marko B. (Gast)


Lesenswert?

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.

von crazy horse (Gast)


Lesenswert?

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 :-)

von bob (Gast)


Lesenswert?

es gibt genug andere ics die nen exakten sekundentakt geben...

von Stephan (Gast)


Lesenswert?

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!!!

von Mathias (Gast)


Lesenswert?

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

von Stephan Plaschke (Gast)


Lesenswert?

Nur wo bekomme ich den her? bei den Großen drei hab ich nix gefunden.

von Mathias (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.