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.
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".
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".
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.
Der Schaltplan:
Der "Radarblick" von oben auf die Streifenleiter-Platine (die Leiterbahnen auf der Unterseite sind blau, die Drahtbrücken auf der Oberseite sind braun):
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.
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.
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.
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):
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
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.
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.
L-XHBCC 100M Festinduktivität, axial, XHBCC, Ferrit, 100 mH