YaaCWk – Yet Another Arduino CW Keyer

EDIT. Aggiunti riferimenti a nuovo PCB YaaCWk v1.3, nuovi link e informazioni vendita PCB.

In questo articolo voglio parlarvi di YAACWK, un progetto dedicato agli appassionati di telegrafia che amano cimentarsi nei contest, nei dx e anche per rilassanti QSO tra amici, non solo per coloro che hanno già molta esperienza ma anche per i meno abili che faticosamente stanno muovendo i primi passi.

PXL_20210221_173105724

YaaCWk è ideato da Iz1glg e I1cra, si prefigge come scopo primario quello di realizzare un’alternativa economica per ottenere un tasto CW (codice morse) intelligente, che può tranquillamente rivaleggiare con tasti commerciali anche molto costosi. Questo circuito stampato è basato su chip ATmega644AP (64k di flash) o ATmega1284P (128k) dove viene caricato un software opensource Arduino k3ng_cw_keyer sviluppato da Anthony Good K3ng. Un progetto iniziato nel 2013 che nel tempo è maturato molto arrivando oggi a supportare diversi keyer offrendo moltissime funzionalità.

YAACWK, è l’acronimo  scelto per questo progetto, letteralmente sta per “Yet Another Arduino CW Keyer” ovvero “Ancora un altro tasto telegrafico con Arduino”, il progetto è stato scritto attraverso un software CAD chiamato Kicad, rilasciato anch’esso open come codice sorgente.

K3ng keyer offre moltissime funzionalità tra queste ricordialo le principali che abbiamo voluto integrare su YAACWK:

  • memorie cw programmabili e richiamabili attraverso pulsanti dedicato
  • supporto a tastiere PS2 o USB per codifica cw diretta
  • DSP Goertzel per decodifica CW durante QSO
  • differenti display
  • protocollo Winkey (per i context)
  • supporto per due differenti ricetrasmettitori oppure singolo nel caso sprovvisto di commutazione PTT automatica
yaacwk

Una volta che YAACWK è programmato non necessita di altro hardware esterno per funzionare, lo stesso PC è opzionale.

PCB YaaCWk v1.3 disponibile ora su ordinazione!

Visti i buoni risultati della sperimentazione siamo lieti di annunciare la disponibilità a tutti coloro che fossero interessati il nuovo circuito stampato YaaCWk versione 1.3, che possiamo spedire assieme ad un processore ATmega644AP preprogrammato con la configurazione YaaCWk richiesta tra quelle disponibili alla pagina: preconfigurations/YaaCWk .

yaacwk_v1.3

Le spedizioni avvengono tramite poste Italiane, i prezzi comprendono anche l’imballaggio, tramite posta raccomandata (in italia 8 euro, in europa 10 euro e nel resto del mondo 12 euro fino a 100 gr) eventualmente per spedizioni non tracciate è possibile utilizzare la posta ordinaria al costo di 3 euro in Europa.

ArticoloPrezzo
Circuito stampato YaaCWk versione 1.37 Euro (spedizione esclusa)
ATmega644AP già programmato con software k3ng12 Euro (spedizione esclusa)
YaaCWk versione 1.3 + ATmega644AP preprogrammato25 Euro (sconto e spedizione raccomandata con tracciatura inclusa)
27 Euro (sconto e spedizione raccomandata con tracciatura estera inclusa)

Per ulteriori informazioni o invio voucher di pagamento paypal il contatto è: federicobriata@gmail.com

A questo indirizzo trovate tutti i pdf e gerber di YaaCWk versione 1.3:
https://github.com/federicobriata/iz1glg_yaacw_keyer/tree/master/Plot_out/yaacwk_v1.3

CP2102

Porta Seriale
Per l’utilizzo con WinKEY o per la programmazione di YAACWK con Arduino IDE è necessario collegare un adattatore UART TTL/seriale RS232-USB, ai pin TX0 e RX0 della porta di espansione J6. Noi abbiamo utilizzato con successo il modulo “CP2102 USB to UART TLL Module 6Pin Serial Converter Adapter” che oltre a convertire il segnale seriale puo’ anche essere utilizzato per alimentare YaaCWk.

Tastiera USB (OPZIONALE)

Premesso che una tastiera PS2 riciclata è più di facile reperibilità e vi assicura di realizzare questo progetto con un budget sicuramente più contenuto rispetto alla versione USB, come accennato YaaCWk è compatibile anche con tastiere di tipo USB tramite l’aggiunta di un modulo,
https://create.arduino.cc/projecthub/139994/plug-any-usb-device-on-an-esp8266-e0ca8a .

PinOUT_DuinoFun_Usbhost_mini_v2

Sulla YaaCWK v1.3 abbiamo testato con successo il modulo USB Host modello: “DuinoFun UHS mini v2.0″ lotto: “Aug. 16,2014“, che sembra tollerare una comunicazione SPI di 5V (nonostante sia progettato per funzionare a 3.3v, grazie a Wolfgang DL1WOL per la segnalazione) se non conoscete già il modulo vi raccomando di cercare lo stesso identico modello in quanto essendo un prodotto cinese ci sono molte schede simili ma con un pinout differente (rispetto quello riportato in questa immagine) o non tollerano 5V sul bus SPI.
Per maggiori informazioni su questo modulo USB host, fate riferimento al forum disponibile a questo link .
Il modulo USB host va collegato alla porta di espansione J8 di YAACWK seguendo i collegamenti riportati nell’immagine a lato, è molto importante interrompere la pista 5V come riportato in quanto YaaCWk ha il suo circuito di alimentazione che verrà usato per alimentare anche la vostra tastiera USB.

In preconfigurations/YaaCWk potrete trovare le configurazioni USB testate con Yaacwk. Per provarle è sufficiente copiare i files nella cartella principale sostituendo quelli originali e come riportato da k3ng: installare in arduino ide la libreria USB_Host_Shield e abilitare le 3 librerie USB in k3ng_keyer.ino come riportato nel codice alla voce: note_usb_uncomment_lines.
Per ulteriori dettagli sul software K3NG dovete fare riferimento al sito ufficiale disponibile all’URL http://blog.radioartisan.com/arduino-cw-keyer/ dove viene spiegato dettagliatamente come programmare il keyer con la tastiera e il paddle per inserire tutti i vari comandi disponibili, per informazioni sul codice ed eventuali modifiche potete consultare il wiki https://github.com/k3ng/k3ng_cw_keyer/wiki .

BOM – Lista componenti

Quantità Componente
1×MCU ATmega644P 40-PDIP
1×Crystal 16 MHz
1×LCD 20×4 compatibile Hitachi HD44780
1×Trim Potentiometer 10 kOhm WH06-2
1×Linear Potentiometer 10 kOhm
2×Capacitors 22 pF (nesessario se il modulo UART TTL/seriale RS232-USB non e’ presente)
2×Capacitors 330 uF (nesessario se il modulo UART TTL/seriale RS232-USB non e’ presente)
2×Diode (nesessario solo il modulo USB Host non e’ presente)
2×Capacitors 22 uF
1×Capacitors 5 nF
4×Capacitors 10 nF
8×Capacitors 100 nF
1×TLP627-2 Optocouplers
1×Buzzer 5V
1×DC Power Supply Jack Socket Female PCB Mount Connector 5.5mm x 2.1mm
1×Mini 6PIN FEMALE PCB MOUNT PS2 JACK mouse keyboard plug connector (su ebay si trova quello colore Purple / 141884938650)
4×LED
1×LM7805 (necessario solo se il modulo UART TTL/seriale RS232-USB non e’ presente)
1×LM3940 o LM2937 per Yaacwk 1.4 (necessario se il modulo UART TTL/seriale RS232-USB non e’ presente e solo quando si vuole usare la porta di espansione J8)
8×Omron B3F-1052 Switches
2×pj-320a Jack – 3.5mm – 4 pin
2×Inductor 5 uH
3×Resistor 10 kOhm
9×Resistor 1 kOhm
3×Resistor 470 Ohm
1×Resistor 220 Ohm

Configurazione Arduino IDE
La programmazione di un chip ATmega comprato da magazzino avviene in due fasi tramite Arduino Ide >= 1.6.7:

  • l’aggiunta di Sanguino su Arduino Ide, il bootloader da caricare tramite IDE con USBASP o Arduino remoto via pin ICSP (vedi doc in rete specializzata). E’ stato caricato Sanguino di Kristian Sloth come spiegato su https://github.com/Lauszus/sanguino.
    Questo passaggio è necessario eseguirlo una volta nella vita del processore.
  • l’aggiunta dell’ambiente core megax4 su arduino ide. E’ stato caricato megax4 di Leonardo Miliani come spiegato su https://github.com/leomil72/megax4
    Questo passaggio è necessario eseguirlo ogni volta che volete riprogrammare Yaacwk con una versione di K3ng keyer.

Configurazione software K3NG / hardware Yaacwk
A questo indirizzo: https://github.com/k3ng/k3ng_cw_keyer trovate l’attuale versione aggiornata del software di k3ng dove decommentando (rimuovendo //) dalla riga “#define HARDWARE_YAACWK” nel file k3ng_keyer/keyer_hardware.h potrete configurare il software di K3NG per YaaCWk. Vi segnalo inoltre che su https://github.com/federicobriata/k3ng_cw_keyer/tree/yaacwk_dev trovate il mio fork non aggiornato del codice sorgente di K3NG già preconfigurato per so1r con tastiera PS2, seriale WINKEY, decoder CW e display 4×20 compatibile Hitachi HD44780 per essere caricato su YaaCWk.

PCB YaaCWk DIY
Se volete stamparvi il vostro PCB, a questo indirizzo https://github.com/federicobriata/iz1glg_yaacw_keyer potete trovare tutti i sorgenti del progetto completo Kicad, incluso il gerber allineato sulla versione 1.4 attualmente in test e il relativo eeschema della revisione I, dove è stato implementato il reset via DTR, un fix sul jack Audio_IN e una nuova gestione dell’alimentazione 3v3 anche via porta seriale USB.

Ulteriori NOTE
Inizialmente YAACW Keyer fu progettato attorno ad Arduino Nano V3.0 ma in corso d’opera ci siamo resi conto che i 32k di memoria flash dell’ATmega328 non erano sufficienti per il numero di funzionalità che volevamo utilizzare con il keyer di K3ng, costringendoci quindi a non abilitare il display e quindi anche il decoder DSP.
A questo link trovate il vecchio codice delle prime sperimentazioni con il software k3ng modificato per Arduino Nano e a quest’altro link trovate il relativo schema sempre basato sul vecchio progetto per Arduino Nano con protezioni antirimbalzo per i pulsanti delle memorie, per ulteriori dettagli come la procedura per programmare l’Arduino Nano tramite il suo IDE potete far riferimento all’articolo uscito sulla rivista Radiokit di marzo 2016.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *