| Passwort vergessen?
Sie sind nicht angemeldet. |  Anmelden

Sprache auswählen:

Wumpus-Gollum-Forum von "Welt der Radios".
Fachforum für Sammler, Interessierte, Bastler
Sie sind nicht angemeldet.
 Anmelden

Multifunktions CW- Dekodierung mit Arduino 2560
  •  
 1 2 3 4
 1 2 3 4
20.10.17 20:43
joeberesf 

WGF-Premiumnutzer

20.10.17 20:43
joeberesf 

WGF-Premiumnutzer

Multifunktions CW- Dekodierung mit Arduino 2560

Hallo zusammen,

im Binatoneprojekt sind erste Versuche unternommen worden. Es geht hier um Morsezeichendekodierung und Kodierung mit einer Microcontroller Plattform. Deswegen ein neuer Beitrag.

Die Versuche werden nun zusmmengeführt und es soll ein Multifunktionskästchen entstehen. Im www. ist dazu eine Menge zu finden. Meine CW- Dekodierungs- Grundlage aus dem www. , hier mit einem vierreihigem LCD- Display, habe ich modifiziert und angepasst. Es gibt noch eine Menge Probleme, aber auch Erfolge. Die Umsetzung auf ein TFT- Touch Display erfordert umfangreiche Änderungen die ich euch später hier einstellen werde (Code). Aber schaut mal zu diesem grandiosen Link. Er zeigt was möglich ist. Hier habe ich angesetzt. Der LM567 bringt die Tondekodierung die über ein Poti einstellbar ist. So ist es möglich, sich auf die CW- Tonfrequenz genau abzustimmen. ( z.B. 850Hz, 1000Hz, 1200Hz, 1500Hz usw.)

http://gemander.org/2015/03/31/cw-decoder-nach-wb7fhc/

Genau das hier setze ich um und bastle noch ein paar eigene Funktionalitäten dazu.

Ich modifiziere dahingehend......

1. Großes TFT- Touch- Display 240x320 mit Buttoncode um einzelne Funktionen auszuwählen.

2. Zeit, Temp, und Luftfeuchte als umschaltbare Anzeige. Button- Switch.

3. Dekodierung von Morsesignalen, externer Audioeingang. ( z.B. CW- NF- Lineout )

4. Dekodierung von Morsesignalen, über internes Mikrofon ( z.B. CW- NF über Lautsprecher aus einem KW- Empfänger)

5. Empfang von eigens spezifizierten CW- Codes um eine beliebige Last zuzuschalten. (Relais Out / Codemuster)

6. Gleichzeitige Anzeige über Seriellen Monitor ( Anwender Plattform, hier Arduino) USB muss zugänglich sein.

7. Laden eines Textes am PC und senden über PC- Software oder LM567 oder Audio_ out des PC's ( Durchschleifen)

8. LM555 als Signalgenerator um HF- Quellen zu modulieren. (Anschluss einer Morsetaste)

9. Akku und Netzteilbetrieb.


Hier ein Bildchen von meinen ersten Dekodierversuchen mit TFT. Ihr seht, da passt gegenüber dem LCD 4- Reiher eine Menge Text drauf. Das Löschen des Bildschirms ist nach xxx- Zeichen gesteuert. Im Beispiel sieht man, dass ab Zeichen 20 die Trennung aussetzt. Das muss ich noch analysieren. Das chaotische Zeichenkaudawelsch entsteht durch Prellungen an der Kontaktfläche der 5VDC Eingangsbeschaltung des hier noch simulierten Decoders LM567. (Morsetaste)

Hier geht es jetzt weiter..... der Binatone wird nach erfolgreicher Umsetzung zugeschaltet.

Gruß an alle CW Autodidakten ! ..... und Controllerfreunden.

Joerg

Bild: Morsedekodierung mit TFT- Touch. 240 x 320





Zuletzt bearbeitet am 21.10.17 14:57

Datei-Anhänge
Bastelspaß.jpg Bastelspaß.jpg (302x)

Mime-Type: image/jpeg, 190 kB

Display_ erste Zeichen.jpg Display_ erste Zeichen.jpg (286x)

Mime-Type: image/jpeg, 205 kB

Wolle, wumpus, Bernhard45 und hal gefällt der Beitrag.
!
!!! Fotos, Grafiken nur über die Upload-Option des Forums, KEINE FREMD-LINKS auf externe Fotos.    

!!! Keine Komplett-Schaltbilder, keine Fotos, keine Grafiken, auf denen Urheberrechte Anderer (auch WEB-Seiten oder Foren) liegen!
Solche Uploads werden wegen der Rechtslage kommentarlos gelöscht!

Keine Fotos, auf denen Personen erkennbar sind, ohne deren schriftliche Zustimmung.
25.10.17 17:30
joeberesf 

WGF-Premiumnutzer

25.10.17 17:30
joeberesf 

WGF-Premiumnutzer

Re: Multifunktions CW- Dekodierung mit Arduino 2560

Hallo CW- Freunde,

meine Teile (LM567, NE555, Mikrofonmodul.... etc..) sind nun endlich gekommen es geht los! Die Software läuft und die Trennung der Wörter, hier Buchstaben, funktioniert nun auch auf meinem TFT- Touch.

# = ääähhhh!



Vorausetzung ist ein definiertes Morsesignal zum Abgleich mit Tondekoder. Es gibt drei Möglichkeiten.

1. Einspeisung direkt analog über PC- Ausgang.

2. Analog über Mikrofoneingang aus dem PC- Lautsprecher.

3. Direktes Signal aus einem / eurem KW- Empfänger.

WPM, und Tonfrequenz müssen für den LM567 abgestimmt werden. Siehe Link oben. Als Quelle, überhaupt da ich ja noch ein CW- Greenhorn bin, habe ich mir eine Morse- Freeware zum Üben, Übersetzen und Spielen runtergeladen. Total gut und einfach zu konfigurieren....eigentlich selbsterklärend. Wer das mal probieren will, sollte sich eine gute Maus anstöpseln. Das ist wichtig um die Zeitprobleme, Prellen etc. zu vermeiden. Ich schicke euch gern per e- mail das zip-file bei Interesse,..dann braucht ihr nicht suchen. Zum Anfang hier mal ein Bild der simplen Oberfläche. Läuft einfach aus einem Verzeichnis, Stick etc....ohne richtige Installation auf Programme bzw. x86.

Entweder selber morsen....oder einen beliebigen Text in beliebiger Geschwindigkeit eingeben, laden (txt) und übertragen und direkt abspielen. Mehr braucht es für den Anfänger nicht.

Gruß

Joerg

Hier die wichtigsten Daten um den Morse- Player im www. überhaupt zu finden.



Zuletzt bearbeitet am 25.10.17 18:44

Datei-Anhänge
Leerzeichen ok.jpg Leerzeichen ok.jpg (266x)

Mime-Type: image/jpeg, 206 kB

Morsefreeware FDQM.jpg Morsefreeware FDQM.jpg (276x)

Mime-Type: image/jpeg, 89 kB

01.11.17 19:11
joeberesf 

WGF-Premiumnutzer

01.11.17 19:11
joeberesf 

WGF-Premiumnutzer

Re: Multifunktions CW- Dekodierung mit Arduino 2560

Hallo zusammen,

nun habe ich die Tondekodierungsschaltung mit LM567 aufgebaut und getestet. Ja das ist der blanke Wahnsinn!..... Läuft sehr stabil und ich habe die Software nun so gestaltet, dass ein beliebiger, vierstelliger Code zum Einschalten eines Relais (LED) gesendet werden kann. Ausschalten funktioniert über Abfrage des gespeicherten Codes und zusätzlicher Eingabe eines weiteren Zeichens. Also meine Aufgabenstellung aus dem Binatoneprojekt habe ich mit Hilfe des www. damit gelöst. Ich mache am Wochenende ein kleines Video zu Vorführungszwecken.

Was jetzt noch fehlt ist der Anteil der Mikrofonie. Das Kästchen soll ja ein Mikro bekommen und direkt aus einem Lautsprecher dekodieren können. Bei der LM567 Bestellung habe ich gleich ein kleines Mikrofonmodul geordert. Total billig, daher dachte ich, dass ein Selbstbau nicht lohnt.

IDUINO ST1146



Leider reicht der analoge Output (A0) nicht aus, sodass ich verstärken muss. Ich habe noch einen LM386 im Fundus...diesen will ich versuchen. Im Datenblatt steht Vcc min = 4V. Das würde gerade so hinkommen, da das Board ja mit 5V läuft. Zur Not speise ich direkt aus einem 9V- Block ein. So der Stand im Projekt.

Gruß

Joerg

Datei-Anhänge
IDUINO ST1146.jpg IDUINO ST1146.jpg (265x)

Mime-Type: image/jpeg, 148 kB

02.11.17 11:04
MB-RADIO 

WGF-Premiumnutzer

02.11.17 11:04
MB-RADIO 

WGF-Premiumnutzer

Re: Multifunktions CW- Dekodierung mit Arduino 2560

Hallo Joerg,

sehr interessant , dein Zeitsprung.

obwohl ich mich nur zur Hälfte angesprochen fühle - "Gruß an alle CW Autodidakten ! ..... und Controllerfreunden" - letzteres bin ich nicht.
Aber wegen dem Ersteren lese ich doch mit und hoffe , daß da was sehr gut Funktionierendes herauskommt,
Ich hatte mich darüber auch schon etwas kundig gemacht. Aber all diese Dekoder können nicht richtig lesen.
Der Grund sind Störungen Lautstärkeschwankungen und vor Allem die nich korrekten Pausenzeiten wenn mit Hand gegeben wird.
Ich weiß nicht , wie Du Letzteres lösen wirst, wünsche Dir aber viel Erfolg.

Viele Grüße
Bernd

Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

02.11.17 18:08
joeberesf 

WGF-Premiumnutzer

02.11.17 18:08
joeberesf 

WGF-Premiumnutzer

Re: Multifunktions CW- Dekodierung mit Arduino 2560

Hallo Bernd, hallo zusammen,

MB-RADIO:

Ich hatte mich darüber auch schon etwas kundig gemacht. Aber all diese Dekoder können nicht richtig lesen.
Der Grund sind Störungen Lautstärkeschwankungen und vor Allem die nich korrekten Pausenzeiten wenn mit Hand gegeben wird.
Ich weiß nicht , wie Du Letzteres lösen wirst, wünsche Dir aber viel Erfolg.


Ja die Praxis auf Kurzwelle habe ich noch nicht getestet, nur über die Morse- Software von F6DQM aus dem www.. Wenn ich selber Morse, muss ich die Pausenzeiten, je nach eingestellter WPM, auch gnadenlos einhalten sonst wird das halt nichts. Meine Übungen sind ganz einfach um die Ryhtmik zu lernen. e, i, s, h, t, m, o....dann mischen z.B. ist eis, ist sos, meise. Wenn der Morseplayer das richtig erfasst, dann stimmt auch die Darstellung auf meinem TFT. Das funktioniert bis etwa 25WPM fehlerfrei ohne die Einstellungen zu ändern. Ich sehe da eher ein Problem von Signal- Schwankungen aus dem Äther. Hier reagiert dann die LM567- Schaltung sehr empfindlich. Zu starkes Signal = Fehler und zu schwaches Signal = Aussetzer = Leerzeichen. Der PC- Dekodierer hat übrigens oben
rechts in der Ecke im Datei- Modus drei Knöpfe. Mit diesen Knöpfen kann man das sogar simulieren und den LM567 aus der Spur bringen.

1. Rauschen hinzufügen min / max und BW 1.3-10kHz (f)

2. QSB 0-20dB

3. QRH mit f_min / f_max= 100-1500Hz einstellbar

Rauschen ist für den LM567 kein Problem. QSB lässt sich recht schnell über ein 10- Gangpoti nachregeln. QRH ist nicht in den Griff zu kriegen. Hier am zweiten Poti (Tonfrequenz) nachzuregeln ist in der Praxis nur bei ganz langsamer Änderung möglich. Da spielt die Arduino Programmierung auch keine Rolle, nur für die WPM.

Übrigens ist der Zeitsprung so gewählt, das mit dem Kästchen auch der Funkeninduktor gesteuert werden könnte. Es wird ja das Lastrelais über einen Code zugeschaltet. Durch eine Softwareänderung könnte dieses Relais auch "Kurz", "Lang" übertragen.
Es wäre also möglich, z.B. mit 15WPM, einen Text aus dem Laptop auf den Knallfunksender zu übertragen und mit dem Telegraphenschreiber als Strichcode zurückzuwandeln.

Lieber Bernd, falls Du Dich mit dem Thema beschäftigen möchtest, nimm genau diesen Link.

http://gemander.org/2015/03/31/cw-decoder-nach-wb7fhc/

Hier ist alles zu finden, das komplette Dekoderprojekt. Die hier verwendeten Bauteile sind nicht teuer, die Software fertig und ein vierreihiges LCD- Display ist völlig ausreichend. Auf dem Steckboard alles zum Laufen bringen und dann brauchst Du final nur auf Rasterleiterplatte zusammenlöten, Software laden und los geht es. Auch die Arduino Software liegt als Link ja vor.

P.S. Gerade getestet. WPM während eines Durchlaufs um +/- 5 WPM geändert. Dekodierung einwandfrei. (10-20WPM) Das darf natürlich nicht sprunghaft passieren. Dieses ist ja in der Praxis auch so.
QSB braucht, denke ich, eine Art Schwundregler oder Compression wenn man nicht mit der Hand nachregeln will.

Beste Grüße

Joerg

Zuletzt bearbeitet am 02.11.17 19:07

02.11.17 21:51
Bernhard45

nicht registriert

02.11.17 21:51
Bernhard45

nicht registriert

Re: Multifunktions CW- Dekodierung mit Arduino 2560

Hallo Joerg.

Ich bin begeistert von deiner Bastelei und auch den Durchhaltewillen. Ich habe vor einiger Zeit in einem Buch zur Signalverarbeitung eine Mustererkennung in einem heuristischen Verfahren mittels Fuzzy Logic gesehen. Auch dort war das Eingangsignal zeitlich sehr variabel. Einziges Problem was ich sehe, das Signal muss vorher ein paar Sekunden in einem Puffer aufgezeichnet werden, erst dann folgte die Fuzzy Logic und dann die Dekodierung. Meinst Du der Arduino hat noch genug Arbeitsspeicher um für ein paar Sekunden ein analoges Mikrofonsignal halten zu können und auch noch genug Rechenpower für das Prozessing? Ich weiß es nicht. Im Buch hatten die einen schnellen 32 Bit Microcontroller genutzt. Aber die kosten ja heute nichts mehr. Ich suche mal nach den Artikel oder Du schaust im Netz unter den Begriff Fuzzy Logic, da findet man auch viel Inspiration.


Mit freundlichen Gruß
Bernhard

Zuletzt bearbeitet am 02.11.17 22:51

02.11.17 23:01
joeberesf 

WGF-Premiumnutzer

02.11.17 23:01
joeberesf 

WGF-Premiumnutzer

Re: Multifunktions CW- Dekodierung mit Arduino 2560

Hallo Bernhard, hallo zusammen,

hier mal ein mp3 aus dem Morseplayer mit schnellen 24 wpm und 1,3kHz Grundrauschen. Das funktioniert noch recht gut. Ich kann die wpm schnell auf 10 runterfahren und die Dekodierung läuft noch recht sauber. Leichte Schwangkungen müste die wb7fhc- Software aus meiner Sicht eigentlich packen. QSB und QRH sind hier das größere Problem beim echten KW- Empfang.

Gruß

Joerg

Datei-Anhänge
decodertest.mp3 decodertest.mp3 (238x)

Mime-Type: audio/mpeg, 421 kB

03.11.17 08:28
MB-RADIO 

WGF-Premiumnutzer

03.11.17 08:28
MB-RADIO 

WGF-Premiumnutzer

Re: Multifunktions CW- Dekodierung mit Arduino 2560

Hallo Joerg und Alle,

eigentlich gehört so etwas wie ein Spracherkennungsprogramm dazu. Dieses muß den Sinn bzw die Worte erkennen.
So ein Programm ist aber wohl zuviel für die kleinen Prozessorchen.

Na ja, warten wir es ab, was da noch herauskommt. Manchmal fehlt da nur eine zündende Idee.

Viele Grüße
Bernd

Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

03.11.17 11:37
HB9 

WGF-Premiumnutzer

03.11.17 11:37
HB9 

WGF-Premiumnutzer

Re: Multifunktions CW- Dekodierung mit Arduino 2560

Hallo zusammen,

interessante Sache. Vor vielen Jahren habe ich für meinen Eigenbau-Transceiver auch einen Morse-Dekoder gemacht, das war reine Software. Statt einem Tondekoder habe ich einfach das AGC-Regelsignal mit einem Analogeingang gelesen und so die Morsesignale dekodiert. Das ging ganz gut und ist immun gegenüber Frequenzschwankungen und auch einigermassen robust gegenüber Fading. Bedingung ist natürlich eine ausreichend steilflankige Filterung des ZF-Signals. Kommt mehr als ein Morsesignal durch, funktioniert es nicht mehr.
Verwendet man einen Tondekoder, muss man eine richtig schnelle AGC vorschalten, um das Fading zu kompensieren, und ein analoges Bandfilter vor dem Dekoder kann auch nicht schaden.

Wenn mein SDR dann ein KW-fähiges Frontend hat, ist ein Morsedekoder auch ein Thema, das kann der Prozessor dann noch so nebenbei erledigen.

Noch zu den falschen Pausenlängen: Bei schlecht gegenbenen Morsezeichen hat nicht nur die Software Verständnisprobleme. Es gibt ein paar OM, die wirklich kaum verständliche Signale senden, neben falschem Timing werden auch schlicht falsche Zeichen gesendet (z.B. ein Punkt zu viel oder zu wenig beim 'h' oder der '5').
Somit muss ein Buchstabensalat nicht unbedingt eine Unvollkommenheit des Dekoders sein.

Gruss HB9

03.11.17 17:31
joeberesf 

WGF-Premiumnutzer

03.11.17 17:31
joeberesf 

WGF-Premiumnutzer

Re: Multifunktions CW- Dekodierung mit Arduino 2560

Hallo zusammen,

muss ich kurz loswerden, da Begeisterung geteilt werden muss. Habe eben den LM386 mit dem Mikrofonmodul verschaltet und aus dem Laptop Lautsprecher mit 50cm Abstand in den LM567- Dekoder eingespeist. Klappte auf Anhieb mit nur 5V. Unten ein Bild vom jetzigen Laborbrettaufbau. Die simplen Kohlepotis werden später beim Gehäuseeinbau durch 10- Gangpotis ersetzt. Eine echte Notwendigkeit um die LM567- Anpassung effektiv umzusetzen. Nun baue ich den Signalgenerator auf um das spätere Kästchen mit einer echten Morsetaste betreiben zu können.

Stück für Stück geht es weiter. Danke nochmals für die guten Einwürfe und Tips bezüglich Fading und Life- Geschwindigkeit. Ich kann mich da HB9 nur anschließen...Wer bei 20-25 wpm schludert,...überträgt Kaudawelsch! Bei 10-15 wpm hat man mehr Spielräume, aber auch das erfordert schon extreme Genauigkeit. Ich finde es sehr beeindruckend, dass heutzutage immer noch viele Morsesignale zu empfangen sind.

Danke und Gruß

Joerg

P.S. Bernd;..man kann einen Text auch abschreiben und später in einen Übersetzer schieben. Ein Übersetzer mit Controller wäre eine echte Herausforderung. Mein Wissen reicht dann nicht aus. Ob bessere Controller das packen...glaube ich schon. Die Arduino- Plattform ist da aber eher ungeeignet.





Zuletzt bearbeitet am 03.11.17 19:36

Datei-Anhänge
Test 2 Mikrofon.jpg Test 2 Mikrofon.jpg (222x)

Mime-Type: image/jpeg, 244 kB

Verschaltung ST1146 LM386.jpg Verschaltung ST1146 LM386.jpg (257x)

Mime-Type: image/jpeg, 152 kB

 1 2 3 4
 1 2 3 4
zusammen   Geschwindigkeitserkennung   Multifunktions   Arduino   Zuletzt   Software   Spracherkennungsprogramm   bearbeitet   [code=javascript]boolean   Geschwindigkeitsbandbreite   Geschwindigkeitsanpassung   Tondekodierungsschaltung   Dekodierung   Geschwindigkeitsermittlung   Multifunktionskästchen   cw-decoder-nach-wb7fhc   Morsezeichendekodierung   Lautstärkeschwankungen   Zeichenlängen-Verhältnissen   Gehäusesteckverbindungen