Löschfunkensender Selbstgebaut

Dieser Artikel bietet einen interessanten Einblick in die faszinierende Welt der frühen Funktechnologie, die einst die globale Kommunikation revolutionierte. Durch den Aufbau und die Analyse eines Löchfunkensenders bietet dieses Projekt einen praktischen Einblick in die faszinierenden Dynamiken gedämpfter harmonischer Oszillatoren und erläutert Merkmale wie das logarithmische Dekrement, die Abklingrate, den Dämpfungsfaktor, den Q-Faktor und vieles mehr.

Einfacher Löschfunkensender aufgebaut aus wenigen Komponenten auf etwas Acrylglas

Einfacher Löschfunkensender aufgebaut aus wenigen Komponenten auf etwas Acrylglas

Schaltung

Die grundlegende Schaltung für einen Löschfunkensender ist sehr übersichtlich. Es soll allerdings angemerkt werden, dass die hier gezeigte Schaltung wenig mit tatsächlich eingesetzten Schaltungsvarianten zu tun hat. Dennoch sind die grundlegenden Prinzipien gleich und erfüllt seinen Zweck als Anschauungsobjekt.

Einfacher Löschfunkensender mit einer Sendefrequenz von rund 3 MHz

Einfacher Löschfunkensender mit einer Sendefrequenz von rund 3 MHz.

Die Funkenstrecke selbst besteht aus zwei Schlossschrauben und etwas Acrylglas. Die Durchbruchspannung von Luft ist ca. 3 kV/mm, zumindest wenn man ein idealisiert homogenes Feld und einen Elektrodenabstand von 10 mm annimmt. Zwar vernachlässigt diese Annahme ein wenig Realität. Für den hier gezeigten Zweck ist dies allerdings völlig ausreichend und ein Exkurs in das Paschen-Gesetz wäre über das Ziel hinausgeschossen. Die aufgebaute Funkenstrecke hat eine Durchbruchspannung von ca. 18 kV, entsprechend einem Elektrodenabstand von 6 mm.

Die Feuerrate der Funkenstrecke wird durch das Zeitglied bestehend aus C1 und R1 bestimmt. Der Spannungsverlauf an C1 folgt der Gleichung 1. Hierbei ist C1 die Spannung an C1, Uin die Eingangsspannung an R1 und t steht für die Zeit seit Anlegen der Betriebsspannung (oder dem letzten Funkenüberschlag) in Sekunden. Als Faustregel kann gesagt werden, dass nach einer Zeitkonstante (R1 mal R2) die Spannung an C1 ca. 63% der angelegten Betriebsspannung beträgt. Dieser wert steigt auf ca. 87% nach insgesamt zwei Zeitkonstanten. Daher bietet dieses einfache RC Zeitglied einen einfachen Weg die Überschlagshäufigkeit der Funkenstrecke zu kontrollieren. Diese Eigenschaft ist deshalb interessant, weil die Überschlagshäufigkeit direkt die Tonhöhe des ausgesandten Signales in einem AM-Empfänger bestimmt.

(1)   \begin{equation*} U_{C1} = U_{in} (1 - e^{\frac{-t}{R_1 C_1}}) \end{equation*}

Sobald die Durchbruchspannung erreicht ist, schlägt der Funken in der Funkenstrecke über. Dadurch entsteht ein niederohmiger Pfad, der einen Ladungsausgleich zwischen C1 und C2 ermöglicht und damit den Schwingkreis, bestehend aus C2 und L1, anregt. Die Resonanzfrequenz wird folglich hauptsächlich von C2 und L1 bestimmt (Gl. 2). Diese Annahme ist zumindest weitestgehend wahr, vernachlässigt allerdings zunächst den (in diesem Fall störenden) Einfluss von C1. Hierzu allerdings später mehr. Mit den hier gezeigten Bauteilewerten beträgt die Resonanzfrequenz ungefähr 3 MHz (Gl. 3).

(2)   \begin{equation*} f_r = \frac{1}{2 \pi \sqrt{LC}}  \end{equation*}

(3)   \begin{equation*} f_r = \frac{1}{2 \pi \sqrt{290\;nH \cdot 10\;nF}} =  2,95543\;MHz \end{equation*}

Die in der Schaltung verwendeten Bauteile müssen natürlich über die notwendige Spannungsfestigkeit verfügen. R1, C1 und C2 haben eine Spannungsfestigkeit von über 30 kV. L1 ist eine aus Kupflerlackdraht selbst gewickelte Luftspule mit einem Durchmesser von 8mm und 8 Windungen. Die Spule verfügt über eine Anzapfung 1,5 Windungen von der Masseseite zur niederohmigen Auskopplung des generierten Signales. An dieser Stelle soll noch angemerkt werden, dass der Einsatz von Löschfunkensendern für tatsächliche, drahtlose Kommunikationsanwendungen in den meisten Ländern der Welt verboten ist. Dies liegt an der extrem breitbandigen Natur des generierten Ausgangssignales.

Test und Analyse

Für einen ersten Test wird eine kurze Drahtantenne, bestehend aus wenigen Metern 1,5mm2 Litze direkt an die Anzapfung an Spule L1 gelötet. Der Löschfunkensender wird von meinem selbstgebauten 30 kV Hochspannungsnetzteil versorgt.

Das demodulierte Signal wurde mehrfach mit verschiedenen Versorgungsspannungen und Empfängern aufgenommen. Einmal mit einem SDRplay RSPdx / SDRuno und ein weiteres mal mit einem XHDATA D-808:

Als nächstes wird der Antennendraht entfernt und ein Oszilloskop-Tastkopf angeschlossen. Um die Zerstörung meiner besseren Oszilloskope zu vermeiden, wird hierfür ein günstigeres Oszilloskop verwendet. Daher entschuldige ich mich im Voraus für die geringe Auflösung der Screenshots. Das Oszilloskop wird auf Einzelaufnahme gestellt und die Hochspannung kurz angelegt um einen Impuls der Ausgangswellenform aufzunehmen.

Testaufbau: Hochspannungsnetzteil (Rechts), Löschfunkensender (Mitte) und Oszilloskop (Links)

Testaufbau: Hochspannungsnetzteil (Rechts), Löschfunkensender (Mitte) und Oszilloskop (Links)

Am Ausgang ist ein sinusförmiges Signal mit einer schnell abklingenden Amplitude ist klar erkennbar. Die Frequenz liegt um ca. 3 MHz. Aufmerksamen Lesern mag auffallen, dass die ersten 1,5 Perioden des Signales eine deutlich höhere Frequenz haben. Dieser Teil wird zunächst ignoriert und die Ursache später erneut aufgegriffen. Bei der aufgenommenen Wellenform handelt es sich um einen einzelnen Ausgangsimpuls, der sich mit der Feuerrate der Funkenstrecke wiederholt.

Ausgangswellenform eines einzelnen Impulses des Löschfunkensenders

Ausgangswellenform eines einzelnen Impulses des Löschfunkensenders.

Es benötigt wenig Kreativität um zu erkennen, dass die Hüllkurve der Amplitude einer logarithmischen Abklingrate folgt. Dieses Verhalten ist typisch für gedämpfte, harmonische Oszillatoren aller Art (Federpendel, Drehschwinger, Schwingkreise, etc.). Daher haben sich umfangreiche, mathematische Methoden etabliert, die das Verhalten einer solchen Oszillation beschreiben können. Das Schwingungsverhalten kann durch die Gleichung 4 beschrieben werden. Mit der Ausgangsspannung u(t) zum Zeitpunkt t, û dem Spitzenwert zum Zeitpunkt t=0, der Abklingkonstante δ und der Kreisfrequenz ω =2πf. Die einzelnen Parameter des Löschfunkensenders werden nun ermittelt und hieraus eine Schwingungsgleichung entwickelt.

(4)   \begin{equation*} u(t) = \hat{u} e^{- \delta t} \cos(\omega t) \end{equation*}

Ausgangsimpuls eines Löschfunkensenders

Ausgangsimpuls eines Löschfunkensenders

Mit Hilfe der Markerfunktionen und weiterem Ignorieren der ersten 1,5 Perioden, kann die Frequenz von rund 3 MHz bestätigt werden. Ganz genau sind es 2,976 MHz. Der Spitzenwert der ersten Periode ist 266 V, der zweiten Periode 174 V. Die folgenden Spitzenwerte betragen 126 V, 96 V und 52 V. Mit Hilfe dieser Informationen wird zunächst das logarithmisches Dekrement Λ (Lambda) berechnet (Gleichungen 5 und 6).

(5)   \begin{equation*} \Lambda = \frac{1}{n} \ln(\frac{A}{A_n}) \end{equation*}

(6)   \begin{equation*} \Lambda = \frac{1}{6} \ln(\frac{266\;V}{52\;V}) \approx 0,272 \end{equation*}

Das logarithmisches Dekrement wird nun durch die Periodendauer (1/f) dividiert um die Abklingrate δ (Delta) zu errechnen (Gleichungen 7 und 8).

(7)   \begin{equation*} \delta = \frac{\Lambda}{T_d}  \end{equation*}

(8)   \begin{equation*} \delta = \frac{0,272}{3,36\; \cdot 10^{-7}} \approx 8,1 \cdot 10^5  \end{equation*}

Aus den berechneten Werten lässt sich nun durch Einsetzen in 4 direkt eine Schwingungsgleichung für das Ausgangssignal des Löschfunkensenders aufstellen (Gl. 9).

(9)   \begin{equation*} u(t) = 266\;V\;e^{-8,1 \cdot 10^5\;t} \cos(2\;\pi\;2,976\cdot 10^6\;t) \end{equation*}

Die Aufgestellte Schwingungsgleichung wird mit Hilfe von Python graphisch dargestellt und das Ergebnis mit dem gemessenen Ausgangssignal verglichen.

Errechnete Simulation der Ausgangsspannung u(t) mit Hilfe von Python und der aufgestellten Schwingungsgleichung

Errechnete Simulation der Ausgangsspannung u(t) mit Hilfe von Python und der aufgestellten Schwingungsgleichung

Das Schwingungsverhalten und die Hüllkurve der Amplitude sieht dem messtechnisch erfassten Signal sehr ähnlich. Im gemessenen Signal ist allerdings eine soweit nicht beachtete, höherfrequente Schwingung am Anfang des Ausgangsimpulses vorhanden. Unter Verwendung der Markerfunktion kann die Frequenz dieser Oszillation mit 10,42 MHz bestimmt werden.

10,42 MHz Oszillation am Anfang des Ausgangsimpulses

10,42 MHz Oszillation am Anfang des Ausgangsimpulses

10,42 MHz sind ungefähr das 3,33-fache der gewünschten Ausgangsfrequenz. Unter der Annahme, dass L1 konstant ist, entspricht dies unter Anwendung von Gleichung 2 einer Parallelkapazität von 1 nF. Dies entspricht wenig zufällig exakt der Dimensionierung von C1. In dem Moment, wo die Funkenstrecke überschlägt, ist C1 geladen und C2 entladen. Zwar beginnt der Ladungsausgleich zwischen C1 und C2 quasi sofort, für einen kurzen Moment interagieren C1 und L1 allerdings unter Auslassung von C2 miteinander. Dies ist die Ursache für die höherfrequente Schwingung am Anfang eines jeden Ausgangpulses. Dieses Phänomen zeigt sich auch deutlich im Ausgangsspektrum.

Ausgangsspektrum des Löschfunkensenders

Ausgangsspektrum des Löschfunkensenders

Das Ausgangsspektrum sieht in Bezug auf elektromagnetische Verträglichkeit aus, wie ein düsterer Alptraum. Die Bandbreite steht in keinem gute Verhältnis zum Nachrichtengehalt. An einer resonanten Antenne wäre das abgestrahlte Spektrum natürlich etwas schmalbandiger, allerdings immer noch sehr verschwenderisch. Apropos Bandbreite: Aus dem zuvor berechneten lograrithmischen Dekrement lässt sich mit einem Umweg über den Dämpfungsfaktor D auch der Gütefaktor Q, auch Q-Faktor genannt, berechnen (Gl. 10 und 12).

(10)   \begin{equation*} D = \frac{\Lambda}{\sqrt{(2 \pi)^2 + \Lambda^2}} \end{equation*}

(11)   \begin{equation*} D = \frac{0.272}{\sqrt{(2 \pi)^2 + 0.272^2}} \approx 0,04324 \end{equation*}

(12)   \begin{equation*} Q = \frac{1}{2 D} \end{equation*}

(13)   \begin{equation*} Q = \frac{1}{2\cdot0.04324} \approx 11,56 \end{equation*}

Der rechnerische Gütefaktor beträgt 11,56 (Gl. 10 und 13). Bei einer Frequenz von 3 MHz entspricht eine Güte von 11,56 einer Halbwertsbandbreite von rund 260 kHz. Dies deckt sich ungefähr mit dem gemessenen Ausgangsspektrum.

Video

Ein Bild sagt mehr als tausend Worte. Ein Video sagt folglich mehr als eine Million Worte. Daher habe ich die hier behandelten Inhalte in einem Video aufbereitet:

Links and Sources:

[1] „Einstellbares 30 kV Hochspannungs-Netzeil im Eigenbau“, Baltic Labor: https://baltic-labor.de/

 

Einstellbares 30 kV Hochspannungs-Netzeil im Eigenbau

Hochspannungs-Netzteile öffnen Tür und Tor für interessante Experimente wie beispielsweise mit Lasern, Röngenstrahlen und Löschfunkensender. Kommerzielle Hochspannungs-Netzteile sind jedoch ziemlich teuer. Zum Glück gibt es einen kostengünstigen Weg ein Hochspannungs-Labornetzteil aus kostengünstigen, kommerziellen Bauteilen und Komponenten zu bauen. Dieser Artikel zeigt, wie man für 100 – 150 € ein einstellbares Labornetzteil mit einer Ausgangsspannung von bis zu 30 kV und einem Ausgangsstrom von 20 mA selbst bauen kann.

Eigenbau 30 kV Labornetzteil

Eigenbau 30 kV Labornetzteil

Überblick

Die Grundlage für dieses Projekt ist ein kommerzielles Laser-Netzteil. Es handelt sich um ein Laser-Netzteil für 50 Watt CO2 Laser vom Hersteller VEVOR [1]. Laut Herstellerangaben ist das Netzteil in der Lage Ausgangsspannungen zwischen 20 und 26 kV zu erzeugen. In meinen Tests zeigte sich jedoch, dass sich das Netzteil problemlos zwischen 5 kV und 30 kV einstellen lässt. Mit einem maximalen Ausgangsstrom von 20 mA eignet es sich hervorragend für eigene Hochspannungsexperimente.

Frontalansicht des 5 kV - 30 kV high Hochspannungs-Netzteil

Frontalansicht des 5 kV – 30 kV high Hochspannungs-Netzteil

Sämtliche Komponenten und Bauteile sind fest in einem 19"-Gehäuse verbaut. Ein geschützter Schalter und ein kleiner Taster können die Hochspannung bei bedarf zu- oder abschalten. Ein Mehrgang-Potentiometer wird verwendet um die Ausgangsspannung einzustellen. Zwei Zeigerinstrumente für Spannung und Strom verschaffen einem jederzeit einen Überblick über die zur Verfügung gestellte Hochspannung. Aus Kostengründen wird auf die Verwendung eines Hochspannungsstecker direkt am Netzteil verzichtet. Stattdessen wird das Hochspannungskabel, welches bis 50 kV zugelassen ist, mit Hilfe einer Durchführungstülle aus dem Netzteil herausgeführt. Das offene Kabelende ist dann mit einem kostengünstigen Hochspannungsstecker aus dem Laserbereich terminiert [2].

Blick von oben auf das Hochspannungs-Netzteil, alle Komponenten und die interne Verdrahtung

Blick von oben auf das Hochspannungs-Netzteil, alle Komponenten und die interne Verdrahtung

Strom- und Spannungsmessung

Eine Sache, die jedes gute Labornetzteil auszeichnet, ist die Möglichkeit jederzeit Strom und Spannung ablesen zu können. Die Strommessung wird durch ein einfaches 30 mA Zeigerinstrument realisiert. Um direkten Kontakt mit der Hochspannung zu vermeiden, ist dieses auf der Masseseite des Ausgangskreises installiert. Man spricht in diesem Fall von low-side sensing. Da der Strom in einem geschlossenen Strang überall gleich ist, ist es folglich auch egal an welcher Stelle ein Amperemeter installiert wird.

Frontalansicht des einstellbaren 30 kV Netzteiles mit Blick auf die interne Verdrahtung.

Frontalansicht des einstellbaren 30 kV Netzteiles mit Blick auf die interne Verdrahtung.

Analoge Voltmeter sind für wenig Geld leicht zugänglich. Für Messgeräte, die bis zu 30 kV messen können sollen, wird die Liste an verfügbaren Optionen jedoch sehr kurz. Soll das Ganze dann noch in ein Hobbybudget passen, gibt es wenige bis gar keine Optionen. Die einfache Lösung für diese Herausforderung ist die Verwendung eines 50 µA Strommessgerätes in Verbindung mit einem 1 Gigaohm (GΩ) Messwiderstand in Serie zum Messinstrument. Dem Ohmschen Gesetz folgend (I = U/R), beträgt der Strom durch einen 1 GΩ Widerstand exakt 1 µA pro Kilovolt (kV). Bei einer Ausgangsspannung von 30 kV sollte das Strommessgerät folglich einen Strom von 30 µA anzeigen (Gl. 1). Für Hochspannung geeignete 1 GΩ Messwiderstände gibt es für wenig Geld bei [3].

Ein geeigneter 1 Gigaohm Messwiderstand und ein 0 - 50 µA Amperemeter für Spannungsmessungen von bis zu 50 kV

Ein geeigneter 1 Gigaohm Messwiderstand und ein 0 – 50 µA Amperemeter für Spannungsmessungen von bis zu 50 kV

Mikroamperemeter und 1 Gigaohm Widerstand zur Messung von Hochspannung von bis zu 50 kV

Mikroamperemeter und 1 Gigaohm Widerstand zur Messung von Hochspannung von bis zu 50 kV

(1)   \begin{equation*} I = \frac{30 \cdot 10^3 V}{1 \cdot 10^9 \Omega} = 30 \mu A \end{equation*}

(2)   \begin{equation*} I = \frac{30 \cdot 10^3 V}{(1 \cdot 10^9 + 125 \cdot 10^3) \Omega} = 29.996250...\mu A \end{equation*}

Aufmerksame Lesern fällt an dieser Stelle vielleicht auf, dass der tatsächliche Strom – aufgrund des Innenwiderstandes des Strommessgerätes selbst (ca. 2 kΩ) – etwas geringer ausfallen müsste. Dieser Umstand verfälscht natürlich die angezeigten Messwerte. Dies ist zwar korrekt, jedoch machen ein paar Kiloohm mehr oder weniger in Relation zu einem 1 GΩ Widerstand keinen großartigen Unterschied. Selbst mit zusätzlichen 125 kΩ in Serie mit dem gesamten Messaufbau, wäre der angezeigte Wert immer noch auf zwei Nachkommastellen genau (Gl. 2). Der zu erwartende Fehler ist also insignifikant und ohnehin deutlich unter der Ablesbarkeit des Messinstrumentes.

V. l. n. r.: Hochspannungskabel (rot), 1 Gigaohm Messwiderstand, 50 µA Strommessgerät als Voltmeter, 4mm Buchse für die Masseverbindung und ein 30 mA Strommessgerät.

V. l. n. r.: Hochspannungskabel (rot), 1 Gigaohm Messwiderstand, 50 µA Strommessgerät als Voltmeter, 4mm Buchse für die Masseverbindung und ein 30 mA Strommessgerät.

Der 1 GΩ Messwiderstand ist direkt an das Hochspannungskabel gelötet. Bei Spannungen von bis zu 30 kV reicht etwas Schrumpfschlauch leider nicht zum isolieren. Zunächst ist die Lötstelle mit mehreren Schichten des als Super Corona Dope bekannten MG Chemicals 4226A Isolierlackes [4] beschichtet. Obwohl der Isolierlack eine sehr hohe Durchbruchspannung von 3 kV pro mil (= 0,0254 mm) verspricht, ist noch etwas Epoxy zum Einsatz gekommen. In Epoxid getränkte Textilstreifen sind fest um die Lötstelle gewickelt worden. Bei dem Textilmaterial handelt es sich um ein einfaches T-Shirt. Vielleicht eine etwas merkwürdige Methode, aber äußerst effizient.

Laser Netzteil und Bedienelemente


Die exakte Kontaktbelegung des VEVOR Lasernetzteiles herauszufinden hat etwas Mühe gekostet. Zwar ist der Lieferung eine einseitige Bedienungsanleitung beigefügt worden, die hier verwendete Sprache und Nomenklatur ähnelte zwar der englischen Sprache, ließ jedoch stellenweise tiefergehende Bedeutung vermissen… Mit Ausprobieren und versehentlichen Hochspannungsüberschlägen ist die korrekte Kontaktbelegung dann jedoch recht schnell identifiziert worden.

Verbindung zum Lasernetzteil: Netzspannung (links), Anpassung der Ausgangsspannung (Mitte) und Zu- / Abschaltung der Hochspannung (rechts)

Verbindung zum Lasernetzteil: Netzspannung (links), Anpassung der Ausgangsspannung (Mitte) und Zu- / Abschaltung der Hochspannung (rechts)

Die korrekte Kontaktbelegung ist in den folgenden Tabellen aufgeführt:

230V Netzspannung (links):

Pin 1 (links) Pin 2 Pin 3 Pin 4 (rechts)
Ground
(Weiß)
Erde
(Grüngelb)
230V Neutralleiter
(Blau)
230V Außenleiter
(Schwarz)

Steuereingang (Mitte):

Pin 1 (links) Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 (rechts)
Brücke zu Pin 2
(schwarz)
Brücke zu Pin 1
(Schwarz)
Offen Steuerspannung GND
(Schwarz)
Steuerspannung Eingang
(orange)
Steuerspannung 5 VDC
(red)

HV Freigabe (Rechts):

Pin 1 (links) Pin 2 Pin 3 Pin 4 (rechts)
Offen GND
(Orange)
5 V DC
(10K Widerstand zu Pin 4)
Freigabe, active low
(orange)

Mit der richtigen Kontaktbelegung ist die Verdrahtung der Bedienelemente ein Kinderspiel. Der Anschluss der Netzspannung ist mit einem schaltbaren und abgesicherten IEC320 IEC60320 Verbinder ausgeführt. Es soll hier angemerkt werden, dass Erdung, Masse für die Hochspannung und Masse für die Bedienelemente im Lasernetzteil intern zusammengeführt sind. Um hier auf der sicheren Seite zu sein, ist der Lack des 19"-Gehäuses unter dem Lasernetzteil entfernt worden um eine niederohmige Verbindung zu geerdeten Gehäuse sicherzustellen. Für doppelte Sicherheit ist eine dedizierte Erdungsverbindung zum Gehäuse über eine Schraube und einem Ringkabelschuh hergestellt worden.

Nahaufnahme der internen Verdrahtung: IEC60320 Verbinder für die Netzspannung (links), VEVOR Lasernetzteil (oben), Bedienelemente für die Ausgangsspannung (rechts)

Nahaufnahme der internen Verdrahtung: IEC60320 Verbinder für die Netzspannung (links), VEVOR Lasernetzteil (oben), Bedienelemente für die Ausgangsspannung (rechts)

Ein 10-Gang Präzisionspotentiometer wird zur Einstellung der gewünschten Ausgangsspannung verwendet. Das Lasernetzteil erwartet hierfür eine Steuerspannung zwischen 0 und 5 Volt. Praktischerweise werden 0 V (GND) und +5 V DC an Kontakten direkt neben dem Steuerspannungseingang zur Verfügung gestellt. Diese Referenzspannungen sind fest mit den Enden des Potentiometers verbunden. Der Schleifer ist mit dem Steuerspannungseingang des Lasernetzteiles verbunden und stellt je nach Stellgröße die benötigten 0 – 5 V zur Einstellung der Ausgangsspannung zur Verfügung. Ein geschützter Schalter und ein Taster zur Zuschaltung der Hochspannung sind parallel miteinander verschaltet und gemeinsam an den „Enable“ Eingang herangeführt. Der Enable-Eingang ist active-low, d.h. die Ausgangsspannung wird zugeschaltet, wenn das Steuersignal auf Masse-Niveau ist. Sicherheitshalber ist der Eingang daher mit einem 10 kΩ pull-up Widerstand zum 5-Volt-Kontakt verbunden. Dies ist zwar nicht notwendig, aber sicher ist sicher.

Test

Für den ersten Test habe ich mir etwas Besonderes Überlegt. Aus einigen Hochspannungsbauteilen, einer Spule und etwas Acrylglas ist schnell ein (suboptimaler) Löschfunkensender mit einer Sendefrequenz von ca. 3 MHz entstanden. Selbstverständlich wird der Löschfunkensender nicht an einer Antenne betrieben, sondern verstrahlt lediglich mein Labor mit einer sehr geringen Leistung an extrem breitbandiger Hochfrequenz. Nachdem die Netzspannung verbunden und eingeschaltet ist, gibt der Lüfter des Lasernetzteiles erste Lebenszeichen von sich. Nach Einstellung der Ausgangsspannung auf über 10 kV erwacht auch der Löschfunkensender zum Leben. Beim weiteren Erhöhen der Ausgangsspannung auf bis zu 30 kV nimmt die Frequenz, mit der die Funkenstrecke im Sender feuert, erwartungsgemäß zu.

Löschfunkensender mit einer Frequenz von ca. 3 MHz

Löschfunkensender mit einer Frequenz von ca. 3 MHz

Der Löschfunkensender wird im Übrigen der Fokus eines zukünftigen Artikels sein.

YouTube Video

Zusammenfassung

Dieses Projekt zeigt, wie man die Vorteile der Zuverlässigkeit kommerzieller Baugruppen und die Kostenersparnis von Eigenbauten effektiv miteinander verbinden kann. Mit einem Kostenaufwand von lediglich 100 – 150 € (je nach Bezugsquelle) kann der Zugang zu interessanten Hochspannungsexperimenten Eröffnet werden.

Links and Sources:
[1] VEVOR 50W CO2 Lasernetzteil, VEVOR: https://vevor.com/
[2] Hochspannungstecker für 40kV Kabel (CSA TV-40), HighVoltageshop.com: https://highvoltageshop.com/
[3] 1 GΩ , 30 kV Messwiderstand, HighVoltageshop.com: https://highvoltageshop.com/
[4] MG Chemicals 4226A Isolierlack, Dr. Dietrich Müller GmbH: https://www.muellerbestellung.de/

 

Leiterplatten mit Salzsäure und Wasserstoffperoxid ätzen

Das richtige Ätzmittel für die Platinenherstellung könnte eine eigene Wissenschaft für sich sein. Einige schwören auf Eisen(III)-chlorid, andere auf Natriumpersulfat. In diesem Artikel zeige ich, wie man mit Salzsäure und Wasserstoffperoxid sicher, präzise und effizient Leiterplatten im Heimlabor herstellen kann.

Einführung

Salzsäure (HCl) und Wasserstoffperoxid (H2O2) als Ätzmittel für Platinen zu verwenden ist an und für sich nichts Neues. Ich habe diese Methode kürzlich für mich neuentdeckt, da mir mein Natriumpersulfat ausgegangen ist und meine Ungeduld und Neugier groß genug waren es einmal zu probieren. Ich war beeindruckt von der Qualität der resultierenden Leiterbahnen. Meine Freude teilte ich sodann auf Twitter [1]. Zu meiner Überraschung waren die Antworten sehr polarisiert. Einige meiner Follower bestätigten meine Beobachtungen in Hinblick auf Qualität, Schärfe und Wiederholbarkeit. Andere konstatierten, dass es sich hierbei um eine unverantwortliche, gefährliche, schwer zu kontrollierende Methode handelt. Wie kommt diese scharfe Teilung der Meinungen? Wie so oft liegt der Teufel im Detail: Die Gruppe, die selbst von positiven Erfahrungen berichtet, verwendet korrekterweise stark verdünnte Ätzlösungen. Das alte Sprichwort, die Dosis mache das Gift, gilt halt auch bei der Qualität eines Ätzmittels.

Verwendetes Ätzmittel

Für einen Liter an Ätzmittel wird folgendes Mischungsverhältnis verwendet:

  • 700 ml Destilliertes Wasser
  • 200 ml 30-35 % Salzsäure (HCl)
  • 100 ml 12 % Wasserstoffperoxid (H2O2)

Das exakte Mischungsverhältnis ist nicht all zu kritisch. Zunächst wird das Wasser in das Mischbehältnis gefüllt, danach die Salzsäure und zuletzt das Wasserstoffperoxid.

Zwei GL45 Laborflaschen mit 8 %-iger Salzsäure (links) und 12 %-igem Wasserstoffperoxid (rechts)

Zwei GL45 Laborflaschen mit 8 %-iger Salzsäure (links) und 12 %-igem Wasserstoffperoxid (rechts)

Konzentrierte Salzsäure raucht relativ stark und die Dämpfe sind äußerst aggressiv. Sehr unangenehm beim Einatmen und für alle metallischen Objekte in der näheren Umgebung. Um einen sicheren Umgang auch im Heimlabor zu ermöglichen, wird an einem gut belüfteten Ort einfach auf Vorrat eine 8%-ige Salzsäure hergestellt. Zusammen mit 12%-igem Wasserstoffperoxid vereinfacht diese Vorbereitung die Herstellung der fertigen Ätzlösung: Um 10 Teile einer fertigen Ätzlösung zu erhalten mischt man 9 Teile der 8%-igen Salzsäure und einen Teil des 12 %-igen Wasserstoffperoxid. Beispielsweise 90 ml 8%-ige Salzsäure und 10 ml des 12%-igen Wasserstoffperoxid.

Die Konzentration des Wasserstoffperoxid wurde unter Berücksichtigung des immer einschränkender werdenden Chemikalienrechtes, insbesondere dem Ausgangsstoffgesetz gewählt. Alternativ kann auch eine 15 %-ige Salzsäure und 3 %-iges Wasserstoffperoxid in einem Mischungsverhältnis von 1:1 verwendet werden.

Gefahr einer Chlorgasentwicklung

Ein häufiger Einwand gegen dieses Ätzmittel ist die vermeintliche Gefahr einer Chlorgasentwicklung. Chlor entsteht im Reaktionsprozess zwar, (Gl. 1 and 2), ob Chlorgas frei wird, hängt jedoch stark von den verwendeten Konzentrationen ab [2]. Wenn die Konzentration der Salzsäure unter einem gewissen Grenzwert gehalten wird, wird das gelöste Chlor in einem weiteren Reaktionsschritt wieder umgewandelt (Gl. 3).

(1)   \begin{equation*}  H_2O_2 + HCl -> H_2O + HOCl \end{equation*}

(2)   \begin{equation*}  HOCl + HCl -> H_2O + Cl_2 \end{equation*}

(3)   \begin{equation*}  H_2O_2 + Cl_2 -> 2HCl + O_2 \end{equation*}

Bleibt die Frage: Wie viel Salzsäure ist zu viel? Um direkt aus einer Studie mit dem Titel „Oxidation of hydrogen chloride with hydrogen peroxide in aqueous solution“ zu zitieren:

The oxidation of hydrogen chloride with hydrogen peroxide at common temperature with the evolution of chlorine into the gas phase occurs at a hydrogen chloride concentration in a solution exceeding the threshold value (5.2 M).

5,2 M entspricht in Etwa einer HCl Konzentration von 16,1 %. Die Konzentration von HCl in der hier empfohlenden Ätzlösung beträgt ungefähr 2,27 M, weniger als die Hälfte des kritischen Grenzwertes!

Ätzvorgang

Die Ätzlösung wird wie im vorherigen Abschnitt beschrieben zubereitet. Ein Becherglas in ausreichender Größe wird als Ätzgefäß verwendet. Der Füllstand sollte so gewählt werden, dass die Platine komplett untergetaucht ist. Für eine Kupferschicht von 35 µm (1 oz) ist mit einer Ätzzeit von ca. 17 Minuten zu rechnen. Nachdem der Ätzvorgang vollständig ist, wird die Platine vorsichtig mit einer Plastikpinzette aus dem Ätzbad entfernt und mit Wasser gewaschen.

FR4-Platine nach 17 Minuten in der Salzsäure / Wasserstoffperoxid Ätzlösung

FR4-Platine nach 17 Minuten in der Salzsäure / Wasserstoffperoxid Ätzlösung

In der Anfangsphase wird das Kupfer angegriffen und und es entsteht Kupferchlorid. Nach einiger Zeit verhält sich die Ätzlösung mehr wie eine Ätzlösung auf Basis von Kupfer(II)-chlorid [3]. Die Zugabe von etwas Kupfer(II)-chlorid zu Beginn würde daher den Ätzprozess vermutlich beschleunigen. Durch seine regenerative Natur dürfte die Ätzlösung sehr lange halten. Dies wurde allerdings nie versucht, die Ätzlösung wurde stets neu zubereitet, wenn sie benötigt wurde.

Fazit

Das Resultat ist äußerst zufriedenstellend. Die Qualität der Leiterbahnen ist hervorragend, sehr scharf, keine Überätzungen. Beim Arbeiten mit Chemikalien sollten selbstverständlich die üblichen Sicherheitsregeln für das Arbeiten im Labor eingehalten werden. Das Tragen einer Schutzbrille und Handschuhen wird empfohlen. Allerdings kann aufgrund unfreiwilliger Erfahrung gesagt werden, dass ein Hautkontakt nicht besonders tragisch ist. Dies ist aufgrund der hohen Verdünnung auch nur wenig verwunderlich.

Prototyp eines Triplexers für die Verwendung eines modifizierten LNB für Empfangsexperimente im K-Band

Prototyp eines Triplexers für die Verwendung eines modifizierten LNB für Empfangsexperimente im K-Band

YouTube Video

Links und Quellen:

[1] Twitter Post, Baltic Lab: https://twitter.com/BalticLabEE/status/1687521760386670592

[2] Oxidation of hydrogen chloride with hydrogen peroxide in aqueous solution, Skudaev, V. and Solomonov, A. and Morozovskii, A. and Isakov, N.: https://link.springer.com/article/10.1134/S1070427208010035

[3] Etching with Air Regenerated Acid Cupric Chloride, By Adam Seychell: http://techref.massmind.org/Techref/pcb/etch/cucl2.htm

 

LNB Modifikation für X-Band und QO-100 Empfang

Dieser Artikel zeigt wie man einen kostengünstiges LNB so modifiziert, dass ein externes LO-Referenzsignal eingespeist werden kann. Ein derartig modifiziertes LNB kann für den Empfang von X-Band-Signalen im 10 GHz-Bereich, beispielsweise vom Amateurfunksatelliten QO-100 (Qatar Es’hail 2), verwendet werden. Ebenso sind Radioastronomie- und Mikrowellenexperimente möglich.

Dieser Artikel ist eine gekürzte Version meines Research Papers, welches in voller Länge hier heruntergeladen werden kann [1].

Einführung

Beim ausgewählten LNB handelt es sich um ein Goobay 67269 der Wentronic GmbH. Laut den Angaben des Herstellers [3] ist das LNB geeignet für den Empfang im Bereich von 10,7 bis 11,7 GHz (low-band) und von 11,7 bis 12,75 GHz (high-band). Die Zwischenfrequenz am Ausgang des LNB beträgt 950 MHz bis 1950 MHz (low-band) bzw. 1100 bis 2150 MHz (high-band). Dies entspricht einer Frequenz des Lokaloszillators (LO) von 9,75 GHz (low-band) und 10,6 GHz (high-band).

Ungeöffnetes Goobay 67269 LNB

Ungeöffnetes Goobay 67269 LNB

Als Referenz für die Erzeugung des LO-Signales dient ein 25 MHz Schwingquarz. Das 25 MHz Referenzsignal wird um den Faktor 390 (low-band) bzw. 424 (high-band) multipliziert um die gewünschte LO-Frequenz zu erreichen. Ein einfacher 25 MHz Quarzoszillator ist genau genug für dem Empfang eines breitbandigen Fernsehsignales. Für den Empfang von schmalbandigeren Signalen, beispielsweise SSB-Signale, ist jedoch eine deutlich stabilere Referenz notwendig. Daher wird hier eine Möglichkeit gezeigt das LNB so zu modifizieren, dass das LO-Signal an ein extern eingespeistes Referenzsignal gekoppelt werden kann.

Diese Modifikation ermöglicht auch das Verändern der LO-Frequenz durch die Verwendung einer anderen Referenzfrequenz. Der Schmalband-Transponder von QO-100 hat einen Downlink-Frequenzbereich von 10489,5 to 10490 MHz. Mit der Standard-LO-Frequenz von 9750 MHz würde sich eine Zwischenfrequenz von 739,5 bis 740 MHz ergeben. Ändert man die Frequenz des extern zugeführten Referenzsignales auf 25,78 MHz, entsprechend einer LO-Frequenz von 10054,20 MHz, würde sich die Zwischenfrequenz in einen Bereich von 435,30 MHz bis 435,80 MHz verschieben. Genau in der Mitte des 70 cm Amateurfunkbandes.

Modifikation

Die Modifikation ist prinzipiell sehr einfach. Zunächst wird der 25 MHz Quarz entfernt und durch einen LC-Bandpass-Filter getauscht. Der Eingang des Bandpassfilters wird mit dem vorhandenen F-Stecker des LNBs verbunden. Somit kann mit Hilfe eines geeigneten Splitters, oft Triplexer genannt, über das gleiche Koaxialkabel die Betriebsspannung und die Referenzfrequenz zugeführt und die ZF-Signale entnommen werden.

(1)   \begin{equation*}  Z_{LC} = |2 \pi f L - \frac{1}{2 \pi f C}|  \end{equation*}

Für den LC-Bandpass wurden Standardwerte von 18 pF und 2,2 µH gewählt.

Die Komponentenwahl entspricht einer Impedanz von 8.1 Ω bei einer Frequenz von 25 MHz. Bei einer Frequenz von 26 MHz beträgt die Impedanz 19.32 Ω, bei 27 MHz steigt dieser Wert weiter auf 45.74 Ω an (Gl. 1).

Nachdem das Plastikgehäuse vorsichtig mit einem flachen Schraubendreher geöffnet wird, können die Schrauben des Metallgehäuses mit einem T8 Torx-Bit gelöst werde. Nachdem die Schrauben gelöst und der Deckel entfernt wurden, ist die Leiterplatte des LNB zugänglich.

LNB mit entfernter Plastikabdeckung

LNB mit entfernter Plastikabdeckung

Entfernen der Schrauben des Metallgehäuses

Entfernen der Schrauben des Metallgehäuses

Die funktionalen Blöcke des LNB lassen sich sehr leicht identifizieren. Die Schaltung ist um einen vollintegrierten PLL-/LO-/Mischer-Chip mit der Aufschrift „3566E“ herum aufgebaut. Eine Recherche über diesen Chip konnte leider nicht viele Informationen beschaffen. Das ist allerdings nicht weiter schlimm. Das Grundprinzip bei derartigen LNB-Chips ist im Kern sehr ähnlich.

Die vom F-Stecker kommende Versorgungsspannung wird über eine gedruckte Spule (gelb) an einen linearen Spannungsregler vom Typ 7806 herangeführt. Die im Bild mit XTAL1 und XTAL2 markierten Kontakte führen zum 25 MHz Quarz, der sich auf der Rückseite der Leiterplatte befindet.

Nahaufnahme der Leiterplatte mit Markierungen für die PLL, der Quarzkontakte und der gedruckten Spule (gelbes Rechteck) vor dem Spannungsregler

Nahaufnahme der Leiterplatte mit Markierungen für die PLL, der Quarzkontakte und der gedruckten Spule (gelbes Rechteck) vor dem Spannungsregler

Um den korrekten Kontakt für die Einspeisung eines externen Referenzsignales zu identifizieren, wurden die Signale an XTAL1 und XTAL2 mit einem Oszilloskop betrachtet. Pin 2 des 3566E (XTAL2) wurde als geeigneter Kontakt für die Einspeisung identifiziert.

Um die Platine aus dem Gehäuse zu lösen muss lediglich ein einziger Lötkontakt über dem F-Stecker gelöst werden. Hierzu wird mit einem flachen Schraubendreher auf Höhe des F-Steckers etwas Druck von unten auf die Platine ausgeübt und der entsprechende Kontakt kurz erhitzt. Die Platine sollte in der Folge sofort aus dem Gehäuse lösen.

Mit etwas Druck von unten lässt sich die Platine leichter entfernen.

Mit etwas Druck von unten lässt sich die Platine leichter entfernen

LNB Leiterplatten vor (oben) und nach der Entfernung des 25 MHz Quarzes (unten).

LNB Leiterplatten vor (oben) und nach der Entfernung des 25 MHz Quarzes (unten)

Der 25 MHz auf der Rückseite der Platine wird mit Hilfe von etwas Entlötsauglitze entfernt. An der Stelle des nunmehr entfernten Quarzes wird nun eine 2,2 µH Induktivität eingelötet. Um die Beine der Spule vor unbeabsichtigten Kontakt mit dem Gehäuse zu schützen, wird diese mit etwas Polyimid-Klebeband abgedeckt. Die Platine wird dann wieder in das Gehäuse gelegt und an den F-Stecker gelötet.

Eine 2,2 µH Spule wurde anstatt des Schwingquarzes installiert

Eine 2,2 µH Spule wurde anstatt des Schwingquarzes installiert

Die nun unnötige (und hinderliche) Leiterbahn am Kontakt XTAL1 wird mit einem scharfen Gegenstand durchtrennt. Der 18 pF Kondensator wird zwischen dem F-Stecker und dem Kontakt XTAL1 eingelötet.

Die Leiterbahn zwischen dem PLL IC und dem Kontakt XTAL1 wird mit einem scharfen Gegenstand durchtrennt.

Die Leiterbahn zwischen dem PLL IC und dem Kontakt XTAL1 wird mit einem scharfen Gegenstand durchtrennt

Ein 18 pF Kondensator wird zwischen dem F-Stecker und der 2,2 µH Spule eingelötet.

Ein 18 pF Kondensator wird zwischen dem F-Stecker und der 2,2 µH Spule eingelötet

Test

Um die Funktionsfähigkeit des LNB nach der Modifikation zu überprüfen, wird dieses über einen selbstgebauten Triplexer mit 12 V Versorgungsspannung und einem 25.78 MHz Referenzsignal versorgt. Der ZF-Ausgang wird mit dem Eingang eines SDR verbunden.

Prototyp eines Triplexers für die Verwendung eines modifizierten LNB für Empfangsexperimente im K-Band

Prototyp eines Triplexers für die Verwendung eines modifizierten LNB für Empfangsexperimente im K-Band

Über den Tiefpass-Port des Triplexers (fc = 30 MHz) wird ein Referenzsignal von 25,78 MHz (entsprechend einer LO-Frequenz von 10054,2 MHz) eingespeist. Der Hochpass-Port des Triplexers wird über ein 10 dB Dämpfungsglied mit dem Eingang eines RTL2832 SDR verbunden. Weiter wird eine Betriebsspannung von ca. 14 V angelegt. Ohne angelegtes Referenzsignal beträgt die Stromaufnahme ca. 60 mA. Dieser Wert steigt sprunghaft auf 90 mA, sobald ein gültiges Referenzsignal angelegt wird. Auf der 75 Ohm Seite des LNB wird ein Referenzpegel von ca. Vpp, entsprechend ca. 12 dBm, benötigt.

Mit einem ADF4351 Entwicklungsboard wird ein Signal, welches zwischen 3496 MHz und 3496,333 MHz springt, erzeugt. Die dritten Harmonischen dieser Signale dienen als Testsignale mit Frequenzen von 10,488 GHz und 10,489 GHz. Das Entwicklungsboard wird so eingestellt, dass das Signal alle 500 ms zwischen den beiden Frequenzen wechselt.

ZF-Ausgang in SDRSharp betrachtet

ZF-Ausgang in SDRSharp betrachtet

Das resultierende ZF-Spektrum wird in AirSpy SDR# Studio betrachtet. Die beiden Testsignale sind im Wechsel alle 500 ms klar zu erkennen. Der Abstand zwischen den beiden Testsignalen im Ausgangsspektrum bestätigt zudem, dass es sich tatsächlich um die erwarteten harmonischen handelt. Es soll angemerkt werden, dass die Ausgangsleistung des LNB trotz Verwendung der dritten Harmonischen eines Signales mit einer Leistung von -4 dBm sehr stark war. Das LNB musste von der Signalquelle weggerichtet werden und ein 10 dB Dämpfungsglied am Eingang des SDR war notwendig um diesen nicht zu übersteuern.

Aus Neugier wird noch versucht die 23. Harmonische eines 456 MHz Signales (=10,488 GHz) aus einem Handfunkgerät (Ausgangsleistung = 500 mW) zu empfangen. Gleichzeitig wurde die LO-Frequenz des LNB durch Einspeisung eines 25,641025 MHz Referenzsignales auf 10 GHz eingestellt. Tatsächlich lässt sich ein sehr deutliches Signal bei 488 MHz feststellen. Ein Verstellen der Sendefrequenz bestätigt durch den 23-fachen Frequenzversatz, dass es sich um die beabsichtigte Harmonische handeln muss.

23. harmonische eines 456 MHz Signals (Po=500 mW) bei Einspeisung eines 25,641025 MHz Referenzsignales

23. harmonische eines 456 MHz Signals (Po=500 mW) bei Einspeisung eines 25,641025 MHz Referenzsignales

Fazit

Dieser Artikel zeigt wie es leicht und kostengünstig möglich ist ein handelsübliches LNB für das 3 cm Amateurfunk- bzw. IEEE X-Band umzubauen.

This article shows that it is possible to successfully modify an inexpensive Goobay 67269 LNB to accept an external reference signal. Furthermore, the experiments shown demonstrate that the LNB is capable of down-converting K-band signals outside of the manufacturer’s specified frequency range.

Links und Quellen:
[1] Westerhold, S. and Matlinski, C., “Modification of a Goobay 67269 LNB for use in 10 GHz communication satellite reception”, Jul. 2023, doi: 10.5281/zenodo.8102235.

[2] Armin Duft. “Goobay 67269 LNB Modification”. In: (2019). url: https://dh1da.darc.de/projekte/Amateurfunk/QO-100_LNB/Goobay_67269_LNB_Mod-DH1DA.pdf (visited on 07/01/2023).

[3] Wentronic GmbH. Universal Single LNB | Wentronic. url: https://www.wentronic.com/de/universal-single-lnb-67269 (visited on 07/01/2023).

 

Arduino GIGA R1 WiFi | Audio Loopback Beispiel-Code

Diese Artikel zeigt ein einfaches Codebeispiel für den Arduino GIGA R1 WiFi für Audio DSP-Experimente. Der gezeigte Sketch nutzt die Advanced Analog-Bibliothek um ein Audio-Signal von einem ADC Eingang zu einem DAC-Ausgang durchzuschleifen.

General Overview

Der neue Arduino GIGA R1 WiFi bietet sich als flexible Plattform für Audio-DSP-Experimente förmlich an. Elektor hat mir freundlicherweise ein Rezessionsexemplar zur Verfügung gestellt [1]. Mit 12 16-Bit ADC-Kanälen, zwei 12-Bit DAC-Kanälen und Unmengen an Speicher bietet der Giga ausreichend Resourcen für Experimente in der interessanten Welt der digitalen Signalverarbeitung. Der offensichtliche Startpunkt ist ein sogenannter loopback / passthru Test. Hierbei wird ein am ADC angelegtes Audio-Signal direkt auf einen DAC-Kanal unverändert wieder ausgegeben. Da ich bei meiner Recherche keine Codebeispiele im Netz gefunden habe, habe ich mit Hilfe der Advanced Analog Bibliothek einen eigenen Beispielsketch geschrieben.

Arduino GIGA R1 WiFi wird auf seine Eignung als DSP-Plattform getestet.

Arduino GIGA R1 WiFi wird auf seine Eignung als DSP-Plattform getestet

Arduino Sketch

/*
 * Arduino Giga R1 WiFi - Audio Loopback Example
 *
 * Copyright (C) 2022 Westerhold, S. (AI5GW) 
 * ORCID: https://orcid.org/0000-0001-7965-3140
 * Web (EN): https://baltic-lab.com
 * Web (DE): https://baltic-labor.de
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 */

#include <Arduino_AdvancedAnalog.h>

// Initializierung von ADC 0 (Pin A0) and DAC 0 (Pin A12)
AdvancedADC ADC0(A0);
AdvancedDAC DAC0(A12);

void setup() {
  Serial.begin(9600);

  // ADC0 starten, im Fehlerfall Programm stoppen
  // Auflösung, Abtastrate, Anzahl der Samples pro Kanal, queue depth.
  if (!ADC0.begin(AN_RESOLUTION_12, 44100, 128, 128)) {
    Serial.println("ADC fail...");
    while (1);
  }

  // DAC0, starten, im Fehlerfall Programm stoppen
  // Resolution, sample rate, number of samples per channel, queue depth.
  if (!DAC0.begin(AN_RESOLUTION_12, 44100, 128, 128)) {
    Serial.println("Failed to initialize DAC 1");
    while (1);
  }
}

void loop() {

  if (ADC0.available()) {
    // Get handle for the input buffer
    SampleBuffer inBuf = ADC0.read();
    // Get handle for the output buffer
    SampleBuffer outBuf = DAC0.dequeue();

    for (int i = 0; i < inBuf.size(); i++) {
      // Copy contents of input buffer to the output buffer
      outBuf.data()[i] = inBuf[i];
    }

    // Write contents of the output buffer to the DAC
    DAC0.write(outBuf);

    // Release the input buffer 
    inBuf.release();
  }
}

Testergebnisse

After compiling the code and flashing the Arduino GIGA R1 WiFi, a signal generator was connected to the A0 input pin. The DAC0 output pin was monitored using an oscilloscope. The first test was performed by applying a 800 Hz sine wave signal with an amplitude of 1 Vpp and an offset-voltage of 500 mV. The offset voltage is necessary because the DACs of the Arduino Giga R1 WiFi are not capable of generating negative voltages.

Der Beispielcode wird kompiliert und auf den Arduino Giga R1 WiFi geschrieben. Ein Signalgenerator wird mit dem A0-Eingangspin verbunden. Der DAC0-Ausgang wird mit dem Oszilloskop beobachtet. Für einen ersten Test wird ein 800 Hz Sinussignal mit einer Amplitude von 1 Vpp und einer Offset-Spannung von 500 mV an den Audio-Eingang gelegt. Die Offset-Spannung ist notwendig, da die ADCs des Arduino Giga R1 WiFi nicht in der Lage sind negative Spannungen zu quantisieren. Daher ist die 3,5mm Klinkenbuchse meiner Meinung nach auch ziemlich sinnbefreit.

800 Hz Sinussignal am Eingang des ADC (unten), Ausgang vom DAC0 (oben)

800 Hz Sinussignal am Eingang des ADC (unten), Ausgang vom DAC0 (oben)

Etwas näher herangezoomt zeigen sich die einzelnen Quantisierungsstufen des DAC. Für hochqualitative Audioanwendungen sollte das Signal selbstverständlich gefiltert werden. Es soll angemerkt werden, dass hier die Standardkonfiguration des DAC verwendet wurde und keine Rücksicht auf mögliche Optimierungen der Parameter genommen wurde.

Nahaufnahme des 800 Hz Sinussignales aus dem vorherigen Experiment

Nahaufnahme des 800 Hz Sinussignales aus dem vorherigen Experiment

Als nächstes wird der Versuch mit einem 1 kHz Rechtecksignal wiederholt. Die Amplitude und Offset-Spannung bleiben unverändert.

Test mit einem 1 kHz Rechtecksignal. Eingangssignal (unten) und Ausgangssignal (oben). width=

Test mit einem 1 kHz Rechtecksignal. Eingangssignal (unten) und Ausgangssignal (oben)

Zuletzt wurde der Versuch mit einem symmetrischen Rampensignal bei einer Frequenz von 1 kHz, einer Amplitude von 1 1 Vpp und einer Offset-Spannung von 500 mV wiederholt. Auch hier folgt der Ausgang dem Eingangssignal wie erwartet.

Test mit 1 kHz Rampensignal. Eingang (unten), Ausgang (oben)

Test mit 1 kHz Rampensignal. Eingang (unten), Ausgang (oben)

Fazit

Der gezeigte Sketch bietet einen guten Startpunkt für eigene Audio DSP-Experimente mit dem neuen Arduino Giga R1 WiFi. Anstatt den Eingangspuffer einfach in den Ausgangspuffer zu kopieren, ist es sehr leicht hier eigene DSP-Funktionen einzubauen, beispielsweise Filter oder Mischer. In einem weiteren Versuch soll die Implementierung eines ± 45 ° FIR-Filters als Hilbert-Transformator für die DSP-gestützte SSB-Modulation getestet werden.

Links und Quellen:

[1] Arduino Giga R1 WiFi, Elektorstore: https://www.elektor.com/arduino-giga-r1-wifi

 

Stereo-Multiplexsignal mit einem Funktionsgenerator und Python erzeugen

Mit einem modernen Funktionsgenerator lassen sich sehr leicht auch komplexere Wellenformen abbilden. Für ein Projekt wurde ein Stereo-Multiplexsignal (MPX) benötigt. Das benötigte Stereo-Multiplex-Signal sollte zwei unterschiedliche Töne für den rechten und linken Kanal, sowie einen 19 kHz Stereo-Pilotton enthalten. Das Ganze wurde mit etwas Mathematik, einem Python-Skript und einem Siglent SDG1032X Funktionsgenerator umgesetzt.

Überblick

Die Art und Weise, wie ein FM-Stereo-Signal kodiert wird ist simpel und ausgeklügelt zugleich. Zunächst wird aus den rechten und linken Audiosignal ein Summensignal gebildet. Das Summensignal stellt eine Rückwärtskompabilität mit älteren Mono-Empfängern sicher. Weiter wird ein Differenzsignal aus den beiden Audio-Signalen gebildet. Dieses Differenzsignal wird verwendet um ein Doppelseitenband-Signal um eine Mittenfrequenz von 38 kHz zu erzeugen. Zuletzt wird ein zu dem 38 kHz phasenkohärenter 19 kHz Pilotton mit einer relativen Amplitude von 10 % zu den beiden vorhergenannten Signalen hinzugefügt. Diese drei Signale werden zusammen verwendet um einen FM-Sender zu modulieren. Für eine ausführlichere Erklärung verweise ich auf mein YouTube-Video zur Stereo-FM Theorie [1](EN).

Für das Testsignal sollte das MPX-Signal einen 700 Hz Ton im linken Audiokanal und einen 2200 Ton im rechten Audiokanal enthalten. Als Funktionsgenerator wurde ein Siglent 1032X verwendet. Auf Softwareseite wurde Python mit PyVISA und NI-VISA verwendet. Letztere bieten eine einfache Methode um mit modernen Laborgeräten zu kommunizieren.

Stereo-Multiplexsignal mit SDG1032X and Python erzeugen

Stereo-Multiplexsignal mit SDG1032X and Python erzeugen

Mathematische Beschreibung der Wellenform

The first step was to figure out how to generate the necessary datapoints for the MPX signal. In order to achieve this, equations describing all components of the final signal in a mathematical form needed to be formulated. For the sum signal, the DSB modulated difference signal and the 19 kHz pilot tone, the equations are as follows:

Als ersten Schritt galt es die Datenpunkte für die gewünschte Stereo-Multiplex-Wellenform zu erzeugen. Dazu wurden zunächst die Gleichungen für das Summensignal, das Doppelseitenbandsignal mit dem Differenzssignal und den 19 kHz Pilotton aufgestellt:

Gleichung für das Summensignal (L+R) signal:
Sum = sin(700 \omega t)+sin(2200 \omega t)

Gleichung für das Differenzsignal (L-R), doppeltes Seitenband mit 38 kHz Träger:
Diff= sin(38000 \omega t) \cdot (sin(700 \omega t)-sin(2200 \omega t))

Gleichung für den 19 kHz Pilotton:
Pilot = 0.1 \cdot sin(19000 \omega t)

Bei ω ahndelt es sich in diesem Fall um einen Normalisierungsfaktor um Frequenzen von Zyklen pro Sekunde in Radian pro Abtastwert zu übersetzen. Die Zeit zwischen den Abtastwerten wird durch den Buchstaben t repräsentiert. In der Python- / SDG-Kombination beträgt der Normalisierungsfaktor π geteilt durch die doppelte Abtastrate des SDG1032X. Da die drei generierten Signale einfach addiert werden, kann folgende Gesamtgleichung aufgestellt werden:

sin(700 \omega t)+sin(2200 \omega t) + sin(38000 \omega t) \cdot (sin(700 \omega t)-sin(2200 \omega t)) + 0.1 \cdot sin(19000 \omega t)

Die Gesamtgleichung erzeugt einen Maximalwert von 2,1 und einen Minimalwert von -2,1. Daher muss die Gleichung mit dem Faktor 0,47 multipliziert werden um einen Maximalwert von 1 bzw. einen Minimalwert von -1 zu erhalten.

Python Implementierung

Der vollständige Python-Code, zusammen mit anderen Python / PyVISA Beispiel-Skripten, kann über mein SIGLENT GitHub Repository [2] abgerufen werden.

Das Python-Skript muss 16384 Datenpunkte für die oben mathematisch beschriebene Wellenform generieren. Das folgende Python-Skript ist zwar nicht das hübscheste, es erledigt jedoch genau diese Aufgabe:

# Leeres Array mit 16384 Punkten erstellen
WAVE = np.arange(0, 0xfffe, 1);

# Sample Rate in S/s
SAMPLE_RATE = 1638400

# Normalisierungsfaktor berechnen
F_FACTOR = (np.pi/(2*SAMPLE_RATE))

# Array mit Daten füllen
for n in range(len(WAVE)):

  # Amplitude (MAX 32767 on SDG1032X)
  Amplitude = 32767
  WAVE[n] = 0.47*Amplitude*(np.sin(700*F_FACTOR*n)+np.sin(2200*F_FACTOR*n)+0.1*np.sin(19000*F_FACTOR*n)+np.sin(38000*F_FACTOR*n)*(np.sin(700*F_FACTOR*n)-np.sin(2200*F_FACTOR*n)))

Die so generierten Datenpunkte der Wellenform werden dann mit Hilfe des PyVISA-Packages und den notwendigen SCPI-Kommandos an den Funktionsgenerator gesendet. Dafür muss das PyVISA-Package und die NI-VISA API natürlich auf dem verwendeten PC installiert sein und es muss eine Verbindung zwischen dem PC und dem Funktionsgenerator bestehen.

# Write Waveform to Device
# Note: byte order = little-endian!
device.write_binary_values('C1:WVDT WVNM,STEREO_MPX,FREQ,100.0,TYPE,8,AMPL,1.0,OFST,0.0,PHASE,0.0,WAVEDATA,', WAVE, datatype='i', is_big_endian=False)

Das war’s! Das vollständige Python-Skript kann ebenfalls aus meinem GitHub-Repository heruntergeladen werden [2].

Ergebnis

Nachdem das Python-Skript ausgeführt wurde, fing der Funktionsgenerator an das beabsichtigte Stereo-Multiplex-Signal zu erzeugen. Da hier nur 2 statische Audio-Töne für die beiden Audiokanäle erzeugt werden, können die Spektralanteile und die relativen Amplituden aller Signalbestandteile sehr gut im Spektrum beobachtet werden:

Spektrumdarstellung des Stereo-MPX-Signales

Spektrumdarstellung des Stereo-MPX-Signales

Der Vollständigkeit halber, hier das generierte Signal in der Zeitdomäne:

Generiertes Stereo-Multiplex-Signal in der Zeitdomäne

Generiertes Stereo-Multiplex-Signal in der Zeitdomäne

Zusammenfassung

Im Kern kann gesagt werden, dass es sehr einfach ist mit Python Wellenformdaten für moderne Funktionsgeneratoren zu erzeugen. Solange eine mathematische Gleichung für die Wellenform aufgestellt werden kann, gibt es kaum Limits. Beim SDG1032X ist die größte Limitierung der relative kleine Samplespeicher mit nur 16384 Punkten. Nichtsdestotrotz, das hier zur Verfügung gestellte Python-Framework bietet eine gute Grundlage für das Erzeugen von komplexeren Wellenformen. Dazu muss lediglich die Zeile mit der mathematischen Beschreibung der Wellenform („WAVE[n] =“) angepasst werden. Mein GitHub-Repository enthält dazu weitere Beispiele.

Links und Quellen:

[1] BalticLab (2016): Stereo Multiplexing for FM Transmission | Theory

[2] AI5GW (2022): Python code examples for SIGLENT equipment

 

SITOR-B / NAVTEX Testsignal mit Arduino und Funktionsgenerator erzeugen

Dieser Artikel zeigt wie man gültige NAVTEX Testsignale mit einem Arduino und einem Funktionsgenerator generieren kann. Der Arduino übernimmt die Zeichenkodierung nach CCIR476, die Implementierung der SITOR-B Protokolls inklusive Vorwärtsfehlerkorrektur und das Erzeugen von Synchronisations- und Steuerzeichen. Ein einfacher Funktionsgenerator dient als FSK-Modulator auf 518 kHz +- 85 Hz, wo das generierte Signal von einem NAVTEX-Empfänger empfangen werden kann.

Einleitung

Eigentlich war meine Absicht einen Artikel zur Reparatur eines „NAV4 Navtex“ Empfängers vom Hersteller ICS Electronics posten. Das Gerät lag längere Zeit defekt in in meinen Bastelkisten herum. Die Reparatur gestaltete sich jedoch ziemlich langweilig. Nach einem Abgleich des Eingangsfilters funktionierte das Gerät auf Anhieb sofort wieder. Bei der Reparatur zeigte sich allerdings ein anderes Problem: NAVTEX Sender senden nach einem festen Zeitplan. Daher musste ich bis zu 4 Stunden auf die nächste Aussendung vom Deutschen Wetterdienst (DWD) warten. Diese Wartezeit hat sich nicht mit meiner Ungeduld vertragen. So entstand dieses Projekt zur Generierung eigener NAVTEX Testsignale.

NAV4 Navtex Empfänger von ICS Electronics

NAV4 Navtex Empfänger von ICS Electronics

NAVTEX (NAVigational TEleX) ist ein internationaler Dienst zur Verbreitung nautischer und meteorologischer Warnnachrichten. Verschiedene Stationen, unter Anderem der DWD, senden auf 490 kHz und 518 kHz regelmäßig wichtige Informationen für die Schifffahrt aus. Obwohl NAVTEX ein sehr alter Standard ist, gehören NAVTEX Empfänger immer noch zur Ausrüstungspflicht für bestimmte Schiffe unter dem SOLAS-Abkommen (SOLAS = Safety of Life at Sea). NAVTEX Sender senden CCIR476 kodierte Zeichen mit einer Symbolrate von 100 Baud. Da NAVTEX auf dem SITOR (SImplex Teletype Over Radio) B Protokoll aufbaut, ist dank Vorwärtsfehlerkorrektur (kurz FEC, von englisch Forward Error Correction) eine gewisse Robustheit auch bei schwierigen Funkbedingungen gegeben.

CCIR476 Zeichenkodierung

CCIR476 ist eine 7-Bit Zeichenkodierung, die in diversen Funkprotokollen verwendet wird. SITOR, AMTOR und das auf SITOR-B aufgesetzte NAVTEX verwenden ie CCIR476 Zeichenkodierung. Da in einem gültigen Zeichen exakt 4 von den insgesamt 7 Bits ‚1‘ sind, ist eine einfache Fehlererkennung möglich. Da beim SITOR-B / NAVTEX Protokoll jedes Zeichen zweifach gesendet wird, ist damit auch eine Fehlerkorrektur möglich. Dazu aber später mehr. Da es sich bei AMTOR oder konkreter AMTOR-B (auch AMTOR-FEC genannt) um die Amateurfunkvariante von SITOR-B handelt, bin ich davon ausgegangen, dass es für die notwendige CCIR476 Zeichenkodierung sicher eine Arduino-Bibliothek gibt. Doch diese Annahme stellte sich schnell als falsch heraus. Die gute Nachricht für Alle, die auch Verwendung für eine CCIR476-Bibliothek haben: Meine CCIR476 Bibliothek für Arduino [1] ist jetzt entweder direkt über den Bibliotheksmanager in der Arduino-IDE oder auf GitHub [2] verfügbar.

CCIR476 Bibliothek in der Bibliotheksverwaltung der Arduino-IDE

CCIR476 Bibliothek in der Bibliotheksverwaltung der Arduino-IDE

CCIR476 verwendet – genau wie der bei RTTY verwendete Baudot-Code – zwei verschiedene Zeichentabellen; Eine Tabelle für Buchstaben und eine zweite Tabelle für Ziffern/Zeichen. Die Umschaltung zwischen den beiden Tabellen erfolgt durch Steuerzeichen. Die von mir geschriebene Bibliothek sucht in beiden Tabellen nach dem gewünschten ASCII-Zeichen und übersetzt dieses in das korrespondierende CCIR476 Zeichen. Dabei erkennt die Software, ob es sich dabei um Buchstaben oder Ziffern/Zeichen handelt. Sollte ein Wechsel zwischen den beiden Tabellen notwendig werden, werden die entsprechenden Steuerzeichen in den Bitstrom eingefügt.

SITOR-B und NAVTEX Protokoll

Die Internationale Fernmeldeunion, ITU, ist eine gute Anlaufstelle auf der Suche nach Spezifikationen für ältere Funkprotokolle. Auf der Website der ITU wurde die ITU Empfehlung M.476-5 mit dem Titel „Direct-printing telegraph equipment in the maritime mobile service“ gefunden [3]. In diesem Dokument werden sämtliche Details von SITOR-A und SITOR-B beschrieben.

Die Kurzfassung: Eine Übertragung wird durch die abwechselnde Aussendung von 2 Steuerzeichen, Phasing Signal 1 und Phasing Signal 2, eingeleitet. Jedes Zeichen wird insgesamt 2-mal ausgesendet. Zwischen der Erstaussendung eines Zeichens und der Wiederholung liegen genau 4 anderen Zeichen. Die Aussendung wird durch 3-malige Aussendung des „Phasing Signal 1“- Steuerzeichens beendet.

Das Dokument der ITU beschreibt die Vorwärtsfehlerkorrektur wie folgt:

The station sending in the collective or in the selective B-mode (CBSS or SBSS) emits each character twice: the first transmission (DX) of a specific character is followed by the transmission of four other characters, after which the retransmission (RX) of the first character takes place, allowing for timediversity reception at 280 ms time space;

Übersetzt in Code für den Arduino sieht die Vorwärtsfehlerkorrektur mit Zeichenwiederholung nach 4 anderen Zeichen wie folgt aus:

void SITOR_Transmit_FEC(byte SYM)
{      
     Transmit_SYMBOL(SYMBOL_BUFFER_1);
     SYMBOL_BUFFER_1 = SYMBOL_BUFFER_2;
     SYMBOL_BUFFER_2 = SYMBOL_BUFFER_3;
     SYMBOL_BUFFER_3 = SYM;  
     Transmit_SYMBOL(SYMBOL_BUFFER_3);  
}

NAVTEX verlangt darüber hinaus, dass jede NAVTEX-Nachricht mit den Zeichen „ZCZC“ eingeleitet und mit den Zeichen „NNNN“ beendet wird. Nach dem einleitenden „ZCZC“ wird zudem eine Meldungskennung, bestehend aus Senderkennung, Meldungsart und einer laufenden, 2-stelligen Nummer, ausgesendet. Mein Beispielcode verwendet die Meldungskennung „SA00“. Dabei steht das „S“ für den DWD-Sender in Pinneberg, „A“ für eine Navigationswarnung und die Seriennummer „00“ hat einen Sonderstatus als besonders dringliche Meldung.

Testaufbau und Ergebnisse

Der Beispielcode wurde kompilliert und auf einen Arduino Uno gebrannt. Sobald man eine Betriebsspannung an den Arduino anlegt, generiert dieser eine CCIR476 kodierte, dem SITOR-B und NAVTEX Protokoll entsprechende Testnachricht. Diese Testnachricht steht mit der korrekten Bitrate von 100 Baud am Pin 2 des Arduino’s als digitaler Bitstrom zur Verfügung.

NAVTEX Bitstrom am Pin 2 des Arduino Uno

NAVTEX Bitstrom am Pin 2 des Arduino Uno

Dieser Bitstrom wurde dann über die „Aux In/Out“-Buchse einem Siglent 1032X Funktionsgenerator zugeführt. Der Funktionsgenerator wurde auf eine Frequenz von 517,915 kHz eingestellt. Die eingebaute Funktion zur FSK-Modulation wurde aktiviert, die Modulationsquelle auf „Extern“ gesetzt und die FSK Sprungfrequenz auf 518,085 kHz eingestellt.

Ein Siglent 1032X wurde als FSK-Modulator für das generierte SITOR-B / NAVTEX Testsignal verwende

Ein Siglent 1032X wurde als FSK-Modulator für das generierte SITOR-B / NAVTEX Testsignal verwendet

Das Testsignal aus dem Funktionsgenerator wurde direkt in den Antenneneingang vom NAVTEX Empfänger geführt. Der Arduino wurde neu gestartet und kurze Zeit später begann die „SBY“ LED am NAVTEX Empfänger zu blinken. Kurze Zeit darauf begann der Thermodrucker damit die übermittelte Testnachricht fehlerfrei auszudrucken.

Erfolgreicger Empfang des NAVTEX Testsignales auf einem NAVTEX Empfänger

Empfang des NAVTEX Testsignales auf einem NAVTEX Empfänger

Bonusmaterial

Wenngleich eine Funktion zur FSK-Modulation auf den meisten, modernen Funktionsgeneratoren ziemlicher Standard ist, habe ich ebenso erfolgreich einen Si5351A-Taktgenerator verwendet um das NAVTEX Testsignal FSK-moduliert um 518 kHz zu generieren. Der entsprechende Sketch hierfür findet sich ebenso im Beispielordner der CCIR476 Bibliothek oder direkt hier.

Folgendes, kurzes Video zeigt den Testaufbau in Aktion:

Zusammenfassung

Dieses Projekt zeigt, dass es manchmal sehr lehrreich sein kann mehrere Tage Arbeit zu investieren um wenige Stunden Wartezeit zu umgehen. Hätte ich einfach nur die 4 Stunden auf die nächste Aussendung vom DWD gewartet, hätte ich niemals so viel über CCIR476, SITOR-B oder NAVTEX gelernt. Ebenso wenig hätte ich gelernt wie man eigene Bibliotheken schreibt und wie diese in die Bibliotheksverwaltung der Arduino-IDE aufgenommen werden. Manchmal kann Ungeduld zusammen mit etwas Kreativität interessante Wege eröffnen.

Links and Sources:

[1] CCIR476 Arduino library, GitHub: https://github.com/AI5GW/CCIR476

[2] CCIR476 Arduino library, arduino.cc: https://www.arduino.cc/

[3] ITU recommendation M.476-5, ITU: https://www.itu.int/

 

Experimente mit einem UKW LDMOS Leistungsverstärker

Der LDMOS MRF101 von NXP verspricht knapp über 100 Watt Ausgangsleistung und 20 dB Verstärkung von 1,8 MHz bis 250 MHz. Aufgrund der enormen Robustheit gegenüber Fehlanpassungen (VSWR > 65:1) und seines relativ günstigen Preises ist der MRF101 sehr interessant für die Amateurfunkwelt. Dieser Artikel zeigt erste Versuche im 2m Amateurfunkband.

Prototyp des UKW LDMOS Leistungsverstärkers

Prototyp des UKW LDMOS Leistungsverstärkers

Überblick

Für meine Versuche verwende ich einen einzelnen MRF101AN (keine push-pull Konfiguration). Trotz der Eignung für das 6m (50 MHz), 4m (70 MHz), 2m (145 MHz) und 1,25m (222 MHZ) Amateurfunkband sowie dem UKW Rundfunkband, scheint es im Internet kaum Designs mit dem MRF101 für diese Bänder zu geben. Die meisten Selbstbauten beschränken sich auf KW + 6m. Meine Vermutung ist, dass die Anpassung der Eingangs- und Ausgangsimpedanz mit Breitbandübertragern auf niedrigeren Frequenzen wesentlich leichter ist und Bastler von höheren Frequenzen fernhält. Für meine Versuche habe ich das 2m-Band für meinen Prototypen gewählt.

Meine Vorgaben für meinen Prototypen habe ich wie folgt gewählt: Eingangs-VSWR kleiner 2:1 im Bereich 144-148 MHz, 100 mA Ruhestrom gemäß Datenblatt. Die Vorspannung zur Ruhestromeinstellung des MRF101AN wurde über einen Widerstand ans Gate gebracht. Dieser Widerstand ist wechselstromseitig über einen Kondensator auf Masse gelegt und ist Teil der Eingangsimpedanzanpassung. Dazu aber später mehr.

Anpassung der Eingangs- / Ausgangsimpedanz

Die erste wirkliche Herausforderung bei der Entwicklung meines Prototyps war die Eingangsimpedanzanpassung. Laut Datenblatt ist die Eingangsimpedanz des MRF101AN bei 145 MHz mit 6.2 – j10.2 angegeben [1]. Eine stark kapazitive Reaktanz ist bei einer Eingangskapazität von 149 pF wenig verwunderlich. Die zu erwartende Ausgangsimpedanz beträgt 9.9 – j5.9. Aufgrund der stark reaktiven Anteile der komplexen Impedanz wären Versuche mit Breitbandübertragern mit ziemlicher Wahrscheinlichkeit zum Scheitern verurteilt.

Daher habe ich mich zur Eingangsimpedanzanpassung für ein einfaches L-Netzwerk entschieden. Zur Impedanzanpassung mit einem L-Netzwerk habe ich bereits einen Artikel geschrieben [2]. Im Artikel ist die Funktionsweise und die Berechnung eines solchen Netzwerkes ausführlich beschrieben. Es sollte angemerkt werden, dass man aus Gründen der Stabilität niemals versucht die Gate-Impedanz eines Leistungs-MOSFETs direkt an 50 Ohm anzupassen. Die übliche Praxis ist es, einen relativ niederohmigen Widerstand zwischen Gate und Source zu platzieren und die resultierende Gesamtimpedanz dann an die Systemimpedanz von 50 Ohm anzupassen. Der Ausgang eines Leistungs-MOSFET kann hingegen direkt an 50 Ohm angepasst werden.

Da ich selbst zu unmotiviert war mögliche Werte per Hand zu berechnen, habe ich die kostenlose Software SimSmith von AE6TY verwendet [3]. SimSmith erlaubt es per drag and drop verschiedene Komponenten in der Schaltung zu platzieren und ihr Verhalten über einen breiten Frequenzbereich zu simulieren. Um richtig Spaß an der Software zu haben sollte man natürlich ein Smith-Diagramm einigermaßen lesen können. Eine SWR-Anzeige ist allerdings auch verfügbar.

SimSmith Simulation der Eingangsimpedanzanpassung des MRF101AN mittels L-Netzwerk

SimSmith Simulation der Eingangsimpedanzanpassung des MRF101AN mittels L-Netzwerk

Das die simulierte Eingangsanpassung wollte allerdings in der Realität nicht so richtig funktionieren. Dies ist allerdings auch wenig verwunderlich; Mein fliegender, Manhattan-style Aufbau der Schaltung ist alles andere als optimal für eine solche Schaltung. Aufgrund der parasitären Induktivitäten, die ein solcher Aufbau mit sich bringt, musste ich die Induktivitäten der Eingangs- und Ausgangsanpassung deutlich verringern. Wie man später sehen kann habe ich es mit der Reduzierung der Induktivität etwas übertrieben. Das ist für die Experimente zur Machbarkeit aber erstmal egal.

Folgende Schaltung habe ich für die weiteren Versuche verwendet:

Schaltplan des MRF101AN Leistungsverstärkers für das 2m-Amateurfunkband

Schaltplan des MRF101AN Leistungsverstärkers für das 2m-Amateurfunkband

Die Schaltung kann hier auch als PDF heruntergeladen werden: MRF101_AN_VHF_Amplifier_Schematic.pdf

Testergebnisse


Für diese Tests habe ich mir nicht besonders viel Mühe gegeben. Lediglich genug um die Machbarkeit der von mir beabsichtigten Topologie zu überprüfen. Eine Optimierung der Schaltung kann dann später mit einem vernünftigen Platinenlayout erfolgen. Alle Tests wurden mit einer Versorgungsspannung von 50 Volt und einem eingestellten Ruhestrom am MRF101AN von 100 mA durchgeführt. Der Ausgang der Leistungsendstufe wurde mit einer 50 Ohm Ersatzlast (Dummyload) terminiert. Ein Teil der Leistung wurde über einen 1:100 Tastkopf an mein Siglent SDS1202X-E Oszilloskop geschickt. Ein großer Kühlkörper stellte sicher, dass der MRF101AN sich jederzeit in seinem zulässigen Betriebstemperaturbereich befand.

Nach Anlegen der Betriebsspannung hat der Leistungsverstärker sofort beschlossen selbstständig zwischen 160 und 170 MHz oszillieren zu wollen. Das war zu erwarten und konnte ihm mit etwas Abschirmung zwischen der Gate- und Drain-Seite der Platine sofort wieder ausgetrieben werden.

Als erstes wurde die Eingangsimpedanz mit einem Nano VNA überprüft. Zwar ist der Verlauf des VSWR akzeptabel und innerhalb des Ziels von kleiner 2:1, jedoch lässt sich das Ganze sicher noch deutlich optimieren.

VSWR am Eingang des LDMOS Leistungsverstärker. Gemessen mit einem Nano VNMA

VSWR am Eingang des LDMOS Leistungsverstärker. Gemessen mit einem Nano VNMA

Ein Blick auf die komplexe Impedanz im Smith-Diagramm ergibt eine deutlich aussagekräftigeres Bild vom Verlauf der Eingangsimpedanz:

Komplexe Eingangsimpedanz des MRF101AN LDMOS Leistungsverstärker

Komplexe Eingangsimpedanz des MRF101AN LDMOS Leistungsverstärker

Ein Bisschen mehr Admittanz von C2 und etwas mehr Reaktanz von L1, dann sollte die Eingangsanpassung ganz gut aussehen. Da sich die parasitären Reaktanzen bei einem zukünftigen Platinenlayout ohnehin ändern, wurde der geringen Fehlanpassung erstmal keine weitere Beachtung geschenkt. Auf jeden Fall war es gut genug um um ein Handfunkgerät ohne Risiko mit der LDMOS Endstufe verbinden zu können.

Test des UKW (144-148 MHz) LDMOS Leistungsverstärker

Test des UKW (144-148 MHz) LDMOS Leistungsverstärker

Bei rund einem Watt Eingangsleistung auf 145,225 MHz brachte die Endstufe – vermeintlich – tatsächlich knapp 100 Watt HF Ausgangsleistung:

Ausgangssignal des Prototyps

Ausgangssignal des Prototyps

Die Messergebnisse sind allerdings mit äußerster Vorsicht zu genießen! 70.5 Vrms an 50 Ohm entspricht natürlich ganz knapp 100 Watt Leistung. Der Spruch „Wer misst, misst Mist!“ gilt allerdings auch für moderne Oszilloskope. Zunächst fällt auf, dass das gemessene Signal ziemlich Sinusförmig aussieht. Das ist mit ziemlicher Wahrscheinlichkeit eine Illusion. Das Oszilloskop hat eine maximale Bandbreite von 200 MHz und ist daher nicht in der Lage die höherfrequenten Fourierkomponenten des vermutlich oberwellenreichen Signals korrekt darzustellen. Zwar hat das L-Netzwerk am Ausgang eine Tiefpasscharakteristik, allerdings keine besonders hohe.

Zusätzlich wurde eine Stromaufnahme von nur rund 2,3 A bei 50 V Betriebsspannung beobachtet. Das entspricht 115 Watt DC-Eingangsleistung. Würde die Ausgangsleistung tatsächlich 100 Watt betragen, entspräche dies einem Wirkungsgrad von ca. 87 %. Der Kühlkörper der Ersatzlast wird in jedem Fall relativ schnell ziemlich warm. Sobald ich ein UKW-taugliches Leistungsmessgerät in die Finger bekomme werde ich dem noch einmal genauer nachgehen. Für die Machbarkeitsanalyse ist aber auch das erstmal egal.

Zusammenfassung

Die Experimente mit dem MRF101AN stimmen mich optimistisch genug um ein passendes Platinenlayout zu entwickeln. Dazu warte ich eigentlich nur auf eine Rückmeldung der Würth Elektronik Unternehmensgruppe ob diese mir die zu den hübschen, Würth-roten WCAP-ATG8 Kondensatoren auch die passenden Spulen zur Verfügung stellen. Zusätzlich sammle ich aktuell Rückmeldungen von meinen Abonnenten ob die Platine zeitgemäß mit SMD-Bauteilen, oder klassisch mit bedrahteten Komponenten geplant werden soll.

Das finale Platinenlayout soll auf jeden Fall – je nach Bestückung – für 6m (50 MHz), 4m (70 MHz), das UKW Rundfunkband, 2m (145 MHz) und eventuell 1,25m (222 MHZ) einsetzbar sein. Meine Tendenz geht aktuell dahin, die Vorspannungsregelung und die Temperatur- / Stromüberwachung auf eine gesonderte Platine auszulagern. Das hätte dann den Vorteil, dass man die Zusatzplatine ziemlich universell auch für andere LDMOS / Leistungs-MOSFETs einsetzen könnte. Beispielsweise für den großen Bruder des MRF101AN, den MRF300AN (300 Watt, 1,8 – 250 MHz).

Links and Sources:

[1] MRF101AN / MRF101BN Datasheet, NXP: https://www.nxp.com/

[2] L-Network impedance matching https://baltic-labor.de

[3] SimSMith, Ward Harriman, AE6TY http://www.ae6ty.com/

 

Wilkinson Leistungsteiler mit Diskreten Bauteilen

Wilkinson Leistungsteiler sind in der Hochfrequenztechnik sehr beliebt. Mit ihnen kann man ein Signal auf mehrere Lasten oder mehrere Signalquellen auf eine Last verteilen. Sie zeichnen sich durch eine hohe Isolation aus und sind im Vergleich zu widerstandsbasierten Alternativen äußerst verlustarm. Dieser Artikel zeigt anhand eines Beispiels wie man einen solchen Wilkinson-Teiler mit diskreten Bauteilen aufbauen kann.

Für dieses Beispiel seien folgende Designparameter gegeben: Ein Wilkinson-Teiler soll ein Signal bei 28 MHz auf zwei verschiedene Lasten verteilen. Die Systemimpedanz beträgt 50 Ohm. Zunächst ein kurzer Blick auf das grundsätzliche Design eines Wilkinson-Teilers basierend auf einem λ/4-Leitungstransformator:

Klassischer Wilkinson-Teiler mit λ/4-Leitungstransformator

Klassischer Wilkinson-Teiler mit λ/4-Leitungstransformator

Der Aufbau ist sehr simpel: Die hohe Isolation zwischen Port 1 und 2 kommt dadurch zustande, dass ein periodisches Signal durch den Widerstand R seinen historischen, um 180° phasenverschobenen Spiegel begegnet. Das liegt daran, dass die Laufzeit durch zwei mal λ/4 lange Leiter einen Phasenunterschied von 180° zum Ursprungssignal aufweist. Der Widerstand ist so zu dimensionieren, dass er doppelt so hoch ist, wie die Systemimpedanz. Bei 50 Ohm Systemen also 100 Ohm.

R = 2Z _0

2Z _0 = 100&

Die Impedanz des λ/4 Leiters ist mit der Wurzel aus 2 multipliziert mit der Systemimpedanz zu bemessen. Für 50 Ohm Systeme entspricht dies einer Impedanz von 70.7 Ohm.

Z = \sqrt{2} * Z _0

\sqrt{2} * 50 = 70,7

Jetzt benötigt man nur noch zwei Leiter mit der exakten, elektrischen Länge einer viertel Wellenlänge (λ/4) bezogen auf die Betriebsfrequenz. Dabei ist der Verkürzungsfaktor für das verwendete Material zu berücksichtigen. Kennt man die Dielektrizitätskonstante des verwendeten Materials, ist die Berechnung sehr leicht. Hierzu gibt selbstverständlich auch kostenlose Software, beispielsweise AppCAD [1]. Für Rogers 4003 material, sieht die Simulation beispielsweise wie folgt aus:

Microstrip line calculation in AppCAD

Microstrip line calculation in AppCAD

Ein Leiter mit der Länge λ/4 bei 28 MHz auf Rogers 4003 Material müsste also rund 1,65 Meter lang sein! Auch wenn die Kosten für Leiterplatten heutzutage sehr gering sind, ist so ein Design natürlich nicht sonderlich platzsparend. Wäre es nicht schön, wenn es eine Ersatzschaltung gebe, die in Punkto Impedanz und Phasenlaufzeit die gleichen Eigenschaften besitzt, wie ein λ/4-Transformator? Ein Pi-Filter aus diskreten Bauteilen ist hierfür genau der richtige Kandidat. Pi-Filter können so bemessen werden, dass sie sich elektrisch exakt wie λ/4-Transformatoren verhalten.

Tauscht man im oben gezeigter Grundschaltung die λ/4-Transformatoren durch je einen Pi-Filter, erhält man folgendes Schaltbild:

Wilkinson Teiler mit diskreten Bauelementen

Wilkinson Teiler mit diskreten Bauelementen

R ist weiterhin mit der zweifachen Systemimpedanz zu bemessen. In diesem Fall also weiterhin 100 Ohm. Die Reaktanz von C und L sind gleich der Impedanz, die ein Leiter mit der Länge λ/4 laut der oben angegebenen Formel haben müsste. In 50 Ohm Systemen also 70,7 Ohm. Mit dieser Information lassen sich die benötigten Induktivitäten und Kapazitäten berechnen:

L = \frac{\sqrt{2} * Z _0}{2 \pi f}

L = \frac{\sqrt{2} * 50}{2 \pi 28 * 10^6} = 401,92 nH

Das ist nah genug an 400 nH, dass ich es dahingehend abrunde. Vor Allem auch aus dem Grund, dass ich zufällig gerade keine 401,92 nH Spulen auf Lager habe. 400 nH wird da deutlich einfacher zu finden sein. Als nächstes werden nun die zu den 400 nH Spulen passenden Kondensatoren berechnet.

C = \frac{(\frac{1}{2 \pi f})^2}{L}

C = \frac{(\frac{1}{2 \pi 28 * 10^6})^2}{400*10^-9} = 80,77 pF

Das Ergebnis wird ebenfalls auf 80 pF abgerundet. Alle mit „C“ bezeichneten Kondensatoren müssen also mit 80 pF bemessen sein. Der mit „2C“ bezeichnete Kondensator Summen-Port (S) hat die doppelte Kapazität, in diesem Fall also 160 pF. Es spricht natürlich überhaupt nichts dagegen tatsächlich zwei 80 pF Kondensatoren am S-Port zu verwenden. Das fertige Design sieht entsprechend wie folgt aus:

Wilkinson-Teiler für eine Betriebsfrequenz von 28 MHz

Wilkinson-Teiler für eine Betriebsfrequenz von 28 MHz

So leicht lässt sich ein Wilkinson-Teiler berechnen. In der Praxis hilft es oft errechnete Bauteilewerte eher ab- anstatt aufzurunden. Das liegt daran, dass parasitäre Kapazitäten und Induktivitäten die Betriebsfrequenz tendenziell eher nach unten verschieben. Durch abrunden der Bauteile lässt sich dieser Effekt zumindest etwas eindämmen.

Fertig aufgebauter Wilkinson-Teiler für eine Betriebsfrequenz von 28 MHz

Fertig aufgebauter Wilkinson-Teiler für eine Betriebsfrequenz von 28 MHz

Links and Sources:

[1] AppCAD: https://www.broadcom.com/appcad

 

Impedanzanpassung mit dem L-Netzwerk

Impedanzanpassung ist eine allgegenwärtiges Herausforderung für Hochfrequenzschaltungen. Das L-Netzwerk ist eine einfache, verlustarme Methode um unterschiedliche Impedanzen aneinander anzupassen. Dieser Artikel soll zeigen wie man ein passendes L-Netzwerk für komplexe Impedanzen berechnet.

Die niedrige Ausgangsimpedanz eines Leistungs-MOSFET an eine höhere Systemimpedanz, beispielsweise 50 oder 75 Ohm, anzupassen ist ein typisches Problem in der Entwicklung von Hochfrequenzschaltungen. Für diesen Artikel passen wir den 75 Ohm Ausgangswiderstand eines Funktionsgenerators an eine 1000 Ω Lastimpedanz bei einer Frequenz von 16 MHz an.

Um die Funktionsweise eines L-Netzwerkes zu erklären, präsentiere ich erst das fertige Netzwerk, erkläre die Funktionsweise und erst danach erkläre ich die Berechnung der einzelnen Komponenten.

L-Netzwerk zur Anpassung von 75 Ohm Quellwiderstand an einen 1000 Ohm Lastwiderstand

L-Netzwerk zur Anpassung von 75 Ohm Quellwiderstand an einen 1000 Ohm Lastwiderstand

RS = Quellwiderstand (75 Ohm)
RL = Lastwiderstand (1000 Ohm)
Ls = Serien-Induktivität (j263)
Cp = Parallel-Kapazität (-j284)

Das kleine „j“ wirkt erstmal etwas befremdlich. Zumindest, wenn man es noch nie zuvor gesehen hat. Das „j“ steht in der Elektrotechnik für die imaginären Einheit i. Da in der Elektrotechnik das kleine „i“ bereits anderweitig belegt ist, hat man sich für die Verwendung von „j“ entschieden. Ein positiver Wert zeigt eine induktive Reaktanz, ein negativer Wert eine kapazitive Reaktanz an. Im Prinzip heißt es nicht Anderes, als dass wir eine Spule (Ls) mit einer Reaktanz von 263 Ohm und einen Kondensator (Cp) mit einer Reaktanz von 284 Ohm verwenden. Da diese Reaktanzen abhängig von der Signalfrequenz sind, ist ein L-Netzwerk nicht sonderlich breitbandig.

Wie schafft es diese Schaltung nun eine 1000 Ohm Last wie 75 Ohm auszusehen und andersrum? Um diese Frage zu beantworten kommen wir um ein wenig Mathematik nicht herum. Fangen wir mit RL und Cp an. Die beiden sind parallel geschaltet. Die daraus resultierende Impedanz errechnet sich wie folgt:

Z = \frac{Xc * R}{Xc + R}

Z = \frac{X_c * R_L}{Xc + R_L} = \frac{-j284 * 1000}{-j284 + 1000} = 75-j263

75 Ohm ist der resistive Anteil an der resultierenden komplexen Impedanz, 263 Ohm der reaktive (kapazitive) Anteil. Das heißt, dass die Parallelschaltung von RL und Cp sich so benimmt als sei ein 75 Ohm Widerstand mit einem Kondensator mit 263 Ohm Reaktanz in Serie geschaltet. Man nennt dies auch die äquivalente Serienimpedanz.

Äquivalente Serienimpedanz von Cp und RL

Äquivalente Serienimpedanz von Cp und RL

Wenn wir diese soeben berechnete äquivalente Serienimpedanz nun in das ursprüngliche L-Netzwerk einbauen, erhalten wir folgendes Ersatzschaltbild:

Ersatzschaltbild nach Wandlung von Cp und RL in eine äquivalente Serienimpedanz

Ersatzschaltbild nach Wandlung von Cp und RL in eine äquivalente Serienimpedanz

Es fällt auf, dass die Serieninduktivität Ls und der äquivalente Serienkondensator nun betragsmäßig die gleiche Reaktanz haben, wenngleich auch mit unterschiedlichen Vorzeichen. Diese beiden Reaktanzen heben sich nun einfach gegenseitig auf. Der Lastwiderstand von 1000 Ohm sieht für den Signalgenerator nun aus wie ein 75 Ohm Widerstand.

Vereinfachtes Ersatzschaltbild der gesamten Schaltung

Vereinfachtes Ersatzschaltbild der gesamten Schaltung

Ein praktischer Nebeneffekt eines solchen L-Netzwerkes ist, dass es eine Tiefpasscharakteristik hat. Beispielsweise beim Anpassen einer LDMOS Endstufe an eine Systemimpedanz von 50 Ohm ist dieser Effekt von Vorteil um Obertonaussendungen zu unterdrücken. Eine Hochpasscharakteristik lässt sich mit einem L-Netzwerk auch realisieren, wenn man die Positionen von Ls und Cp tauscht. An der prinzipiellen Funktionsweise eines L-Netzwerkes würde dies nichts ändern, jedoch müssen die Werte neu berechnet werden.

Wie berechnet man so ein L-Netzwerk nun von Anfang an? Wir nehmen unser Beispiel mit 75 Ohm Quellwiderstand, 1000 Ohm Lastwiderstand und einer Betriebsfrequenz von 16 MHz. Zuerst muss die Kreisgüte, auch Q-Faktor genannt, berechnet werden.

Q = \sqrt{\frac{R_{Last}}{R_{Quelle}}-1}

RLast = Lastwiderstand
RQuelle = Quellwiderstand

Q = \sqrt{\frac{1000}{75}-1} = 3,512

Mit dem berechneten Q-Faktor von 3,512 können wir nun die Reaktanz der Induktivität berechnen.

X_L = Q*R_{Quelle} = 3,512 * 75 = 263

Die verwendete Induktivität soll also eine Reaktanz von 263 Ohm bei 16 MHz haben. Die 263 Ohm können und sollten wir wieder als j263 schreiben um zu unterstreichen, dass es sich hier um eine induktive Reaktanz handelt.

Um die benötigte Reaktanz des Kondensators Cp zu errechnen, wird der Lastwiderstand durch den Q-Faktor geteilt.

X_C = \frac{R_{Load}}{Q} = \frac{1000}{3,512} = 284

Der Kondensator Cp sollte also eine Impedanz von 284 Ohm bei 16 MHz haben. Auch hier können wir das Ergebnis als -j284 schreiben um auf die kapazitive Natur der Reaktanz hinzuweisen.

Zuletzt müssen die errechneten Werte noch in eine konkrete Induktivität und Kapazität bei 16 MHz umgewandelt werden.

L = \frac{X_L}{\omega} = \frac{263}{2 \pi (16*10^6)} = 2,6 \mu H

Die Induktivität sollte also 2,6 μH betragen. Der nächstübliche, käufliche Wert wäre 2,2 μH. Da in der Realität ohnehin ausreichend parasitäre Induktivität in der Schaltung vorhanden sein wird, rechnen wir einfach mit 2,2 μH weiter. Als nächstes wird der Kondensator berechnet:

C = \frac{1}{\omega X_C} =  \frac{1}{2 \pi (16*10^6) 284} = 35 pF

Der verwendete Kondensator Cp sollte also eine Kapazität von 35 pF haben. Auch hier habe ich einfach den nächsten Normwert von 33 pF verwendet. Um die Funktion des Berechneten L-Netzwerkes zu überprüfen, habe ich die Rückflussdämpfung mit einer Messbrücke gemessen. Der Signalgenerator wurde auf eine Ausgangsimpedanz von 75 Ohm eingestellt. Die Messkabel vom Signalgenerator zur Messbrücke und von der Messbrücke zum Oszilloskop, sowie die Messbrücke selbst, sind ebenfalls für eine Systemimpedanz von 75 Ohm ausgelegt.

Die verwendete Messbrücke und das auf einer Steckplatine aufgebaute L-Netzwerk

Die verwendete Messbrücke und das auf einer Steckplatine aufgebaute L-Netzwerk

Ergebnis: Die Schaltung funktioniert exakt so, wie sie soll. Die beste Impedanzanpassung hat diese Schaltung bei 16,1 MHz erbracht. Ein bisschen Abweichung von den Berechnungen war zu erwarten. Vor Allem auch, weil die Bauteilewerte auf die nächsten Normwerte gerundet wurden.

Überblick über den gesamten Messaufbau

Überblick über den gesamten Messaufbau