Hallo zur Webseite von
DL1DMW





Kabellos zum FT857:
CAT-Interface einmal anders

Die Steuerung des Funkgerätes über einen PC wird üblicherweise durch ein Interface realisiert, welches eine Kabelverbindung zwischen PC und Funkgerät voraussetzt. Die hier vorgestellt Lösung geht den kabellosen Weg und erspart das Kabel und folglich eine Masseverbindung am Beispiel eines Yaesu 857. Mit kleinen Änderungen kann man diese Bastelei auf andere Transceiver adaptieren.


<- Bild 1: Die Prototypen der Sender (links) wird per USB-Kabel mit dem PC verbunden, der Empfänger rechts wird an die CAT-Buchse des TRX angeschlossen. Der Aufbau auf zwei kleinen Lochrasterplatinen ist unkritisch, die Zahl der zu legenden Verbindungen übersichtlich.


Die Situation im eigenen Shack ist geprägt durch eine zu große Zahl von Kabeln, die sich auf dem Stationstisch, der Lötecke und den Messgeräten sowohl auf, wie auch unter dem Tisch verteilen. Jetzt sollte zusätzlich der PC das Funkgerät steuern, doch für noch ein weiteres Kabel konnte ich mich nicht erwärmen. Da bereits einige Erfahrung mit von Mikroprozessoren gesteuerte Funkmodule vorhanden war, wie sie bei den Basteleien im Bereich des Internet of Things (IoT) genutzt werden, stand fest: Die CAT-Steuerung des TRX sollte kabellos erfolgen.
Funkmodule sind für verschiedenste Frequenzbereiche erhältlich: 433-m-Module sind dem 70-cm-Band sehr nahe bzw. liegen mitten im Amateurfunkband. Sie kommen nicht infrage, soll das Band doch nicht belegt oder gar gestört werden. Auch bei 2,4 GHz gibt es Afu-Frequenzen (13-cm-Band), und auch dieses Band soll für den Amateurfunk frei von lokalen „Störungen“ bleiben. Daher bietet sich das 868-MHz-ISM-Band an, dass keine Konflikte mit den Amateurfunkfrequenzen erwarten lässt. Zudem soll die Sendeleistung nur sehr wenige mW betragen.

Die Bastelei besteht dem zufolge aus zwei Komponenten: Einem über USP mit Spannung versorgten Sendermodul, welches die vom CAT-Programm und für das Funkgerät bestimmten Kommandos über 868-MHz versendet. Eine weitere Aufgabe der am PC betriebenen Komponente besteht darin, die vom TRX via Funk übermittelten Antworten zu empfangen und an die CAT-Software weiter zu leiten.
Die zweite Komponente ist über wenige Leitungen mit der CAT-Buchse des Transceivers verbunden und empfängt über Funk die vom PC eintreffenden Kommandos, welche seriell an das Funkgerät weiter gereicht werden. Antworten auf Kommandos gelangen von der CAT-Buchse seriell auf das Funkmodul zur Aussendung. Diese Komponente, die direkt mit dem TRX verbunden ist, wird mit 13,8V aus der CAT-Buchse versorgt.


Die Hardware

Man könnte nun der Ansicht sein, es reicht aus, ein 868-MHz-Funkmodul direkt an die USB-Buchse zu klemmen und zu senden. Leider ist das nicht der Fall: die hier verwendeten RF-Hope RFM95W-Module werden per SPI angesprochen und sind dazu ausgelegt, über je einen Mikroprozessor angesprochen zu werden. Diese Controller übernehmen auf beiden Komponenten die Steuerung, sorgen für die „richtige“ Sendefrequenz und Sendeleistung.
Praktisch sind die Arduino-Platinen, hier insbesondere der Arduino NANO. Auf diesen werkelt der ATMega328P, der alle Voraussetzungen für diese Aufgabe bestens erfüllt: Der Prozessor besitzt intern ein SPI-Interface für die Kommunikation mit dem RFM95W-Transceivermodul und eine serielle Schnittstelle (UART), um an das Funkgerät und den PC Befehle zu senden und Informationen zu empfangen.

Da der Arduino NANO – in der hier verwendeten Version – mit 5V Spannung betrieben wird, das 868-MHz-Funkmodul jedoch nur 3,3Volt verträgt, realisiert ein Level-Shifter die „Spannungsbrücke“ zwischen diesen beiden Welten. Das Blockschaltbild beider Komponenten sieht dann so aus:

Bild 2: Blockschaltbild der Komponenten Sender (oben) und des Empfängers (unten). Beide basieren auf einem Arduino NANO oder einer deren Klons.


Das Blockschaltbild verdeutlicht den – simplen - Datenfluss zwischen den einzelnen Teilen jeder Schaltung. Das Mikrofon symbolisiert hier das Funkgerät. Zwischen Prozessor und Funkmodul sind (mit dem Level-Shifter in der Mitte) folgende Leitungen zu verlegen:

Tabelle 1: Verbindungen zwischen NANO und Funkmodul
Arduino NANO
RF Hope RFM95W
GND
GND
3V3
3V3
D2/INT0
DIO0
D10/SS
NSS
D13/SCK
SCK
D11/MOSI
MOSI
D12/MISO
MISO


Eine Angabe wie D13 etc. bezeichnet die Arduino Pinnummer 13 – oder – wie auf vielen Arduino-Klons aufgedruckt, den Pin D13. Der Levelshifter in der Mitte zwischen Funkmodul und NANO wird in der Regel auf der einen Seite (zum NANO) mit 5V beschaltet, zum Funkmodul hin mit 3,3V. Ich verwende gern die praktischen Levelshifter-Module von [1]. Sie sind fertig montiert und bietet vier, fünf oder sechs einzelne Levelshifter auf einer kleinen Platine.

Wichtiger Hinweis: Einige NANO-Klons anderer Hersteller als Arduino sind wahlweise für 5V oder 3,3V beziehbar. Bei einem 3,3V-NANO kann der Levelshifter selbstverständlich entfallen.

Die Verbindungen zwischen Funkgerät (CAT-Buchse) und der Platine sind folgende:

Tabelle 2: Verbindungen zwischen Cat-Buchse und Platine
CAT-Buchse
Platine
TxD (Tx)
RxD an Arduino NANO
RxD (Rx)
TxD an Arduino NANO
13,8V
an Eingang Spannungsregler 7805
GND
GND



Gehäuse

In einer durch eigene HF geprägten Umgebung gehören beide Komponenten in je ein geerdetes Metallgehäuse mit einer kleinen Durchführung für den Antennendraht von 8,6 cm. Eine gute Abschirmung sei auch für die Verbindung zwischen CAT-Stecker und der Empfängerplatine empfohlen - diese sollte mit GND des TRX verbunden sein.


Die Software

Die Software ist der „Vermittler“ der Kommandos zwischen serieller Schnittstelle (USB bzw. CAT-Buchse) und dem Funkmodul. Es gibt zwei Arduino-Sketche (Programme), in dem Sketch mit der Bezeichnung FT857_Wireless_CAT_RFM95_PC ist das Programm für die Komponente abgelegt, die am PC angeschlossen wird. Der Sketch FT857_Wireless_CAT_RFM95_TRX ist für die Platine bestimmt, die an Transceiver angeschlossen wird. Auf beiden Komponenten ist die Aufgabe etwa gleich: Sie stellt die Frequenz des Funkmoduls auf 896,350 MHz ein und justiert die Sendeleistung auf ein sehr geringes Maß, da nur wenige Zentimeter oder Meter zu überbrücken sind. Die Software stützt sich dabei auf die Programmbibliothek Radiohead [2] von AirSpayce Pty Ltd aus Australien, das den Programmierern kostenlos zur Verfügung gestellt wird und zahlreiche Funkmodule verschiedenster Frequenzbereiche hervorragend unterstützt sowie deren Umgang sehr einfach gestaltet. In dieser Anwendung werden nur die Basisfunktionen verwendet: das Senden und Empfangen von Datenpaketen.


Bild 3: FTBCAT steuert den Yaesu FT857. Bei geringster Sendeleistung der 868-MHz-Funkmodule funktioniert die Verbindung zwischen PC und TRX über einige Meter hervorragend.


Betrachten wir die Komponente, die am PC über USB angeschlossen wird: Sie wartet auf CAT-Befehle einer CAT-Software wie Ham Radio Deluxe oder beispielsweise FTBCAT. Wurden Bytes empfangen, werden diese umgehend in ein Datenpaket verpackt und ausgesendet. Die Komponente, die am TRX angeschlossen ist, wartet auf eingehende Daten, kommen diese, sammelt das Funkmodul 50 ms lang das Datenpaket und leitet die per 868-MHz empfangenen Bytes an das Funkgerät weiter. Die Baudrate auf beiden Modulen beträgt 38400 Baud bei einem Datenformat nach 8 Bits, keine Parität, 2 Stopp-Bits (8N2), wie es Yaesu für seine Funkgeräte definiert hat.
Die Software für beide Komponenten wurde mit der Arduino Entwicklungsumgebung (Arduino-IDE) geschrieben und beide Sketche sind auf der Heft-DVD im Ordner \Artikel\FT857Wireless abgelegt. Dazu gehört auch die Programmbibliothek Radiohead, die Sie in den Ordner Libraries ihrer Arduino-Installation unter Dokumente\Arduino\libraries kopieren.


Der Transceiver

Neben dem hier als Beispiel verwendeten FT857 passt diese Bastelei für Yaesu-TRX mit demselben CAT-Befehlssatz, dazu gehören z. B. der FT817, FT818NB und der FT897 und weitere. Im Menü des TRX sind im Menü 19 als Baudrate 38400 und im Menü 20 die Funktion der CAT/LIN-Buchse auf CAT einzustellen (Angaben aus Manual des FT857).


Andere Transceiver

Für andere Transceiver (z.B. von Kenwood) muss die Anbindung an den Transceiver angepasst werden. Manche besitzen eine RS232-Schnittstelle mit Pegeln von +15/-15V. Hier muss ein Pegelwandler die geringen Spannungen von RxD und TxD des NANO auf die RS232-Spannungen transformiert werden, beispielsweise mit einem IC Max232. Andere Transceiver bietet eine serielle TTL-Schnittstelle – da der NANO mit 5V arbeitet, ist in diesem Fall keine Anpassung nötig.
Eventuell muss die Baudrate der seriellen Schnittstelle in Richtung Transceiver angepasst werden. In dem Sketch FT857_Wireless_CAT_RFM95_TRX finden Sie folgende Zeilen:

while (!Serial);
Serial.begin(38400, SERIAL_8N2);

Hier wird die Baudrate auf 38400 eingestellt. Andern Sie den Wert, beispielsweise auf 9600 Baud, wenn Sie ihr Funkgerät auf diese Baudrate eingestellt haben. Möchten Sie auf einer anderen Frequenz funken, ändern Sie in beiden Sketches die folgende Zeile:

#define RF95_FREQ 869.350

Beispielsweise in

#define RF95_FREQ 871.000

Bei der Festlegung der Sendefrequenz sind allerdings die gesetzlichen Vorgaben zu beachten: Das 868-MHz-ISM-Band ist in verschiedene Bereiche eingeteilt, deren Kanalraster, zeitliche Belegung und maximale zulässige Sendeleistung unterschiedlich reglementiert sind. Für die Frequenzen zwischen 869,3 und 869.4 MHz gibt es keine zeitliche Begrenzung und kein Kanalraster, jedoch eine Restriktion auf eine max. Sendeleistung von 10 mW. Damit können wir gut leben, da wir nur wenige Meter überbrücken möchten und mit geringster Sendeleistung der Funkmodule auskommen. Folglich wurde die Frequenz 869,350 MHz gewählt. Die Belegung der Frequenz ist stark vom verwendeten PC-Programm abhängig. Bei einigen Programmen lässt sich das Intervall, in dem die Informationen zwischen Funkgerät und PC ausgetauscht werden, einstellen.

Möchten Sie die Sendeleistung beider Komponenten erhöhen, etwa, weil zwischen TRX und steuerndem PC eine größere Distanz besteht, ändern Sie diese Zeile in beiden Sketches:

rf95.setTxPower(5, false);

Gültige Werte für die Sendeleistung sind fünf bis dreizehn. Fünf dBm entsprechen etwa 3 mW, dreizehn dBm bedeuten 20 mW. Funkmodule mit Power-Booster lassen sich auf dem maximalen Wert von 23 justieren, was einer Sendeleistung von 200 mW entspricht. Sorgen Sie in eigenem Interesse jedoch für eine möglichst geringe Sendeleistung beider Funkmodule.

Bild 4: Grig von Alexandru Csete, OZ9AEC, bietet Basisfunktionen zur Steuerung des FT857. Das Programm für Linux und Windows bedient sich zur Steuerung der Hamlib.


Die PC-Programme

Beide Platinen wurden am FT857 getestet. Mit Ham Radio Deluxe und FTBCAT als Windows-Anwendungen arbeitet das Wireless-CAT-Interface prima zusammen. Der FT817-Commander erkennt den virtuellen COM-Port des Arduino NANO nicht und bricht mit einer Fehlermeldung ab, obwohl der COM-Port korrekt in Windows eingetragen ist. Das kleine Programm Grig.exe [3] in der Windows-Version diente als Beispiel für alle CAT-Programme, die auf die bekannte Hamlib aufbauen. Damit lief dieses CAT-Interface auf Anhieb.

Die Arduino-Software für die Sender- und Empfänger sowie die benutzten Libraries finden Sie unten zum Download.

Literatur/Verweise:
[1] Bezug Levelshifter (z.B.): Watterott.com
[2] Radiohead-Lib für Arduino:
https://www.airspayce.com/mikem/arduino/RadioHead/
[3] Homepage Grig:
http://groundstation.sourceforge.net/grig/


Download der Datei ft857_wireless_cat.zip



Mehr Zeugs
  • Schaun mer mal
  • Moin
  • Bast scho

Hier gibt es was zu lesen

Adresse etc.

  • Op: Michael, DL1DMW
  • ITU Region 1, Zone 14, DL, JO41CO
  • Bad Sassendorf
  • NRW / Germany