Selbstbau Sprechgarnitur und eine kurze Einführung über das bekannteste Funkgerät

Die chinesischen Handfunkgeräte aus der Baofeng Serie haben meist das Problem, dass der Mensch am anderen Ende über eine zu schwache Modulation klagt. Möglicherweise ist es ein verwöhntes Verhalten von Funkamateuren, die gerne mehrere hundert Euro für Ihr Handfunkgerät ausgeben und sich schwer tun, den Lautstärkeregler etwas aufzudrehen. Möglicherweise ist es aber auch ein Problem beim Menschen am Sender, der denkt mit einem 20 € Gerät wäre es möglich, die Handfunke 100 Meter weit weg vom Mund zu halten und das Gegenüber würde ihn Kristall klar verstehen. Ich glaube es ist eine Mischung aus beiden.

Was kann man nun machen ? Wie immer ist es eine wunderbare kleine Herausforderung im Lebens etwas dazu zu lernen.

Das Baofeng UV-5R ist eine weltweite Legende. Es ist verhasst und geliebt, kennt unzählige Bezeichnungen und Variationen. Es ist ein modernes Handfunkgerät mit einem großen Funktionsumfang für einen geringen Preis.
UV-5R
Es taucht unregelmäßig bei Frontberichterstattung der Ukrainischen und russischen Armee auf, auch bei einer Vielzahl von Menschen die es eigentlich nicht nutzen dürfen und PMR Funk damit machen. Was ich damit sagen will: Weltweit gibt es gute Chancen im Notfall auf ein Baofeng zu stoßen, wenn man auf eine Gruppe von „Funkern“ trifft. Deshalb ist es nützlich die Bedienung, die Schwächen und den Funktionsumfang zu kennen.

Zurück zum Projekt. Wenn ich am Schreibtisch sitze, oder unterwegs mit dem Rucksack bin, dann halte ich mir kein Funkgerät vor den Mund. Dafür gibt es diese „Handquetschen“, die in schönen deutsch „Sprechgarnitur“ heißen.
extern_PTT

Sie generieren aber meist nicht genügend Hub, um die Schwäche auszugleichen, da kein Verstärker verbaut ist. Der Chinese hat bei fast allen Baofeng den PTT Kenwood Stecker verwendet, der wie folgt verschalten ist:

Ptt_Kenwood_Stecker

Wenn ich hier jetzt noch dieses Verstärker-Modul
verstärker
korrekt mit dem Stecker verlöte, kommt eine ganz brauchbare Sprechgarnitur heraus und der geneigte Markenfunker, der sein Schätzen das Wochenende mal ausführt, erkennt möglicherweise nicht einmal dieses „Lower Class“ Gerät. Aber irgendwie … sollte ich mir noch ein Gehäuse einfallen lassen …

In Deutschland ist es üblich, dass die Funktürme für die UKW Umsetzung (man nennt sie auch Relais oder Repeater ) mit einem 1750 Hz Ton aufgetestet werden. Danach schaltet sich der Funkturm auf die Frequenz auf und setzt den Funkspruch um. So ist es möglich die Reichweite eines Handfunkgerätes enorm zu vergrößern. Hier ist eine Karte: https://repeatermap.de/
und hier ein beispielhafter Ausschnitt

Wenn ich aber mit dem Rucksack unterwegs bin, habe ich das Funkgerät im Rucksack und verwende, wie oben bereits erwähnt, eine Sprechgarnitur.

Leider ist mir auf dem Markt noch keine Sprechgarnitur unter gekommen, die es ermöglicht einen 1750 Hz Ton zu erzeugt. Also muss ich wieder selber ran. Ich habe die Sprechgarnitur so zerlegt und einen LGT8F328P Mikrocontroller eingebaut, der den Job übernimmt:

Leider führen die Sprechgarnituren nicht genügen belastbare Spannungen, um den Mikrocontroller zu versorgen. Daher musste ein zusätzlicher 3V Energieträger rein. Der Umbau funktioniert.

Hier ist der Quellcode:

#include <avr/sleep.h>
#include <avr/interrupt.h>

const int speakerPin = 9;
const int buttonPin = 2;
volatile bool buttonPressed = false;
unsigned long lastActivity = 0;
const unsigned long inactivityTimeout = 30000; // 30 Sekunden
const int tone_frequency = 1740;

void setup() {
  pinMode(speakerPin, OUTPUT);
  pinMode(buttonPin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(buttonPin), handleButtonPress, FALLING);
}

void loop() {
  if (buttonPressed) 
  {
    lastActivity = millis();
    tone(speakerPin, tone_frequency);
    delay(2000);
    noTone(speakerPin);
    buttonPressed = false;
  }

  if (millis() - lastActivity > inactivityTimeout) 
  {
    goToSleep();
  }
}

void goToSleep() {
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  sleep_enable();
  attachInterrupt(digitalPinToInterrupt(buttonPin), handleButtonPress, FALLING);
  sleep_cpu();
}

void handleButtonPress() {
  buttonPressed = true;
  lastActivity = millis();
}