Forum: Mikrocontroller und Digitale Elektronik µC Takt durch LC-Schwingkreis / Oszillator erzeugen ATmega8


von Bernhard S. (bernhard)


Lesenswert?

Geschätzes Forum,

ein µC soll mit ca. 16.017.000 Hz getaktet werden.

Siehe Projekt:

Beitrag "RDS ENCODER Signalgenerator Testgenerator Testsender Modulator ATmega8 Assembler"


Natürlich könnte man z.B. mit einer Meissner-Oszillator-Schaltung den 
Takt generieren.

Ich suche aber eine Möglichkeit, mit wenig Hardware, unter Verwndung der 
PINS XTAL1 und XTAL2 (Atmega8) einen Schwingkreis zu nutzen.

Danke

Bernhard

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

"800 Meter ungefähr genau" heisst das bei Janoschs kleinem Tiger.
Die ca. 16,017 MHz meine ich damit. Was soll denn der Schwingkreis 
bringen, muss die Frequenz so weit variabel sein, das ein eventuell 
gezogener Quarz nicht reicht?

von Axel S. (a-za-z0-9)


Lesenswert?

Bernhard S. schrieb:

> ein µC soll mit ca. 16.017.000 Hz getaktet werden.

Also 16MHz + ~1%
So weit kriegst du keinen Quarz gezogen.

> Ich suche aber eine Möglichkeit, mit wenig Hardware, unter Verwndung der
> PINS XTAL1 und XTAL2 (Atmega8) einen Schwingkreis zu nutzen.

Womit gleichst du das ab? Wie genau/stabil glaubst du, wird dein 
LC-Oszillator sein?

Ansonsten geht das natürlich. Ersatzschaltbild des Schwingquarzes 
ansehen. Quarz durch LC-Kreis ersetzen. Natürlich wirst du weder die 
Güte noch die wirksame Induktivität eines Quarzes hinbekommen.
Schwingen wird es trotzdem.


XL

von Bernhard S. (bernhard)



Lesenswert?

@alle

prinzipiell funktioniert diese einfache Schaltung.

Als Vorlage diente das Prinzip des Colpitts-Oszillators. Die Kapazitive- 
Dreipunktschaltung ermöglicht eine 180° Phasendrehung.

Diese Phasendrehung wird auch bei einer Quarzschaltung genutzt.

Leider gab es im Versuchsaufbau Probleme mit hohen Frequenzen (16MHz), 
ich kenn die Oszillator-Innenschaltung des ATmega8 nicht, die 
Einstellung der Fuses spielen hier auch eine Rolle, gegenwärtig läuft 
die Schaltung bei ca. 4,5MHz ganz vernünftig.

Das o.g. Projekt arbeitet auch bei anderen Taktfrequenzen, sie müssen 
nur ein Vielfaches von 57kHz sein.

@Christoph

>...das ein eventuell gezogener Quarz nicht reicht?

Ein 16MHz Quarz (HC18) bekam ich nicht 16.017.000 Hz gezogen,
ab  16.001.000 Hz brach der Oszillator zusammen.



@Axel

>Womit gleichst du das ab? Wie genau/stabil glaubst du, wird dein
>LC-Oszillator sein?

Der Abgleich kann z.B. mit einem Frequenzzähler erfolgen.

Sollte die Stabilität (z.B bei Temperaturänderungen) nicht ausreichen, 
kann mit einer Kapazitätsdiode und einer Regelschaltung die Stabilität 
verbessert werden.

Bernhard

von Detlef K. (adenin)


Lesenswert?

Du willst aus den 16MHz einen 57kHz Takt für den Schwingkreis machen?
Ganz einfach:
Benutz einen Timer: lass ihn 40mal bis 281 und 17mal bis 280 zählen.
Schön gemischt, so in der Art: 281, 281, 280, 281,281,281,280...
Das ergibt im Mittel über 57 Werte eine Frequenz von 57kHz mit nur 
gerigem Jitter, der vom LC-Scwinkreis eventuell (je nach Güte) beseitigt 
wird.
:)

von Bernhard S. (bernhard)


Lesenswert?

Danke Detlef, ich bin begeistert, Daumen hoch !

Bernhard

: Bearbeitet durch User
von Detlef K. (adenin)


Lesenswert?

Mist!
Ich hab mich jetzt von deinen Links linken lassen.
Der folgende Text gehört eigentlich vom Thema hier in in diesen Thread.
 und nicht nach Beitrag "RDS ENCODER Signalgenerator Testgenerator Testsender Modulator ATmega8 Assembler"


Ich denke der Jitter sollte irgentwo bei +/-20 ns (0.1%) liegen.

Schau mal hier: http://de.wikipedia.org/wiki/Bresenham-Algorithmus
Das sieht auf den ersten Blick am Thema vorbei aus, behandelt aber genau
das Problem der Verteilung der einzelnen Intervalle mit kleistmöglichem
Fehler (Jitter).
Formuliere einfach das Problem um. Du willst eine Linie Zeichnen von den
Koordinaden (x0=0,y0=0) nach (x1=57,y1=16000). Wie groß ist ist jeder
einzelne y-Schritt, wenn sich x jeweils um eins ändert.
:)

von Chefkoch (Gast)


Lesenswert?

Sorry muss sein:

Overkill: Nehme einen DDS für die Takterzeugung

von Bernhard S. (bernhard)


Lesenswert?

> Nehme einen DDS für die Takterzeugung

Etwas Denksport und ein paar Zeilen Programmcode führt zum gleichen 
Ergebnis :)

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
Noch kein Account? Hier anmelden.