Archiv für das Jahr: 2016

WebSDR Server von sdr.hu = OpenWebRX

Zum Testen für die Relaisstation auf dem Ravensberg DB0RVB habe ich auf meinem Linux-Mint-Rechner die Installation der OpenWebRX-Software vorgenommen. Das Ziel ist es auf dem Standort mitten in Deutschland für das 2m-Band ein WebSDR zur Beobachtung von Ausbreitungsbedingungen vorzuhalten.

Die Materialliste sieht in etwa so aus:

  • 1 Linux-Rechner mit Internetanbindung
  • 1 DVB-T-Stick mit RTL-Technologie
  • 1 Rundstrahlantenne mit horizontaler Polarisation
  • 1 Software von András Retzler OpenWebRX
  • 1 Feste IP-Adresse (z.B. DynDNS) für den öffentlichen Auftritt
  • nicht vergessen: Stromversorgung, Verbindungs- und Antennenkabel etc.

Ob ein Raspberry für diesen Zweck ausreicht, muss ich noch ausprobieren. Bei meinem Brackel-Rechner mit Intel Dual-Core wird die CPU aber schon sehr belastet. Ein Pi2 sollte mit seinen vier Kernen vielleicht schon ausreichen. Kann ich nicht testen, weil ich habe im Moment keinen. Allerdings wollen wir auf dem Relaisstandort recht stromsparend arbeiten. Netzteile mit 60W und mehr sind quasi tabu.

Die Installation ist recht schnell und einfach, wenn man sich an die Installationsanleitung von András hält. Die bekommt man hier: http://blog.sdr.hu/2015/06/30/quick-setup-openwebrx.html

Nachdem dann auch mit einem Editor die ../openwebrx/config_webrx.py mit meinen Daten ausgestattet wurde, startet man den SDR-Server mit

cd ../openwebrx
./openwebrx.py

 

Aufruf des Clients am lokalen Browser mit http://localhost:8073.

So habe ich noch einen DynDNS-Eintrag spendiert, um aus dem Internet auf den Server zugreifen zu können: http://dl8aap.ddns.net:8073

Durch eine pfiffige Kompression des Datenstroms ist die Netzwerkbelastung ziemlich schlank. Statt 2MBit/s fahren nur noch 200k/s durch die Leitung.

So in etwa soll es dann aussehen:

Gut zu erkennen ist bei 145,750 MHz der Kabelkanal S6 mit einem unnötigen Sender. Um den zu entfernen, arbeite ich grad an einem Sperrfilter für meine Kabelanlage. Und der Nachbar bekommt dann auch gleich eines verpasst…!

Datenübertragung im Subaudiobereich

Im Amateurfunk wird es auf den frequenzmodulierten VHF und UHF-Bändern immer enger. Die Bandbreiten schrumpfen. Wenn man also mal eine Datenübertragung parallel zum Träger und der Sprachsignale übertragen will (ähnlich RDS im UKW-Rundfunk), bleibt eigentlich nur noch der Bereich unter 300 Hertz. Normalerweise ist dieser Bereich für CTCSS-Töne “reserviert”. Also nutzen wir sie doch experimentell… Sprachfrequenzen werden im Audiobereich 300 … 2700 Hz übertragen. Da stört sich also nix.

Hier eine Idee, wie man z.B. einen Arduino Nano beibringen könnte Daten in diesem Bereich dem Trägersignal hinzuzusetzen. Die eingebaute Tone()-Funktion erzeugt 5V-Rechtecksignale von 31 … 65535 Hz. So also mal schnell ein Arduino-Sketch niedergeschrieben und in den Nano geschoben:

Fakt ist: Die tone()-Funktion des Arduino kann nur unsigned int Werte annehmen. Bis hinunter zu 31 Hz kann ein Signal unterhalb 300 Hz erzeugt werden. Aber eben nur ganzzahlige Werte. Ein CTCSS-Pilotton von 88,5 Hz ist demnach nicht darstellbar. Was bleibt ist die Erzeugung der 10-fachen Frequenz und dann mit einem Teiler-IC durch 10 zu teilen. Das kann dann ein CD4018 erledigen, also 885 : 10 = 88,5.

Hier die Idee:

CD 4018 Beschaltung als Teiler durch 10

CD 4018 Beschaltung als Teiler durch 10

Hier der aktuelle Arduino-Sketch:

/*
  Dieser Sketch wurde mit dem Arduino Nano entwickelt
  und sollte aber auch auf allen anderen Arduinotypen lauffähig sein.
  Ich hatte eben keinen anderen, die Dinger sind so saubillig geworden...
  Natürlich kann man immer etwas verbessern, also tu es, ich tu auch was
  
  Carsten Koch, DL8AAP - Letzter Stand 22.9.2016
*/

// Der Timer muss eingebunden werden
#include "TimerOne.h"

//            0   1   2   3   4   5   6   7   8   9  Beg End
int T[12] = {915,693,710,719,744,770,797,825,854,885,670,2541}; // CTCSS-Frequenzen mal 10 in Hertz, werden später durch Hardware durch 10 geteilt
int dur = 180;                                                  // Dauer eines Datenbits in ms
int dur_roger = 120;                                            // Dauer des Rogerbeep in ms
int freq_roger = 3000;                                          // Frequenz des Rogerbeep in Hertz
int dur_break = 500;                                            // Pause zum nächsten Datenwort in ms
int pin_id = 10;                                                // Ausgabepin für die zu sendende String-ID
int pin_roger = 11;                                             // Ausgabepin für den Rogerbeep
String ID = "1234567890";                                       // zu sendende Ziffern
String zeichen = "";                                            // Puffervariable
int x;                                                          // Puffervariable
int pttPin = 7;                                                 // Pin 7 ist HIGH, schaltet nach Masse auf LOW als PTT gedrückt
int ledPin = 13;                                                // Visuelle Darstellung des PTT-Status
long intervall = 10000;                                         // Timerintervall in µsek
int send_id = 1;                                                // 0=String-ID aus, 1=String-ID an
int send_roger = 1;                                             // 0=Rogerbeep aus, 1=Rogerbeep an
int play = 0;                                                   // Zusatzvariable für den Rogerbeep

void setup() {
  pinMode(pttPin, INPUT_PULLUP);             // pttPin wird als Input mit einem Pullup-Widerstand auf HIGH gesetzt
  pinMode(ledPin, OUTPUT);                   // ledPin wird als Output gesetzt
  Timer1.initialize(intervall);              // Der Timer wird mit dem Timerintervall gesetzt
  Timer1.attachInterrupt(switch_ptt_state);  // Die Funktion switch_ptt_state wird als Timer-Funktion gesetzt
}

void loop() {
  // In der loop() wird der ID-String an der pin_id ausgegeben
  // aber nur, wenn der Schalter send_id auf 1 steht
  if (send_id == 1) {
    start_id();
    for(int i = 0; i<ID.length(); i++) {
      zeichen = ID[i];
      x = zeichen.toInt();
      play_id(T[x]);
    }
    end_id();
    pause_id();
  }
}

// Weitere eigene Funktionen

void switch_ptt_state() {
  // Diese Funktion wird vorrangig vor der loop()-Funktion aufgerufen
  //digitalWrite(ledPin,digitalRead(ledPin)^1);
  if (digitalRead(pttPin) == LOW) {
    // Wenn die PTT getastet wird = LOW, dann sind wir im TX-Modus
    //ptt = tx;
    digitalWrite(ledPin,HIGH); // Lass die TX-Lampe brennen
    play = 1; // Um den Rogerbeep später auszulösen, wird play auf 1 gesetzt
  }
  else {
    //ptt = rx;
    // Sobald wir im RX Modus sind und der Rogerbeep gesendet werden soll, dann tu das
    if (play==1) {
      // Wenn der Rogerbeep gesendet werden soll,
      if (send_roger == 1) {
        // Dann unterbreche den Pin bei dem, was er grad spielt
        noTone(pin_id);
        // und spiele den Rogerbeep
        play_roger(); 
      }
      // Der Rogerbeep wurde erzeugt, play kann wieder auf 0 gesetzt werden
      play = 0;
    }
    // Schalte die TX-Lampe aus
    digitalWrite(ledPin,LOW);
  }
}

void start_id() {
  // Startsignal für Datenwort
  // wird doppelt so lange gespielt, wie ein Datenbit
  tone(pin_id,T[10],dur*2);
  delay(dur*2+10);
}

void play_id(unsigned int f) {
  // Datenbit eines Datenworts
  // f=übergebene Frequenz des Tones
  tone(pin_id,f,dur);
  delay(dur+10);
}

void end_id() {
  // Endsignal für Datenwort
  // wird doppelt so lange gespielt, wie ein Datenbit
  tone(pin_id,T[11],dur*2);
  delay(dur*2+10);
}

void pause_id() {
  // Pause zum nächsten Datenwort
  noTone(pin_id);
  delay(dur_break);
}

void play_roger() {
  // Rogerbeep
  tone(pin_roger,freq_roger,dur_roger);
  delay(dur+10);
}

Danach durchläuft das Signal einen aktiven Tiefpassfilter 4. Ordnung mit einer Grenzfrequenz von 300 Hz nach vorheriger Verstärkung von 3 dB. Das Signal des Rogerbeeps (ca. 1 … 3 kHz) wird daran vorbei geschleust. Damit werden dann alle Obertöne des Rechtecksignals unterdrückt. Im Idealfall bleibt ein (relativ) sauberer Sinus als Nutzsignal.

Auf http://www.analog.com/designtools/en/filterwizard/ kann man sich seinen Filter zusammen stellen. Die Ergebnisse für meine Zwecke sehen dann in der Theorie wie folgt aus:

TP-Filter Vorgaben

TP-Filter Vorgaben 3dB Verstärkung mit 300 Hz Grenzfrequenz, 40 dB Dämpfung bei 1 kHz

TP-Filter 4. Ordnung nach Sallen Key

TP-Filter 4. Ordnung nach Sallen Key

TP-Filter 2 x 2. Ordnung

TP-Filter 2 x 2. Ordnung

TP-Filter zu erwartende Kurve

TP-Filter zu erwartende Kurve

Eine entsprechende Schaltung habe ich mal mit LTSpice simuliert. Dabei habe ich die Werte eines TL084 OP benutzt und komme auf die gleichen Filterergebnisse.

300 Hz Tiefpassfilter in der Spice-Simulation

300 Hz Tiefpassfilter in der Spice-Simulation

250 Hz-Signal - rot=Input, grün = Output,

250 Hz-Signal – rot=Input, grün = Output,

Das 500 Hz-Signal (grün) wird schon deutlich vom Eingangssignal (rot) gedämpft

Das 500 Hz-Signal (grün) wird schon deutlich vom Eingangssignal (rot) gedämpft

Deutlich ist die Dämpfung des Signals von fast 50 dB bei 1 kHz zu erkennen.

Deutlich ist die Dämpfung des Signals von fast 50 dB bei 1 kHz zu erkennen.

Blockschaltbild Subaudio-Encoder

Blockschaltbild Subaudio-Encoder mit Rogerbeep

Soweit die Theorie…

Wohlgemerkt, es handelt sich hier zunächst erstmal um einen Encoder. Um das Decodieren kümmern wir uns an anderer Stelle.

Nun geht’s an die Praxis!

Sinus-Generator / Funktionsgenerator

Mal zugegeben… einen Sinusgenerator im NF-Bereich ohne Induktivitäten aufzubauen… da war ich doch recht skeptisch, musste aber sein. Nur durfte ich mich eines besseren belehren lassen, denn das Zauberwort heißt hier Wien-Robinson-Oszillator. Dabei wird ein Operationsverstärker mit RC-Gliedern zum Rückkoppeln am nichtinvertierenden Eingang gebracht. Bei diesen RC-Gliedern handelt es sich jeweils um einen Hoch- und einen Tiefpass, Die Amplitudenstabilisierung wird durch eine Glühlampe vorgenommen, die als PTC dient. Anleitungen und Funktionsweise findet man im Internet auf unzähligen Seiten.

Prinzip-Schaltbild der Wien-Robinson-Brücke

Prinzip-Schaltbild der Wien-Robinson-Brücke

Bei den Recherchen nach einer geeigneten Schaltung fand ich zwei annehmbare Exemplare aus denen ich die Vorteile beider Schaltungen heraus arbeitete. Beide nutzen hier den OP TL084. Dieser ist mit vier OP-Amps bestückt und liefert genau das, was ich benötige, Nämlich einen klirrarmen Sinusgenerator. Zunächst habe ich eine Schaltung auf einem Breadboard aufgebaut und diese dann nach getesteter Funktion auf eine Lochrasterplatine übertragen. Ein geeignetes Gehäuse habe ich in der Bucht gefunden. Leider war es doch etwas kleiner, als ich dachte. Aber die Bedienelemente habe ich doch noch unterbringen können.

Die Schaltung verbraucht nicht mehr als 15mA bei 10V Betriebsspannung. Somit ist dann auch der Betrieb mit einer 9V-Batterie möglich. Ein entsprechender Umschalter steuert das.

In vier sich überlappenden Bereichen steht ein verzerrungsarmes Sinussignal von etwa 10 Hertz bis 60 kHz mit bis zu 6Vss an einem 600 Ohm-Ausgang zur Verfügung. Diesem Ausgang können noch bis zu ±2V Gleichspannung regelbar hinzugefügt werden. Ein weiterer Op-Amp erzeugt aus dem eingeschwungenen Sinusoszillator ein Rechtecksignal der selben Frequenz, dessen Pulsweite von etwa 5…95% geregelt werden kann.

Die Schaltung auf dem Breadboard wurde fast ausschließlich aus Beute-Teilen aus der Kramkiste angefertigt und im wilden Drahtverhau auf die Lochrasterplatine in das Gehäuse übertragen. Es hat sich schon auf dem Breadboard gezeigt, dass besonders im hohen kHz-Bereich die Verkabelung schon eine gewisse Bedeutung zum Anschwingen des Oszillators erhält. Hier spielen Eigenkapazitäten eine große Rolle, die es gilt zu vermeiden. Darum habe ich versucht die Kabel so kurz wie möglich zu halten, nur leider ist es an Hand der vielen Bedienelemente an der Frontplatte nicht immer möglich. Wichtig ist auch einen (!) Massepunkt festzulegen, um Rauschen und Brummeinstreuungen entgegen zu wirken.

Ich gelobe, dass der zweite Aufbau schöner wird und schließlich noch eine ansprechende Frontplatte erhält.
Das Ziel: Die Platine mit SMD-Bauteilen ist direkt an den Bedienelementen (Schalter, Potis) angelötet und montiert.

Dieses kleine Helferlein hat mir bei einigen Versuchen und Reparaturen bereits auf dem Breadboard gute Dienste geleistet.

Hier die Fotodokumentation:

0_img_0002

0_img_0003

0_img_0004

Die Schaltung verbraucht nicht mehr als 15 mA

Die Schaltung verbraucht nicht mehr als 15 mA

a_img_0001

a_img_0002

a_img_0003

a_img_0004

a_img_0005

b_img_0001

b_img_0002

b_img_0003

b_img_0004

b_img_0005

b_img_0006

b_img_0007

b_img_0008

b_img_0009

b_img_0010

b_img_0011

b_img_0012

c_img_0001

c_img_0002

c_img_0003

c_img_0005

c_img_0004

Der Spannungsregler wird auch gegen die Gehäusemasse abgeschirmt. Doppelseitiges Klebeband geht prima.

d_img_0001

d_img_0002

d_img_0003

Dummerweise habe ich mir mit dieser Einbaubuchse den ersten IC zerstört. Der Minuspol der Stromversorgung ist hier mit der Gehäusemasse verbunden. Jedoch wird die negative Versorgungsspannung des ICs virtuell erzeugt, indem die im Gerät benutzen 10 Volt geteilt werden in +5 V und -5 V. Also raus damit…

d_img_0004

d_img_0005

d_img_0006

d_img_0007

d_img_0008

d_img_0009

d_img_0010

e_img_0001

Neue Einbaubuchse für die Stromversorgung, getrennt von der Gehäusemasse.

e_img_0002

Einsatzbereit – beim nächsten Exemplar wird die Anordnung und die Frontplatte schöner.

Bedienelemente von links nach rechts und oben nach unten:

  • Frequenzbandschalter (in rot)
    A: 10 Hz … 100 Hz,
    B: 100 Hz … 1000 Hz,
    C: 1 kHz … 10 kHz,
    D: 10 kHz … 100 kHz (theoretisch, praktisch in dieser Schaltungsanordnung bis etwa 60 kHz)
  • Stufenloser Frequenzregler (in rot)
  • Wahlschalter für Sinus (oben) oder Rechtecksignal (unten)
  • Stufenlose Einstellung des Tastverhältnisses des Rechtecksignals ( ca. 5-95%)
  • Pegeleinstellung 0 … 6 Vss
  • Signal-Ausgang mit 600 Ohm Impedanz
  • Stufenlose Regelung einer Gleichspannung von +/- 2 Volt zum Ausgangssignal
  • Wahlschalter für AC (unten) oder DC (oben) gekoppelter Ausgang

Der Schaltplan kann gerne angefordert werden.

Mal ganz schnell Hochfrequenz…

Für die kommenden Projekte (wie z.B. den Spektrumanalyzer) habe ich mir einen kleinen Baustein angeschafft, der mir zwei unabhängige Oszillatoren auf drei Ausgänge (50 Ohm) erzeugt. Hierauf ist ein Si5351 mit einem 25 MHz Takt verbaut. Durch eine geschickte Frequenzteilung werden an den Ausgängen Rechtecksignale im Bereich von 8 kHz bis 160 MHz mit einer Ausgangsspannung von 3 VSS erzeugt. In einem Langzeittest hat sich die Schaltung auf meinem Werktisch als sehr stabil erwiesen, obwohl der Steuerquarz keine Temperaturstabilisierung hat.

Programmiert wird dieser Baustein über einen Arduino Nano oder Mini. Die erforderliche Bibliothek ist bei Adafruit erhältlich. Ein paar Zeilen Programmcode und in den Arduino hochgeladen, und schon steht die programmierte Frequenz am gewünschten Ausgang zur Verfügung.

Hier der Minimal-Code für den Arduino:

#include "si5351.h"
#include "Wire.h"

Si5351 si5351;

void setup() {
  si5351.init(SI5351_CRYSTAL_LOAD_8PF, 0);
  si5351.set_pll(SI5351_PLL_FIXED, SI5351_PLLA);
  // Setzen der Frequenz 29,700.000.00 MHz
  si5351.set_freq(2970000000ULL, 0ULL, SI5351_CLK0);
}

void loop() {
  // der Inhalt dieser loop()-Funktion darf auch gerne leer sein
  // oder man baut sich in dieser Schleife noch Abfragen für Up/Down-Taster hinzu
  si5351.update_status();
  delay(100);
}
Arduino und Si5351

Arduino und Si5351

Si5351 mit 400 Hz Offset

Si5351 mit 400 Hz zuviel – kann aber über eine Correction-Funktion angepasst werden

Der Si5351 "stört" sogar auf der richtigen Frequenz

Der Si5351 “stört” sogar auf der richtigen Frequenz

Arduino Code für den Si5351

Arduino Code für den Si5351

Wenn man also mal ganz schnell eine Frequenz benötigt – so wie ich für 64 MHz, so ist man mit Kosten von insgesamt weniger als 15 € für die beiden Bausteine bestens ausgestattet.

Noch mehr im Sachen im Internet rund um den Si5351:

 

Logic Sniffer / Logik-Analysator

Für die nächsten Projekte ist es erforderlich, digitale Zustände von Bauteilen, Baugruppen und Leitungen zu analysieren. Mit diesem kleinen Gerät, das als Open-Source in Hard- und Software bereit steht, hat man einen Logik-Analysator für bis zu 32 Kanäle bei einer Abtastfrequenz von bis zu 200 MHz zur Verfügung.

Logic Sniffer

Logic Sniffer

Über seeedstudio.com für knapp $50 USD kam die kleine Platine nun zu mir. Da die Software ebenfalls ein OpenSource-Projekt ist und unter Java entwickelt wurde, läuft sie auf so gut wie allen gängigen 32- und 64-Bit Betriebssystem von Windows XP, Vista, 7, 8 und 10 bis hin zu Linux-Distributionen.

Auf meinem alten Linux-Mint-Rechner (17.3) beschränkt sich die Installation auf das einfache Entpacken in ein beliebiges Verzeichnis. Dort werden zum Start der Software eine run.bat (Windows) und eine run.sh (Linux) bereit gestellt.

Start der Logic Sniffer Software

Wer mehr über dieses Gerät erfahren möchte, kann sich hier bedienen.

Angeschlossen wird der Logic-Sniffer über einen USB-Port. Bei mir wird ein neues Gerät als ttyACM0 angezeigt.

Sniffer in Aktion

Sniffer in Aktion

 

Transistor ausbrennen – Reparatur Signalgenerator SG 31

Ein Senior-OM vermachte mir aus seiner Kramkiste einen Signalgenerator, von dem er meinte, dass er statt HF nur noch NF produziert. Beide Signalarten werden getrennt nach außen geführt. Der Hersteller oder Händler des Gerätes deutet lt. Aufkleber auf CTR-Elektronik in Nürnberg und wurde in den 60er Jahren als “SIGNALGENERATOR SG 31” benannt.

Signalgenerator SG31Auf den ersten Blick erkannte ich, dass mit diesem Gerät einst Signale im Bereich von etwa 150 kHz bis über 300 MHz in acht Bereichen erzeugt wurden. Das NF-Signal kann sogar auf die HF moduliert werden. Auch kann die HF über einen Abschwächer reduziert werden. Wie man später noch sehen wird, handelt es sich hierbei um einen einfachen LC-Generator, der ungefiltert und unstabilisiert jeweils ein NF- und ein HF-Signal an die Frontbuchsen gibt. Und das im Stil der 60er.

EDIT 22.07.2016:
Mittlerweile habe ich durch puren Zufall das Original samt Schaltplan gefunden. Er wurde unter dem Namen “Signal Generator 31” der Firma Nombrex Ltd. (Exmouth, Devon, England) veröffentlicht. Die Beschreibung mit Schaltplan kann bei mir angefragt werden.

NF-Signal am Ausgang des SG31

NF-Signal am Ausgang des SG31

Vorsichtig steckte ich die Zuleitung in die Steckdose, es knallte nichts, es ging auch nichts in Rauch auf. Dann schaute ich mir die Ausgangssignale am Oszilloskop an. Das NF Signal von ca. 600 Hz liegt mit einer Spannung von ca. 7 Volt am Ausgang. Auch habe ich schon sauberere Signale gesehen. Belastet man den Ausgang, z.B. mit einem Aktivlautsprecher,  geht das Signal schon sehr in die Knie. Also kann man hier im Inneren auch keine großartigen Mechanismen zur Auskopplung erwarten.

Am HF-Ausgang war auch nicht mit Drehen und Würgen der Knöpfe und Schalter irgendein Signal zu erkennen.

Also schraubte ich das Gerät erst mal auf…

Platine SG31Wie schon erwartet, sind hier Bauteile aus den frühen 60er Jahren verbaut. Geschockt vom Anblick der für heute recht unüblich anmutenden Kondensatoren und Widerstände fielen mir neben dem großen Umschalter der Frequenzbänder und dem Drehkondensator zwei Transistoren auf. Auch ein Netzteil wurde offensichtlich als Eigenbau nachträglich eingebaut. Messungen ergaben hier eine Betriebsspannung von 13,7 Volt, stabilisiert mit einer Kombination aus Zenerdiode 9v1 und PNP-Transistor 2N2905 (???), was ja irgendwie nicht so ganz stimmen kann. Dazu später aber mehr. Ein Batteriehalter für 9V-Blöcke lässt vermuten, dass der Signalgenerator auch mobil eingesetzt werden könnte. Davon war im Gerät aber nichts mehr zu erkennen.

HF-Teil SG31 mit Transistor CV7089

HF-Teil SG31 mit Transistor CV7089

NF-Teil SG31 mit Transistor 2G371A

NF-Teil SG31 mit Transistor 2G371A

Frequenzbandumschalter SG31

Frequenzbandumschalter SG31

 

 

 

 

 

 

Bei den Transistoren handelt es sich um Germanium-Transistoren vom Typ 2G371A und CV7089. Internetrecherchen ergaben nun:

Originaltyp

Ersatztyp

Zweck

2G371, 2G371A AC126, 2N2431 NF-Transistor in Audio- und Videogeräten
CV7089 OC171, AF114-AF117, AF124-127 HF-Transistor, Grenzfrequenz bei ca. 75 MHz

Bevor ich mich aber zuerst um die aktiven Komponenten kümmerte, wollte ich mir ein Bild vom Zustand der Leiterbahnen und Lötpunkte machen. Ich entfernte die Knöpfe, die die Platine von hinten an der Frontplatte halten. Profilaktisch lötete ich zunächst alle Lötpunkte nach und nahm das Gerät mit einem Oszilloskop am HF-Ausgang wieder in Betrieb. Der Ausgang blieb stumm. So baute ich dann den CV7089 aus und miss ihn durch. Die Werte waren ok, auch im Transistortester meines Multimeters zeigte der Transistor einen brauchbaren hFE-Wert an. Also baute ich ihn wieder ein und ging nochmal auf die Suche. Ich bemerkte beim Schalten des Bandschalters, dass ab und zu mal ein Signal vorhanden war. Und plötzlich hatte ich Signal am HF-Ausgang. Waren die Schaltkontakte korrodiert? Nein, denn die hatte ich zuvor mit etwas Spray gereinigt. Plötzlich war das Signal auch wieder weg und der Oszi (nicht zu verwechseln mit einem Ossi) zeigte wieder eine Nulllinie.

Ich maß die Spannungen am Transistor und stellte fest, dass die Versorgungsspannung am Emitter fehlte, die im ausgebauten Zustand des Transistor noch die vollen 9 Volt anzeigte. Ich hatte es hier offensichtlich mit einem klassischen Kurzschluss zu tun. Aber wo?

Parallel zu meinem Kurzschluss bewegte ich mich im Internet auf den verschiedensten Seiten und Foren. Der CV7089 ist nicht mehr erhältich, lediglich der Ersatztyp OC171. In England bestellte ich mir erst mal zwei Stück für unter 10 Euro. Nach und nach kam ich über diverse Foren auch auf Seiten, die sich mit einem offensichtlichen Geheimnis dieser Transistortypen in diesen TO-7-Gehäusen beschäftigten. Dort waren die Symptome ähnlich wie bei meinem Transistor. Ich nahm mir den Transistor also nochmal unter die Lupe und maß den Widerstand zwischen den Beinchen und dem Abschirmgehäuse. Es zeigte sich ein Widerstand von 24 Ohm vom Kollektor zum Gehäuse. Das ist nicht weiter schlimm, weil das vierte Beinchen des Transistors für das Gehäuseblech abgekniffen war. Es zeigte sich aber auch ein Widerstand von etwa 16 Ohm zwischen Emitter und Gehäuse. War der Transistor defekt? Er funktionierte doch kurzzeitig und sogar auch ein zweites mal, aber dann halt auch wieder nicht mehr.

Das Geheimnis, die Ursache:

Alten Hasen wird das Folgende nichts Neues mehr sein. Diese Transistoren bilden im Laufe der Zeit kleine leitende Kristallnadeln, sog. Whiskers, die sich in einer Art Gel von der Gehäusewand zu den Elektroden ausbilden. Dabei müssen die Transistoren noch nicht einmal in Betrieb (gewesen) sein. Jetzt erklärte sich auch der “Kurzschluss” zwischen den Elektroden. Bei den Ersatztypen, wie OC171, sollen sich diese Whiskers angeblich auch gebildet haben. Jedoch bei den AF-Typen sind keine solchen Probleme bekannt geworden. Übrigens hat die NASA um die Erforschung der Whiskers einige Präsentationen im Internet veröffentlicht. Wiki’s Pedia ist hier eine sehr gute Adresse zum Nachschlagen.

Auch dieser Link könnte helfen: http://nepp.nasa.gov/whisker/index.html

Die Lösung – Ausbrennen:

Man kann die Kristalle elektrisch “ausbrennen”. Dazu habe ich die drei Beinchen für E-B-C zusammen gedrillt und mit einer Spannung von 30 Volt aus meinem Labornetzteil zwischen den Beinchen und dem Gehäuse versehen. Dabei ist es egal, wo Plus und Minus anliegen. Ich vermutete nun einen kleinen Ruck, aber es kam nichts. So legte ich nochmal die Spannung von jedem einzelnen Anschluss gegen das Gehäuse. Auch jetzt war nichts zu spüren. Alles war wohl sauber vom Gehäuse getrennt, keine Kurzschlüsse mehr. Ich lötete den Transistor nun wieder an seinen Platz und schaltete das Gerät ein.

Nun war endlich wieder ein Signal an der HF-Ausgangsbuchse zu vernehmen, und ich konnte in allen acht Bereichen schalten und bekam mehr oder weniger saubere (Sinus-) Signale auf den Schirm. Mein Oszilloskop hat leider eine Grenzfrequenz bei 20 MHz. Deshalb habe ich mal den USB-Stick als Spektrumanalysator mit dem Signal gespeist. Hier ein Signal im 144 MHz Bereich.

144 MHz Spekttrum SG31

Ich befestigte eine Hohlbuchse für eine externe Spannungsversorgung und speiste die Schaltung zunächst von meinem Labornetzteil mit 9 Volt. Die gesamte Schaltung benötigt in Volllast übrigens nicht mehr als 15 mA. Als ich aber am Versorgungskabel wackelte, machte sich das sofort als Frequenzsprünge bemerkbar. Dies ist also keine gute Lösung. Auch ein Klopfen am Gehäuse erzeugt ein hörbares NF-Signal in der Demodulation.

Spektrum 144 MHz Beeinflussungen

12V Netzteil SG31Das alte (angebliche) 9V-Netzteil (mit 13,7V Ausgang) war lediglich in das Gehäuse eingeklebt und bröckelte auch schon auseinander. Auch war der ursprüngliche NPN-Transistor durch einen 2N2905 PNP-Typ ersetzt.

Auf einer Lochrasterplatine habe ich nun das Netzteil neu aufgebaut. Dabei stellte ich fest, dass der falsche PNP-Transistor und die 9,1V Zenerdiode kaputt waren. Durch die Schlüsse wurden immerhin 13,7V aus dieser Stromfabrik erzeugt. Also einmal schütteln und nach Lösung suchen. Leider hatte ich in meiner Kiste nur eine 10V-Zenerdiode und einen 2N5901 Leistungstransistor. Dieser ist eigentlich ein HF-Transistor mit einem Frequenzgang bis 1200 MHz und irgendwie viel zu schade für eine solche simple Schaltung, aber es ist der einzige, den ich grad zur Hand hatte. Also baute ich das kleine Netzeil nach diesem Plan auf:

2016-01-20 13_31_47-Dokument1 - Microsoft WordFür den C2 kann man auch einen 220µF Elko einsetzen. Der Widerstand R2 wird leicht warm, er sollte mit etwas Abstand von der Platine befestigt werden.

Jetzt ist die HF am Ausgang durch die fehlenden externen Einflüsse wesentlich stabiler. Im übrigen funktioniert die Schaltung zwischen 8V und 18V Betriebsspannung. In der Galerie können noch weitere Bilder vom Oszi betrachtet werden.

 

Weiter werde ich an der Rückseite noch aktuell gängige Anschlussbuchsen anbringen, um die Originalansicht der Frontplatte nicht zu zerstören.