mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega8 40kHz Quarz


Autor: Hermann Günther (hahgeh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, weiß jemand, ob man bei dem asynchronen Timer2 des ATmega8 auch
einen 40kHz Quarz ranhängen kann? Im Datenblatt stehen immer nur die
berühmten 32768Hz. Und wenn ja müßte man doch auch die internen 36pF
Kondensatoren nehmen können oder?

Ich möchte nämlich eine genaue, niedrige (wegen Stromverbrauch)
Frequenz, mit der ich ein 400Hz Interrupt erzeugen kann.

VDumfG hahgeh.

Autor: Uwe Nagel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht sicherlich, aber woher nimmst du den Quarz?

Autor: Hermann Günther (hahgeh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Farnell gibt es auf jeden Fall einen mit 9mm Länge und 3mm
Durchmesser.
Als ich bei google gesucht habe bin ich auf www.geyer-electronic.de
gestoßen, wo es auch welche von 40-100kHz gibt.
Die scheinen auf jeden Fall einigermaßen gebräuchlich zu sein.

Autor: Hermann Günther (hahgeh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf jeden Fall bin ich schonmal froh, dass das geht, danke :)

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
400Hz Interrupt bei 40kHz sind ja nur 100 Zyklen, da kannst Du nicht
allzu viel machen.

Schon ein nackter Interrupt kostet 10 Zyklen (nur Ein- und Austritt,
nichts gesichert und gemacht).


Peter

Autor: Hermann Günther (hahgeh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, ich hab gedacht ich lege den Controller schlafen, und wenn ein
Interrupt kommt dann schmeiße ich den internen Oszillator an, rechne
ein bißchen und dann wieder sleep().
Hab mich alleridngs noch nicht damit beschäftigt, ob das mit dem
Oszillator einschwingen usw. zu lange dauert.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Normalerweise macht man das so:
Den mega(4)8 (ich würde den mega48 nehmen, der ist sparsammer als ein
mega8) betreibt man mit internem 1-8MHz Takt. An Timer 2 kommt ein 32
oder auch 40kHz Quarz. Die Teilerfaktoren stellt man so ein, dass alle
400Hz ein Interrupt erzeugt wird und den AVR aufweckt.
Der Stromverbrauch ist damit nahezu Null, aber während der Messung hat
man die vollen xMIPs zur Verfügung.
Mit 2 1,5V Batterien läuft ein mega48 mit DS1820 Temperatursensor jetzt
schon über einem viertel Jahr.

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das könnte auch mit einem 32768 Hz Quarz gehen:
32768 / 400 = 81,92
32768 / 82 = 399,6097
Wenn es noch genauer gehen soll, den Timerwert 11,5 mal auf 82 und zum
Ausgleich einmal auf 81 setzen (sozusagen ein negatives
Schalt"jahr").
Besser gesagt: von 12 Zyklen müssen 1 mit 81 und 11 mit 82 geteilt
werden, das ist schon recht genau:
12 * 32768 / (1*81+11*82) = 400,0162

Ganz genau ist: von 25 Zyklen müssen 23 mit 82 und 2 mit 81 geteilt
werden, also 11*82 + 1*81 + 12*82 + 1*81 = 2048

(2 + 23) * 32768 / (2*81 + 23*82) = 400

Nebenbei:
Solche Berechnungen mache ich ganz gerne mit dem Windows Calc.
Aufruf mit
 - Windowstaste drücken und loslassen -> Startmenü erscheint
 - u drücken für aUsführen
 - calc eingeben (steht bei mir immer schon da)
 - Enter drücken (Calc startet, einmalig auf Ansicht | Wissenschaftlich
umschalten Alt-a Alt-w)

in den Editor / IExplorer gehen,
die Formel einschließlich =  markieren (z.B. mit Shift-Ende)
(2 + 23) * 32768 / (2*81 + 23*82) =
Strg-c für Kopieren
Alt-Tab für Taskwechsel in den Calc
Strg-v für Einfügen, schon rattert er die Tastendrücke durch und zeigt
mir das Ergebnis, das kann man wieder mit Strg-c kopieren
mit Atl-Tab in den Editor springen
mit Ende-Taste an das Zeilenende
mit Strg-v das Ergebnis einfügen, fertig.

Evtl. Formel vorher öfters pasten und für eine Neuberechnung
modifizieren.

Der Calc ist recht genau (32 Stellen) und kann auch hex (F5) / dez (F6)
/ okt (F7) und bin (F8) (um-)rechnen.
Für diverse Funktionen gibt es Tastenkürzel, die auch mit Copy-Paste
funktionieren, z.B.  1/x ist r , steht alles in der Calc-Hilfe unter
Index | Tastaturentsprechungen und Index | Tastenfolgen.

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.