Pfad: Home => AVR-Übersicht => Anwendungen => DCF77-Empfänger => Superhet mit Quarzfilter => LC-VCO-Oszillator   This page in english: Flag EN
DCF77-Empfang Anwendungen von
AVR-Einchip-Prozessoren AT90S, ATtiny, ATmega und ATxmega
LC-Oszillator für DCF77-Superhet-Empfänger
Logo

4 DCF77-Superhet-Empfänger mit Quarzfilter

4.1 Oszillatoren für den DCF77-Superhet-Empfänger

4.1.3 LC-VCO-Oszillator mit ATtiny25-Regelung

Schema des LC-VCO-Oszillators Die Mischfrequenz für den DCF-Superhet mit TCA440 und einem engen 32,768kHz-Quarzfilter sollte sehr genau 77,5+32,768 = 110,268 kHz einhalten und nur wenige Hz von der Sollfrequenz abweichen. Um das mit einem LC-Oszillator zu erreichen, muss dessen Frequenz laufend gemessen und so justiert werden, dass sie innerhalb einer engen Bandbreite von +/-5Hz um die Sollfrequenz liegt. Das geht mit einem quarzgetakteten ATtiny25 hervorragend.

Alle Schaltbilder gibt es wie immer hier, die umfangreichen Berechnungen zu diesem Oszillator sind wegen der umfangreichen Simulationen der RC-Filter in diesem Libre-Office-Dokument verfügbar.

4.1.3.1 Auslegung des LC-VCO-Oszillators

Der Eigenbau von LC-Oszillatoren ist auf den ersten Blick eine einfache Sache: ein geeignetes L und ein geeignetes C zum Schwingen bringen, schon ist der LC-Oszillator fertig. Das geht mit nur einem einzigen FET und erzeugt einen recht schönen Sinus.

Einfacher regelbarer LC-Oszillator So sieht so ein einfacher LC-Oszillator aus. Er funktioniert wie folgt.

Abhängig vom Spannungsteiler aus den beiden Kondensatoren (Gate - Source und Source - GND) produziert die Schaltung einen schönen Sinus am Drain. Am Source-Anschluss sieht der aber schon ziemlich verhunzt aus, und wenn man das C-Verhältnis am Gate und Drain etwas ändert, auch der am Drain-Anschluss: die Schaltung geht an diversen Stellen in die Sättigung, der Sinus verformt sich unansehnlich. Das liegt an der hohen Aussteuerung am Gate, das die Kapazität der Varicap-Dioden stark verändert.

Und mit der Regelspannung an der Kapazitätsdiode lässt sich der Oszillator auch nicht gut einstellen. Bei sehr hohen Regelspannungen geht es noch, darunter aber alles andere als wie berechnet. Trotz der beiden gegenläufigen Varicap-Dioden wird die Kapazität nicht wie sie sein soll.

Fazit: Ungeeignet für einen ordentlichen geregelten Betrieb.

Schaltbild des LC-VCO Damit die Frequenzregelung mit der Kapazitätsdiode richtig funktioniert, muss die Spannung am LC-Schwingkreis möglichst niedrig gehalten und eng begrenzt werden. das geht mit zwei Germanium- oder Schottky-Dioden, so dass die Aussteuerung unter +/- 0,2V bleibt. Da der FET in dieser Schaltung keine Verstärkung hat, muss eine zusätzliche invertierende Verstärkungsschaltung nachgeschaltet werden, damit der LC-Oszillator schwingt.

Invertierend deswegen, weil damit das Signal an den LC-Kreis rückgekoppelt werden kann und damit der Oszillator erst schwingt.

4.1.3.2 Frequenzmessung und -regelung

Schaltbild des Frequenzcontrollers Um laufend die Frequenz zu überwachen und, wenn nötig, zu regulieren, wird hier ein ATtiny25 verwendet. Der ist mit einem 8-MHz-Quarzoszillator getaktet, weil der interne RC-Taktgenerator viel zu ungenau wäre, um damit die Frequenz mit der nötigen Genauigkeit zu messen.

Der Timer/Counter 0 im ATtiny25 erzeugt das Gate-Timing: die Anzahl Impulse wird über eine halbe Sekunde lang gezählt. Die halbe Sekunde wird mit TC0 durch Teilen des Takts durch 256, durch Teilen mittels CTC-Betriebs durch 125 und durch Teilen in einem Register durch 125 erzeugt:
Gate = 256 * 125 * 125 / 8.000.000 = 0,5 Sekunden

Da jeder Sinusdurchgang bei der gewählten Messmethode (siehe unten) zwei Zählvorgänge auslöst, ergibt sich beim Zählen der Impulse mittels eines 24-Bit-Zählers direkt die gemessene Frequenz in Hz.

Ist diese niedriger als die zulässige unterste Bandbreite (<110,263 Hz), wird der PWM-Wert in OCR1B um Eins erhöht. Die Spannung am RC-Filterausgang wird entsprechend um 1/256-stel von 5V = 19,5 mV erhöht. Entsprechend sinkt die Kapazität der Kapazitätsdiode um ca. 0,02 pF und die Frequenz erhöht sich um 2,5 Hz.

Umgekehrt wird der PWM-Wert erniedrigt, wenn die entsprechende gemessene Frequenz über der eingestellten Bandbreite liegt. Das wäre der Fall, wenn sie höher wäre als 110,273 Hz. Auf diese Weise bewegt sich die Oszillatorfrequenz immer innerhalb der eingestellten Bandbreite von +/- 5 Hz.

Um Justierung und Korrektheit der eingestellten Frequenz zu verifizieren, sind in der Schaltung noch zwei Leuchtdioden (oder zweifarbige LED rot/gelb) eingebaut. Die gelbe Diode zeigt zu niedrige Frequenz an, die rote zu hohe. Liegt die Frequenz im Sollbereich der Toleranz, geht die LED aus. Die beiden Leuchtdioden und die Vorwiderstände können auch entfallen, wenn die Schaltung korrekt funktioniert.

Dies ist der schematische Aufbau des frequenzgeregelten Oszillators.

4.1.3.3 Programmierung des ATtiny25

Das Programm für den ATtiny25 ist in Assembler geschrieben. Den Quellcode gibt es hier zum Download und hier zur Anzeige im Browser.

Es besteht aus den folgenden funktionellen Teilen:
  1. Dem Einstellen der Hardware:
  2. Den beiden Interrupt-Routinen
  3. Dem Frequenzvergleich mit dem Sollwert-Bereich
Bei beiden Interrupt-Service-Routinen ist durch Überprüfung ihrer Dauer in Prozessortakten sichergestellt, dass sie ab 4 MHz Taktfrequenz aufwärts keinen Analogvergleicher-Interrupt verpassen. Dies gilt auch dann, wenn direkt nach dem Analogvergleicher-Int ein TC0-Compare-Int noch hinzukommt.

Das gesamte Programm hat 137 Worte und passt bequem in das Flash-Memory des ATtiny25.

Fuses des ATtiny25 Nicht vergessen: Mit dem Programmieren des Flashspeichers muss noch die Taktfuse des ATtiny25 auf den externen Quarzoszillator umgestellt werden, da der ATtiny25 sonst nur mit 1 MHz arbeiten würde.

4.1.3.4 Anschaltung des LC-Oszillators an den TCA440

Der Ausgang des LC-Oszillators am Kollektor des BC547 wird über den 1nF-Kondensator an den Pin 4 des TCA440 eingekoppelt. Dessen Pin 5 wird über einen Kondensator mit 1nF oder 10nF HF-mäßig auf GND gelegt, da die Einkopplung bei dieser Schaltung nur asymmetrisch erfolgt und der Emitterwiderstand des Eingangstransistors an Pin 4 das Signal symmetriert.

©2019-2020 by http://www.avr-asm-tutorial.net