Morse-Übungsgenerator mit Mikroprozessor

  • Hallo Leute,


    ich möchte Euch mal von einem Projekt schreiben, mit dem ich noch nicht weit gekommen bin: Ich möchte einen richtig guten Morse-Übungsoszillator bauen. Vorweg: Fast alle von Euch haben das Morsen wahrscheinlich mit einem suboptimalen Tongenerator gelernt. Das geht auch, und vielleicht sogar besser als mit dem Gerät, das mir vorschwebt.


    Ideen:

    • reiner Sinuston
    • Frequenz mit Jumper (wie im Computer) einstellbar auf
      570 Hz, 660 Hz und 750 Hz
    • klickfrei mit einer sigmoiden Funktion (mehr dazu später)
    • Versorgung 9 V Blockbatterie, externe Versorgung max. 13.8 V


    Das ganze möchte ich mit einem Mikroprozessor umsetzen. Mit einem Tiefpassfilter aus einem Op-Amp und einem LM-386 oder ähnlichem als Verstärker. Wenn die Verstärker etwas Rauschen generieren, ist das OK.


    Welchen Mikroprozessor würdet Ihr nehmen? Ich hatte mir mal angesehen, wie PICs arbeiten, aber ich glaube, die meisten hier nehmen Atmels,
    oder?


    Achtung: Trollgefahr! Ich werde mich über sachliche Empfehlungen freuen, aber bitte keinen Glaubenskrieg starten.


    73 Daniel DM3DA

  • Hallo,


    ich finde es lustig, wie man für alles heutzutage Mikroprozessoren oder gar ganze Controller verwenden will. Die drei Töne könnte man auch mit drei Oszillatoren erzeugen. Das hat den Vorteil, das andere die Schaltung nachbauen können, ohne sich vorher ein Programmiergerät basteln zu müssen. Drei NE555 können das genauso gut, wie ein µC. Die haben meistens auch mehr Power als die Controller, womit ein OpAmp überflüssig werden würde. Ich selbst mag Die kleinen Käfer sehr, aber auch ich frage mich gerne, ob das nicht auch ohne zu lösen ist. Ich sehe mich als Jugendlicher - und das bitte nicht falsch aufgreifen - in 10 Jahren in einer Welt, in der man einen Mikroprozessor mit Betriebssystem und eigener IP Adresse benötigt, um ein Relais zu schalten.


    Falls du doch einen µC einsetzen willst: Für deine Anwendung ist es eigentlich egal, ob du einen von Microchip oder einen von Atmel nimmst. Das können eigentlich beide gut. Beide kannst du in Assembler und C programmieren. der Vorteil von den Atmel CPUs: Viele lassen sich auch in Bascom programmieren, einem an Basic angelehnten Dialekt, der einfacher als C ist und eigentlich genauso mächtig. Wenn man schnell etwas für einen Atmel Prozessor schreiben möchte und noch keine Erfahrung in Programmiersprachen hat, dem lege ich Bascom ans Herz. Viele Programmierer sagen allerdings auch, das es keine Programmiersprache, sondern eine Krücke ist. Da haben sie aber auch recht, denn Bascom funktioniert nur in der Bascom IDE und auch nur für Atmel Prozessoren und da auch nur für die absolut gängigsten. Aber Bascom ist in meinen Augen auch nur dazu da, um das Grundschema des Programmieren zu verstehen. Ein Freund von mir findet sich in Assembler und C absolut nicht zurecht, deswegen hat er auf mein Anraten hin mit Bascom angefangen. Er meinte, die Sprache ist leichter und verständlicher als alle anderen Sprachen für die µC. Ein schöner Einstieg!


    Die PIC Prozessoren haben eine größere Vielfalt an verschiedenen Varianten als Atmels AT Serie. Auch können PIC Prozessoren AFAIK nur in Assembler und C programmiert werden. Allerdings weiß man bei Assembler auf dem PIC dann auch, das jeder Befehl genau einen Taktzyklus zur Ausführung benötigt (Ausnahmen sind Sprungbefehle und einige andere). Mehr kann ich dir darüber nicht sagen, da ich mit den PICs erst anfange. Mir gefallen eigentlich beide gut.


    Ein zusätzlicher Rauschgenerator sollte vielleicht integriert werden. Dann kann man gleich "Bandbedingungen" simulieren.

  • Hallo Jan,


    Du hast recht, natürlich lassen sich mit analogen Oszillatoren gute Übungsgeneratoren bauen. Aber ich bin davon überzeugt, dass ein Microprozessor das noch besser kann. Als ich Morsen gelernt habe, hatte ich einen Übungsgenerator mit einer T-Schaltung gebaut. Der hatte sehr stark geklickt. Dummerweise hatte ich mir angewöhnt, auf die Klicks zu achten und nicht so sehr auf den Ton zu hören. Als ich dann den ersten Übungskontakt auf 144 MHz hatte, habe ich nichts mitbekommen. Keine Klicks.


    Also brauchte ich einen anderen Übungsgenerator. Den hatte von einem Freund einen Morse-Tongenerator geschenkt bekommen. Innen war ein NE555-Chip und machte einen schönen rauhen Ton aus einem Rechtecksignal mit allen geraden Obertönen. Als ich dann funken wollte, war das Signal nur auf einer Frequenz: 660 Hz. Und mir fehlten die hohen Töne.


    Aktuell habe ich einen Tongenerator mit einer Wienbrücke um einen Op-Verstärker. Der Ton klingt super und ist völlig sauber. Aber ich kann ihn nicht richtig schalten: Je nach Aufbau ist der Ton nicht völlig weg, wenn die Morsetaste nicht gedrückt wird, oder der Generator heult am Ende eines Tons (Chirp).


    Um es auf einen Punkt zu bringen: Ich möchte einen Übungsgenerator bauen, der die Tonqualität 9 hat. Nicht 598C oder K (RST Beschreibung bei Ludwig DK5KE). Ein Rauschgenerator wird nicht nötig sein.


    73 Daniel DM3DA

  • Hallo Daniel,


    hmm... - wenn ich das richtig verstehe, möchtest du einen Morseübungsgenerator haben, dessen Sound möglichst nahe an der Realität am Empfänger ist. Warum baust du ihn dann nicht auch so auf?


    Zwei HF-Generatoren in NF-Abstand auf einen Mischer - oder nimm z.B. einen Schaltungsauszug für den Mithörton im Mosquita - und schon hast du den typischen Empfängersound. Durch spielen an den oszillatoren kannst du dann alles erzeugen: vom Tastclick bis zum weich einsetzenden Ton.


    Ein Moseübungsgenerator auf Rechnerbasis ist wie ein RX mit totaler DSP - man hört nicht mehr, was wirklich da ist.


    Überleg mal ?(

    72/73
    Con


    DM5AA - DOK V11 - JO64SC
    DL-QRP-AG#297 - G-QRP#7939 - AGCW#1957 - RU-QRP#345
    BCRspezial - MosquitaTurm - SKY-SDR - viele Baustellen

  • Hallo OM's,


    ich bevorzuge die MSP-controller, da es dafür eine kostenlose Entwicklungsumgebung (IAR) bis 4kbyte code gibt,
    die debuggen in Echtzeit erlaubt, was vor allem für Leute, die C+ nicht bereits mit der Muttermilch aufgesogen haben,
    eine wirkliche Hilfe ist.
    Dem µC kann man sicher auch beliebig saubere Sinustöne beibringen, etwa mit einer Tabelle, die periodisch abgefragt wird
    und einem rudimentären Widerstandsnetzwerk als DA-Wandler - wenn man schnell genug abtastet,
    reicht ein einfacher RC-Tiefpass als anti-aliasing Filter.
    Eine Fensterfunktion, die ein weiches Tastsignal generiert ist ebenfalls kein Problem, wenn man die Sinuswerte anschliessend
    mit den entsprechenden, ebenfalls in einer Tabelle abgelegten, Hüllkurvenwerten multipliziert,
    an dieser Stelle punktet der MSP mit einem Hardware-multiplier.


    So hat man alle Freiheiten, vieles davon wird man allerdings nicht wirklich hören können und läuft außerdem in Gefahr,
    mit einem Signal zu üben, das viel 'schöner' ist, als vieles was man auf dem Band hört !?


    Analoge Lösungen hat OM CON ja bereits angedeutet, wenn man sowieso in die µC Programmierung einsteigen möchte,
    kann man an diesem Projekt sicher 'ne Menge lernen.


    72/3


    Peter/DL3PB

  • Hallo Daniel,


    wenn es den eine Controllerlösung werden soll, warum den mit so gigantischer Betriebsspannung?
    Würde da eher zu 2..3 Mignons raten. Gibt eine deutliche Vereinfachung und viel mehr an Laufzeit als die paar mA/h eines 9V Blocks und Du mußt auch nicht extra die Spannung für den Controller anpassen. Für die NF gibt es sehr schöne Verstärker die in diesem Spannungsbereich ausreichend Leistung bringen und sich bei Bedarf sogar vom Controller in der Lautstärke regeln und schlafen schicken lassen.
    Für die Tonerzeugung lassen sich sicher auch codeschnipsel finden. Egal ob Du das über einen R2R DA Wandler oder eine Pulsweitenmodulation realisieren willst. Unter Ausnutzung der Sleepfunktion des Controllers könntest Du zur Not auch auf den Ausschalter verzichten und einen Festspannungsregler brauchst Du eh nicht.


    72 de Alois

    "Ich habe viel von meinem Geld für Alkohol, Frauen und schnelle Autos
    ausgegeben. Den Rest habe ich verprasst." - George Best

  • Hallo Leute,


    danke für die Hinweise. Die waren sehr hilfreich. Ich glaube, ich werde mich erst einmal auf einen AT Tiny 13 mit Pulsweitenmodulation konzentrieren. Das scheint ganz gut zu gehen (Beispiel 11 in Teil 8 von DG4FAC). Vielleicht kann ich dann sogar den Op-Amp-Tiefpass weglassen.


    Einen bezahlbaren ISP (Wikipedia: In-System-Programmier) habe ich bei myavr.de gefunden.


    ALOIS Die Idee mit den 3 Mignonzellen finde ich gut. Welche Verstärker meinst Du?


    73 Daniel DM3DA

  • Hallo,


    so schön es sein mag, einen sauberen Sinuston zu haben, so hat es gezeigt, dass ein Morsen lernen mit leicht (!) verzerrtem Ton konzentrierter funktioniert. Durch die Oberwellen oder auch leicht verzerrten Töne bleibt die Konzentration stärker erhalten. Dabei darf das allerdings nicht so scheppern, dass es grausam klingt.


    Ich kann die Quelle nicht so schnell finden, aber als ich 2001 über den Morsekurs bei uns in H23 recherhierte, wurde ich darauf aufmerksam gemacht. Ein Sinuston (also ohne Oberwellen, dazu mit derselben Tonhöhe) ermüdet schneller als ein Ton mit leichten Oberwellen.


    Ein Beispiel: Unser Weltmeister Fabian, DJ1YFK wurde wegen seiner Leistungen mit RufzXP gefragt, mit welchen Einstellungen er dort seine hohen Tempi hört. Folgende Einstellungen nannte er: Ton: Sägezahn. Einblenden: 0,1ms. Ausblenden: 0,4 ms. Abhängig auch von den verwendeten Kopfhöreren. Er hat das auch begründet.


    Und, in der Tat, ich habe es mal ausprobiert. Ich höre bei RufzXP nicht mehr mit einem Sinuston. Wenn ich mir alte Filme über professionellen Küstenfunk anhöre, so wurde dort u.a. mit der sog. tönenden Telegrafie gearbeitet.


    Link aus einem Archiv, wo noch mehr Beispiele liegen: http://www.pust-norden.de/DAN-Audio/DAN-DDD.wav


    Ein "markiges" Signal ist einprägsamer. Ich plädiere demnach für die Einstellmöglichkeiten wie bei RufzXP. 8)

    73 Michael, DF2OK.

    ~ Das größte Elend gibt es doch nur, weil die Leute, denen es eigentlich gut geht, nicht mit dem zufrieden sein können, was sie haben. ~


  • Hallo Michael,


    dass die Oberwellen helfen, habe ich auch schon erlebt (mit dem NE555-Chip, siehe oben). Wenn ich mich richtig erinnere, hat einer der DL-QRP-AG/QPRproject-Transceiver extra einen "angerauhten" Mithörton. Das will was heißen! Aber ich möchte erst einmal das Sinussignal hinbekommen.


    73 Daniel DM3DA

    Daniel DM3DA, Düsseldorf JO31jf, DOK R01 +++ Morse-Hörspiele auf http://dm3da.tuxomania.net

    Edited once, last by DM3DA: Es scheint nicht einfach zu sein, ein Sägezahnsignal mit PWM zu generieren. ().

  • Hallo Daniel,


    da habe ich mal schnell in meinem "Archiv" gekramt.
    TS4974 der ist aber recht "gewöhnungsbedürftig" zu löten,
    SA58635 mit I²C Bus aber nur 25mW (Stereo),
    TDA8551 den gibt es in DIP 8 liefert 1W und ist mit up down Pulsen steuerbar.
    TDA8552T das ganze Stereo


    Hoffe geholfen zu haben


    72 de Alois

    "Ich habe viel von meinem Geld für Alkohol, Frauen und schnelle Autos
    ausgegeben. Den Rest habe ich verprasst." - George Best

  • Aber ich möchte erst einmal das Sinussignal hinbekommen.

    Hallo Daniel, klar.
    Ich stelle mir das nicht so einfach vor, das per Microprozessortechnik- und Programm hinzubekommen. Denke aber, dass Du das schaffen wirst. ;)

    73 Michael, DF2OK.

    ~ Das größte Elend gibt es doch nur, weil die Leute, denen es eigentlich gut geht, nicht mit dem zufrieden sein können, was sie haben. ~


  • Hallo Daniel,


    bitte nehme einen für PWM ausgelegten atTiny461 oder atTiny861.
    Diese haben drei PWM Kanäle mit 16-Bit und maximal. 64MHz Takt !


    Siehe diese Projekt: http://elm-chan.org/works/sd20p/report.html


    Ich hatte es aufgebaut und es läuft super !


    Wenn es doch ein 8-Biter sein soll, dann verwende bitte den atTiny85.


    Link: http://elm-chan.org/works/sd8p/report.html


    Habe ich auch getestet und läuft mit 3V!
    Dort kannst Du auch sehen, wie einfach eine Lautsprecherbeschaltung sein kann.


    .

  • Hallo Leute,


    falls es Mitleser gibt, die sich für das Projekt interessieren, mit der Materie aber nicht vertraut sind:


    PWM, Puls-Weiten-Modulation (pulse width modulation)


    Mikroprozessoren haben Anschlüsse, die vom Programm aus geschaltet werden können. Die Schaltzustände heißen in der Sprache der Mikroprozessorprogrammier "High" und "Low". Im Zustand "High" leiten die Prozessoren die Betriebsspannung (z. B. 5 V) an diesen Ausgang weiter. Damit läßt sich z. B. eine LED ansteuern. Die digitale Welt ist eben binär: 0 und 1, aus und an, 0 V und 5 V, high und low. "Low" meint übrigens wirklich 0 V, weil der Ausgang dann mit der Erde verbunden wird.


    Ein Trick, um mit einem Mikroprozessor eine Spannung zwischen 0 und 5 V zu entlocken, ist die Puls-Weiten-Modulation (PWM). Diese Technik ermöglicht eine nahezu stufenlose Variation der Spannung. Für den Übergang von der digitalen in die analoge Welt wird der Anschluss über einen Widerstand mit einem Kondensator verbunden.


    Der Mikroprozessor schaltet den Ausgang für eine kurze Zeit an und läd den Kondensator über den Widerstand teilweise auf. Bevor die volle Betriebsspannung erreicht wird, schaltet der Mikroprozessor den Ausgang auf 0 V. Der Kondensator kann sich über den Widerstand entladen. In einem geeigneten Abstand schaltet der Mikroprozessor wieder ein, und läd den Kondensator nach. Bei gleich langen Schaltzeiten ist der Kondensator im Durchschnitt auf 2,5 V geladen. Ist das zeitliche Verhältnis zwischen Betriebsspannung und Erde (high:low) 4:1, dann liegen 4 V am Kondensator an. Das Voltmeter im Schaltplan zeigt an, wo die analoge Spannung gemessen wird.


    Es handelt sich also um zeitlich gesteuerte Pulse mit 5 V, die den Kondensator je nach Pulsweite auf Werte zwischen 0 V und 5 V laden können. In der Praxis ist die PWM natürlich nicht stufenlos. Viele Mikroprozessoren ermöglichen einen PWM-Ausgang mit 8 bit, also 2 hoch 8 = 256 Stufen. Das sind bei 5 V Betriebsspannung 19,5 mV. Für viele Anwendungen ist das genau genug.


    Widerstand und Kondensator bilden ein RC-Tiefpass-Filter, dass das Rechtecksignal der Pulse auf den Durchschittswert begrenzt. Je nach Anwendung muss das Signal besser gefiltert werden.


    73 Daniel DM3DA

  • Hallo Leute,


    wenn ich z. B. einen AVR mit 1 kB Speicher habe - bedeutet das dann, dass ich 1024 Zahlen zwischen 0 und 256 abspeichern kann? Ich frage, weil ich gerade die Sinustabellen anlegen möchte. Ich würde gerne wissen, wie viel Platz ich habe.


    73 Daniel DM3DA

  • Hi Daniel,
    Gewöhnlich hat ein uC wie der AVR verschiedene Speicher. Flashspeicher der als Programmspeicher dient, RAM für die verschiedensten Dinge wie Variablen z.B. (dieser Speicher ist nachdem du den Strom abschaltest leer) und dann noch seriellen NVRam, dieser ist auch nichtflüchtig aber die Ansteuerung muß über spezielle Kommandos erfolgen und ist recht langsam. Für die Sinustabellen wäre der Flashspeicher am besten geeignet. Dieser muß jedoch auch über spezielle Kommandos gelesen bzw. geschrieben werden.


    72 de Wolf, DL2WRJ

  • Hallo Wolf,


    vielen Dank, das ist schon sehr hilfreich. Ich versuche, die Datenblätter zu verstehen. Beim AT Tiny 13 steht da beispielsweise "Non-volatile Program and Data Memories
    – 1K Byte of In-System Programmable Program Memory Flash".


    Verstehe ich das richtig? Wenn ich da eine Tabelle mit 1024 Werten (alle maximal 255) ablegen würde, wäre der Speicher voll?


    73 Daniel DM3DA