Einstieg in die Internet-Telegrafie             

von Ralf Beesner, DK5BU                        

Elektronik-Labor  Projekte 



Gliederung und Navigationshilfe:

4.6 Sinus-Generatoren auf Mikrocontroller-Basis
4.6.1 Warum ATtiny?
4.6.2 ATtiny13-Keyer; ein "schneller Hack"
4.6.3 Sensor-Keyer incl. Sinusgenerator
4.6.4 Zwei "standalone"-Sinusgeneratoren

Zurück zur Hauptseite


4.6 Sinus-Generatoren auf Mikrocontroller-Basis

ICW-Sinus-Generatoren lassen sich sehr Bauteil sparend mit Mikrocontrollern realisieren. Ein integrierter CW-Keyer fällt "nebenbei" ab, ohne den Bauteilaufwand hochzutreiben.

Als "Keyer" bezeichnet man übrigens die Elektronik der Morsetaste, der bzw. die mechanischen Tasthebel wird / werden als "Paddle" bezeichnet. Bei manchen Geräten sind Keyer und Paddle in einem gemeinsamen Gehäuse untergebracht.

Leider gibt es viele Keyer-Varianten - für Einhebel-Paddles, Squeeze-Paddles, mit Punkt- und / oder Strichspeicher, "plain iambic", "iambic-a", "iambic-b" - daher "schwören" viele Telegrafisten auf "ihren Keyer".

Daher werden hier sowohl reine Sinusgeneratoren als auch Keyer mit Sinusausgang vorgestellt.

4.6.1 Warum ATtiny?

Es gibt zahlreiche Mikrocontroller-Familien. Für den vorgesehenen Zweck genügen kleine 8bit-Mikrocontroller. Platzhirsch unter den Produzenten in diesem Segment ist Microchip mit seiner PIC-Familie.

Viele Jahre schien Microchip jedoch nicht sonderlich an Hobby-Elektronikern interessiert. Es gab zwar Compiler und Programmier-Umgebungen (IDEs), aber die meisten waren nicht Open Source, sondern Closed Source und teuer (z.T. gab es aber kostenlose "Schnupper-Versionen").

Das änderte sich, als Atmel die AVR-Serie herausbrachte. Atmel war anscheinend daran interessiert, Hobby-Programmierer als Multiplikatoren zu gewinnen. So wurden die AVRs rasch in Hobby-Kreisen populär.

Neben Open-Source-Assemblern und -C-Compilern (AVR-GCC) entstand eine Basic-IDE, die schnellen und kompakten, zu C konkurrenzfähigen Code produzierte. Sie ist zwar Closed Source nur für Windows, aber es gibt eine kostenlose "Schnupper-Version", die für kleine und mittlere Projekte völlig ausreicht. Sie hat den Charme, dass sie nur behutsam fortentwickelt wird, während der AVR-GCC eine Dauerbaustelle ist. Wenige Jahre alter Quellcode fliegt einem unter dem AVR-GCC schnell mal "um die Ohren".

Auf Basis der AVRs entstanden die weithin bekannten Arduino-Boards und die Arduino-IDE. Die Boards sind nicht auf Batteriebetrieb optimiert, die AVR-Mikrocontroller sind für viele kleine Projekte bereits überdimensioniert und die IDE erzeugt Code, der eher groß und langsam ist, obwohl er "unter der Haube" mit dem AVR-GCC erzeugt wird. Die Zwischenschicht, die die Arduinos benutzerfreundlicher machen soll, schluckt viele Ressourcen.

Atmel wurde mittlerweile von Microchip "geschluckt".

Ein unprogrammierter ATtiny ist "dumm"

Man braucht also

oder einen gutmütigen Bekannten, der einem einen "dummen" Chip programmiert. ;)

Vor Erfindung der Mikrocontroller fertigte die Halbleiter-Industrie für große Elektronik-Hersteller massenweise so genannte "kundenspezifische ICs". Ein programmierter Mikrocontroller ist nichts anderes, aber mit der Produktions-Stückzahl "1".

4.6.2 ATtiny13-Keyer; ein "schneller Hack"

Unter https://www.elektronik-labor.de/AVR/icw-morsetaste.html ist eine einfache ICW-Lösung beschrieben.

Dies ist eine neuere Version der Schaltung, die Batteriebetrieb aus zwei Mignonzellen, zwei AAA-Batterien oder einer Lithium-Zelle erlaubt. Die Mikrocontroller werden in Gebe-Pausen per Software in "Powerdown" geschickt und verbrauchen dann weniger als 100 µA.

Bild: ICW Elbug V1


Der Schaltplan:

Bild: ICW Elbug V1 Schaltplan


Der "Radarblick" von oben auf die Streifenleiter-Platine (die Leiterbahnen auf der Unterseite sind blau, die Drahtbrücken auf der Oberseite sind braun):

Bild: ICW Elbug V1 Layout

Eine kurze Übersicht, die es erspart, die "Textwüste" unter dem obigen Link durch zu ackern:

Der rechte ATtiny13 arbeitet als primitiver CW-Keyer. Neben den Anschlüssen für das Paddle gibt es nur einen Geschwindigkeits-Einsteller, einen Reset-Taster und einen optionalen Piezo-Buzzer SG1, der die Morsegeschwindigkeit in WPM (Worte pro Minute) unmittelbar nach einem Reset ausgibt. Das Telegrafie-Tast-Signal wird an Pin 8 ausgegeben.

Der Modus des Keyers ist "plain iambic" mit einer kleinen Erweiterung: Nach der "reinen Lehre" wird erst nach Zeitablauf eines Strichs PLUS Pause der Punktkontakt abgefragt. In dieser Version wird schon nach Ende des Striches geschaut, ob der Punktkontakt gedrückt ist. Es vermeidet, dass Punkte "verschluckt" werden, wenn man bereits kurz vor Ende der Pause das Punkt-Paddle schon wieder losgelassen hat.

Der linke ATtiny13 erhält das Tastsignal an Pin 2 zugeführt. An den Pins 6 und 7 liegt ein "Mäuse-Klavier", mit dem man die Tonhöhe in vier Stufen umschalten kann. An Pin 5 wird ein pulsweiten-moduliertes Rechtecksignal ausgegeben (37,5 kHz Schaltfrequenz). Mit einem einfachen Bandpass aus R1, C2, C3 und R3 wird daraus ein halbwegs gesäuberter Sinus. Der Ausgangs-Pegel ist für einen Soundkarten-Line-In-Eingang dimensioniert. Für einen Notebook-Mikrofon-Eingang ist der Pegel etwas zu hoch; man kann erforderlichenfalls zu R3 einen 1 kOhm-Widerstand parallel schalten oder R3 durch einen 1 kOhm-Trimmer ersetzen.

Hat der Rechner eine 4-polige Klinken-Buchse, kann auch ein 4,7 kOhm-Widerstand in der NF-Out-Leitung sinnvoll sein, um der Umschalt-Elektronik im Rechner eine eingesteckte Sprechgarnitur vorzugaukeln.

Download der neuesten Version: 2102-icw-elbug_v1_bat.zip]

Das Archiv enthält Schaltplan, Board-Skizze und die beiden Bascom-Programme im Quelltext und als Hex-Files, letztere können mit einem Programmer und einer Programmier-Software direkt in die Chips geflasht werden, ohne dass Bascom installiert sein muss.

4.6.3 Ein Sensor-Keyer incl. Sinusgenerator

Bild: ICW Sensorkeyer

Unter https://www.elektronik-labor.de/AVR/T13-ICW-Sensorkeyer.html liegt ein "proof of concept": Der Versuch, in einen winzigen Attiny13 mit 1 kB Programmspeicher und 64 Byte Arbeitsspeicher einen Sensor-Keyer inclusive Sinusgenerator zu quetschen. Die Sensoren arbeiten nicht mit einer unzuverlässigen Messung des Hautwiderstands, sondern werten die Änderung der Kapazität aus, wenn einer der Sensoren berührt wird. Das funktioniert weitaus zuverlässiger.

Sensor-Paddle, Morse-Keyer, Sinusgenerator - alles aus einem Guss mit nur 7 Bauteilen, die unter 5 Euro kosten. Und "das Ding" ist benutzbar und völlig ausreichend, sofern man mit dem "pure iambic"-Modus zurecht kommt.


4.6.4 Zwei "standalone"-Sinusgeneratoren

Wer seinen eigenen Keyer bevorzugt oder Handtasten verwenden möchte, benötigt lediglich einen Sinusgenerator. Die erste Version ist für eine Soundkarte mit "Loopback-Device" gedacht, die zweite mixt das Mumble-Empfangssignal hardwaremäßig per Widerstandsnetzwerk mit dem Mithörton.

Besonderheit der zweiten Schaltung: Der Mikrocontroller erzeugt zwei unabhängige Sinus-Signale. Die passive Hardware-Mischung von Empfangssignal und Mithörton reicht kein Rückkopplungssignal an den Mikrofon-Eingang des Notebooks/Tablets/Smartphones durch, die beiden Signalwege sind entkoppelt. Somit kann der im Kapitel "Und nun zu einer kleinen Falle..." beschriebene "Klo-Sound" nicht auftreten.

Einen Verstärker sollte man an den Kopfhörer-Ausgang nicht anschließen, da die PWM-Impulse dort in voller Höhe anstehen und den Verstärker übersteuern dürften.

Die Pinbelegung ist jeweils abweichend vom Generator des "schnellen Hack-Keyers", weil der zweite PWM-Ausgang "freigeschaufelt" werden musste.

Software und Hex-files sind bei beiden Versionen die selbe.

Sinusgenerator für Software-Loopback

Bild: Sinusgenerator Softwareloop


Bild: Sinusgenerator Softwareloop Schaltplan

Der Mikrocontroller wird an Pin 7 (PB2) getastet, die PWM-Impulse werden an Pin 5 (PB0) erzeugt und über einen Bandpass aus R1, R2, C2, C3 geglättet. Das "Mäuseklavier" an Pin 2 und Pin 3 dient zur Tonhöhen-Umschaltung. Das PWM-Signal an Pin 6 läuft "leer" mit.

Wie beim "schneller-Hack-Keyer" ist der Ausgangspegel für einen Soundkarten-Line-In-Eingang dimensioniert. Für einen Notebook-Mikrofon-Eingang ist der Pegel etwas zu hoch; man kann erforderlichenfalls zu R3 einen 1 kOhm-Widerstand parallel schalten oder R3 durch einen 1 kOhm-Trimmer ersetzen.

Hat der Rechner eine 4-polige Klinken-Buchse, kann auch ein 4,7 kOhm-Widerstand in der NF-Out-Leitung sinnvoll sein, um der Umschalt-Elektronik im Rechner eine eingesteckte Sprechgarnitur vorzugaukeln.

Die Betriebsspannung sollte 2,5V bis 5V betragen; ideal sind 2 Mignon- oder AAA-Zellen, da sie leicht verfügbar sind. Der Stromverbrauch beträgt während der Tastung ca.3-5 mA und in den Betriebspausen unter 100 µA, so dass sich ein Ausschalter erübrigt.

Der "Radarblick" von oben auf die Streifenleiter-Platine (die Leiterbahnen auf der Unterseite sind blau, die Drahtbrücken auf der Oberseite sind braun):

Bild: ICW Softwareloop Layout


Die meisten 3,5mm-Klinken-Buchsen lassen sich nicht ohne zusätzliche Bohrungen und "Laubsäge-Arbeiten" in eine Lochrasterplatine mit 2,54mm-Raster einpassen. Es gibt jedoch bei Reichelt seit kurzer Zeit 3,5mm-Stereo-Klinkenbuchsen ohne interne Schalter, die direkt in Streifenleiterplatinen und Steckboards passen. Bezeichnung:

CLIFF FC68131 Klinkenbuchse Stereo, 3 pol, 3,5 mm

Sinusgenerator für Hardware-Loopback

Bild: Sinusgenerator Hardware-Loopback


Bild: Sinusgenerator Hardware-Loopback Schaltplan

Der Kern der Schaltung ist der gleiche wie beim obigen Generator, jedoch wird auch das Kopfhörer-Signal durch die Platine geschleift. Das zweite PWM-Signal an Pin6 (PB1) des Mikrocontrollers wird über R7, R5, R6 auf den Kopfhörer gegeben. Zum Schutz der Soundkarten-Ausgänge sind die Widerstände R2 und R3 in die NF-Leitung eingefügt.

Als Option sind eine zweite Tastenbuchse und das RC-Glied R8/C4 eingezeichnet, falls man zwei Tasten anschliessen möchte und mindestens eine davon eine Handtaste ist, deren Kontakt etwas prellen könnte. Für einen Elbug ist das RC-Glied nicht sinnvoll.

Da ein Hardware-Loopback insbesondere an modernen Notebooks bzw. Tablets mit 4-pol-Kombibuchse erforderlich werden könnte, erfolgt der Anschluss des Rechners in dieser Schaltungsvariante über einen 4-poligen Klemmenblock, da 4pol 3,5mm-Buchsen seinerzeit schlecht erhältlich waren.

Bild: ICW Sinusgenerator Hardware-Loopback Layout

Download der neuesten Version: 2102-icw-sinusgen.zip

Das Archiv enthält Schaltpläne, Board-Skizzen und das Bascom-Programm im Quelltext und als Hex-File, letzteres kann mit einem Programmer und einer Programmier-Software auf den ATtiny geflasht werden, ohne dass Bascom installiert sein muss.


Update:

Der PWM-Sinus klingt bei allen vorgestellten Schaltungen zwar einwandfrei, aber die Hüllkurve ist nicht optimal und sorgt für einen recht "sonoren" Klang. Er lässt sich deutlich verbessern, wenn man eine (bereits im LC-Bandfilter verwendete) Induktivität parallel zum 470nF Tiefpass-Kondensator schaltet. Hier nochmals die Reichelt-Daten:

L-XHBCC 100M       Festinduktivität, axial, XHBCC, Ferrit, 100 mH



Zurück zur Hauptseite




Elektronik-Labor  Projekte