Stoppuhr

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 29 11 2024  05:32:41      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte

Gehe zu Seite ( 1 | 2 Nächste Seite )      


Autor
Stoppuhr

    







BID = 401497

Lodentoni

Neu hier



Beiträge: 35
Wohnort: Plessa
Zur Homepage von Lodentoni
 

  


Hi, ich will eine Stoppuhr bauen

Ich benutze einen ATMega16. Um die Zeit zu messen gehe ich fogendermassen vor:

1 Versuch mit dem 8-Bit Timer
Beim vergleich mit einem Funkwecker stellte sich heraus dass die µC Uhr pro Tag entweder 2,5h vor oder 1h nach lief. Das war untragbar.

2.Versuch mit dem 16Bit Timer

Die besten ergebnisse habe ich erziehlt wenn ich den µC auf 8MHz laufen lasse. Den Timer habe ich dann mit einem Prescaler von 64 hochzählen lassen. Wenn der Timer einen bestimmten wert erreicht hat (genauer gesagt der TCNT1 hat den OCR1A erreicht), wurde ein interrupt ausgelöst. In diesem Interrupt wird nichts weiter getan als eine Variable zu erhöhen und den Timer wieder von vorn laufen zu lassen. (Das ganze gebe ich auf einem LCD aus)

CPU_f=8MHz
Prescaler=64
Timer_f=125000Hz
Overflowwert (OCR1A)=62500
Mit diesen Einstellungen würde der Timer alle 0,000008s eins hochzählen, bis er 62500 erreicht hat, dann wird ein Inerrupt ausgelöst.
Das bedeutet, das Interrupt wird alle 0,000008s*62500=0,5s ausgeführt und Inkrementiert eine Variable, die die Halben Sekunden zählt (bei mir "_TIMER_halfsec_mask" genannt).
So wollte ich die Zeit Messen (bzw. Zählen)

Leider funktionierte das nicht ausreichend genau. Die Uhr lief viel zu schnell.

Also habe ich den Timer einfach länger zählen lassen. (Ich experimentiere mit werten um ca. OCR1A=65035 herum)

Damit erreiche ich eine Messgenauigkeit von ca. 0,05% bei langzeitmessung (immr über mindestens 1h laufen lassen).
Bei kurzzeitmessung (<15min) ist die Messabweichung zwischen 0,05% und 0,5%.

Ich will aber eine Stoppuhr bauen die in 2Min. eine Abweichung von 10ms hat. Das entspricht einer Messabweichung von 0,008%. Wie kann ich das erreichen. Mit einem Externen Taktgeber? Warum ist der interne so ungenau?

MfG


Edit: Referenzobjekt mit der ich die Abweichung ermittle ist mein stets treuer Funkwecker.

[ Diese Nachricht wurde geändert von: Lodentoni am 24 Jan 2007 19:58 ]

BID = 401503

bastler16

Schreibmaschine

Beiträge: 2140
Wohnort: Frankreich

 

  


Zitat :

Wie kann ich das erreichen. Mit einem Externen Taktgeber?

Ja? Irgendwo habe ich gelesen das der interne Taktgeber (Quarz?) ungenau sein soll, benutz doch mal einen externen.

BID = 401510

Lodentoni

Neu hier



Beiträge: 35
Wohnort: Plessa
Zur Homepage von Lodentoni

Hm, also im Datenblatt steht das der Quarz an XTAL1 angeschlossen wird, in irgendwo is auch XTAL2 angeschlossen, ich kanns aber nicht erkennen.

Wie verschaltet man den solche schwingquarz? Wozu sind die Kondensatoren notwendig?

Kannst du mir das erklären, oder kann ich mir da irgendwo was anlesen?

BID = 401511

bastler16

Schreibmaschine

Beiträge: 2140
Wohnort: Frankreich

Erklären kann ich dir das nicht, ich verstehe (fast) nix von AVRs, will da aber mal einsteigen.

Les mal hier: http://www.roboternetz.de/wissen/in.....macht

BID = 401526

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Die Kondensatoren sollten zwischen 12pF und 27pF liegen und bilden eine Grundlast für den Quartz. Wenn du einen externen Quartz nutzen willst, was unbedingt zu empfehlen ist, dann wird der an XTAL1 und XTAL2 angeschlossen.

Um die Taktquelle zu ändern, müssen die entsprechenden Fusebits CKSELn gemäß Datenblattangaben geändert werden.

Mit so einem Quartz hat man sehr hohe Genauigkeiten, angegeben für socleh Quartze sind auch Abweichungen, diese sind aber sehr klein, allerdings natürlich abhängig von Temperatur.



_________________

BID = 401540

Lodentoni

Neu hier



Beiträge: 35
Wohnort: Plessa
Zur Homepage von Lodentoni

Was isn der Unterschied zwischen einem Quartz und einem Quartzoszillator?

Qaurtzoszillatoren hätte ich noch da liegen, die haben zwei Anschlüsse mehr.

BID = 401542

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Im Quartzoszillator ist alles verbaut: Quartz mit Schwingkreis und Verstärker und einer Einheit, die ein sauberes Rechteck erzeugt. (z.b. mit TTL-Pegeln) Daher auch zwei anschlüsse mehr: Versorgungsspannung, GND und Taktausgang. Der letze Pin ist meist unbeschaltet (N.C.)

Sowas kannst du übrigens auch benutzen, indem du auf "External Clock Source" die Fuses programmierst.
Der Takt wird dann nur an einem XTAL-Pin angelegt, das entnehme bitte dem Datenblatt unter "System Clock".

_________________

BID = 401543

.

Stammposter



Beiträge: 214
Wohnort: Auf der Alm


Zitat :
Qaurtzoszillatoren hätte ich noch da liegen, die haben zwei Anschlüsse mehr.
Die kann man notfalls abkneifen.

BID = 401545

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Ich bitte, die Schreibweise "Quartz" zu entschuldigen, Korrektweise müsste es "Quarz" heißen. -tz ist die engl. Schreibweise.

_________________

BID = 401582

Lodentoni

Neu hier



Beiträge: 35
Wohnort: Plessa
Zur Homepage von Lodentoni

Ok, sorry wegen der Schreibweise.

Also, ich habe folgende Quarzoszillatoren da:
http://www.reichelt.de/?SID=22LR@DN.....ET=16

Welcher Pin is da was? Es gibt leider kein Datenblatt zu den Bauelementen.

Kann ich bei diesen die Anschwingkondensatorn weglassen?

BID = 401584

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika


Zitat :

Quarzoszillator, C-Mos/TTL-kompatibel
Frequenz: 8,00 MHz
Frequenztoleranz: + - 100ppm
Temperaturbereich: 0 - 70° C
Speisespannung: 5 V
Ausgang für 2TTL oder 10 LS-Gatter

Ausgänge:
1 nicht beschaltet
7 Masse
8 Ausgang
14 Speisespannung


Die Nummerierung der Pins ist genau wie bei DIL-ICs. Demnach sind auch die Pins eindeutig zuordbar .
Und ich sagte oben schon, dass die meisten, also dieser lt. den techn. Daten sowieso, TTL-Pegel ausgeben. Da müssen keine externen Kondensatoren ran, höchstens parallel zur Versorgungsspannung 100nF.

_________________


[ Diese Nachricht wurde geändert von: DonComi am 25 Jan 2007  0:05 ]

BID = 401618

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Die Kondensatoren sollten zwischen 12pF und 27pF liegen und bilden eine Grundlast für den Quartz.
Nein, das ist ein kapazitiver Spannungsteiler.
Wenn man von einem Spannungsteiler nicht, wie man es gewohnt ist, ein Ende an Masse legt, sondern die Mitte, dann sind die Spannungen an den Enden um 180° phasenverschoben und das ist genau das, was man braucht, damit ein simpler Inverter schwingt, denn der bringt nochmal 180°.
Macht zusammen 360° bzw. 0°.


_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

BID = 401765

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Ah, ok, wusste ich nicht. Aber eine naive Frage: eine "Last" bilden die doch auch, oder nicht?

_________________

BID = 401824

Brizz

Stammposter



Beiträge: 386
Wohnort: Rheine

Ich vermute dass es nicht am Quarz liegt, die sind erfahrungsgemäß relativ genau, d.h. auch bei den preiswerteren Typen liegt die Abweichung bei weniger als 1 min pro Monat.

Wie hast Du den Timer programmiert?

Um ein Zeitnormal zu erzeugen, betreibt man den Timer im Autoreload-Modus, d.h. der Timer wird nicht in der Interrupt-Routine nachgeladen, sondern der Timer wird mit Erreichen eines vorgegebenen Wertes automatisch neu geladen und erzeugt einen Interrupt.
In der Interrupt Routine wird dann der Interrupt quittiert und und ein Speicher inkrementiert.

Ich habe ein Beispiel für den 8032 angehängt.

BID = 401842

stephan84

Stammposter



Beiträge: 350

Er hatte doch gar keinen Quarz, oder hab ich jetzt was falsch verstanden?
Und der interne RC-Oszillator ist in der Tat alles andere als genau.


      Nächste Seite
Gehe zu Seite ( 1 | 2 Nächste Seite )
Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 19 Beiträge im Durchschnitt pro Tag       heute wurden bisher 3 Beiträge verfasst
© x sparkkelsputz        Besucher : 182421491   Heute : 530    Gestern : 5459    Online : 220        29.11.2024    5:32
2 Besucher in den letzten 60 Sekunden        alle 30.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0622839927673