DL5BO

Ham Radio, Amateurfunk aus JO43BJ

9700 PTT-Selektor

For a translation into English click HERE.

Diese Seite in ein PDF verwandeln, kann man HIER.

Einführung

Der Icom 9700 ist ein tolles Gerät. Gemessen an seinem Funktionsumfang und der verwendeten Technologie ist es zudem auch seinen Preis wert. Aber wie heißt es noch so schön, es gibt nichts, was sich nicht noch verbessern ließe.

Bei einigen Dingen fragt man sich tatsächlich, ob bei der Auslegung des Gerätes Funkamateure zugegen waren. So ist es für mich unverständlich, warum ein reines UKW-Gerät mit drei Frequenzbändern nur über einen PTT-Ausgang verfügt. Jedes Frequenzband hat seinen eigenen Antennenausgang und Multibandendstufen sind, anders als bei der Kurzwelle, eher unüblich.

Ein weiteres Manko, dass aber alle mir bekannten UKW-Allmode Geräte haben, ist der fehlende zweite Antennenanschluss. Für FM und DV z.B. benötigt man in der Regel eine vertikale Antenne, während für SSB oder RTTY meistens eine Antenne mit horizontaler Polarisation verwendet wird.

Natürlich kann man dazu einen externen Umschalter verwenden, aber wenn der bei den Antennen sitzen soll? Mir ginge es aber in erster Linie um Komfort. Wäre doch nett, wenn das von selbst ginge.

Da der Selektor auch mit anderen Sendeempfängern, wie z.B. IC-7000 oder IC-7100, betrieben werden kann, wird für den Betrieb mit einem IC-9700 ein optionaler Aktiv-Modus geboten. Auf diese Option wird im Folgenden immer wieder mal hingewiesen. Dieser passt besser und auch nur zum IC-9700 mit seinen zwei aktiven VFOs.

Was er kann

Das hier hinterlegte Programm versetzt einen Mikrocontroller in die Lage, anhand von Datenpaketen, die über CI-V übertragen werden, die eingestellte Frequenz und Modulationsart zu bestimmen.

Der Mikrocontroller lauscht im Universal-Modus passiv auf dem Bus. Er versendet von sich aus keine Kommandos. Das hat den Vorteil, dass die eingestellte CI-V Adresse des Sendeempfängers keine Rolle spielt. Was auch bedeutet, dass das Gerät nicht einmal ein IC-9700 sein muss.

Flexibler geht es nicht.

Kommen nun Datenpakete vorbei, die eine Frequenz beinhalten, werden diese ausgewertet und ein Ausgang, der zu den Frequenzbändern 2m, 70cm oder 23cm zugeordnet ist, auf HIGH (ca. 5V) gesetzt.

Empfängt der Mikrocontroller ein Datenpaket, dass eine Modulation beinhaltet, die üblicherweise in horizontaler Polarisation verwendet wird, schaltet je ein anderer, dem Frequenzband zugeordneter Ausgang auf HIGH. Mit diesem ließe sich z.B. ein Koaxrelais steuern, mit dem dann eine andere Antenne gewählt werden würde.

Die Betriebsarten, die diese zusätzlichen Ausgänge aktivieren, sind:
LSB, USB, AM, CW, R-CW, RTTY, R-RTTY, und PSK.
Die dazugehörigen Kontakte werden im Folgenden ‚SSB‘ gennant.

Um anzuzeigen, welches Frequenzband der Mikrocontroller erkannt hat, sind drei weitere Ausgänge für LEDs o.ä. vorgesehen.

Da der Selektor das PTT-Signal nur durchschleift, fügt er diesem auch keine zusätzliche Verzögerung hinzu.

Der passive Modus ist nur sinnvoll einsetzbar, wenn nur ein VFO verwendet wrid. Daher sollte mit dem IC-9700 zusammen nur der aktive Modus verwendet werden, oder der zweite VFO abgeschaltet werden.

Im Aktiv-Modus: Wer den Selektor ausschließlich mit einem IC-9700 betreiben will, hat die Möglichkeit, ihm das mitzuteilen. Dadurch wird die Frequenz- und Moduserkennung verbessert. Das geschieht durch zusätzliches aktives abfragen von Frequenz und Modus. Für die Bestimmung des PTT-Ausgangs wird nur der Main-VFO berücksichtigt, da nur über ihn gesendet werden kann. Der gewählte Modus des jeweiligen VFOs soll bei VFO-Wechsel erhalten bleiben.

Dazu ist allerdings etwas mehr Aufwand beim Bau notwendig und das passive Verhalten ist nicht mehr gegeben. Insgesamt benötigt man dafür zwei Bauteile mehr.
Naja ...

Was er nicht kann

Wie eingangs beschrieben, verhält sich der Controller im Universal-Modus passiv. Er kann daher nicht unterscheiden, ob das Datenpaket vom Sendeempfänger kommt, oder z.B. zu ihm gesendet wird. Wird also der Sendeempfänger von einer anderen Instanz kommandiert, das Kommando aber verworfen, so kann der Controller das nicht wissen.

Weil er auf das angewiesen ist, was er mithört und dieses verarbeiten muss, kann es vorkommen, dass er mal etwas überhört. Insbesondere dann, wenn Datenpakete eintreffen, während er das letzte noch verarbeitet. Daher auch die vorgesehenen LEDs, denn man sollte ihm nicht blind vertrauen.
Anders wäre es, würde er an den Sendeempfänger, wie im Aktiv-Modus, rückfragen.

Weil der Controller im Universal-Modus nicht aktiv abfragt, kann er auch nicht unterscheiden, ob die Frequenz, oder die Modulationsart, im Main oder Sub-VFO eingestellt wurde. Daher übernimmt er immer die letzte Änderung. Bei Geräten mit nur einem VFO ist das unerheblich.
Sollte jemand eine Idee dazu haben, dann würde ich mich über eine Email freuen.

Was er ebenfalls nicht kann, ist Hellsehen. Das bedeutet, dass der Controller im Universal-Modus nach dem Einschalten einfach nicht wissen kann, was am Sendeempfänger eingestellt ist. Da er nur lauscht, muss ihm die Information erst zur Verfügung gestellt werden. Sprich, es muss erst eine Änderung von Frequenz und Modulationsart geschehen, damit der Sendeempfänger dies mitteilt.

Im Aktiv-Modus: Wird der Selektor im IC-9700-Modus betrieben und fragt aktiv, ist darauf zu achten, dass er sich dann nicht mehr passiv verhält. Es kann dann daher gelegentlich zu Datenkollisionen kommen, wenn er mit weiteren Geräten gemeinsam an der CI-V-Buchse betrieben wird. Das kann auch passieren, wenn der Sendeempfänger auf ‚Transceive ON‘ eingestellt ist, während sich der Selektor im Aktiv-Modus befindet.

Benötigte Hardware

Was die Peripherie des Controllers angeht, kann jeder, der weiß wie es geht, es halten wie er mag. Die folgenden Ausführungen stellen daher nur Tipps dar.

Das Programm wurde für einen Arduino Uno R3 kompiliert und wird für diesen als .hex Datei zur Verfügung gestellt. Da die Ausgänge des Arduino nicht sehr belastbar sind, wird eine Relaiskarte benötigt mit wenigstens sechs Ausgängen.
Diese sind nicht dazu gedacht, die PTT direkt zu schalten, sondern um das PTT-Signal an die richtige Stelle durch zu leiten.

Zusätzlich, zu den drei LEDs und deren Vorwiderständen, wird noch ein 4,7k Ohm Widerstand benötigt.

Für den Aktiv-Modus: Hier werden noch zusätzlich ein 10k Ohm und eine Kleinleistungsdiode, z.B. 1N4148, benötigt.

Wie letztlich der exakte Aufbau aussieht, entscheidet jeder nach seien eigenen Wünschen.
Deshalb soll dies hier auch keine Baumappe darstellen.

Ein 3,5 mm Klinkensteckerkabel aus der Bastelkiste, möglichst in Mono, wird auch noch benötigt.

Installation des Programms

Als erstes wird der Arduino über USB an den Rechner angeschlossen.

Das Programm liegt als .hex Datei vor. Diese lässt sich z.B. mit dem frei erhältlichen Programm XLoader in den Arduino schreiben.

Startet man dieses, wählt man unter „Hex file“ die Programmdatei aus. Unter „Device“ wird in der Regel „Uno (ATmega328) ausgewählt werden müssen. Der COM-Port ist individuell und lässt sich unter Windows im Gerätemanager feststellen. Die „Baud Rate“ belässt man auf 115200.

Zum Schluss klickt man auf „Upload“. Ist alles gutgegangen, blinken die RX und TX LEDs auf dem Arduino und das XLoader meldet „xyz bytes uploaded“.

Das war es auch schon.

Verwendete Anschlüsse

Das CI-V Signal wird an Pin 8 eingespeist. Dabei wird das Signal an der Spitze des 3,5 mm Klinkensteckers, der in die CI-V-Buchse des Sendeempfängers gesteckt wird, abgegriffen und über den in Reihe liegenden 4,7k Ohm Widerstand dem Pin 8 zugeführt. Die Abschirmung wird mit GND verbunden.

Für den Aktiv-Modus: Der 10k Ohm Widerstand wird auf einer Seite mit einer 5V Versorgung verbunden. Dafür kann man den 5V Pin des Arduino nehmen.

Die Diode wird mit ihrer Kathode an den Pin 9 angeschlossen.

Die verbleibenden Enden des 10k Ohm Widerstands und der Diode werden zusammen mit dem 4,7k Ohm Widerstand mit dem Mittelkontakt des 3,5mm Klinkensteckers verbunden.

Damit der Selektor weiß, dass er aktiv sein soll, muss noch Pin A0 mit GND verbunden werden.
Wer sich beide Optionen offen halten will, benutzt dafür z.B. einen Kippschalter. Der Selektor erkennt bei jedem Start, wie er sich verhalten soll.

Folgende Tabelle gibt einen Überblick, über die weiteren verwendeten Kontakte.

Signal Pin
PTT-Ausgang 2m 13
Schaltausgang 2m SSB 12
PTT-Ausgang 70cm 11
Schaltausgang 70cm SSB 10
CI-V TX (für Aktiv-Modus) 9
CI-V RX 8
LED-Ausgang 2m 7
LED-Ausgang 70cm 6
LED-Ausgang 23cm 5
Power LED 4
PTT-Ausgang 23cm 3
Schaltausgang 23cm SSB 2
IC-9700 Identifikation A0
LED-Ausgang 2m SSB A1  (nächstes Update)
LED-Ausgang 70cm SSB A2  (nächstes Update)
LED-Ausgang 23cm SSB A3  (nächstes Update)

Die Ausgänge 2, 3 und 10 bis 13 werden mit den Eingängen der Relaiskarte verbunden. Da die Signale HIGH-aktiv sind, sollte das an der Relaiskarte wenn möglich mit den Jumpern eingestellt werden, da die Relais sonst bei Inaktivität angezogen sind.

Sofern die LEDs nicht zu stromhungrig sind, können diese direkt mittels Vorwiderstand zwischen dem jeweiligen Anschluss-Pin und GND angeschlossen werden.

Der vom Sendeempfänger kommende PTT-Ausgang sollte mit allen Mittelkontakten der PTT-Ausgangsrelais geklemmt werden, während die Schließerkontakte (NO) die jeweiligen Ausgänge darstellen.

Einstellungen am Sendeempfänger

Damit der Controller die Datenpakete erhält und auch lesen kann, müssen zwei Dinge am Sendeempfänger eingestellt werden.
Zum einen muss für den Universal-Modus die Funktion ‚Transceive‘ aktiviert (ON) sein. Zum anderen muss die Datenrate auf 9600 Baud eingestellt sein. Wenn der Controller nicht reagiert, sollten diese Dinge als erstes überprüft werden.

Im Aktiv-Modus: Wird der Selektor im Aktiv-Modus betrieben, sollte die Funktion ‚Transceive‘ deaktiviert (OFF) sein. Verbleibt sie auf ON, leidet die Zuverlässigkeit der Erkennung.

Verwendung

Nach dem Anschließen ist weiter nichts zu beachten oder zu tun. Der Selektor sollte alles weitere allein erledigen. Als kleine akustische Rückmeldung der Betriebsbereitschaft werden nach dem Einschalten die Relais einmal der Reihe nach an und ab geschaltet.

Sollte einmal die Erkennung nicht ordentlich funktioniert haben, einfach Frequenz und Modus etwas verändern.
Im Aktiv-Modus: genügt es oft, den Fokus zwischen Main- und Sub-VFO zu tauschen.

Bemerkt der Selektor, dass er sich verirrt hat, löst er einen Reset aus und startet neu.

Ich wünsche viel Spaß beim basteln und viel Vergnügen mit dem PTT-Selektor.

Über Rückmeldungen und Anregungen würde ich mich sehr freuen.
Es würde mich auch freuen, wenn ich Bilder von eigenen Aufbauten bekäme.

vy 73 de
Gunnar

 

 

To-Do
  • Korrekte Funktion, auch im Sat-Modus
  • Verbesserung der Erkennung im Passiv- / Transceivemodus

 

 

Historie
Datum Version Änderung
08.05.2021 V1.0.2
  • BUG fix: PTT Ausgang wird außerhalb der Frequenzbänder nicht abgeschaltet
06.05.2021 V1.0.1
  • BUG fix: falsche Zuweisung der 23cm SSB LED
  • Kontroller gesteuerte Power-LED
  • Extra Ausgänge für SSB-LEDs am Arduino definiert
26.03.2021 V1.0.0

Achtung!
Durch die Verwendung einer anderen Bibliothek mussten die Pins 2 und 3 mit 8 und 9 getauscht werden.

  • Stabilerer Betrieb mit IC-9700 im Transceive-Modus (nur 9700, aktiv)
  • Saubereres Timing auf der seriellen Schnittstelle (nur 9700, aktiv)
  • Schnelleres Folgen des Selektors bei Änderungen (nur 9700, aktiv)
14.03.2021 V0.9.5
  • Aktiver IC-9700-Modus eingeführt
  • Aktives Auslesen von Frequenz und Betriebsart (nur 9700, aktiv)
  • Beibehalten des SSB Status für ein Frequenzband bei Frequenzbandwechsel (nur 9700, aktiv)
  • Fehlerbehebung: Vermeidung von zwei aktiven PTT-Ausgängen bei Frequenzbandwechsel (universell, passiv und 9700, aktiv)
  • Watchdog, falls der Arduino stehen bleibt (nur 9700, aktiv)
  • Vermeidung von Datenkollisionen, falls der TRX im Transceivebetrieb ist (nur 9700, aktiv)
  • Festlegung des PTT-Ausgangs auf das Frequenzband des Main-VFOs (universell, passiv und 9700, aktiv)
20.02.2021           V0.9          
  • Erste veröffentlichte Version.

Mein Aufbau

Durch das Anklicken der Bilder kann man sie sich in groß anzeigen lassen.

Das von mir ausgesuchte Gehäuse besitzt Nuten für Platinen. Daher verwende ich Platinen als Montagehilfe. Darauf werden dann die einzelnen Baugruppen befestigt.

Hier sieht man die Anordnung im Detail.

Am Reais Board werden sowohl das PTT-Signal, als auch die 13,8V von der Eingangsbuchse durchgeschleift, sodass diese Signale an allen drei Ausgangsrelais dauerhaft anliegen.

Mit eingesetzter und bearbeiteter Rückseite sieht das dann so aus.

Die Rückseite im Detail.

Die Rückseite der Rückseite.

Die Front ist auch ganz hübsch geworden.
Die LEDs sind übrigens 5V Typen, die direkt an den Arduino angeschlossen werden können.

Hier ist mein Bohrplan.

Die Rückseite der Front. Alle Kathoden sind miteinander verbunden.

Hier ist die vorbestückte Rückseite zu sehen. Außer den verwendeten Kabeln erkennt man hier die Induktivitäten gegen eindringende Hochfrequenz, und die selbstheilende Sicherung.

Leider hatte ich das Relaisboard zu nah an der Rückseite befestigt. Daher mussten die Bauteile so verbogen werden.

Hier sieht man die Verbindungen zwischen dem Relaisboard und dem Arduino. Der DC-DC Konverter ist ebenfalls bereits angeschlossen. Er versorgt sowohl den Arduino über den 5V Pin, als auch das Relaisboard direkt. Der 4k7 Ohm Widerstand, der in Serie zur RX-Leitung liegt, ist in einem Schrumpfschlauch verschwunden. Außerdem ist die Diode zwischen dem RX und dem TX Pin zu erkenne. Ebenso der zusätzliche Pull-up Widerstand.

Der Innenraum wurde etwas aufgeräumt und die Front mit den LEDs angeschlossen. Der verwendete LED Typ erlaubt es, die LEDs ohne zusätzlichen Vorwiderstand direkt an den Arduino anzuschließen, das dieser bereits in ihnen integiert ist.

Da steht er nun und tut seinen Dienst.

Jetzt kann es an der Software weiter gehen, bei der es immer Möglichkeiten für Verbesserungen gibt.

Fail-Safe von Punkt zu Punkt

Das geht nur mit Funk.
Ohne dem Staat, Providern oder Hackern ausgeliefert zu sein.

  • Direkt von Punkt zu Punkt
  • Keine Zwischinstanz
  • Kein zentrales Abschalten
  • Keine Abhängigkeit
  • Grenzenlose Kommunikation
  • Mit modernsten Mitteln
  • Oder ganz einfach

Frei kommunizieren, statt fremdgesteuert.

Know how, know why, know better!


Amateurfunk

Das ist mehr als nur das sprechen ins Mikrophon. Im Gegenteil. Vielmehr ist es ein Ergebnis aus dem Zusammenspiel vieler Disziplinen, die gemeistert wurden. Will man zudem noch gehört werden, geht das Spiel weiter.

Technik

Die Grundlage von allem beim Amateurfunk. Ohne die Technik geht einfach nichts. Will man auch in Wettbewerben erfolgreich sein, oder beim DXen, muss man seine Möglichkeiten bestmöglich ausloten. Dazu muss man sie verstehen.

Ausbildung

Alles stirbt ohne Nachwuchs. Auch der Amateurfunk. Daher ist die Ausbildung von neuen Funkamateuren nichts anderes, als ein Akt der Selbsterhaltung. Hierbei vollzieht sich der Wandel vom Anwender der Technik zu dessen Beherrschung. Was sich nicht auf Funktechnik beschränkt.

Selbstbau

Wenn man die Technik verstanden hat, ist der Selbstbau das Maß der Dinge. Dabei geht es nicht um höher, schneller, weiter, sondern darum, technische Probleme zu analysieren, deren Lösung zu durchdenken und sie dann umzusetzen. Passgenau. Kaufen kann jeder.