Die Bedienung
... beschränkt sich im Normalfall auf das Einschalten.
Bei vorhandener Versorgungsspannung zeigt der rot leuchtende
Einschalter an, dass sich das Gerät im Standby befindet. Nach dem
Einschalten erlicht der Einschalter.
Kurz nach dem Einschalten wird für ca. drei Sekunden die Firmware-Version angezeigt und ein Farbwechsel des Displays durchgeführt.
Das Gerät erkennt, ob auf dem PC ein CAT-fähiges Programm läuft, oder ob es selbst die CAT Requests erzeugen muss. Die Auswahl der Antenne erfolgt entsprechende dem am FTDX1200
eingestellten Sendeband. Sind mehr als eine Antenne für ein Band verfügbar, so wird die definierte Standardauswahl genutzt (orange LED). Alternativ für dieses Band verfügbare Antennen (grüne LED)
können per Tastendruck gewählt werden.
Die Anzeige ist wie folgt aufgebaut:
Band:
Es wird das aktuelle Sende-Band angezeigt.
Antenn.Name
Hier wird die bis zu 11-stellige Bezeichnung der Antenne über die gesendet wird oder ERROR! angezeigt.
MODE
An dieser Stelle wird entweder AUTO oder PC-> angezeigt.
SPEC
An dieser Stelle wird entweder MAN! oder [SD] angezeigt.
*** Funktionsmodi ***
AUTO
Der Controller erzeugt die CAT Requests. Es
ist keine externe "CAT request" Quelle in Betrieb, also auf dem PC
läuft kein Programm (WSJT-X, JTDX, HRD, etc. ) oder der PC ist
ausgeschaltet.
PC->
WSJT-X,
JTDX, HRD oder ein anderes Programm erzeugt die CAT requests und der
Controller wertet diese bzw. die Antworten des Trx aus.
ERROR (Display rot)
Ein
Fehlerzustand: der Trx ist nicht eingeschaltet oder es ist eine
Sendefrequenz gewählt, für die keine Antenne im System hinterlegt wurde.
MAN (Display magenta)
Alle
Antennen können manuell über die Tasten ausgewählt werden, unabhängig
davon, ob sie für die Sendefrequenz geeignet sind. Dies ist z.B. beim
Testen von neuen Antennen sinnvoll, wenn man noch keine Konfiguration im
System hinterlegt hat.
[SD]
Zum Aktualisieren der Antennenkonfiguration werden die Daten via SD-Karte übertragen. Die SD-Karte wird vor dem Einschalten des Gerätes eingelegt. Nach dem Einschalten erscheint dann [SD] im Display. Ein Druck auf die F-Taste bestätigt, dass die Daten von der SD-Karte übernommen werden sollen. Eine Prüfung, ob die Daten der SD-Karte Unterschiede zu den bereits eingespielten Daten aufweisen, erfogt nicht.
*** Antennenauswahl ***
AUTO und PC Mode
Die aktive Antenne wird im Display angezeigt und die zugehörige Taste durch die orange leuchtende LED markiert. Eine grüne LED zeigt alternativ wählbare Antennen an.
Durch Druck auf die entsprechende Taste wird diese Antenne aktiviert.
Während des Sendens leuchtet die LED rot.
Achtung: während des Sendens ist keine Neuwahl von Antennen möglich.
Manueller Mode
Durch Betätigen der F-Taste wird der manuelle Modus aktiviert. Der Display-Hintergrund leuchtet nun magentafarben.
Jede Antenne kann nun per Tastendruck ausgewählt werden.
Z.B. kann Antenne 5 zum Testen ausgewählt werden:
Durch erneuetes Betätigen der F-Taste wird der manuelle Modus beendet. Und die Standard-Antenne für das aktuelle Band wieder aktiviert.
[Automatischer Antennenschalter, Teil 5]
Das Gehäuse
Nach einer ausreichend langen Testphase und Designüberlegungen, folgte der Einbau der Komponenten in ein Gehäuse.
Ein Kühlrippengehäuse von Proma, mit den Maßen 168 x 110 x 80mm bot ausreichend Platz zum Unterbringen der Bedienteile und der Anschlüsse.
Die Frontplatte:
Als Designelement und zum Abdecken des wenig schönen Displaygehäuses, erhielt die Frontplatte eine 3D-gedruckte Blende aus PLA. Auch eine Halterung für die Frontplatine ist per 3D-Druck entstanden, um unschöne Verschraubungen mit der Frontplatte zu umgehen.
Der Platinenausschnitt für den SD-Kartenslot wird nicht mehr benötigt.
Die Rückseite:
Der SD-Karten Slot ist von der Vorderseite auf die Rückseite gewandert. Damit die SD-Karte leichter einzuführen ist, habe ich den Slot mit einer Blende versehen (auch aus dem 3D-Drucker). Auch der Abstandhalter des SD-Kartenmoduls wurde ausgedruckt. Damit wurde das Modul an der Seitenwand der Oberschale verschraubt.
Für die Steckverbindungen der Steuerleitungen und der Stromversorgung habe ich auf verschraubbare Verbinder gesetzt, um ein unbeabsichtigtes Lösen zu verhindern.
Die Hauptplatine wurde in die Führungsschinen der Gehäuseunterschale eingelegt und mit zwei M3 Schraube so fixiert, dass sie bündig mit der Schalenkante abschloss. Die USB Buchse des Arduino steht etwas darüber hinaus ud findet in einer entsprechenden Öffnung der rückseitigen Anschlussplatte Platz.
Es folgte die Verkabelung mit Dupont-Steckverbindern.
Ein abschließender Funktionstest, vor dem Verschrauben des Gehäuses.
Die Verkabelung an der Rückseite:
Ready, ...
... steady, ...
...go!
Noch ein kurzes Update der Antennendaten per SD-Karte, um die Testdaten durch die Realität zu ersetzen und nun ist der Automatische Antennenumschalter im Einsatz.
Foto: Vergleich manueller Umschalter vs. automatischem Umschalter
[Teil 4: Bedienungsanleitung]
.
Ich
habe das System auf zwei Platinen verteilt, das Controller Board und
das Front-Board. Das Front-Board enthält alle Bedienelemente, das Display
und - obwohl nicht auf dem Board platziert - das SD-Card Modul.
Zusammenfassend: alles was über die Frontplatte zugänglich ist.
Ein erster Entwurf für die Platzierung der Bauteile:
Als
Display verwende ich jedoch ein Dot-Matrix LCD Display mit 2x16 Zeichen und
RGB Hintergrundbeleuchtung von Adafruit. Dadurch erübrigen sich die beiden LEDs links neben dem Display.
Bis auf zwei zusätzliche Pins
ist die Pin-Belegung nahezu identisch mit den üblichen einfarbig
hintergrundbeleuchteten Displays, so dass ein Austausch jederzeit
möglich wäre. Die RGB-Beleuchtung hat den Charme, unterschiedliche
Betriebszustände so sichtbar zu machen, dass man sie auch aus den
Augenwinkeln erkennen kann.
Das Display wird mittels eines TWI Moduls angesteuert.
TWI = Two-Wire-Interface (oder I2C = Inter-Integrated Circuit)
Auch die Tasten und die 2-farbigen LEDs werden mit dem TWI verbunden. Dazu verwende ich einen MCP23017-E/SO 16-Bit I/O-Expander.
Das SD-Card-Modul wird via SPI mit dem Controller verbunden.
SPI = Serial Peripheral Interface
Ich habe mich für eine SD-Card im Normalformat entschieden. Micro-SD ist mir in der Handhabung zu fummelig. Die Konfigurationsdateien sind nur wenige Kilobyte groß. Die Speicherkapazität gebräuchlicher SD-Karten wird dadurch also nicht erschöpft.
Apropos fummelig:
Der MCP23017-E/SO hat ein 28-poliges SOIC Gehäuse, also ein SMD. Ebenso habe ich mich entschlossen, alle Widerstände und Kondensatoren als SMD auf die Leiterbahnseite zu montieren. Durch die Schalter, LEDs und das Display ist der Platz auf der Oberseite der Platine sehr begrenzt. Eine Hybridbestückung schuf Abhilfe.
Die Schaltung
Das Board
Maße: 68 mm x 100 mm
SD ist hier ein "Platzhalter" für einen Ausschnitt aus der Platine, in den das SD-Card-Modul eingefügt wird, und zwar im 90°-Winkel, an der Seitenwand des Gehäuses befestigt. Der Kreis daneben wird eine Bohrung für den Ein-Schalter, der leider tiefer ist, als der Abstand der Platine zur Frontplatte.
Bauteilliste:
Der Aufbau
Das Layout stammt noch von einer Vorversion und stimmt nicht zu 100% mit der oben dargestellten Version überein. Manche Fehler fallen erst beim Aufbauen auf. So fehlt JP6 für die Spannungsversorgung des SD-Card-Moduls - nicht notwendig, aber sinnvoll.
R11, der Pull-Up-Widerstand für den RESET-Pin des MCP23017, hatte ich schlicht vergessen und nachträglich aufgelötet.
Das TWI-Modul des Displays habe ich nicht direkt verlötet. Eine abgewinkelte Buchsenleiste lässt sich problemlos auf die Pads auflöten. Das Modul wird somit steckbar.
Eigentlich sind diese Module dafür gedacht, sie direkt von hinten mit dem Display zu verlöten. Da mein Display aber schon mit einer Stiftleiste bestückt war, hätte ich diese dazu entlöten müssen. Die Aufsteckvariante gefiel mir besser und brachte mehr verfügbare Bestückungsfläche auf der Platinenunterseite.
Verbindungen:
Funktionstest:
Die Firmware benötigte noch geringfügige Anpassungen und läuft nun.
Z.B. könnten für das 20m-Band die Antennen 3-5 genutzt werden. Vorgegeben und automatisch ausgewählt wird Antenne 3 (Dipol 20), erkennbar auch an der gelben LED. Die grünen LEDs zeigen an, welche Antennen für das 20m-Band noch in Frage kämen. Diese können dann durch Tastendruck ausgewählt werden.
Bis hierhin funktioniert es technisch schon mal. Als nächstes erfolgt der Einbau in ein Gehäuse und die Verkabelung mit den externen Steckverbindern. Eine Programmbeschreibung folgt.
[Teil 3...]
Bisher musste ich die Antennenauswahl via Fernumschalter manuell durchführen. Dabei ist es jedoch nicht selten passiert, dass ich die falsche Antenne gewählt habe, oder einfach bei Bandwechsel den Antennenwechsel vergaß.
Die Folgen: hohes SWR und vor allem wenig abgestrahlte Leistung, da der Wirkungsgrad der "falschen" Antenne gering ist. Und so wundert man sich, dass keine Verbindungen zustande kommen, bis der Blick auf den Antennenwahlschalter fällt.
Ein automatischer Antennenumschalter (Controller) ist die Lösung, denn die Informationen, um die richtige Antenne zu wählen, liefert mein Sender - YAESU FTDX1200 - über die CAT-Schnittstelle.
CAT = Computer Aided Transceiver
... ist ein Kommunikationsprotokoll auf Basis des seriellen RS232 Übertragungsverfahrens. Alle Parameter, die via CAT abgefragt oder konfiguriert werden können, sind im FTDX1200 CAT Operations Manual dokumentiert.
Anforderungen:
- passend zur Außeneinheit des Fernumschalters: mindestens 5 Antennen schaltbar
- galvanische Trennung zwischen Transceiver und Controller
- Betriebsspannung 13,8 V DC
- Anzeige der aktuellen Bandes und der genutzten Antenne
- Anzeige alternativer Antennen
- Anzeige Sende-Status
- Verriegelung während des Sendens (keine Umschaltung möglich)
- Konfigurationsmöglichkeit
- Beibehaltung der Konfiguration nach Abschaltung
- Transparente Durchleitung der CAT Kommunikation
System-Design:
Der Controller wird in die CAT-Verbindung zwischen FTDX1200 und PC
geschaltet. Findet eine CAT-Kommunikation zwischen PC und FTDX1200
statt, z.B. weil ein FT8-Programm läuft, soll der Controller diese
Kommunikation "belauschen". Ist der PC nicht aktiv, muss der Controller
selbst aktiv werden und passende CAT Requests an den Transceiver
schicken.
Kern des Controllers ist ein Mikrocontroller, hier in Form eines fertigen Arduino-Boards, des Arduino Nano Every. Dazu später mehr.
Die RS232-Signale werden durch Wandler in TTL-Spannungspegel umgesetzt, damit der Mikrocontroller sie verarbeiten kann. Eine galvanische Trennung ist bei TTL mittels Optokopplern einfach zu realisieren. Die Stromversorgung wird mit einem DC-DC Wandler entkoppelt. Während der Mikrocontroller und seine Peripherie mit +5V versorgt werden, soll die Schaltstufe 13,8 V und 160 mA liefern, um die Relais in der Ausseneinheit zuverlässig anzusprechen.
Soweit die Theorie. Ein erster Test sollte zeigen, ob und wie sich die CAT-Kommunikation auswerten lässt, um auf dieser Basis eine Entscheidung zur Antennenwahl zu treffen.
Da mir nur ein FTDX1200 zur Verfügung steht, beschränkt sich die Auswertung auf dessen CAT Befehlssatz. Die Befehlssätze anderer Geräten unterscheiden sich vermutlich etwas.
Bei der Kommunikation mit PC-Programmen habe ich mich auf Ham Radio Deluxe 5.24.0.38, JTDX v2.1.0-rc141 und WSJT-X v2.1.0 beschränkt. Andere Programme kommen bei mir derzeit nicht zum Einsatz.
Die CAT-Auswertung beinhaltet nur die Sendefrequenz, die in den Kommandos FA, FB oder IF enthalten ist, abhängig davon welches Programm läuft, bzw. ob der FTDX normalen oder Split-Betrieb macht. Dies genügt, um das gewählte Band zu erkennen und eine Entscheidung für die Antennenauswahl zu treffen. Ob Split-Betrieb vorliegt, kann man mit dem TX Kommando abfragen.
Bei der Auswertung des Kommunikationsprotokolls ist ein Saleae Logic Analyzer hilfreich. Hier die Darstellung eines CAT-Requests vom Controller und die Antwort des FTDX:
Ein weiteres unentbehrliches Werkzeug ist ein Jumperboard zum Auftrennen und Messen der RS232 Signalleitungen.
Die Flachbandkabel sind mit einem Sub-D Stecker (X1) auf der einen Seite und einer Sub-D Buchse (X2) auf der anderen Seite abgeschlossen. An die Pins von JP1 und JP3 kann z.B. der Logic Analyzer angeschlossen werden.
Bei JP2 wird die Verbindung der Leitungen mit Jumper hergestellt oder bei Bedarf getrennt.
Die Controller-Schaltung
Der Signalpfad von links nach rechts:
Die Signale TX (gelb) und CTS (orange) werden von der CAT-Schnittstelle
des FTDX1200 gesendet, RX (grün) und RTS (violett) empfangen. Jeweils
ein MAX232N (IC1 und IC2) wandelt FTDX-seitig und PC-seitig das
RS232-Signal in ein TTL-Signal um. Die Optokoppler OK2...OK5 sorgen für
die galvanische Trennung zwischen PC und FTDX. Dazu ist jedoch auch
erforderlich, dass die Spannungsversorgung getrennt wird. Dies übernimmt
der DC-DC Wandler V2, ein TME0505S von Traco Power.
An
der Tuner-Buchse des FTDX kann das Signal TX_GND (blau) abgegriffen
werden. Wenn der FTDX sendet, wird der Pegel von TX_GND gegen GND
gezogen, also LOW-Pegel. Sendet er nicht, so erhält TX_GND über R3 als
Pull-Up-Widerstand (HIGH-Pegel). Die Trennung erfolgt über OK1.
Die Auswertung der Signale erfolgt durch den Mikrocontroller.
Der
Mikrocontroller (oben rechts im Gesamtschaltplan) schaltet entsprechend
der Antennenkonfiguration die Relais K2...K6. Relais K1 schaltet das TX
Signal im PC Mode zum PC durch. Dies und die Dioden D1...D3 verhindern,
dass die Interfaces des Mikrocontrollers und des PCs sich gegenseitig
die Ausgabe-Pegel von HIGH auf LOW ziehen.
Die
Verbindung zum Frontpanel erfolgt via TWI-Schnittstelle (I2C). Parallel
dazu verlaufen Leitungen für die Display-Beleuchtung und für ein SD-Card Modul.
Via SD-Card ist das Anpassen der Antennenkonfiguration möglich.
Die Relaiskontakte von K2...K6 schalten 13,8 V zur Außeneinheit durch. Ein TMR1211 von Traco Power trennt die 13,8 V galvanisch und transformiert sie auf +5 V zur Versorgung der Controller-Schaltung.
Das Controller-Board
Maße: 83 mm x 100 mm
Bauteilliste
Auf R1 und JP4 habe ich bei der ersten Bestückung verzichtet. Mit diesen Bauteilen könnte ein Standby implementiert werden, was ich vorerst nicht brauche.
Arduino Nano Every
Die ersten Versuche habe ich mit einem Arduino Uno und einem Arduino Mega 2560 durchgeführt. Ursprünglich wollte ich nur einen ATmega328P-PU einzusetzen. Der Platzbedarf ist jedoch unwesentlich geringer, als bei einem Arduino Nano Modul. Die Wahl fiel letztendlich auf den Arduino Nano Every, der den gleichen Footprint wie der Nano hat. Der Hauptgrund für die Wahl war der Speicher.
Die ersten Programmentwürfe mit EEPROM Speicherung ließen erkennen, dass besonders der SRAM beim Nano knapp werden könnte. Zusäzlich erlaubt der Nano Every die Nutzung von A6 und A7 als digitale Ausgänge, was ein gefälligeres Board-Design ermöglichte.
Die fertige Platine, ...
... deren Test ...
... und eine erste Idee, wie die Frontplatte aussehen könnte.
Doch vorerst ist es noch nicht soweit. Die Firmware läuft zwar schon mit allen Wunsch-Features, die Tests sind jedoch noch nicht abgeschlossen.
Und manchmal plagt mich noch die ein oder andere "dumme Idee", die evtl. Auswirkungen auf das Frontplatten-Design haben könnte. Die muss dann natürlich erst implementiert, getestet und verworfen werden. ;-)
[Teil 2 ...]