K3NG's ARDUINO CW-Keyer, nu med Touch-paddler                                           Vinteren 2014/15

 

Initiativet, hvor kommer det fra ?
Projectet er initieret i EDR Sydsjælland, OZ8SMA, programændringer af OZ1JHM, Hjalmar, som osse er den, der har gjort mig opmærksom på projektet.
Hjalmar's version af Touch-keyerprogrammet kan hentes her:
http://www.skovholm.com/accu_keyer.ino og ATmega328p processoren kan udnærket programmeres på en ARDUINO UNO, problemfrit.

Den programkopi jeg selv leger med, er denne version: k3ng_keyer.rar - hent den, udpak den, KOPIER den til et Arduino's LIBRARY-katalog , start dit ARDUINO-program, og i FILER, tryk ÅBEN, og find stien ned til kataloget, vælg filen k3ng_keyer.ino, Compiler/UPLOAD, og du er kørende. 

Nyeste version af K3NG's software kan downloades på: https://sourceforge.net/p/k3ngarduinocwke/code/ci/master/tree/ men kræver en del tilpasning før det kører.

FORORD:
Projektet er kaldt en erstatning af den gamle hæderkronede ACCU-keyer, som blev beskrevet af James M. Garrett, WB4VVF i 1978, og som siden har været beskrevet i OZ
WB4VVF's originale artikel kan ses her

Det skal dog nævnes, at virkemåden af K3NG's ARDUINO keyer ikke fungerer helt efter planen, som en ACCU-Keyer, idet jeg har fundet problemer med timingen, som det vil fremgå af denne video:    https://www.youtube.com/watch?v=wpf1k3bnPu8&feature=player_embedded, som viser min ældgamle ACCU-Memory-keyer fra dengangalt blev lavet med TTL-kredse, men som stadig fungerer helt fint.  Her er det tydeligt, i sammenligningen med den nye K3NG-keyer i baggrunden, at denne har et timings-problem i sammenligning med ACCU-keyerens prik-streg hukommelse.
Jeg har konfronteret K3NG om problemet, og han vedgår helt uden diskussion, at der er timingsproblem i hans keyer.

Dog skal det siges, at ved highspeed, eller ved normal daglig brug, vender man sig hurtigt til den, og timingsproblemet træder noget i baggrunden. Kun ved kritisk nærstudering ses dette timingsproblem.

K3NG har dog lovet undertegnede, at kigge nærmere på problemet, eventuelt lave en version, der styres af timer-interrupt, hvorved det nævnte timingsproblem kan elimineres fuldstændigt, og jeg vil meddele dette her på siden, når den nye version af softwaren er afprøvet og kan downloades.

Softwaren til keyeren er desuden ret omfattende og fylder ATmega328p processoren helt op, 32 K. Der har været udviklet på den over flere år,og det er således muligt, at udbygge den med flere faciliteter, så som PS2-keyboard, muse-styring, WinKey-kompatibilitet, modtage-decoder m.m. 
Softwaren er programmeret, og ligger i processoren, men de forskellige tillægsprogrammer skal aktiveres før de kan tages i brug. Dette har jeg ikke afprøvet i praksis, men tingenes tilstand fremgår ret tydeligt i softwaren, og den trænede C-programmør vil ikke være i tvivl. 

TOUCH-Keyeren
OZ1JHM, Hjalmar, har tilføjet muligheden for brug af TOUCH-keyer (berørings-keyer), hvilket vil sige, at keyerens manipulator er erstattet med berørings-følsomme punkter til aktivering af prikker og streger, men keyeren kan også tilsluttes en almindelige manipullator, hvis man synes at "touch" er for sofisticeret eller svært at bruge.

TOUCH-manipullatorer har den BAGDEL, at den mindste berøring, udløser en reaktion, alligevel kunne undertegnede mageligt køre med speed 30 WPM, første gang jeg stiftede bekendtskab med den, og efter nogen tid gik det da endnu bedre. 
Hjalmar, som er en HAJ på en keyer, og som for nylig er blevet medlem af HIGH-SPEED-KLUBBEN, kører 50 + WPM på sådan en keyer, så jeg ser ikke nogen begrænsning der.

Manipullatoren er fremstillet af en lille hård-træsort f.eks. Mahony, og f. eks efter denne tegning:

 

Messingskiverne er lettere afrundet ude i periferien, hvilket måske kan anes på billedet herunder, endvidere er de drejet således, at der i midten er en lille tap, der gør det lettere at pålodde en ledning, som jo føres gennem en ledningskanal, een fra hver af de 2 paddler. Manipullatoren føles behagelig i hånden at arbejde med.

Men her har fantasien frit spil, og det kunne osse være 2 stk vinklet messing-plade, påskruet et stykke isoleret plade, f.eks. Acryl, eller for den sags skyld, kan den opbygges af printplade. Der er flere forslag, hvis man søger lidt på internettet. Dog synes det mig, at Hjalmar's manipullator estetisk tiltaler mig, og så er den rimelig nem at lave selv.

Keyeren er forsynet med et 4 x 20 karakters LCD-display, og 4 knapper, hvoraf een knap aktiverer keyerens ret omfattende kommandosystem, samt 3 programmer, som brugeren selv kan programmere, som han vil. Der er udviklingsmulighed m.h.t. knapperne, som vil kunne udviddes til mange flere knapper, hvis man ønsker det..

Herover ses min version af den færdige keyer. Yderst til højre ses de 4 knapper, hvoraf den øverste er Kommando-knappen Ved siden til venstre ses potentiometer til at sætte hastigheden med, og lige under den ses manipullator paddlerne, som Hjalmar har været så venlig at tilsende mig, sammen med det print, som OZ8SMA, EDR Sydsjælland har lavet til projektet.

Lidt ubehjælpeligt, har jeg skrevet hvordan og hvad der tilsluttes hvor.

Her på bagsiden ses tilslutnings-stikket til en udvendig keyer af typen Schur, eller et andet fabrikat, og som tilsluttes DIN-stikket, med midterbenet til stel, og prik streg som vist.
De to røde PHONO-stik kan tilsluttes en radios KEYER-indgang. Der er to stik parallelforbundne, dette er fordi, der kan tilsluttes en anden keyer i en overgangs-periode, så man kan benytte begge keyer samtidig, eller som jeg, tilslutte computeren, hvor jeg så kan bruge keyboard til afsendelse af CW.

TONE UD er et helt almindeligt 3,5 m.m. jack-stik hvor tonen fra keyeren kan udtages til alternativ brug, f. eks. overføres til en anden decoder.

Det lille hul mellem afbryderen helt for oven til højre i billedet, er til den lyd der kommer fra en lille højtaler kommer ud - der skal ikke så meget til.

Nederst til højre er indgangen fra strømforsyningen, en lille enkelt transformator med ensretter, som kan afgive ca. 7 - 12 volt jævnstrøm.

Strømforbruget til hele opstillingen, uden baggrundslys i displayet, bruger 18 mA. med fuld tone på en 100 Ohms højtaler ved 9 volt, og den kan nemt forsynes fra sådan en tidligere telefon-adaptor eller et 9 volts batteri. Uden tonen bruger den under 2 mA.

Vær opmærksom på, at kassen på et tidspunkt vil blive udviddet med yderligere et mini-jack-stik til, til input fra radioen, når jeg får decoderen i CPU'en aktiveret.

Jeg har tilladt mig at tegne et nyt diagram, til keyeren, da jeg stødte ind i problemer, ved at nærlæse OZ8SMA's version, og det er mit printudlæg, som vil fremgå af denne beskrivelse.

Hjertet i denne konstruktion er processoren, en ATmega328p, den samme som er monteret i ARDUINO UNO, og den kan programmeres i netop en ARDUINO UNO, helt uden vanskeligheder. De der ønsker at kigge nærmere på ATmega328p-processoren, kan læse om den her.

KOMMANDOerne:
Jeg har for sjov ændret i overskriften på keyeren ved start-billedet, og det er meget nemt, at ændre denne tekst, kig nederst i programmet.

Når der trykkes på kommando-knappen, skrives i displayet "Command Mode" og herefter kan følgende kommandoer benyttes ved at morse kommando-koden:

Kode: Funktion:
A Switch to IAMBIC A mode
B Switch to Iambic B mode
D Switch to Ultimate mode
E Announce the speed in WPM
F Adjust sidetone frequency
G Switch to bug mode
I TX enable/disable
J DAH to DIT ratio adjustment
N Toogle paddle reverse
O Toggle sidetone ON/OFF
P# Program a memory, # = 1 to 3
S Alphabet Send Practice
T Tune mode
V Toogle potentiometer active/inactive
W Changes speed
X EXIT Command mode (you can also press the command-button)
Z Autospace ON/OFF
# number from 1 to 3, play memory without transmitting

Alle kommandoerne styres ved hjælp af paddlerne.
Hvis man f. eks. ønsker at "Adjust sidetone frequency", foregår det ved først at trykke på Kommando-knappen, derefter morse bogstavetet F, derefter holde prik - streg paddlerne inde, lytte til tonen, eller kigge på display. Displayet vil vise "Sidetone ### Hz", og ### vil ændre sig op i frekvens på prik-paddlen og ned i frekvens på streg-paddlen. Tonen kan ændres mellem 300 og 2000 Hz.

For at afslutte, trykkes på kommando-knappen een gang for at stoppe "F-kommandoen" og igen tryk på Kommando-knappen for at forlade Kommando-mode.
Sidetonens DEFAULT-værdi kan indstilles i softwaren.

Den samme fremgangsmåde gælder f. eks. for kommandoen W for "Change speed", medens andre kommandoer bare skifter status på den morsede kode, men STATUS for kommandoerne skrives altid i displayet.

DIAGRAMMET

På diagrammet er tilføjet, i forhold til OZ8SMA's version, en NE567 tonedecoder, som er nødvendig, hvis CW-decoderen aktiveres i softwaren, men denne facilitet er endnu ikke afprøvet i skrivende stund. TRYK på billedet for at se det i fuld størrelse.

Diagrammet er udlagt i EAGLE Version 7.2.0 for Windows, og alle filer til det kan findes længere nede i beskrivelsen.

BEMÆRKNINGER til diagrammet:

Potentiometeret til hastigheds-indstilling er ikke vist på diagrammet og kan udeladdes, da speeden kan indstilles i kommand mode, men det skal være MIN.  22 K Ohm LIN- og monteret mellem + 5 Volt og stel, og midterbenet tilsluttes TP2, processorens pin24. Værdien af dette potentiometer er ikke kritisk og kan være op til 100 K Ohm, men det skal være lineært. Den højere Ohm'ske værdi sænker strømmen gennem potentiometere, hvilket jo er en fordel for det totale strømforbrug, især ved batteridrift.

Terminalen med 6 ben ved navn "PROGRAMMERING" kan benyttes til programmering af ATmega329p medens den sidder i konstruktionen, men kræver en USB-interface. Har man en ARDUINO UNO, kan den bruges, men det kræver, at man udtager processoren og monterer den i ARDUINO UNO-soklen ( husk at vende den rigtigt ).

Under programmeringsterminalen ses "Terminal for Schur-keyer". og her kan tilsluttes en almindelig standard dobbelt-manipullator af typen Schur, eller anden keyer.

Knappanelet er ikke vist på denne tegning men tilsluttes TP1 øverst på diagrammet.

Til højre herfor, ses de 2 terminaler til lysdioderne, SV1-1 og SV1-2, som hver især, indikerer prik og streg.

Displayet tilsluttes punkterne 1 til 14. Vær varsom med baggrund-belysning på displayet, hvis du skal forsyne keyeren fra et batteri. Baggrundslys tilsluttes med + på ben 15 og stel på ben 16. Vælg en passende formodstand medens du måler strømforbruget - 10 - 220 ohm.

En touch-paddle kan laves på flere måder, men de kapasitets-følsomme punkter kan tilsluttes øverst til højre i diagram-billedet, markeret henh. "DAH touch" og "DIT touch", efter den noget dyre LTC1043 ( ca. 27 kr hos Farnell, hertil kommer porto m.m. så samleindkøb vil være at foretrække.

Knappanelet:
Hardwaremæssigt er her en smart detalje, idet vi ser 4 knapper, som er serieforbundne, og læses af een ANALOG port. Modstandsdekaden danner en variabel spændingsdeler, og ved 5 volt vælger softvaren Command mode, ved 3,75 Volt vælger den Program 1, ved 2,5 Volt vælger den Program 2, og ved 1,25 volt vælges Program 3. Denne funktion kan yderligere opdeles i softwaren, hvis nogen skulle have behov for, at tilføje flere knapper.

PROTO-TYPEN eller "Åben sovs" som jeg kalder den
Det er nødvendigt at lave en model baseret på det nye printudlæg, for at være sikker på, at det virker som det skal.
Derfor vil jeg nu vise, hvordan tingene ser ud, med det nye printudlæg, og for "syn's" skyld, er det monteret op på en plexiglasplade, bortset fra bagpladen, der skulle bære nogle stik.

Resultatet kan ses af denne video: http://youtu.be/eaBKQ6CxXH4 

Dog er denne endnu ikke helt færdig, da jeg stadig mangler den LTC1043, som skal servicere touch-paddlerne. Denne teknik er dog afprøvet på den model, du lige har set, så jeg ser ingen grund til, at det ikke skulle virke på mit print.
Desuden skal jeg have omdefineret porten til decoder-input, da den i softwaren er bestemt til at bruge en af lys-diode-portene.

Men det skal nok komme.

6. Maj 2015 - kredsen er kommet og her er en ny DEMO af Touch-keyere: https://www.youtube.com/watch?v=A8x8nfkBswE&feature=youtu.be

Printudlæget
Herunder ses de 2 print, men hent denne PDF-file med målfaste printudlæg, klar til kopiering på print.

 Dette print har målene 73 x 65 m.m

Keyerens komponent-liste ses her...

Dette print har målene 60 x 21,5 m.m.

Knappanelet komponent-liste ses her...

 

Komponentplacering:

Processoren ATMega328p er blevet indkøbt via e-bay 26,75 kr for 2 stk, med for-programmeret bootloader,en vigtig detalje. De blev gratis leveret pr. brevpost fra Kina. Gu' ved hvordan det hænger sammen økonomisk...?

SMD-modstandene, der har jeg brugt havde jeg i skuffen, hvoraf de fleste var størrelse 1206.

Spændingsregulatoren 78L05, som er monteret på print-siden, er plukket fra et kasseret kommersielt print, men den behøver ikke blive monteret der. En alm. 7805 kan sagtens monteres i hullerne under TP4 på printet.

LM567 tonedecoderen var lagervarer.

Optokobleren TLP621 fandt jeg en ekvivalent i EDR Fr. Sund's store lager.

Krystallet på 16 MHz og Display blev også doneret af EDR Fr.sund.

Sokler og og en del af SMD-kondensatorerne var osse lagervarer fra EDR Fr.sund, ja selv en indbygnings-kasse til første udgave i begyndelsen af denne beskrivelse, fandt jeg blandt EDR Fr. sund's reservedelslager.

 

Det er dog endnu ikke lykkedes mig, at finde LTC1043, Dual Precision Instrumentation Switched Capacitor Building Block, og den afventer levering fra Farnell, hvor den nok skal koste ca. 30 kr.

Resten af komponenterne var skuffe-varer.

Med de fordele der er, ved at være medlem af lokalafdelingen af EDR i Fr. sund, er det lykkedes at holde budgettet til under 75 kr.

Her er så samlingen af de filer, der bruges i ARDUINO IDE, pakket i en RAR-file: k3ng_keyer.rar

Har du bemærkninger til projektet, da lad mig høre fra dig.

De OZ6YM, Palle