www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Uhr mit nem Atmega32


Autor: Steph0815 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian Zietz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stephan Plaschke (Steph0815) (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stephan Plaschke (Steph0815) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stephan Plaschke (Steph0815) (Gast)
Datum:

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

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marko B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es gibt genug andere ics die nen exakten sekundentakt geben...

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!!!

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stephan Plaschke (Gast)
Datum:

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

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
www.maxim-ic.com da meldest dich an und bestellst samples! die kommen
dann innerhalb einer woche, meistens schneller

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.