Keyer Projekt

  • Hallo!


    Seit etwa zwei Wochen arbeite ich an einer Keyer Elektronik. Ich weiß davon gibt es schon eine ganze Menge, doch die meisten verfügen nur über rudimentäre Funktionen. Wer mehr haben will hat eigentlich keine andere Wahl als sich einen der "großen" Keyer wie den Island Keyer oder den Cmos Super Keyer zu kaufen.


    Ziele des Projekts sind u.a. folgende:


    1. Portabler Code, Open Source
    2. Auch in kleinen Stückzahlen verfügbare Controller
    3. Frei verfügbare Entwicklungsumgebung
    4. Günstige Programmiergeräte
    5. Unterstützung mehrerer Modi (Iambic A/B, Ultimatic, autom. Zeichenabstand)
    6. Einstellungen per Kommandos in CW über Paddle oder Handtaste
    7. Speicher auch mit Handtaste benutzbar
    8. Evtl. Schaltausgang für S/E-Umschaltung
      [/list=a]


      Bei der Forderung unter Punkt a kommt eigentlich nur die Programmiersprache C in betracht. Bei anderen Sprachen (insbesondere Assembler) begibt man sich auf eine Einbahnstraße da mansich auf einen bestimmten Controllertyp festlegen muß. Soll das Programm auch auf einen anderen Controller laufen (z.B. PIC und AVR) muß alles neu geschrieben werden. Bei den Punkten b-d drängt sich die AVR Reihe von Atmel förmlich auf: Controller gibt es bei Reichelt, einen C-Compiler gibt es kostenlos und einen Programmieradapter kann man sich für 5-15€ selber bauen oder man nimmt einen kommerziellen für 40€.


      Der Vorteil eines frei verfügbaren Quelltextes besteht nicht nur darin das Programm ändern zu können auch in der Möglichkeit ein vorhandenes Programm (DDS?) mit einem Keyer zu erweitern ohne das Rad neu erfinden zu müssen.


      Zur Zeit entwickle ich noch auf einem ATmega16 mit dem avr-gcc als Compiler und avrdude für meinen 10€ Programmieradapter. Die Programmgröße beträgt derzeit etwa 4kB, sodaß letztlich ein Controller mit >=8kB nötig ist. Implementiert habe ich bis jetzt:
      [list]
      Keyer Modi Iambic A/B (wahlweise mit oder ohne CMOS SuperKeyer Timing), Ultimatic
      Erzwungener Zeichenabstand (leider auch abschaltbar ;) )
      Geschwindigkeitseinstellung per Befehl oder Poti
      Stellbereich des Potis (Ober-/Untergrenze) einstellbar zwischen 5-60 wpm
      Reverse paddles
      Reverse output


    Als nächstes sind die Speicher dran. Dazu ziehe ich aber ersteinmal auf eine neue Hardware mit einem ATmega88 um. An dem jetzigen Entwicklungsboard habe ich nur eine Taste angeschlossen.


    Das Ganze ist also noch mitten in der Entwicklung. Wer interesse hat daran teilzunehmen oder Vorschläge für weitere Funktionen hat: Jetzt wäre der richtige Zeitpunkt :D.


    vy73 de Michael, dl6yev

  • Zitat

    Original von dl6yev
    Hallo!


    Seit etwa zwei Wochen arbeite ich an einer Keyer Elektronik. Ich weiß davon gibt es schon eine ganze Menge, doch die meisten verfügen nur über rudimentäre Funktionen. Wer mehr haben will hat eigentlich keine andere Wahl als sich einen der "großen" Keyer wie den Island Keyer oder den Cmos Super Keyer zu kaufen.


    Hallo Michael,


    ich will dich natürlich nicht bremsen, da ich alle solche Aktivitäten lobenswert finde, nur dem oben gesagten muss ich widersprechen. Um die von dir angesprochenen Funktionen zu bekommen braucht man keinesfalls einen "großen" keyer, das hat der Programmierer des PK4 keyer alles in einen 8 beinigen PIC gepackt. Schau dir mal die Menüs im PK4 Handbuch an. Die Ulmer haben den keyer in ihrem kleinen CodeCube eingebaut und wir haben ihn als Minibausatz im Programm.


    Vergiss bei deinem Programm nicht, dass die meisten CWisten ein Poti zu Tempoeinstellung wollen 8)

    73/2 de Peter, DL2FI
    Proud member of Second Class Operators Club SOC and Flying Pig Zapper #OOO (Certificated Kit Destroyer)

  • Zitat

    Original von DL2FI
    Schau dir mal die Menüs im PK4 Handbuch an.


    Was ich gerade getan habe. Den PK4 hatte ich bisher völlig ignoriert, er ist aber offenbar ein tapferes kleines Kerlchen. Quasi das Bindeglied zwischen den kleinen und den großen Keyern. Für einen (zumindest mechanisch) kleinen, dedizierten Keyer genau das Richtige.
    Aber (um den Mut nicht zu verlieren): Er unterstützt keine mechanischen Tasten (Speicher, Setup), bietet keine direkte Speicheranwahl und eine Suche nach dem Quellcode zwecks Erweiterung und Modifikation ist hoffnungslos. Ich sehe allerdings ein das das in den meisten Fällen auch wohl egal ist.


    @Karsten:
    Das ist ein interessanter Punkt. Ich hatte nicht erwartet das es Operator gibt die diese Speicher nicht wollen. Die Abfrage ob die Speicher aktiv sind ist im Code bereits vorhanden. Die Punkt- und Strichspeicher sind allerdings stand heute immer eingeschaltet. Kann ich ohne weiteres einstellbar machen. Ein "Bug" Modus wäre da schon schwieriger.


    vy 73 de Michael, dl6yev


    Du siehst, Michael, der Input kommt schon. 8)
    Was Ken gesagt hat, kann ich nur bestätigen. Ich persönlich bin zwar immer noch der Meinung dass es sich um das unterschiedliche Timing Mode a / Mode B handelt, aber die Frage nach dem abschaltbaren Speichern ist in der Tat die mit Abstand am meisten gestellte wenn ich nach dem PK4 gefragt werde.
    Du solltest in diesem Pungktden Pragmatismus des PK4 Programmierers annehmen: Ich streite mich nicht, ob es so oder so besser ist, ich biete im Menü die Auswahl an. Über Philosophien kann man wunderbar diskutieren - meist bringt es aber nichts.

  • 73/2 de Peter, DL2FI
    Proud member of Second Class Operators Club SOC and Flying Pig Zapper #OOO (Certificated Kit Destroyer)

  • Hallo Michael,


    das Thema Elbug ist schon ziemlich ausgereizt. Assemblerprogramme, die man für eigene Wünsche anpassen kann gibt es auch. Wer eine neue Taste programmiert, muss sich gut überlegen,
    was man aus bewährten Projekten übernimmt und was an neuen Funktionen wünschenswert ist.


    Als Anregung vielleicht zwei Punkte, die ich einbringen könnte. Ich benutze eine Taste nach DL4YHF. Was mich dabei fasziniert ist, dass ich seit fünf! Jahren die Batterien noch nicht wechseln musste.
    Was mir weniger gefällt ist, dass man das Verhältnis von Punkt zu Strich oder von Punkt zu Pause nicht einstellen kann.


    73, Karl-Heinz DL3DA in Göttingen

  • Ach so. Jetzt wird mir einiges klar, Ken und Peter. Das Timing des Iambic Mode B mit seinen zusätzlich ausgegebenen Elementen nach einem Squeeze. Ja, das stört mich auch. Die Lösung heißt "Iambic Mode A" (oder Ultimatic, bei mir: Ultimatic-A).
    Ich habe den Zusammenhang mit dem Punkt-/Strichspeicher den es unabhängig davon gibt nicht gesehen. Wie dem auch sein, diese Speicher sind jetzt abschaltbar.


    Danke für das Feedback. Nur weiter so! Vielleicht kommt am Ende noch ein brauchbarer Keyer dabei heraus.
    Ich bin mal gespannt ob Atmel ist irgendwann nochmal schafft den ATtiny84 (DIP14) bzw. ATtiny85 (DIP8 ) herauszubringen. Vor allem den 84er finde ich interessant. Genügend Ports für Ein-/Ausgabe und dennoch kompakt.


    vy 73 de Michael, dl6yev

  • Hallo CWisten,
    moechte mal eine Idee anfuehren, die mich schon seit laengerem beschaeftigt:
    Waere es nicht toll, wenn die Paddles oder die Handtaste 'voellig losgeloest' auf dem Stationstisch stuende, OHNE KABEL ? - Habe gerade fuer 10 Euro (i.W. zehn)
    eine drahtlose Computertastatur und drahtlose (optische) Maus erstanden.
    Im Prinzip ist in der Maus doch alles drin, was man zum Uebertragen braucht. Weisz nur nicht, ob das Ding bspw. auch das gleichzeitige Druecken zweier Tasten cw-gerecht uebertraegt. Aber Ihr seht wohin das fuehren soll: Bevor man mit viel Aufwand das Rad neu erfindet und fuer "viel" Geld einzelne Bauteile ersteht oder zusammensucht, waere es nicht schlecht, wenn man irgendwas bereits billig a.d. Markt erhaeltliches zweckentfremdet...
    Vielleicht ist ja schon jmd. etwas weiter mit den Ideen ?

    73
    Juergen
    nnnn


  • Gibt es schon, Jürgen, einer der Prototypen steht neben mir auf dem Tisch.


    Die Jungs von PalmRadio - das sind die mit dem Mini-Paddle" Ulm haben fast 2 Jahre lang daran entwickelt, ein Entwicklungsmuster haben wir letztes Jahr in Dayton vorgeführt. Das ganze ist gar nicht so trivial. Die von dir erwähnten Mäuse z.B. habe ich bei aller anfänglichen Begeisterung wieder aussortiert, weil der Batterieverbrauch unerträglich hoch ist. Beim Ulmer Infrarot keyer werden die Morsezeichen dadurch stromsparend übertragen, dass jeweils nur Anfang und Ende eines Punktes oder Striches gesendet werden. Hannes, DL9SCO, einer der Entwickler ist ja hier im Forum vertreten, vielleicht gibt er mal einen Kommentar ab.

    73/2 de Peter, DL2FI
    Proud member of Second Class Operators Club SOC and Flying Pig Zapper #OOO (Certificated Kit Destroyer)

  • Hallo Michael,


    wir haben hier einen begnadeten Telegraphisten, der ärgert sich immer wenn Keyer bei 50 Wpm am Ende sind. Du siehst ja schon gleich 60 Wpm vor, das ist seine Standardgeschwindigkeit. Gibt es eine Grenze aufgrund des Rechners oder könnte man problemlos 120 Wpm vorsehen damit er noch etwas trainieren kann.


    73 de uwe df7bl
    Ps mir hat man mit sehr hoher Geschwindigkeit mal nur CQ vorgespielt, ich habe es nicht erkannt. Eigentlich dachte ich dass das bei jeder Geschwindigkeit von mir erkannt wird.

    DL0AQB - Transfer Listserver <> Forum

  • Hallo Uwe,
    das obere Limit habe ich einfach so eingesetzt. Bei 120wpm beträgt die Punktlänge 10ms. Die Keyer Logik basiert auf einem Zustandsautomaten der die Zustände der Tasten asynchron verarbeitet. Die Hauptschleife mit der Tastenabfrage braucht etwa 300µs. Das ergibt also ein Verhältnis von etwa 30:1. Wenn ich da nicht etwas übersehen habe sollte das für 120wpm doch schnell genug sein. Ansonsten läßt sich die Verarbeitungszeit sicher noch nach unten drücken. Notfalls durch Erhöhung der Taktfreqenz. Da ist noch reichlich Luft. Ich verplempere auch viel Zeit bei der Tastenabfrage.


    Über die EHSC-ler kann ich mich ja nur wundern. Neulich hat sich mein Keyer durch einen Eingabe- und Programmfehler auf 60wpm eingestellt. Da Menü- und Tastgeschwindigkeit (noch) immer gleich ist, mußte ich daraufhin das Hex-File mit den Standard-EEprom Daten neu aufspielen weil ich es auch nach zahlreichen Versuchen nicht hinbekommen habe "S22" zu geben :( ;)


    Oh, und: Ich habe mal gelesen das bei hohen Geschwindigkeiten zuweilen das Tastverhältnis verstellt wird da dies die Lesbarkeit erhöhen soll. Wenn dem so ist, wäre es dann hilfreich wenn die Elektronik sich bei geringeren Geschwindigkeiten dann wieder automatisch auf das "normale" Verhältnis zurücksetzt?


    vy 73 de Michael, dl6yev

  • Moin,


    ist ja richtig interessant dieses Thema. Ich hätte da auch 3 Vorschlage:


    1. Speicher
    Ich würde mir mindestens 3 Speicherbänke mit ca.5 (ieber 8 ) Texten wünschen - (eventuell dann einen Speicherchip mehr einplanen)


    Bakenbetrieb, Schleifenbetrieb werden ja wohl sowieso integriert? - Punkt-/Strichspeicher bitte unbedingt abschaltbar! (ich hab's vor 20 Jahren ohne gelernt, grins). Ebenso brauche ich keine Squeeze-Funktionalität - aber da kan ich ja mit einem Paddle geben...


    2. Rufzeichen
    Ich würde gern die eingeschriebenen Texte behalten und nur das Rufzeichen tauschen wollen (ich benutze regelmäßig 4 verschiedene Rufzeichen)


    3. Dekodierung
    Vielleicht sollte man eine Dekodieranzeige vorsehen. Wir haben öfters Besuch von Jugendlichen (auch am Kids-Day), die ein "Morse-Diplom" erhalten, wenn sie Ihren Namen fehlerfrei geben. Das sollte auf einem Monitor sichtbar sein (oder die kleine Variante ein eingebautes LC-Display an der Taste)...



    hoffe es reicht, ansonsten krame ich noch weitere Vorschläge aus, grins...

    vy 73 - Lutz / DL5KUA

    Einmal editiert, zuletzt von DL5KUA ()

  • Zitat

    Original von DL0AQB
    wir haben hier einen begnadeten Telegraphisten, der ärgert sich immer wenn Keyer bei 50 Wpm am Ende sind. Du siehst ja schon gleich 60 Wpm vor, das ist seine Standardgeschwindigkeit. Gibt es eine Grenze aufgrund des Rechners oder könnte man problemlos 120 Wpm vorsehen damit er noch etwas trainieren kann.


    Diesen Vorschlag möchte ich ausdrücklich unterstützen!

  • Hmm, 60 WPM=300 BPM als Standardgeschwindigkeit...Respekt, Respekt.
    Mit dem der dann wohl überhaupt noch seine QSOs fährt...?


    Sagt mal...seid ihr sicher daß die 120 WPM dann reichen? Das sind wirklich nur schlappe 600 BPM...


    8) :P

    72 de Hannes, DL9SCO

  • Zitat

    Original von DL9SCO
    Hmm, 60 WPM=300 BPM als Standardgeschwindigkeit...Respekt, Respekt.
    Mit dem der dann wohl überhaupt noch seine QSOs fährt...?


    Och, da gibt es einige OMs:
    http://www.morsecode.dutch.nl/ehscl.html


    Zitat

    Original von DL9SCO
    Sagt mal...seid ihr sicher daß die 120 WPM dann reichen? Das sind wirklich nur schlappe 600 BPM..


    Dann schau doch mal hier:
    http://www.darc.de/referate/dx/fgdtrt.htm (Links auf die Auswahl klicken).
    Top Speed sind 735BpM.


    Zugegeben, das sind *nur* einzelne Rufzeichen. Aber in Tempo 300 BpM einem QSO zuzuhören ist noch recht einfach. Tempo 300 sauber geben ist schon viel schwerer, wobei in so einem Klön-QSO auch nicht zwingend militärische 5er-Gruppen Präzision gefordert ist. Man versteht sich eben ... ;)

  • Zitat

    Original von Ken, DL8LBK


    Aber in Tempo 300 BpM einem QSO zuzuhören ist noch recht einfach. Tempo 300 sauber geben ist schon viel schwerer, wobei in so einem Klön-QSO auch nicht zwingend militärische 5er-Gruppen Präzision gefordert ist. Man versteht sich eben ... ;)


    Hi Ken, und wie sieht es im realen Funkerleben aus? Ich habe auf dem gleichen Link nachgesehen, Deutscher Telegrafiepokal 2005 (bei den RUFZ Daten waren mir zu viele leute ohne Amateurfunkgenehmigung dabei, das scheinen wohl mehr Profis im Sinne von Horchern zu sein )


    Gruppe der Männer im besten Alter Wettbewerbsteil Hören


    1 DL2OBF 190
    2 DJ1YFK 190
    3 DL7UGN 140
    4 DF7TH 100
    5 DL8LBK 90
    6 DF4WX 110
    7 DK1NAH 100


    Und schneller als man hören kann sollte man ja wohl nicht geben :]

    73/2 de Peter, DL2FI
    Proud member of Second Class Operators Club SOC and Flying Pig Zapper #OOO (Certificated Kit Destroyer)


  • Hallo Peter,


    Du hast 100%ig Recht! Die Betonung in Deinem Satz liegt dabei auf _hören_! Die Ergebnisse die Du zitierst beruhen aber auf _schreiben_, da die 5er-Gruppen regelkonform aufgeschrieben werden müssen. Ich bin jedoch ein Langsamschreiber und habe nie Steno gelernt. Fabian und Hein trainieren dies jedoch für die Weltmeisterschaft. Aber auch da ist bei ca. 190 BpM eben Schluß.


    Deshalb schieb ich ja auch:


    Zitat

    Original von Ken, DL8LBK
    Aber in Tempo 300 BpM einem QSO zuzuhören ist noch recht einfach. Tempo 300 sauber geben ist schon viel schwerer, wobei in so einem Klön-QSO auch nicht zwingend militärische 5er-Gruppen Präzision gefordert ist. Man versteht sich eben ... ;)


    Das reale Funkerleben hat eben nichts mit 5er-Gruppen, die man aufschreiben muß zu tun. Um Deinen Vergleich zu bemühen:


    Ich behaupte wir können uns mit 900 BpM verbal unterhalten (sprechen). Wenn Du mir jedoch einen Buchstabensalat ohne inhaltlichen Sinn in 5er-Gruppen in Tempo 70, 80, 90, 100 BpM diktierst und ich sie aufschreiben soll, dann werde ich maximal ca. 90 Buchstaben in einer Minute zu Papier bringen. Jetzt wirst Du doch aber nicht auf die Idee kommen und behaupten, das ich keine 900 BpM *verstehen* könne, denn ich habe ja nachweislich nur 90 BpM gehört - oder?


    Und ich gehe noch einen Schritt weiter. Ich komme aus dem hohen Norden und sofern jemand aus dem Süden seinen Dialekt zügelt behaupte ich, daß ich mit dem, sagen wir Bayern, immer noch mit 900BpM sprechend kommunizieren kann. Meine *Fehlerkorrektur* muß nun jedoch etwas arbeiten und den Dialekt *glätten*.


    Nichts anderes geschieht, wenn man CW in Tempo 300 BpM hört und leichte Gebe- oder Timingfehler in der Aussendung sind. Das meinte ich mit "militärischer 5er-Gruppen Präzision". Motto: Hauptsache man versteht sich. Und _das_ ist das reale Funkerleben!


    Ich persönlich gebe keine 300BpM. Meine Finger schaffen das leider nicht in ausreichender Qualität. Aber ich lade Dich ein, Dich in Erbenhausen selber davon zu überzeugen, daß man in Tempo >200 BpM *verstehen*, also sich unterhalten kann. Und das, obwohl ich mit 90 BpM beim Pokal kläglich versagt habe ;)

  • Zitat

    Original von Ken, DL8LBK
    Ich persönlich gebe keine 300BpM. Meine Finger schaffen das leider nicht in ausreichender Qualität. Aber ich lade Dich ein, Dich in Erbenhausen selber davon zu überzeugen, daß man in Tempo >200 BpM *verstehen*, also sich unterhalten kann. Und das, obwohl ich mit 90 BpM beim Pokal kläglich versagt habe ;)


    Mensch Ken, wir ziehen doch an der gleichen Leine, haben wir doch beim CW Treffen festgestellt!!!


    Hätte ich gedacht, dass dich das trifft, so hätte ich bei meinem Zitat nach Platz 1 aufgehört. Von Versagen kann überhaupt keine Rede sein. CW ist das was mir - neben Basteln - am Amateurfunk Spaß macht und zwar eine gepflegte Unterhaltung. Ich höre oft genug und mit Genuß auf 7024 / 7025 zu wenn Wang, Dieter und die anderen Freunde sich dort unterhalten und ich gebe auch zu, dass ich manchmal nur noch aus dm Zusammenhang mitbekommen, was sie sich so erzählen. Ich habe einfach kein Übung mehr, weil ich zu wenig dazu komme die Taste zu schwingen.


    Das spielt sich wohl alles so in der Gegend von etwas oberhalb 200-220 ab, so weit ich weiss. Ich wollte ja nur den armen Programmierer von dem Druck befreien, sich plötzlich um die timing Probleme eines keyers für Tempo 600 kümmern zu müssen 8)

    73/2 de Peter, DL2FI
    Proud member of Second Class Operators Club SOC and Flying Pig Zapper #OOO (Certificated Kit Destroyer)

  • Zitat

    Original von DL2FI


    Hätte ich gedacht, dass dich das trifft, so hätte ich bei meinem Zitat nach Platz 1 aufgehört. Von Versagen kann überhaupt keine Rede sein. CW ist das was mir - neben Basteln - am Amateurfunk Spaß macht und zwar eine gepflegte Unterhaltung. Ich höre oft genug und mit Genuß auf 7024 / 7025 zu wenn Wang, Dieter und die anderen Freunde sich dort unterhalten und ich gebe auch zu, dass ich manchmal nur noch aus dm Zusammenhang mitbekommen, was sie sich so erzählen. Ich habe einfach kein Übung mehr, weil ich zu wenig dazu komme die Taste zu schwingen.


    Das spielt sich wohl alles so in der Gegend von etwas oberhalb 200-220 ab, so weit ich weiss. Ich wollte ja nur den armen Programmierer von dem Druck befreien, sich plötzlich um die timing Probleme eines keyers für Tempo 600 kümmern zu müssen 8)


    Keine Sorge Peter,


    das trifft mich nicht wirklich. Sonst würde ich mich dort erst gar nicht an den Tisch setzen. Ich weiß ja schon vorher was dabei heraus kommt ;) Man muß auch über sich selber lachen können, und wenn man weiß warum das so ist ... .


    Mir war jedoch wichtig einmal den Vergleich mit dem gesprochenen Wort herzustellen. Sicher lesen hier Leute mit, die sich das gar nicht vorstellen können in Tempo 300 BpM QSO zu fahren. Und wenn dann da schwarz auf weiß etwas von rund 100 BpM steht, dann muß ich natürlich erklären warum das so ist. Von daher fand ich den von Dir aufgestellten Zusammenhang (5er-Gruppen mitschreiben / reales Funkerleben) etwas, hmmm.... unpassend.


    Richtig, die meisten QSOs laufen in Tempo 200-230 BpM. Ab und an sind auch mal 250 BpM drin. An die 300 BpM machen öfter noch Fabian, Uli, Jens und Jörg. Wenn aber schon jemand dabei ist einen super Keyer zu programmieren, der alles bisher dagewesene übertreffen soll, dann sollte er sich ggf. auch für die Einsetzbarkeit bei der Weltmeisterschaft qualifizieren. Und da es offenbar bis 120 WpM keine Timingprobleme gibt, wollte ich den OM nur ermutigen den Weg weiter zu gehen!