Archiv der Kategorie: Eigenbau

Kurzwelle portabel – mcHF im Gerätepark

Für den Urlaub plante ich ein portables Kurzwellengerät anzuschaffen. Bei den Recherchen stieß ich auf einen SDR-Transceiver von Chris, M0NKA mit dem Namen mcHF. Das Gerät besteht aus zwei Platinen, die ich in der Version 0.5 bereits mit den SMD-Teilen vorbestückt geliefert bekommen habe. In diesem Kit sind alle Taster, Rotary-Encoder, Display, Mischer, Relais, sowie alle erforderlichen Ringkerne mit genug Kupferlackdraht für die Tiefpässe und Transformatoren enthalten.

Vorbestückte Platinen UI und RF – Innenseiten

Vorbestückte Platinen UI und RF – Außenseiten

Nicht enthalten sind Gehäuse mit Knöpfen und Tasterkappen, Endstufentransistoren, Lautsprecher und Netzteil.

Es gibt ein (englischsprachiges) Yahoo-Forum und ein DARC Ortsverband Sulingen (I40), die sich intensiv mit dem Aufbau des Gerätes beschäftigen. Hauptsächlich ist hier einer der Initiatoren Andreas, DF8OE. Andreas ist maßgeblich an der Entwicklung des Bootloaders und der Firmware beteiligt.

Die mechanischen Bauteile habe ich als erstes bestückt, wie Taster, Encoder, USB- und Antennenbuchse, dann das Schutzlämpchen gegen knackige Impulse von außen, sowie die 3,5mm-Buchsen und die Hohlbuchse für den 12V-Anschluss. Ebenso das Display. Dann wollte ich die Pfostenleiste und den Pfostenstecker einbauen und stellte erstmal fest, dass die Lötreihe fast unter dem Display lag. Klappte aber noch. Also: Erst Pfostenstecker und -leiste bestücken, dann das Display. Einige Trafos noch aufgelötet und dann weiter zum nächsten Schritt.

Vorbereiten zur ersten Inbetriebnahme

Vor der ersten Inbetriebnahme zeigt sich ein weißer Bildschirm beim Einschalten. Der Strom bei 13V Versorgungsspannung sollte nicht höher als 270mA betragen. Es empfiehlt sich die Versorgung über ein Labornetzteil mit Strombegrenzung. Außerdem werden die Spannungsregler relativ warm (heiß), so dass diese mit einem Kühlkörper versehen werden sollten. Bei später voll aufgedrehtem Display wird ein Strom von etwa 370mA verbraucht.

Für Windows gibt es das Programm mchf-manager von M0NKA. Ich habe aber einen Linux-Rechner, der auf Grund seiner Leistungsfähigkeit nicht unbedingt eine virtuelle Maschine abbilden kann. Also habe ich nach den Angaben von DF8OE die Installation mit Linux-Tools vorgenommen.

Dazu wird das Konsolen-Programm dfu-util installiert:

sudo apt-get install dfu-util

Installation Bootloader unter Linux

Für die Installation des Bootloaders muss ein Jumper P6 gesetzt werden. Das habe ich zunächst mit einer Drahtbrücke vorgenommen. Außerdem habe ich den Ein/Aus-Taster (S17) mit einem Schalter überbrückt, damit der Ladevorgang nicht durch Wackler unterbrochen wird. Der Jumper P6 soll eigentlich nur für den Bootloader genutzt werden. Für die weitere Installation der Firmware wird dieser Jumper nicht benötigt.

Ich habe den mcHF direkt mit dem PC über USB an der kleinen USB-Schnittstelle verbunden. Über einen USB-Hub hat das nicht funktioniert.

Einschalten des mcHF mit gedrücktem S14-Taster (BAND+). Sobald über lsusb die ST-Microelectronics-Schnittstelle angezeigt wird, kann man den Bootloader mit folgendem Konsolenbefehl in den mcHF schieben.

dfu-util -D pfad-zum-bootloader/bootloader.dfu -R -a 0

Im Github bei DF8OE https://github.com/df8oe/mchf-github kann man die aktuellen Releases herunterladen. In der Regel besteht das Release aus vier Dateien:

  • bootloader.bin
  • bootloader.dfu
  • mchf.bin
  • mchf.dfu

DF8OE hat den Bootloader 2.0.x so konfiguriert, dass mit Einstecken eines USB-Sticks am großen USB-Port die .bin-Datei automatisch erkannt und installiert wird. Ich hab das noch nicht getestet.

Installation Firmware unter Linux

Die Firmware wurde, wie oben beschrieben, ebenfalls korrekt installiert. Allerdings kam nichts aus dem Audio-Codec-Chip heraus. Kein Audiosignal am Phone-Ausgang. Nichts im Display, kein Scope, kein Waterfall. Kein Signal am Line-Out. Nach einigen Tagen im Forum, wurde entdeckt, dass bei einem fehlenden EEPROM (nicht unbedingt notwendig, später aber brauchbar), der Codec-Chip nicht funktioniert, wenn man die Firmware von DF8OE einsetzt. Die Firmware von M0NKA indes funktioniert auf Anhieb, eben aber auch mit weniger Funktionen, als in der FW von DF8OE. Diese wurde von ihm in einem neuen Softwarestand angepasst, bei mir installiert und getestet. Jetzt kam auch Audio mit der Firmware durch den Signalweg hindurch.

Als Anmerkung kann ich noch hinzufügen, dass das Antennensignal erst dann in das Gerät kommt, wenn es die Power/SWR-Spulen (T2, T3) und die Lowpassfilter mit den zu bewickelnden Ringkernen durchlaufen hat. Diese sind also vor der ersten Inbetriebnahme zu bestücken. Beim Anfertigen bzw. Einbau der Ringkerne ist beim Löten darauf zu achten, dass der Lack auf dem mitgelieferten Spulendraht an den Lötstellen sehr penibel entfernt wird. Auch bei Lötkolben-Temperaturen über 400°C schmilzt der Lack nicht rückstandsfrei weg. Dabei ist dann der Signalweg zum AudioCodec unterbrochen, und es werden nur Koppelsignale ausgewertet. Ein Durchgangsprüfer nach jedem Lötvorgang ist hier unverzichtbar.

Wenn aber alles soweit bestückt ist, gibt der Empfänger eine ungeheure Audio-Qualität wider, sowie eine enorme Trennschärfe, grad abends momentan (April 2017)  im 80m-Band, wenn alle 2,5kHz eine andere Station sendet. Mit diversen regelbaren Noise-Reduction- und Notchfiltern (automatisch oder manuell)  kann man jedes noch so leises Signal herauskitzeln. Das macht Freude!

Wichtig: EEPROM

Damit der Prozessor mit seinem Speicher nicht irgendwann einmal seine Arbeit einstellt – und das tut er unweigerlich irgendwann, sollte ein EEPROM (optional) eingesetzt werden. Die erste Lieferung mit der Angabe aus dem Schaltplan eines 24LC01 mit dem dazugehörigen C99 brachte keinen Erfolg. Denn dieser wird mit der neuesten Firmware nicht mehr erkannt.

U7 24LC01 und C99 eingebaut

24LC01 wird nicht erkannt

So habe ich dann ein EEPROM vom Type 24LC1026 eingebaut. Hier ist keine Modifikation notwendig. Nach dem zweiten Einschalten hat der mcHF den Speicher erfolgreich erkannt. Ich empfehle also DRINGEND das EEPROM einzusetzen, auch wenn es nur als Option vorgesehen ist.

EEPROM 24LC1026 eingebaut

Bevor die Endstufentransistoren eingesetzt wurden, mussten noch die Schweinenasenringkerne, die Ausgangstransformatoren gewickelt und eingebaut werden. Es sind dies die Trafos T5, T7 und T6. Dabei ist der T7 der wichtigste Transformator. Nach Rücksprache mit DF8OE, den ich auf dem funk.tag in Kassel traf, soll dieser Trafo statt 2:3 mit 2:4 Wicklungen versehen werden. Ansonsten reicht es aus, sich nach den Vorgaben von M0NKA zu halten. Mit einem Oszilloskop habe ich dann die ersten “Sende”-Signale am Eingang der Endstufe betrachten können. Nun konnte auch der RFC8, eine Drossel zur Stromversorgung der Endstufentransistoren, mit einer Wicklung eingebaut werden.

Bewickelte Ringkerne der LPF mit Heißkleber befestigt

Noch ein Wort zum T7: es gibt eine Menge Modifikationen für diesen Übertrager. Da der mcHF jedoch eine Open Source Entwicklung ist, bleibt genug Spielraum für eigene Kreationen. Ich dagegen habe für den Anfang die Originalwicklung mit dem Hinweis von Andreas (s.o. 2:4 statt 2:3) umgesetzt.

Jetzt die Transistoren. Die erste Lieferung aus China zu einem Spottpreis brachte lediglich irgendwelche Fakes. Jetzt weiß ich, dass Halbleiter aus China mit der Angabe wie z.B. NEW oder BRAND NEW oder REPRINTED alles nur Fakes sind. Nach dem Einschalten brauchte es nur einen Bruchteil einer Sekunde, um die Dinger zum Glühen zu bringen. Die Brandblase am Finger ist grad am Abklingen. 10 Stück für knapp 10 Euro war dann doch etwas zu günstig um wahr zu sein. Nun, Lehrgeld halt.

Als NEW gelieferte (neu bedruckte) Dreibeiner. Was da drin ist, weiß keiner.

Also dann die Transistoren bei einem deutschen Händler zu einem Preis von knapp sieben Euro pro Stück nachbestellt und eingebaut.

Das Finale

Eingeschaltet, Strom beobachtet …. alles gut! Keine Hitze!

Jetzt nach den Anleitungen zum Kalibrieren der PA den Ruhestrom auf 500 mA eingestellt und vorsichtig auf 0,5 W die PTT getastet. Hervorragend! Es kommt HF am Ausgang. Weitere Einstellungen für alle Bänder mit 5 Watt vorgenommen und die Einstellungen als Backup im EEPROM abgespeichert.

Allerdings steigt der Ruhestrom ohne ausreichende Kühlung der Transistoren sehr schnell an. Auf eine ausreichende Kühlung ist dringend zu achten!

Antenne dran, und das erste mal auf 40m auf Sendung gegangen, einer italienischen CQ rufenden Station geantwortet, und ich wurde sofort gehört. 73, danke!

Für die anderen Bänder habe ich mir noch einen Portabeltuner MFJ971 zugelegt. Der passt dann alles, was an seinem Antennenausgang hängt, gnadenlos auf eine 0 Watt Rücklaufleistung an. So kann auch dieses Gerät mit in den Urlaub. Die Skala kann mittels eines Jumpers auf der Platine von der Umschaltung 30/300 Watt auf 6/30 Watt gesetzt werden.

Umschalten der 300-Watt- auf die 6-Watt-Skala mittels Jumper

mcHF v0.5 mit MFJ-971 als Duo

Abgleich

Den Abgleich habe ich nach der Anleitung aus dem Github-Wiki vorgenommen. Die Endstufentransistoren können mehr als 5 Watt Ausgangsleistung erzeugen. Dann sind aber dringend die 100V-Kapazitäten in der PA-Sektion des Boards auszutauschen gegen Typen mit 200V Spannungsfestigkeit.

So!

Ab in den Urlaub!


Hier noch ein paar Bilder vom Einbau ins Gehäuse. Das habe ich von SP3OSJ bekommen.

Vorgefertigtes Gehäuse von SP3OSJ – gab es nur noch in schwarz

USB- und Antennendurchlass

Vorbereitet für 3,5mm-Buchsen

Die Abstandshalter werden gar nicht benötigt

Die Abstandshalter werden wirklich nicht benötigt

Ein erster Blick – leider musste an den Löchern noch etwas gefeilt werden – der Preis eines Preiswert-Gehäuses

Sieht doch gut aus…

So passt es

…und so auch

M3x10 Senkkopfschrauben aus Messing im Baumarkt besorgt und Muttern aufgelötet

Gut gemessen ist schon halb gebohrt

Gebohrt…

…und versenkt

Drin!

Durchgangsprüfer für empfindliche elektronische Bauteile – Beeper

Für unsere Bauprojekte mit SMD- und empfindlichen CMOS-Bauteilen haben wir uns einen einfachen und genialen Durchgangsprüfer zusammen gebaut. Von Harold, W4ZCB haben wir uns das Schaltungsdesign besorgt und noch ein wenig modifiziert. Weil wir als SMD-Baustein keinen passenden Piezosummer bekommen haben, haben wir einen weiteren OpAmp aus dem LM339 für einen kleinen Tongenerator benutzt.. Zusätzlich wurde eine Auto-Power-Off-Schaltung nach VK3YC gleich mit eingeplant.

An den Prüfspitzen steht eine Spannung von weniger als 100 mV an. Der Kurzschlussstrom ist kleiner als 1 mA. Der Beeper ignoriert sogar Werte über etwa 60-70 Ohm. Mit diesen Voraussetzungen kann eigentlich kein CMOS-Bauteil beschädigt werden, auch nicht auf bestückten Platinen.

Hier das Originalschaltbild von W4ZCB:

Durchgangssummer nach W4ZCB

Automatische Abschaltung des Durchgangsprüfers nach VK3YC

Automatische Abschaltung nach VK3YC

Oszillator für den Piezosummer

Oszillator zur Ansteuerung eines Piezosummers

Stefan, DG4AAE hat nach der nun modifizierten Schaltung eine kleine Platine mit SMD-Bestückung entworfen und anfertigen lassen. Die Platine passt in ein kleines Flachgehäuse (Etui-Halbschalengehäuse) von Strapubox mit 9V-Batterie-Fach. Und wir haben nicht an den Messspitzen gespart. Stefan hat da wirklich tolle Profispitzen gefunden und bestellt. Bedruckte Folie drauf und fertig…

Durchgangsprüfer fertig im Gehäuse

 

2m Bandpass

Für mein 2m WebSDR brauchte ich noch ein Bandpassfilter für das 2m-Band und habe eine mechanische Lösung bei Mile Kokotov Z33T gefunden. Hier werden zwei lose gekoppelte Parallelschwingkreise in einem Kupfergehäuse untergebracht. Zugegeben ist für einen RX-Filter der Aufwand enorm, aber im Sendefall treten am Kondensator extrem hohe Spannungen auf, die in diesem Selbstbau als abstimmbare Plattenkapazitäten auch mehr als 300 Watt Sendeleistung vertragen.

Das Filter hat in den -3 dB Punkten eine Bandbreite von etwa 5 MHz, einen Verlust von etwa 1,4 dB und ist abstimmbar von etwa 120 MHz bis 160 MHz.

Hier ein Foto:

Die Maße des Gehäuses (doppelseitig kaschiertes Platinenmaterial) betragen 120x90x50 mm. Die Spulen L1, L2 habe ich aus 4 mm² (2 mm) Kupferdraht geformt und haben einen Abstand von 58 mm (Mitte Spule). Es sind 6 Windungen auf 36 mm Länge zzgl. 15 mm zum Boden und 10 mm zur Kondensatorplatte. Der Durchmesser der Spulen sollte etwa 23 mm betragen. Bei vorigen Versuchen hatte ich größere Durchmesser, kam somit nicht annähernd an 145 MHz heran. Die Kondensatoren sind aus Kupferblech geschnitten und sollten etwa 32 mm im Durchmesser betragen. Damit erhält man jeweils eine regelbare Kapazität zwischen 0,5 und 5 pF. Die Platten sollten rund geschnitten sein. Der Einfachheit halber habe ich sie zunächst quadratisch geschnitten und die Ecken dann diagonal abgetrennt. Nicht ganz sauber, weil es könnten an den Ecken bei hohen Leistungen Überschläge stattfinden. Ich will hier aber vorerst nur empfangen, dafür reicht das.

Die Koaxbuchsen habe ich etwas zu hoch angebracht, sie sollten in etwa 1″ Abstand vom Boden eingesetzt werden. So ist die Ankopplung etwas lang geraten. Direkt nach einer Viertel Windung sitzt die Einspeisung bei gut 50 Ohm. Die Spulen sind gleichsinnig gewickelt, werden aber daher um 180° verdreht eingesetzt. Die Wicklungen beginnen und enden somit auf entgegengesetzten Seiten.

Die Schrauben sind Standard M4x40 mit M4-Muttern.

So verbaut und grob abgeglichen ergibt sich folgende Durchlasskurve im mini-VNA:

Dazu noch die Markerdaten:

Und nun Deckel darauf, neu abgleichen und Einsatz.

 

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:

 

DIY Programmierkabel Yaesu FT-7900

Es ist schon recht mühselig das Yaesu FT-7900 über das Panel zu programmieren. Zugegeben es geht auch, aber über ein Programm ist das wesentlich komfortabler und übersichtlicher. So habe ich mir von G4HFQ ein kleines (aber mächtiges) Programm mit dem Namen FTB7900 für Windows herunter geladen, installiert und gekauft. Diese 15 Euro waren es mir wert.

Das FT-7900 hat an der Rückseite einen 6-poligen Eingang angebracht, über den der Speicherinhalt übertragen werden kann. Außerdem kann hier auch ein TNC angeschlossen werden. Die Belegung dieser Buchse sieht so aus:

6-pin FT-7900

6-pin FT-7900 von der Rückseite betrachtet

Ein altes PS/2-Kabel diente dabei als Grundlage.

6-pin Stecker PS/2

6-pin Stecker PS/2

Für eine Zweidraht-Programmierung des Gerätes benötigt man lediglich den Pin 2 GND und Pin 3 PTT. Ja, richtig, PTT. Hierüber wird die Schnittstelle mit Daten gefüttert, sowohl aus dem Gerät heraus, als auch in das Gerät hinein. Dabei sollte man aber bitte auf die richtigen Pegel achten. Also brauchte ich noch einen RS232-TTL-Konverter.

Fündig wurde ich bei DL8WA, der eine solche Konverter-Schaltung auf seiner Seite veröffentlich hat.

DL8WA 2-wire level converter

DL8WA 2-wire level converter

Diese kleine Schaltung habe ich kurzerhand mit Bauteilen und Kabelresten aus der Kiste auf einer Lochstreifenplatine aufgebaut.

Stückliste

  • D1,D2 = 1N4148 oder 1N4001 oder ähnlich
  • C1 = 4,7µF, 35V
  • T1,T2,T3 = BC546B oder ähnlich
  • R1 = 470 Ohm
  • R2=1 kOhm
  • R4,R6 = 10 kOhm
  • R3,R5 = 100 kOhm
  • D3 = Zener Diode 5,6V
  • P1 = Trimmer 10kOhm
    (So einstellen, dass eine Spannung von 3,3V zwischen Data und GND anliegt, bezogen auf einen nicht angeschlossenen VX-3)

Hier das Ergebnis:

RS232-TTL Konverter nach DL8WA

RS232-TTL Konverter nach DL8WA

Yaesu FT-7900 Programmierkabel

Yaesu FT-7900 Programmierkabel

Nun, schön sieht das Ganze nicht aus, aber es funktioniert hervorragend!

Noch ein Hinweis:
(damit ich das nicht vergesse und hier immer wieder nachschlagen kann)

Um das Yaesu FT-7900 in den Programmiermodus zu versetzen geht man folgendermaßen vor:

  • Taste MHz/PRI gedrückt halten und dabei das Gerät einschalten
  • Mit dem Abstimmknopf die Funktion auf F-7 Clone drehen
  • Taste BAND/SET eine 1/2 Sek. lang drücken Dabei geht das Gerät kurz aus und schaltet sich wieder ein.
  • Zum Empfangen von Daten nun Taste LOW/ACC drücken. Es erscheint — — RX — —
    Software zum Schreiben in das FT-7900 setzen
  • Zum Senden von Daten Taste V/M/MW drücken. Es erscheint — — TX — —
    Software zum Empfang vom FT-7900 setzen
  • Danach FT-7900 ausschalten und wieder normal einschalten

Wenn irgendwas schief geht erscheint ERROR

Mit der selben Prozedur kann man übrigens die Speicher und Konfiguration des Gerätes auf ein anderes FT-7900 klonen.

Nachtrag

Diese erste Schaltung eines anderen OMs hat nicht funktioniert. Die Pegel reichten nicht aus, um annähernd die 3,3V auf TTL zu bringen.

RS232-TTL Konverter nicht brauchbar

RS232-TTL Konverter nicht brauchbar

Konverter für JT65 CSV Logdaten in das ADIF-Format

Offensichtlich besteht momentan noch der Bedarf die Logdaten aus dem JT65 HF Comfort Programm im CSV-Format in das für Amateurfunkzwecke schon fast genormte Format ADIF zu übertragen. Ich habe einige Konvertierungsprogramme ausprobiert, jedoch sind die Bedienungen für nicht Eingeweihte schlecht oder irgendwas anderes funktioniert dann nicht, wie es soll. Download am Ende der Seite. Weiterlesen

Und wieder ein Selbstbau: OSJ-Antenne für 2m/70cm

Ich brauchte noch eine Duoband-Antenne für 2m/70cm. Dabei stieß ich auf die Bauanleitung einer sog. Open-Stub-J-Pole-Antenne für VHF und UHF, also für das 2m- und 70cm-Amateurfunkband.

Die Antenne soll von zwei Geräten gleichzeitig gespeist werden. Deshalb brauche ich noch einen Diplexer, um die Empfänger der Geräte nicht zu zerknuseln. Ich dachte da an mein FDK-Multi 725X und mein Standard Handfunkgerät, das ich zur Zeit als Stationsgerät nutze.

Hier erstmal die Bauanleitung für die OSJ-Antenne

Einfache HF-Rauschbrücke zur Impedanzanalyse (Teil 3)

Hier der dritte Teil des Selbstbaus einer HF Rauschmessbrücke. Soweit erstmal fertig. Das Gehäuse aus Platinenmaterial ist zusammengebaut und darf auch gerne lackiert sein. Auch eine schöne Skala würde gut aussehen. Es fehlt lediglich eine 2,1 mm Hohlbuchse, die ist zur Zeit nicht lieferbar.

HF Rauschbrücke

HF Rauschbrücke

HF Rauschbrücke

HF Rauschbrücke

Schaltungsbeschreibung

Die Schaltung ist relativ einfach und schon vielfach in den letzten Jahrzehnten veröffentlicht. Immer leicht abgewandelt, so hat sie doch vier zentrale Elemente:

  1. Rauschquelle
    Die Zener-Diode hat von Natur aus bereits einen breitbandigen Eigenrauschpegel von etwa 40µV im Bereich von 10 bis 30 MHz, der hier mehrfach verstärkt werden soll.
  2. Verstärkerstufe
    Dieses breitbandige Rauschen wird über einen dreistufigen Verstärker gebildet durch Q1, Q2 und Q3 und seinen einfach dimensionierten Widerständen an den Auskoppeltrafo geführt. Die Hochfrequenz wird durch Koppelkondensatoren zwischen den einzelen Stufen weiter gereicht.
  3. Auskopplung
    Der Auskoppeltrafo Tr1 wurde auf einen Ringkern (eigentlich) trifilar mit 9 Windungen aus 0,5 mm Cu-Lackdraht gewickelt.
    Platine Koppeltrafo Montagehilfe

    Montagehilfe Trafo

    Dabei ist unbedingt auf eine saubere Symmetrie zu achten, damit die Messbrücke später nicht “schielt” und ein sauberes Brückennull erzeugt. Falls man dies im Abgleich später feststellt, so ist der Trafo noch einmal neu zu wickeln. Ich habe die drei Drähte nicht verdrillt, sondern zusammen parallel nebeneinander gewickelt. Dieser Trafo bestimmt auch die Lautstärke des Rauschsignals im Empfänger. Bei mir am Kenwood TS-870S erzeugt diese Schaltung von 160m – 10m fast durchgängig ein Signal von mind. S9+10 bis +40dB. Der Trafo wurde nach einem Vorschlag von Dipl.-Ing. Max Perner, DL7UMO aus einem Artikel der Zeitschrift Funkamateur 8/95 entnommen. Ebenso die kleine Platinenvorlage zum Verbinden der Drahtenden als Montage- und Verdrahtungshilfe. Hier oben im Bild.

  4. Messbrücke
    Um nur den Wirkwiderstand zu ermitteln reicht eigentlich das Potentiometer P1 aus. Um aber auch die Blindwiderstände zu auszuweisen, wurden die Kondensatoren C1 und C2 hinzugefügt. Ich habe sie in Parallelschaltung geschaltet, sie können aber auch genauso gut in Serie geschaltet werden. Dabei ist auf folgendes zu achten:P1 ist so zu wählen, dass 50 Ohm in einem weiten Bereich zu erreichen sind. Hier ist der Vorschlag 100 Ohm. Ich habe aber ein 250 Ohm Poti gewählt, dann kann man auch höhere Wirkwiderstände ermitteln. Mit dem Messobjekt (Antenne) eines 50 Ohm Systems befindet sich dann der Regler bei Brückennull (Rauschminimum) eben auch in der 50 Ohm Stellung. Höhere Werte für das Poti sind nicht zu empfehlen.C2 ist abhängig von C1. Er ist halb so groß, wie der Drehkondensator C1. Ich habe hier einen AM/FM-Drehko von etwa 265pF genommen. Danach habe ich dann den C2 ausgemessen und einen 122pF Keramikkondensator (Aufdruck 150pF) gefunden. Damit bekomme ich dann etwa auf der Hälfte des Regelbereiches die Nullstellung der Kondensatorbrücke.

Schaltplan

HF Rauschmessbrücke Schaltplan

HF Rauschmessbrücke Schaltplan

Das Gerät kann entweder über ein 12V-Netzteil oder einer 9V-Batterie mit Strom versorgt werden.

Abgleich

Der Messeingang ist mit einem 50 Ohm Widerstand kurzzuschließen. In der 50 Ohm-Stellung des Potentiometers R und Mittelstellung des Drehkondensators C ist auf allen Frequenzen ein Rauschminimum zu ermitteln. Hier sollte die Messbrücke im Gleichgewicht sein. Die Skalenwerte habe ich zunächst mit Multimetern ermittelt, grob eingestellt und dann nach obigem Abgleich fixiert. Die Voreinstellung war also schon ganz gut.

Bestimmen der Resonanzfrequenz von (50 Ohm-) Antennen

An der Messbuchse X schließt man nun eine Antenne an. Die Rauschbrücke sollte dabei direkt am Speisepunkt der Antenne angeschlossen werden. Da das in der Praxis in der Regel nicht möglich ist, behilft man sich hier mit einem 50 Ohm-Kabel, das auf der erwarteten Resonanzfrequenz die halben Wellenlänge oder ein Vielfaches davon aufweist. Damit wird dann der Fußpunktwiderstand im Speisepunkt zum anderen Ende des Kabels – meistens im Shack – transportiert.

In der Mittenstellung beider Regler, bzw. dort, wo 50 Ohm Wirkwiderstand R und Stellung 0 des Kondensators C ermittel wurde, wird nun das Rauschminimum im Empfänger ermittelt. Hier befindet sich dann die Resonanzfrequenz der Antenne. Sollte die Resonanzfrequenz nun außerhalb des gewünschten Amateurfunkbandes liegen oder möchte man die Antenne innerhalb eines Bandes auf eine gewünschte Resonanzfrequenz trimmen, so verfährt man wie im nächsten Absatz beschrieben.

Abstimmen von Antennen

Wenn man die Antenne auf eine gewünschte Frequenz abstimmen möchte, so wird der Empfänger auf die gewünschte Frequenz eingedreht. Mit der Rauschbrücke wird nun an beiden Reglern abwechselnd das Rauschminimum eingestellt. Optimalerweise sollte dies die zuvor ermittelte Mittenstellung der Regler sein (R=50, C=0).

Meine Bazooka für das 40m-Band z.B. zeigt am Ende des Kabels (ich weiß gar nicht wie lang es ist) einen Fußpunktwiderstand von 120 Ohm und eine induktive Reaktanz (XL). Dies bedeutet, dass die Antenne nicht gut angekoppelt ist und man könnte überlegen, ob man hier einen 1:2 Balun am Speisepunkt einfügt. Und es bedeutet, dass die Antenne noch zu lang ist. Bei der vorigen Messung habe ich die Resonanzfrequenz bei etwa 6490 kHz ermittelt, anstatt bei 7100 kHz. Natürlich kann ich erst eine sauberere Messung bekommen, wenn ich das Zuleitungskabel auf auf die halbe Wellenlänge getrimmt habe. Das wird auch die erste Aktion sein, sobald die Temperaturen es draußen wieder zulassen.
Erfahrungsgemäß soll ein solcher Dipol frei hängend in etwa ¼λ Höhe gespannt sein. Denn der Fußpunktwiderstand am Speisepunkt beträgt erst in dieser Höhe 50 Ohm. Das kann bei einem 80m-Dipol schon mal 20m sein.

Die Formel hierzu lautet:

\displaystyle \boxed{ L = \frac{150 \cdot V_{k} \cdot n}{f}}

wobei
150 = Wert der Lichtgeschwindigkeit (300) / 2
L = geometrische Länge in Meter [m]
Vk = Verkürzungsfaktor des verwendeten Antennenkabels (RG58, 213 = 0,663)
n = Multiplikator für das Vielfache der halben Wellenlänge
f = Frequenz in Megahertz [MHz]

Besipiel:

L = 150 * 0,663 * 1/ 7,0 = 14,207m
L = 150 * 0,663 * 1/ 7,1 = 14,007m
L = 150 * 0,663 * 1/ 7,2 = 13,813m

Ist diese Länge des Kabels nicht ausreichend, so errechnet man hiervon die Vielfache, um auf die gewünschte Länge zu kommen. Hier also bei 7,1 MHz 28,01m, 42,02m, 56,03m usw. Wenn die minimale Länge des Kabels 60m sein muss, so beträgt das nächste passende Vielfache 70,04m.

Um die Möglichkeit des Kürzens zu berücksichtigen, nimmt man statt des Verkürzungsfaktors von 0,663 einen höheren Wert, z.B. 0,7. Dann kann man immer noch etwas kürzen.

Merke:
C im XL-Bereich (induktive Reaktanz) = Antenne zu lang (L=zu Lang)
C im XC-Bereich (kapazitive Reaktanz) = Antenne zu kurz (C=zu Curz)

Halbwellenkabel

Natürlich kann man das Zuleitungskabel selbst auch mit der Rauschmessbrücke ausmessen und trimmen. Dazu hängt man das vermeintliche Halbwellenstück etwas über dem Boden ausgestreckt auf (ca. 1m) und schließt es am Ende kurz. Man dreht das R auf 0 Ohm, C in die 0-Stellung, und den Empfänger auf die zu erwartende Frequenz. Nun dreht man C solange, bis am Empfänger das Rauschen auf Minimum springt. Achtung, das Rauschminimum kann hier sehr schmal sein, vielleicht nur wenige 10 Hz.

Viertelwellenkabel

Man verfährt hier genauso, wie mit dem Ausmessen des Halbwellenkabels, jedoch lässt man hier das Ende offen und erhält somit Rauschminimum. In die Formel ist dann für die Lichtgeschwindigkeit der Wert 75 statt 150 einzusetzen.

Weitere Einsatzmöglichkeiten (nach DH3KH)

  • Messung von Schwingkreisen und somit
    • Berechnung von unbekannter Induktivität L (bei bekanntem C)
    • Berechnung von unbekannter Kapazität C (bei bekanntem L)
  • Messung von Anpassgliedern auch Matchbox-Tuning
  • Messung von Eingangswiderständen über den Messbereich der Rauschbrücke hinaus durch Kunstgriff möglich, z.B. über Lambda/4 Leitung oder zusätzlichem Ohmschen Widerstand, siehe hierzu Rothammel Anwendungsbeispiele Antennaskop.
  • Messung des Wellenwiderstandes von Speiseleitungen.

Abschließend

NIE die Sendetaste drücken, solange die Rauschbrücke am Antenneneingang angeschlossen ist. Dies führt unweigerlich zur Zerstörung der Rauschbrücke und ist für den Sender ebenfalls nicht gesund!

nach vorn zu Teil 1 zurück zu Teil 2