Hallo, ich bin noch ein Anfänger was die µC-Thematik angeht und versuche mit dem ATMega8515L auf einem STK500 eine brauchbare Zeitmessung zu realisieren. Dazu hab ich mir das C-Tutorial angeschaut und versucht es auf meinem µC zum Laufen zubringen. Es funktioniert zwar, allerdings ist diese "Uhr" sehr ungenau und läuft zu langsam. 3686400 Hz/8 => 460800 Hz => 2,17µs/Takt * 255 => 1807 Overflows/Sek Stimmt das überhaupt ? Folgende Probleme/Fragen: Ich suche nach einer "wasserfesten" Methode meinen CPU-Takt einzustellen bzw. abzulesen was für die Berechnung der genauen Zählerfrequenz nötig ist. Unter "Advanced" kann ich die Oscillator-Frequenz einstellen, unter "HW Settings" einen Clock-Generator. Kann ich die ausgelesene Clock-Generator-Frequenz als CPU-Frequenz interpretieren ? Wenn ja, wieso bekomm ich da keine 8Mhz raus ? Wie überprüft Ihr die Genauigkeit eurer Uhr ? Lasst Ihr die einen Tag laufen und vegleicht mit Funkuhr & Co. ? Ich hoffe Ihr könnte mir etwas weiterhelfen ! Vielen Dank im Voraus !
>3686400 Hz/8 => 460800 Hz => 2,17µs/Takt * 255 => 1807 Overflows/Sek > >Stimmt das überhaupt ? Nein. 3686400 Hz/8 => 460800 Hz => 2,17µs/Takt * 256 => ???? Overflows/Sek
holger schrieb: > Nein. > > 3686400 Hz/8 => 460800 Hz => 2,17µs/Takt * 256 => ???? Overflows/Sek Wenn ich mit "256" rechne komm ich genau auf 1800 ! Damit läuft die Uhr aber immer noch zu langsam ... nach 2 Min läuft das Teile ca. 1 Sekunde nach ! Oder stimmt der Berechnungsweg nicht ?
Hi Wo hast du die 3686400Hz her? Wenn es die einstellbare Frequenz vom Board ist, kannst du es knicken. Die ist zu ungenau. MfG Spess
spess53 schrieb: > Wo hast du die 3686400Hz her? Die hab ich von dem Clock-Generator (siehe Bild) ! Daher meine Frage wo ich die reale Frequenz überhaupt ablesen kann !?
>Daher meine Frage wo ich die reale Frequenz überhaupt ablesen kann !?
Ablesen? Papp nen Quarz an deinen Controller, dann musst
du nichts ablesen.
Hi
>Daher meine Frage wo ich die reale Frequenz überhaupt ablesen kann !?
An einem Frequenzmesser, wenn du einen hast. Besser du besorgst dir
einen Quarz für den Sockel vom STK.
MfG Spess
spess53 schrieb: > An einem Frequenzmesser, wenn du einen hast. Besser du besorgst dir > einen Quarz für den Sockel vom STK. Ah ok ... versteh ich das richtig : Der internet Oscillator läuft zu ungenau. Wenn ich mir einen Quarz besorge darf der maximal halb so schnell Schwingen wie die CPU-Frequenz? Den Timer kann ich dann mit Hilfe des ext.Quarzes laufen lassen,oder ? Da kommen bestimmt die FUSE-Bit's ins Spiel. Ist beim Kauf des Quarzes etwas zu beachten ?
Ne, das war Blödsinn ... ich hab mich jetzt nochmal mit den Datenblättern gequält. Wenn ich das jetzt richtig gelesen habe dann verfügt der AT8515L über keine internen Oszillator ? Er muss immer extern mit einer Frequenz versorgt werden. Das kann zum einen mit der erzeugten Frequenz vom STK500 geschehen (siehe Bild "ClockGenerator") oder man kann einen eigenen Quarz anschließen und den Takt zum µC leiten. Darüber ob STK500-Freq oder Quarz-Freq am µC anliegen soll entscheidet der "OSCEL-Jumper". Kann mir diese Gedanken jemand bestätigen ? Laut Datenblatt kann der ATM8515L maximal 8MHz. Ist bei der Wahl des Quarzes irgendetwas zu beachten ? (Genauigkeit) Kann es wirklich sein dass die STK500-Frequenz (ClockGenerator) so ungenau ist das meine Uhr zu langsam läuft ?
Micha schrieb: > Wenn ich das jetzt richtig gelesen habe dann verfügt der AT8515L über > keine internen Oszillator ? Dann lies das Datenblatt nochmal! Insbesondere die erste Seite (und ansonsten z.B. ab Seite 39)
@ ... (Gast) >> Wenn ich das jetzt richtig gelesen habe dann verfügt der AT8515L über >> keine internen Oszillator ? >Dann lies das Datenblatt nochmal! Insbesondere die erste Seite (und >ansonsten z.B. ab Seite 39) Dann lies das Posting nochmal. Er schreibt was vom (alten) AT8515L, das ist KEIN ATmega8515. Und der AT8515L hat, wie alle "alten" AVRs, KEINEN internen RC-Oszillator. Wobei es scheint, dass der OP AT8515L und ATmega8515L durcheinanderhaut ;-) MfG Falk
Falk Brunner schrieb: > Wobei es scheint, dass der OP AT8515L und ATmega8515L durcheinanderhaut > ;-) Ja. Im Betreff redet er vom ATMega und im Eröffnungspost ist in der AVR-Studio-Seite auch der ATMega ausgewählt.
... und wenige Zeilen nach dem "AT8515L" redet er dann auch wieder von "ATM8515L", was wiederum eher für einen ATmega spricht.
... (Gast) hat natürlich Recht ! Es ist ein ATMega8515L und jetzt hab ich auch die Zeile auf der ersten Seite entdeckt ("Internel calibrated RC-Oscillator"). Auf den Seiten 38-39 steht etwas von +/- 3% beim 1Mhz Takt. (d.h. worst-case 6% --> max.Fehler von 60kHz) Mit der "run-time-calibration" kommt man auf +/- 1% was immer noch ein Fehler von 20kHz wäre. Als Unwissender sagt mir mein Bauchgefühl das dass eher ungeeignet wäre für eine exakte Zeitmessung ist !? Wie "spess53" und "Holger" schon sagten ... Quarz benutzen !? Wenn ich mir die Quarze bei Conrad usw. anschaue haben die eine Toleranz von ca. +/- 30ppm bei 4Mhz. dh. worst-case 240Hz Fehler ... das scheint natürlich deutlich besser.
Soll das ein Kurzzeitwecker werden oder eine richtige Uhr? Bei letzterem wirst Du auch mit einem "normalen" Quarz am AVR auf Dauer nicht viel Freude haben. Hier noch etwas Literatur für Dich: http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC http://www.mikrocontroller.net/articles/AVR-Tutorial:_Uhr PS: Micha schrieb: > Auf den Seiten 38-39 steht etwas von +/- 3% beim 1Mhz Takt. > (d.h. worst-case 6% --> max.Fehler von 60kHz) > Mit der "run-time-calibration" kommt man auf +/- 1% was immer noch ein > Fehler von 20kHz wäre. Das gilt aber auch nur solange die Temperatur und Versorgungsspannung konstant sind! Sieh mal ins Datenblatt ab Seite 230.
... schrieb: > Soll das ein Kurzzeitwecker werden oder eine richtige Uhr? Der Ziel ist eine Geschwindigkeitsmessung mit zwei Lichtschranken. Der Abstand der Lichtschranken soll ungefähr 1 Meter betragen. Die Geschwindigkeiten werden sich wahrscheinlich um 50km/h bewegen. d.h. eine Messung dauert ca. 70ms ! Deshalb müsste es doch recht genau werden.
Micha schrieb: > d.h. eine Messung dauert ca. 70ms ! Deshalb müsste es doch recht genau > werden. Also ein Kurzzeittimer. Da reicht ein normaler Quarz vollkommen aus. Selbst bei einer Abweichung von 200ppm (0,02%) ergibt das bei 50km/h einen Fehler von 0,01km/h. Eine richtige Uhr hätte bei einer Abweichung von 200ppm pro Tag einen Fehler von 17,28 Sekunden. (1h 45min im Jhar) Gruß John
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.