Universal-VFO 10 KHz-160 MHz mit Quasi-Analogskala
nach JF3HZB
( in Bearbeitung )

Version vom 20. Mai 2022

automatic translation by GOOGLE :
https://www-kh--gps-de.translate.goog/vfo.htm?_x_tr_sch=http&_x_tr_sl=de&_x_tr_tl=en&_x_tr_hl=de&_x_tr_pto=wapp


Abb.1 VFO-Gesamtansicht

Kürzlich "stolperte" ich im Internet über ein von JF3HZB aus Japan stammendes ESP32-Projekt, bei dem es sich um einen universell verwendbaren Digital-VFO handelte, dessen Besonderheit darin bestand, dass ein TFT-Display benutzt wurde, um darauf eine quasi analoge Frequenzanzeige zu simulieren. Interessante Anwendungen schienen mir damit u.a. Mischoszillatoren in Verbindung mit allen Arten von Sendern, Superhetempfängern oder auch Messgeneratoren zu sein. Hinsichtlich ihrer Nutzung kann man dabei besonders auch an Fälle denken, bei denen derzeit noch mechanische Abstimmeinheiten Verwendung finden. Die Frequenzerzeugung als solche erfolgt bei diesem Projekt mit Hilfe eines PLL-Bausteins Si5351a und ermöglicht die Abdeckung eines weiten Frequenzbereiches von wenigen Kilohertz bis weit über 160 MHz.
Die VFO-Originalsoftware von JF3HZB ist zur Nutzung mit einem Amateurband-Superhetempfänger mit einer ZF von 9 MHz gedacht. Dabei kommen alle drei verfügbaren Signalausgänge des Si5351a zum Einsatz. Über den Ausgang CLK2 werden dabei jeweils 8998,5 Khz oberhalb der auf dem Display angezeigten Frequenz liegende Oszillatormischsignale ausgegeben. Weiterhin werden die Ausgänge CLK1 und CLK0 benutzt, um hierüber zwei untereinander in der Phase verschobene und für BFO-Nutzung gedachte fixe Mischsignale mit ebenfalls 8998,5 KHz bereitzustellen.

Abb.2 Musteraufbau mit Ansicht von oben

Erweiterte Version

Obwohl ich bereits die Originalversion mit ihrer simulierten analogen Skalenanzeige optisch als sehr reizvoll empfand, vermisste ich dennoch einige zusätzliche Funktionen. Daher begann ich mich etwas näher mit dem vom Verfasser dankenswerterweise bereitgestellten Programmcode [1[ zu beschäftigen und ihn entsprechend meiner Vorstellungen zu ändern, bzw. zu erweitern. Via CLK2 sollten dabei erst einmal auch nur die auf dem Display angezeigten Frequenzen ausgegeben werden, wofür der Wert "offset_frq" auf Null zu setzen war. Ebenso war mit dem Wert "car_frq" zu verfahren, was eine Sperre der zumindest vorerst nicht benötigten BFO-Signale an den Ausgängen CLK0 und CLK1 bewirkte.
Softwaremäßig hinzugefügt wurde dagegen eine Auswahlmöglichkeit für die bei Abstimmung mit einem Drehimpulsgeber* benutzten unterschiedlichen Frequenzschritte. Verfügbar sind danach 6  Schrittweiten beginnend von minimal 10 Hz bis maximal 1 MHz. Ihre Anwahl erfolgt über die Tasten "T1" ( -Step  ) und "T2" ( +Step ). Bei Inbetriebnahme wird hierbei immer eine mittlere Schrittweite von 1 KHz vorgewählt.

* In der Originalversion kommen an dieser Stelle ( wesentlich teurere ) optoelektronische Versionen zum Einsatz. Im Gegensatz zu ihnen, kann es bei Verwendung der hier stattdessen benutzten  Standard-Drehimpulsgeber u.U. zu kleinen Abweichungen bei den einzelnen Abstimmschritten kommen.

               mögliche Abstimmschritte ( STEPS ):
       10 Hz; 100Hz; 1 KHz; 10 KHz; 100 KHz; 1 MHz

Abb.3 Musteraufbau mit Ansicht von der Unterseite ( anklicken für Grossdarstellung )

Weiterhin hinzugekommen ist eine schnelle Anwahlmöglichkeit für 9 Memorykanäle. Entsprechend der Wünsche des Nutzers lassen sich hierzu beliebige Frequenzen fest im Programmcode abgelegen. Ihre Anwahl erfolgt über die Taste "T3". Dazu kommt eine zehnte, zum Aufruf der jeweiligen VFO-Startfrequenz reservierte Einstellung.

Um auch bei erneuten Inbetriebnahmen wieder zur vorher zuletzt genutzten VFO-Frequenz zurückkehren zu können, lässt sich diese abspeichern. Dazu ist nur der mit dem Drehimpulsgeber verbundene Taster kurz zu betätigen. Bis zu einer evtl. späteren Überschreibung ist diese danach dauerhaft als Startfrequenz verfügbar.


Abb.4 VFO-Gesamtschaltbild

NEU hinzugekommen ( und im Schaltbild Abb.4 noch nicht verzeichnet ) ist eine einfache Möglichkeit zur Richtungsumkehrung beim Drehimpulsgeber. Zur Umkehrung ist der Porteingang "19" mit Masse zu verbinden, wobei diese Funktion allerdings erst nach einem Neustart des Programmes wirksam wird.

NEU ist ebenfalls, dass sich dieser VFO jetzt zudem verwenden lässt, um mit ihm einen einfachen LW/KW-Direktmischempfänger aufbauen zu können [7]. Lückenlos deckt dieser dabei die Bereiche 135-550 KHz und 3.4-14.5 MHz ab und beruht dabei weitgehend wieder auf den schon in [5] und [6] beschriebenen Empfängerkonzepten. Die hierfür benutzte Empfängerplatine besitzt identische Abmessungen zur VFO-Version und ist mit dieser somit sehr einfach zu einer funktionalen Einheit zusammenfügbar. In diesem Zusammenhang neu hinzugekommen ( aber im Schaltbild Abb.4 noch nicht eigezeichnet ) ist die Nutzung des Ports "4" als Steuerausgang zur Umschaltung zwischen beiden möglichen Empfangsbereichen.

4 weitere Ports des ESP32 ( "12, 13, 14 und 33" ) sind für eventuelle spätere Erweiterungen vorgesehen und derzeit unbenutzt. 


Frequenzfeinkorrektur

Die Frequenzgenauigkeit des VFO's wird im Wesentlichen durch den zum Si5351a-Baustein gehörenden  (25MHz-) Steuerquarz bestimmt. Bei ihm handelt es sich um eine Standardversion, deren begrenzte Genauigkeit sich dabei auch abhängig von der erzeugten Frequenz negativ bemerkbar macht. Eine Korrektur kann durch Änderung des im Library-Unterprogramm "Si5351.cpp" zu findenden Wertes für "#define fxtal" erreicht werden. Dazu ist dieser vorher allerdings noch entsprechend der tatsächlichen Quarzfrequenz des verwendeten Einzelexemplars anzupassen. Hierfür ist der im Ursprungscode zu findende Wert von "25000000" gegen einen neu zu ermittelnden zu ersetzen. Dafür muss aber zuerst einmal die durch die Ungenauigkeit des Quarzes bewirkte Differenz zwischen der am Display angezeigten und der tatsächlich generierten VFO-Frequenz ermittelt werden. Vorzugsweise und auf einfachste Weise kann das mit einem möglichst genauen Frequenzzähler geschehen. Wenn nicht verfügbar, kann behelfsmäßig auch ein Empfänger ( nicht FM ) benutzt werden. mit dem ein in seiner Frequenz bekannter Sender ( z.B. eine Bake im 2m-Band ) empfangen und dabei ein Schwebungsnull mit dem Signal unseres VFO's erzeugt wird. Danach ist die so festgestellte Differenz zwischen bekannter Sender- und angezeigter VFO-Frequenz festzuhalten. Durch schrittweise Änderung des in "define fxtal" einzutragenden Wertes, lässt sich dann die Abweichung zwischen Soll- und Istfrequenz des VFO sukzessive minimieren.

TIPP: Nachdem sich die durch die Ungenauigkeit des si5351-Steuerquarzes bedingten Frequenzfehler umso stärker bemerkbar machen, je höher die vom VFO generierte Frequenz ist, ist es ratsam, die  Ermittlung des Ablagefehlers bei einer möglichst hohen eingestellten VFO-Frequenz durchzuführen. Daher bin ich dazu übergegangen, hierfür eine solche um 145 MHz zu wählen.


Nachbau

Zur Vereinfachung des VFO-Nachbaus wurde ein Platinenlayout entworfen. Unter der Bezeichnung "DJ7OO_VFO_1c.lay6" sind die entsprechenden Platinen ( siehe dazu auch die Bilder auf diese Seite ) bei Dirk Ruffing, DH4YM [2] erhältlich. Näheres zu den sonstigen verwendeten Bauteilen incl. Hinweisen auf mögliche Bezugsquellen liefert die folgende Tabelle:

Stückzahl
Bauteilbezeichnung
mögliche Bezugsquellen
1
ESP32-Prozessorboard  Node MCU ( gem. Abbildung ) *
div. ( China- ) Anbieter, AZ-Delivery
1
1.8"-TFT-Display ( gem. Abbbildung )
div. ( China- ) Anbieter, AZ-Delivery
1
Drehimpulsgeber z.B. STEC12E08 ( ALPS )
Reichelt
1
Si5351-Board ( gem. Abbildung )
div. ( China- ) Anbieter
3
Kurzhubtaster z.B. 3301B ( JTP-1130 )
Reichelt
3
Widerstand 1/4W  2x 2200 Ohm ; 1x68 Ohm
div.

Tabelle 1

* Die ESP32-Prozessorbausteine sind von der Platinenunterseite aufzulöten. In Hinblick auf einfachere Montierbarkeit kann es dabei hilfreich sein, die z.B. von genannter Firma [3] verfügbaren Versionen OHNE bereits eingelötete Steckerleisten zu verwenden.

Bei der Platinenbestückung ist weiterhin zu berücksichtigen, dass einige der benötigten Drahtbrücken durch später darüber liegende Bauteile abgedeckt werden, so dass mit ihrer Installation zu beginnen ist. Dabei ist auch auf das Entstehen möglicher Kurzschlüsse zu achten.

Die aktuelle Softwareversion kann unter [4] heruntergeladen werden.


Abb.5  Layout "DJ7OO_VFO_V1c.lay6"  ( erstellt mit Sprint-Layout 6.0 )
Anm.: Abmessungen des TFT-Displays als blauer Rahmen angedeutet


Linkliste

[1] https://github.com/WA2FZW/It-s-Not-Just-Another-Digital-VFO-by-WA2FZW-VK3PE-and-G3ZQC
[2] https://www.dh4ym.de/
[3] https://www.az-delivery.de/pages/search-results-page?q=esp-32
[4] http://www.kh-gps.de/vfo.zip
[5] http://www.kh-gps.de/fax-rx.htm

[6] http://www.kh-gps.de/lw-rx.htm
[7]  http://www.kh-gps.de/uni-rx.htm