-
        

Ergebnis 1 bis 8 von 8

Thema: Quarzuhr realisieren?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.01.2007
    Ort
    Bodenseeregion
    Alter
    27
    Beiträge
    135

    Quarzuhr realisieren?

    Anzeige

    Hi, ich hab vor mir nen Wecker zu bauen. Meine Theorie ist, je nach Quarz (z.B. 16mhz beim ATmega32) mit einem Timer zu arbeiten?
    Aber wie genau funktioniert dass, müsste ich ja irgentwie auf Sekunden oder so umrechnen? Oder wie realisiert man soetwas?

    Gruß Robin

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    16.03.2007
    Ort
    Mücke Sellnrod
    Alter
    30
    Beiträge
    58
    Nabend,
    also ich bin an der Arbeit gerade dran ne Uhr mit nem PIC zu bauen. Ich verwende einen Quarz mit 4,096MHz. Mit nem Timer mache ich ne Zeit von 62,5ms und das ganze mache ich 16 mal. Nach einem längeren testlauf habe ich festgestellt das die Uhr in 4 Stunden 1 Sekunde nachgeht und rechen deswegen alle 4 Stunden eine Sekunde drauf. Sollte mit einem AVR ja auch irgendwie so ähnlich funktionieren.

    Gruß Carsten

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.09.2007
    Ort
    Südbaden
    Beiträge
    182
    hey,
    nimm doch ein 4,194304MHz Quarz und teil das ganze durch 2²². Dann müsstest du genau auf 1Hz kommen, sprich eine sekunde pro takt.

    Gruß
    elayne

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.01.2007
    Ort
    Bodenseeregion
    Alter
    27
    Beiträge
    135
    wie kommt es eigentlich dass die selbstbau-uhren schon nach 4 stunden um eine Sekunde falsch gehn? Ist der Quarz zu ungenau? Was machen gekaufte Quarzuhren anders?

    Gruß

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    16.03.2007
    Ort
    Mücke Sellnrod
    Alter
    30
    Beiträge
    58
    hey,
    Wir (Mein Ausbilder und Ich) vermuten das es am Quarz liegt.
    Was die andrs machen weiß ich net. Vielleicht machen die auch eine automatische Korerektur oder die benutzen vielleicht teure Quarze.
    Ist halt jetzt nur ma so eine Vermutung.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    17.04.2006
    Beiträge
    2.193
    Nein, besonders billige Quarze, und zwar 32,768kHz Uhrenquarze in einer geeigneten Oszillatorschaltung (die den Quarz möglichst wenig und konstant belastet und eine definierte Lastkapazität bietet). Einige AVRs haben diese Real Time Clock-Funktion sogar schon eingebaut, ich nehme ansonsten häufig einen PCF8583 am I2C-Bus. Allerdings gibt's auch da wirkliche Genauigkeit nur mit Trimmer und Abgleich. Meine "Berlin-Uhr" hat es auf knapp 2 Minuten im Jahr gebracht, das sind 4ppm, der Quarz war ohne Abgleich IMHO mit 30ppm angegeben.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    46
    Beiträge
    2.236
    (z.B. 16mhz beim ATmega32)
    Ich verwende einen Quarz mit 4,096MHz
    nimm doch ein 4,194304MHz Quarz und teil das ganze durch 2²².
    Ne,Ne,
    schaut Euch diese Appnote an:
    http://atmel.com/dyn/resources/prod_...ts/doc1259.pdf

    Ich habe mehrere Uhren damit am laufen und die Abweichung ist sehr minimal.

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  8. #8
    Benutzer Stammmitglied Avatar von Johnes
    Registriert seit
    07.12.2007
    Ort
    Neu Wu
    Beiträge
    44
    Wie "izaseba" schon schreibt, ist die einfachste Methode einen Uhrenquarz mit 32768 Hz zu nehmen. Ich habe meinen Mega32 der meine Heizung steuert auch damit laufen.

    Abweichung pro Monat ist keine Sekunde! (Obwohl ich mal denke das der Fehler an der Referenz liegt!)

    Der Timer im M32 wird dann nicht vom Quarz der CPU gesteuert sondern von dem Externen an TOSC1/2

    Ich mit einem Teiler von 128, hat man dann einen Overflow alle Sekunde. Ich benutze den Timer zusätzlich noch als Refresher für mein Display, sowie für meine Datenübertragung. Habe daher alle 125ms einen Overflow.

    Um den Interrupt nicht zu lange zu belegen, setze ich in der Routine nur Flags und werte diese im normalen Programmzyklus aus.

    MfG

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •