Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Automatischer Keyer für Radio-Peiling – Präzision, Einfachheit und Zuverlässigkeit

Komponenten und Zubehör

Bauteil Menge
Arduino UNO 1
Keramikkondensator 100 nF 5
Relais (generic) 1
LED (generic) 1
Elektrolytkondensator 100 µF 1
Steckbrücken (Jumper Wires) 1 Set
Externer Handmikrofon-Stecker für Ihr Amateurfunkgerät 1
Kippschalter (Toggle Switch) 1

Benötigte Werkzeuge und Maschinen

Über dieses Projekt

Funkamateure trainieren ihre Peilfähigkeiten oft durch „Fuchsjagden“: Ein versteckter Sender („Fuchs“) muss allein durch Richtpeilung gefunden werden. Diese Fertigkeiten sind nicht nur sportlich wertvoll, sondern auch praktisch – etwa bei der Suche nach Notfunksignalen oder Störquellen.

Dieses Projekt nutzt einen Arduino, um ein Funkgerät automatisch zu betätigen (PTT) und anschließend das Rufzeichen der Station in Morsecode auszusenden, gefolgt von einem langen Trägerton. Während der Aussendung kann die Signalquelle geortet werden.

Der Autor entdeckte die Faszination der Fuchsjagd 2011 beim ARRL Teacher's Institute. Für den Schulunterricht suchte er eine kostengünstige, einfach nachzubauende Lösung. Mit einem günstigen 2-m-Handfunkgerät (hier Baofeng UV-3R) und einem Arduino Uno ließ sich ein voll funktionsfähiger „Fuchs“ für wenig Geld realisieren – ideal als Sommer-Lernprojekt.

Hinweis: Das Schaltbild wirkt komplexer, als es ist. Die 100-nF-Kondensatoren unterdrücken HF-Störungen (RFI), die beim Senden in unmittelbarer Nähe den Arduino zum Absturz oder undefiniertem Verhalten brachten. Der 100-µF-Kondensator glättet die Rechteckwelle des Arduino zu einer annähernd sinusförmigen Form, was den Morse-Ton angenehmer macht.

Schaltplan

Der Schaltplan zeigt die Verbindung zwischen Arduino, Relais, Tonausgang und der Mikrofonbuchse des Funkgeräts. Das Relais (Pin 12) schaltet die PTT-Leitung, der Tone-Ausgang (Pin 13) speist das Audiosignal über einen Koppelkondensator in den Mikrofoneingang ein. Die Entstörkondensatoren (100 nF) liegen nah an den IC-Versorgungspins und an den Signalleitungen zum Funkgerät.

Arduino-Code

/* Automatischer Fuchsjagd-Keyer
 * Schaltet PTT über Relais, sendet Rufzeichen in Morse + langen Ton
 * Basierend auf Code von Mike Myers (https://mikemyers.me)
 */

// Morse-Tabelle für Buchstaben
const char* letters[] = {
  ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..",
  ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.",
  "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."
};

// Morse-Tabelle für Ziffern
const char* numbers[] = {
  "-----", ".----", "..---", "...--", "....-",
  ".....", "-....", "--...", "---..", "----."
};

const int relayPin = 12;       // Relais an Pin 12
const int tonePin  = 13;       // Tonausgang an Pin 13
const int frequency = 1000;    // Tonfrequenz in Hz
const int dotDelay = 70;       // Dauer eines Punkts (ms)
const int charDelay = 500;     // Pause zwischen Zeichen (Farnsworth)
const int wordDelay = 1100;    // Pause zwischen Wörtern
const int cycleDelay = 15000;  // Halbe Zykluszeit (max. 16383 ms)

void setup() {
  pinMode(relayPin, OUTPUT);
  pinMode(tonePin, OUTPUT);
  delay(2000);                 // Startverzögerung
}

void loop() {
  digitalWrite(relayPin, HIGH); // PTT ein
  delay(1000);
  sendText("NF7Z FOX");         // Rufzeichen + Kennung
  delay(1000);
  tone(tonePin, frequency);     // Langer Ton
  delay(7000);
  noTone(tonePin);
  delay(10000);                 // 10 s Träger ohne Ton
  digitalWrite(relayPin, LOW);  // PTT aus
  delay(cycleDelay);
  delay(cycleDelay);            // Gesamtzyklus ~30 s
}

// Sendet einen Morse-Code-String (Punkte/Striche)
void morseCodeSequence(const char* seq) {
  for (int i = 0; seq[i]; ++i) {
    dotOrDash(seq[i]);
  }
  delay(charDelay);
}

// Wandelt Text in Morse um und sendet ihn
void sendText(const char* text) {
  for (int i = 0; text[i]; ++i) {
    char ch = text[i];
    if (ch >= 'a' && ch <= 'z')      morseCodeSequence(letters[ch - 'a']);
    else if (ch >= 'A' && ch <= 'Z') morseCodeSequence(letters[ch - 'A']);
    else if (ch >= '0' && ch <= '9') morseCodeSequence(numbers[ch - '0']);
    else if (ch == ' ')              delay(wordDelay);
  }
  delay(charDelay);
}

// Erzeugt einen einzelnen Punkt oder Strich
void dotOrDash(char symbol) {
  tone(tonePin, frequency);
  if (symbol == '.') delay(dotDelay);
  else               delay(dotDelay * 3); // Strich = 3× Punkt
  noTone(tonePin);
  delay(dotDelay); // Pause zwischen Elementen
}

Herstellungsprozess

  1. Entwicklung und Technik der Radiotechnologie
  2. Jagdmesser: Von den Anfängen der Bronzezeit bis zur heutigen Feldausrüstung
  3. UFO Attack: Eigenes Arduino-Spiel mit MAX7219 Matrix & Joystick
  4. 3D RGB Arduclock – Bluetooth-LED-Uhr mit Echtzeituhr
  5. River Health Monitor: Arduino-basiertes Wasserqualitäts-Messsystem
  6. Interaktives Joystick-Spiel mit Arduino & LED-Feedback
  7. Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
  8. Tragbares Pulsoximeter für Notfalleinsätze während COVID-19
  9. Health Band: Smarter Wearable-Assistent für Senioren
  10. Präzise Leistungsfaktorkorrektur: Kondensatorbank-Rechner (kVAR & µF)