Beschreibung des Morsezeichengebers Zufall-8


 

8 Bauteile: PIC 16F84A-20 (bis 20 MHz)
            1 Quarz 16 MHz
            2 Kondensatoren 30 pF
            1 Widerstand 15 kOhm
            Piezoschallgeber
            12er Matrix-Tastatur
            Batterie

Das Gerät ist ein einfacher, leicht und preiswert aufzubauender, Morsezeichengeber, welcher zum Telegrafieüben unabhängig von PC, RX, Tonbandgerät oder MP3-Player geeignet ist. Für Gebeübungen ist eine Handtaste oder ein Paddle anschließbar. Mit Paddle arbeitet das Gerät als einfacher Iambic-keyer ohne Punkt/Strich-Speicher.

Ein Ausschalter ist nicht erforderlich, da der Prozessor automatisch immer in den sleep-Modus schaltet.

Es werden Fünfergruppen aus pseudozufällig erzeugten Zeichen ausgegeben. Klartext, Rufzeichen oder Q-Gruppen werden nicht gegeben. Die ausgegebenen Texte lassen sich in Geschwindigkeit und Tonhöhe verändern. Auch während der Ausgabe ist eine schrittweise Geschwindigkeitsänderung möglich. Ebenso eine konstante Steigerung des Tempos um 1 WpM alle 4 Gruppen.

Zur Erleichterung des Hörens von schnellen Zeichen lässt sich der Farnsworth-Modus aktivieren. Dabei wird die normale Pause zwischen zwei Zeichen von 3 Elementlängen um 0 bis 9 Elementlängen verlängert. Zusätzlich kann man den Farnsworth-II-Modus einschalten, dabei werden die Gruppenabstände entsprechend verlängert. Der Gruppenabstand ist 7 + F + W Elementlängen, wobei F und W die Parameter Farnsworth und Farnsworth II sind.

Die Texte werden durch eine Pseudozufallsauswahl "gewürfelt". Eine Kontrolle auf 3 oder mehr aufeinander folgende gleiche Zeichen erfolgt nicht. Beim "Würfeln" wird ein Startwert nach einem bestimmten Algorithmus verändert. Dieser wurde dann ursprünglich mit dem momentanen RTCC-Wert verknüpft. Diese Random-Funktion stammt aus dem Basic-Compiler, mit dem ich programmiert habe. Da der Morsezeichengeber RTCC-Interrupt-gesteuert läuft, kam es zu dem Effekt, dass das Würfeln immer ähnliche RTCC-Werte übernahm und gleichartige Zeichenfolgen produzierte. Jedenfalls war das sehr deutlich bei einem der ersten Testprogramme mit wenig Zeichen. Mit Zunahme der Zeichenzahl und der anderen Aufgaben, die das Programm noch zwischen den Zeichen auszuführen hat, milderte sich dieser Effekt bereits. Ich habe aber einen extra Menüpunkt vorgesehen, in dem nun wirklich zufällig, nämlich abhängig vom Zeitpunkt des Drückens der Taste 1, der RTCC-Wert in den EEPROM geschrieben wird. Insgesamt werden alle 64 Byte EEPROM hierfür genutzt. Das Programm geht nun bei der Textausgabe immer wieder die 64 Byte EEPROM durch um die Zeichen zu "würfeln". Nun kommt keine Wiederholung von Textpassagen mehr vor. Außerdem kann man den Text eindeutig identifizieren durch Angabe des Startwertes des Textes. Man kann also alle rund 65000 Möglichkeiten zu beliebig späteren Zeitpunkten sich wieder anhören, um z.B. die Mitschrift zu vergleichen. Wenn man neue Werte in den EEPROM geladen hat, geht das natürlich nicht mehr.

Bedienung:

*     Nur Ausgabe des K, man ist im Hauptmenü
#     Ausgabe des Textes
1     Laden des gespeicherten Startwertes 1 in den aktuellen Speicher
2     Laden des gespeicherten Startwertes 2 in den aktuellen Speicher
3     Laden des gespeicherten Startwertes 3 in den aktuellen Speicher
4     Würfeln eines Startwertes, Ablage im aktuellen Speicher und im
      Speicher 3, dessen Inhalt nach 2 geschoben wurde, der Inhalt von
      2 ist nun in 1
5     Ausgabe des aktuellen Startwertes (2 Byte als Dezimalzahlen, also
      z. B. 056 234)
6     Ausgabe des aktuellen Texttempos in WpM
7 S   Eingabe des neuen Texttempos in Wpm erwartet
8     Verminderung des Texttempos um 1 WpM
9     Steigerung des Texttempos um 1 WpM

0 M   Einstellmenü:

0     Zurück
1 V   Auswahl des Zeichenvorrats eingeben:
        0     Buchst., Zahlen, Sonderzeichen
        1     Zahlen
        2     Buchstaben
        3     Zahlen und Buchstaben
        4     Zahlen, Buchst., Sonderzeichen, Extrazeichen
        5     Zahlen, Buchst., Sonderz., Extraz., Umlaute
        6     Sonderz., Extraz., Umlaute
              Eingabe von 7,8 oder 9 verändert nichts
2 F   Eingabe Farnsworth 0-9
3 W   Eingabe Farnsworth II 0-9
4 B   Eingabe Befehlstempo 0-9, Tempo ist dann (n+1)x4
5 G   Eingabe der Gruppenzahl der Texte: (n+1)x20
6 H   Eingabe Tonhöhe 0-9 (488 - 1116 Hz)
7 Z   nach jedem Druck auf die 1 wird die gewürfelte Zahl in den
      EEPROM geschrieben und dezimal ausgegeben. Bis alle 64
      gewürfelt sind, dauert es also ein paar Minuten, dann
      kommt wieder das K vom Hauptmenü. Mit einem * kann
      man eher abbrechen, aber bei einem erneuten Aufruf wird
      wieder bei Zelle 00 begonnen (Achtung: bei der Textausgabe
      wird bei Zelle 01 begonnen, wenn also nur das erste Byte
      geändert wurde, verändert sich der Text erst mit dem
      64. Zeichen)
8 A   Eingabe eines neuen Startwertes als 2 Byte dezimal wird
      erwartet und in Speicher 3 sowie in den aktuellen Speicher
      geschrieben, Zahlen größer als 255 zu versuchen, ist sinnlos,
      es erfolgt ein Überlauf, 257 wird also als 001 gespeichert
9     Umschalter:
        U automatische Temposteigerung ein
        K automatische Temposteigerung aus
*     zurück
#     zurück
 

Nach jeder Eingabe ist man wieder im Hauptmenü. Das K wird nicht immer ausgegeben, da es nur nervt.

Mit Sonderzeichen sind die in der Prüfung verlangten gemeint:

, . = ? /

Mit Extrazeichen folgende:

" - : ( ) sk ar sn as

Bei Tempoeingaben unter 04 und über 63 korrigiert das Gerät selbst. Die Eingabe von 00 verändert nichts. Führende Nullen müssen eingegeben werden.

Während der Textausgabe kann das Tempo durch Drücken von 8 oder 9 verändert werden (nicht aber, wenn die automatische Temposteigerung eingeschaltet ist). Außerdem kann mit * abgebrochen werden. Die Tasten werden nur zwischen den Zeichen abgefragt, also muss man lange genug drücken.

Bei der automatischen Temposteigerung wird das Tempo am Ende immer wieder zurückgestellt, mit der 6 wird das Starttempo ausgegeben.

Das Tempo wird streng nach PARIS berechnet. Aufgrund der begrenzten Auflösung steigt der Rechenfehler mit wachsendem Tempo auf maximal ca. 0,3 % bei Tempo 63 WpM. Bei Tempo 5, 10, 25 und 50 WpM ist der Geschwindigkeitsfehler nur vom Quarz abhängig.

Die Faktoren Farnsworth und Farnsworth II bleiben bei der Rechnung ohne Berücksichtigung, angegeben wird also nur das Zeichentempo S. Das Texttempo TT berechnet sich dann zu

TT = S x 50 / ( 50 + 5 x F + W )

Man kann also gut mit den Einstellungen F=8, W=9 und S=10 für die Morseprüfung üben.

Man kann eine Handtaste an RB,0 anschließen. Während der Menüeingaben oder der Textausgabe ist die Taste gesperrt.

Wenn man ein Paddle anschließt, wird der Strichkontakt auf den der Handtaste gelegt. Wenn nach Betätigung des Strichkontaktes der Punktkontakt betätigt wird (innerhalb ca. 20 sek.), schaltet der Geber um in den Elbug-Modus. Dieser bleibt bestehen bis ca. 10 min nach der letzten Punkteingabe oder bis ein Text mit # ausgegeben wird.

Aufbau:

Die Skizze zeigt die mögliche Minimalvariante. Wenn man auf die Elbug verzichtet, kann man RA,3 an +Ub legen. Zum Schutz vor elektrostatischen Entladungen empfiehlt der Hersteller R=100 Ohm in die Zuleitungen zu den Portpins, man sollte es bei den Tastenanschlüssen ruhig tun.

Die Betriebsspannung wird vom Hersteller mit 4,5 - 5,5 V angegeben. Hier spielte das Gerät einwandfrei zwischen 3 und 9 V. Nur das EEPROM-Schreiben ging nicht bei 9 V, hi. 3-4 Batterie- oder Akku-Zellen sind also das Richtige. Nach einem Artikel im ARRL-Handbuch 2002 soll es mit 6 V keine Probleme geben. Es soll auch auf die beiden Kondensatoren verzichtet werden können. Das habe ich allerdings nicht getestet.

Der Stromverbrauch liegt bei ca. 6 mA. Die Ausgänge RA,0 und RA,2 sind maximal mit 25 mA belastbar. Sie liegen normalerweise auf 0 und werden bei Bedarf auf +Ub geschaltet. Der Hersteller empfiehlt bei bestimmten Quarzen zur Vermeidung einer Überlastung des Quarzes einen Widerstand von 270 Ohm zwischen OSC2 (Pin 15)und Quarz. Dies wäre abhängig von den Quarzdaten. Ich habe darauf verzichtet.

Man kann an den Ausgang statt des Piezowandlers auch einen Transistor mit Lautsprecher / Kopfhörer anschließen, der Klang wird viel besser. Ganz komfortabel wäre es, über RA,2 einen guten Sinustongenerator zu steuern.

Nach dem Anschluss der Betriebsspannung macht der PIC ein paar Rechnungen und schläft dann. Erst nach Tastenbetätigung passiert etwas. Voreingestellt sind das Befehlstempo auf 4 WpM, die übrigen Auswahlmenüwerte auf 0 und das Texttempo auf 16 WpM.

Viel Spaß beim Telegrafie-Üben!

Mike, DJ9BX