Moderní telegrafní klíče toho dokážou nesrovnatelně víc, než jejich předchůdci ještě před poměrně nedávnou dobou, přesto však většinou nevyhovují požadavkům DX a závodního provozu. Existuje celá řada jednoduchých zapojení, které lze využít jen jako samostatný klíč a to v podstatě stejným způsobem, jako před 40 lety. Změnila se sice technologie, místo tranzistorů nebo víceúčelových integrovaných obvodů se téměř výhradně používá naprogramovaný mikrokontrolér. Zapojení jsou mnohem jednodušší, mívají méně součástek, přibyly také některé dříve méně obvyklé funkce (např. nastavitelná symetrie značek, tzv. weighting a nastavitelný poměr tečka/čárka), samozřejmostí je jambický režim (zpravidla přepínatelný Curtis A nebo B), některé klíče dokážou ovládat i PTT a tím zabránit „horkému spínání“ relé v PA, tím však výčet parametrů většinou končí.
Chcete-li se pravidelně zúčastňovat CW závodů v moderním stylu, je takový klíč nevhodný, neboť nespolupracuje s počítačem. I v DX provozu je použitelnost takového jednoduchého klíče velmi omezená, protože ho musíme mít na stole na přístupném místě, odkud můžeme ovládat případná tlačítka pamětí. Plně vybavený klíč musí tedy mít nejen všechny potřebné funkce, ale i spolupracovat se staničním nebo závodním deníkem, běžícím na vašem počítači. Takových klíčů je však velmi málo, donedávna byl jediným vyhovujícím typem Winkeyer USB [2] autora K1EL, který se stal standardem a je podporován všemi moderními závodními a staničními deníky. Winkeyer USB však přestal vyhovovat, neboť jeho cena se zásadně zvýšila a použitý kód je stále uzavřený, proprietární – pro upgrade na novější verzi je dokonce nutné objednat (za 12 USD) nový naprogramovaný kontrolér. Teprve nejnovější verze Winkeyeru umožňuje provádět aktualizace nahráním novější verze software, což je ovšem procedura velmi problematická pro uživatele jiných operačních systémů, než Windows. Proto jsem se pokusil vyvinout plně kompatibilní klíč, jehož konstrukci si každý může přizpůsobit svým individuálním požadavkům a jehož cena by byla ve srovnání s Winkeyerem USB mnohem nižší. Prioritou byla ovšem jednoduchá konstrukce s otevřeným (Open Source) kódem, který bude možné velmi snadno aktualizovat z jakéhokoli operačního systému.
Proč však stavět klíč, když máme počítač? Odpověď je ukrytá ve vlastnostech moderních multitaskingových operačních systémů. U nich si nemůžete nastavovat libovolný časový interval, systém vám totiž nabídne pouze výběr z diskrétních hodnot, odvozených od kmitočtu vzorkování (přepínání mezi jednotlivými paralelně běžícími procesy). Existuji sice programovací postupy, umožňující proces klíče vyjmout z multitaskování a nechat ho běžet trvale. Takový proces je však zdrojem neustálých problémů, zpravidla nemáte k dispozici pastičku a jen těžko od vysílaných impulsů odvodíte signál PTT se všemi potřebnými kompenzacemi a přesahy, což potřebujete, pokud nemáte zařízení s perfektním QSK, které do klíčování a přepínání RX/TX nezanáší nežádoucí prodlevy. A to ještě nebyla řeč o možnosti nastavit weighting, mezislovní mezery proměnlivé délky (při závodech nutnost), poměry tečka/čárka/mezera (univerzální hodnoty 1:3:1 nejdou vždy ideální), Farnsworthovu rychlost (od určité rychlosti se změní mezery mezi elementy) apod. Pokud tedy program umí sám klíčovat, nabízí toho většinou velmi málo a klíčování může být méně kvalitní, což se nutně projeví např. na výsledcích v závodech nebo na tom, jak snadno se dovoláváte na DX. Je tedy mnohem pohodlnější použít samostatný externí klíč, propojený s počítačem zpravidla přes USB port, který z deníku dostává pouze ASCII znaky, které si sám zpracovává, ať jsou to příkazy nebo samotný vysílaný text. Proto má většina moderních závodních programů a staničních deníků zabudovanou podporu externího klíče.
Když se podíváte na svůj klíč a na jeho schéma, zjistíte, že je na něm spousta zbytečností, které jste si sice zaplatili, ale nevyužijete je. Uvědomil jsem si to, když jsem nedávno utíral prach ze svého Winkeyeru USB. Nedotknu se ho, jak je rok dlouhý, dokonce i potenciometr na nastavování rychlosti měl zaprášený knoflík. Přitom pracuji pouze CW a klíč je tak pro mě jednou ze zásadních součástí vybavení. Není však důvod se ho dotýkat, veškeré jeho funkce totiž ovládám z klávesnice počítače. Navíc, ono toho moc k ovládání není, v podstatě jen rychlost, všechny zbylé parametry jsou nastavené jednou provždy a pokud všechno funguje, jak má, není důvod je měnit. Proto jsem se pokusil tyto „zbytečné“ funkce shrnout v článku [1].
Na klíč lze také pohlížet jako na interface mezi počítačem a transceiverem, což ovšem neznamená, že se stává pouhou počítačovou periferií, klíč může pracovat zcela samostatně, bez počítače. Pokud se tedy rozhodnete postavit si svůj klíč, omezíte se jen na to, co skutečně využijete. Stačí jen si uvědomit své provozní zvyklosti a podmínky, za jakých klíč používáte a máte jasno.
Opravdu dobrý klíč může být jednoduchý, levný a přitom značně propracovaný. Co ušetříte na klíči, o to víc vám zbude na dobrou pastičku, postavit si klíč je tedy jednoznačným krokem vpřed. Jenže, co by takový klíč měl umět? Nechcete se přeci předem připravit o některou vlastnost, kterou možná v začátcích nepotřebujete, ale později se vám bude velmi hodit. Bude proto vhodné si předem zmapovat funkce a konstrukční zásady, které obvykle najdete u klíčů a to nejen koupených hotových nebo jako stavebnice, ale i u publikovaných konstrukcí. Než se do toho pustíme, bude nutné si připomenout své provozní návyky a způsob využití počítače při práci na pásmech. Z toho pak vyplyne mj. i zmíněný seznam funkcí a ovládacích prvků, které lze považovat za zbytečné [1], i když je u většiny konstrukcí nacházíme. Proto je výhodné udělat si klíč na míru. To je možné, pokud použijete konstrukci tak flexibilní, že bude velmi jednoduché ji přizpůsobit svým potřebám. Využijeme přitom hardwarové jednoduchosti klíče, u nějž lze případné změny dělat programově.
Pokusil jsem se tedy tyto poznatky uplatnit v praxi a výsledkem byl TinyKeyer (obr. 1), pokus o nejmenší, přitom plně vybavený klíč na světě. Samozřejmostí je optimálně vyladěný kód, který musí zaručovat plnou kompatibilitu s většinou deníků a contestových programů. Klíč nemá žádné zbytečné ovládací prvky, všechny funkce jsou ovládány pomocí tzv. akustického menu, které se aktivuje po přepnutí do příkazového režimu. Na čelním panelu je pouze knoflík k nastavení rychlosti a LED, indikující, že klíč je v příkazovém režimu.
Obr. 1. Klíč Tinykeyer.
Základní vlastnosti klíče
- Připojení k počítači, napájení a programování pomocí USB portu
- Nastavení rychlosti pomocí rotačního enkodéru
- Příkazový režim pro nastavení provozních parametrů pomocí pastičky
- Kompatibilní s většinou staničních deníků a contestových programů pomocí protokolu K1EL Winkey 2.0, příp. 1.0
- Nastavitelná rychlost CW 1 až 999 WPM (5 - 4995 zn./min)
- Jambické režimy Curtis A a B
- Možnost časování jako CMOS Super Keyer (v jambickém režimu B)
- Režim Ultimatic
- Režim Bug
- Režim ručního klíče
- Obrácení pastičky (tečky <-> čárky)
- Farnsworthovo časování
- Nastavitelná frekvence příposlechu
- PTT výstup s nastavitelnými časy náběhu, držení a doběhu
- Kompenzace klíčování (prodlevy kvůli relé v PA nebo v LNA na stožáru apod.)
- Nastavitelný poměr tečka/čárka
- Nastavitelný weighting (poměr tečka/mezera)
- Hlídání spícího operátora (po 100 tečkách se vypne)
- Vypínatelná automatická mezera
- Nastavitelná mezera mezi slovy
- Uložení nastavených parametrů v non-volatile paměti
- Režim spánku (po určité době nečinnosti klíč přejde do klidového stavu s minimálním odběrem)
Softwarové řešení
Klíč je postaven na platformě Arduino a využívá otevřený kód, jehož správcem a hlavním autorem je Anthony Good, K3NG [3]. Základní informace o možnostech tohoto kódu i vlastnostech a variantách klíče lze nalézt na blogu Radio Artisan [4]. Kód byl upraven pro tento klíč, byly vytvořeny nové hlavičkové soubory a odkazy ve vlastním kódu. Omezujícím činitelem jsou poměrně skromné paměťové možnosti použité desky Arduino Nano v. 3.0, která jako jediná vyhovuje svými rozměry a nabízí kompletní rozhraní USB, které se využívá k programování i k vlastnímu propojení s počítačem včetně napájení.
Klíč má velmi jednoduchou nabídku, která se zpřístupní zatlačením knoflíku pro nastavení rychlosti směrem k panelu. Přepnutí do příkazového režimu je indikováno jednak akusticky, jednak rozsvícením LED diody na předním panelu. Automaticky se odpojí všechny výstupy a zapojí se příposlech na vestavěný piezoměnič. Pak již lze zadávat pastičkou příkazy ve formě jednoho písmene, klíč reaguje buď stručným potvrzením ve formě tečky (E - Enter), odpovědí ON nebo OFF, trvalým tónem v příposlechu (funkce F - nastavení frekvence příposlechu), případně vysílá řetězec prostřídaných teček a čárek, u nichž jsou přímo slyšet nastavené změny (funkce J - nastavení poměru tečka/čárka a L - nastavení weightingu).
Příkaz | Význam |
A | Přepnutí do režimu Curtis A |
B | Přepnutí do režimu Curtis B |
C | Přepnutí do režimu s jednopákovou pastičkou |
D | Přepnutí do režimu Ultimatic |
E | Oznámení rychlosti ve WPM |
F | Nastavení frekvence příposlechu* („akustické menu“) |
G | Přepnutí do režimu Bug |
H | Nastavení weightingu (50) a poměru tečka/čárka (3) na výchozí hodnoty |
I | Odpojení/připojení klíčovacího výstupu |
J | Nastavení poměru tečka/čárka* („akustické menu“) |
K | Vypínání bufferu pro tečky/čárky při Ultimatic mode*** |
L | Nastavení weightingu* („akustické menu“) |
N | Obrácení pastičky (tečky <-> čárky) |
O | Vypnutí/zapnutí příposlechu |
T | Ladění (trvalé zaklíčování) |
W | Změna rychlosti* („akustické menu“) |
X | Opuštění příkazového režimu (opětovné stisknutí knoflíku má stejný účinek) |
Z | Vypnutí/zapnutí automatické meziznakové mezery |
? | Status** |
Pozn.
* levá páka sníží hodnotu, pravá ji zvýší, stisknutí obou ukončí nabídku
** status je odvysílán v Morse, údaje jsou v tomto pořadí:
1. rychlost (WPM)
2. režim klíče (A = Curtis A, B = Curtis B, G = Bug, S = jednopáková pastička, U = Ultimatic)
3. weighting
4. poměr čárka/tečka
*** funguje pouze v Ultimatic mode, hlásí se jako ON či OFF (výchozí hodnota je OFF). Pokud zapnete, jste v novém režimu „Ultimatic B“. V ostatních režimech se hlásí ERR.
Hardwarové řešení
Zapojení klíče je velmi jednoduché, bez jakýchkoli zbytečností. Důraz je kladen na ošetření vstupů a jejich blokování, na výstupech je použit spínací FET s malým RDS(ON), zaručující dokonalé zaklíčování. Za zmínku stojí snad jen obvod vypínání automatického softwarového resetu (ASR), který jsem našel v jednom diskusním fóru. Jde v podstatě o odpínatelný kondenzátor 10 mF z vývodu RESET (3) Arduina na zem. Při zapnutí je jím na krátkou dobu tento vývod „podržen“ na potenciálu země. Odpínatelný musí být proto, že při programování je nutné nechat vývod RESET nezapojený, proto je použita vyjímatelná zkratovací spojka (jumper), který je při běžném provozu klíče na svém místě.
Knoflík na čelním panelu má dvojí funkci - otáčením se nastavuje rychlost a stisknutím lze přejít do příkazového režimu, indikovaného rozsvícením LED na panelu, která je jediným indikačním prvkem na panelu klíče. Jako ovládací prvek není použit běžný potenciometr, ale rotační enkodér, který má několik výhod - je menší, spolehlivější a má delší životnost. Nejsou zde žádné dorazy jako u potenciometru, není tedy nutné omezovat rozsah rychlostí. Další výhodou je vestavěný spínač, umožňující přepnutí do příkazového režimu pouhým stlačením knoflíku.
Výchozí rychlost klíče je nastavena na 30 WPM, enkodér má tzv. "řehtačku", tj. otáčí se v krocích, mezi kterými je cítit jemné cvaknutí. Jeden krok znamená změnu rychlosti o 2 WPM.
Obr. 2. Schéma zapojení klíče Tinykeyer.
(kliknout pro zvětšení)
Stavba klíče
Inspirací byla velmi pěkná miniaturní hliníková skříňka o rozměrech 45 x 45 x 18,6 mm, kterou jsem našel v nabídce několika čínských prodejců na eBay (obr. 3).
Obr. 3. Hliníková skříňka klíče Tinykeyer.
Rozměry skříňky určují rozměry plošného spoje (obr. 4). Desku plošného spoje je třeba zapilovat na šířku tak, aby šla zasadit do skříňky velmi těsně. Pozice desky ve skříňce je znázorněna na obr. 5.
Obr. 4. Horní strana a rozměrový náčrtek desky plošného spoje. Na horní straně je jediná SMD součástka – elektrolytický kondenzátor C1. Obrázek znázorňuje novější verzi 11.2 plošného spoje, která je nyní k dispozici.
Obr. 5. Pozice desky plošných spojů ve skříňce.
Rozpis součástek
Poznámky:
- zakoupeno na eBay.
- lišta je tvořena piny čtvercového průřezu, přímo zapájené do desky plošných spojů.
- oboustrannou desku plošných spojů s prokovenými otvory, nepájivou maskou a potiskem po obou stranách nelze vyrobit doma, bude i mimo technologické možnosti malých výrobců plošných spojů.
Příprava součástek
Arduino
- Použita je pouze deska se dvěma lištami vývodů (15 pinů). Konektor pro připojení programátoru ISP není použit, pokud je již do desky zapájen, je třeba ho odstranit. Při nákupu Arduina je vhodné dát přednost stavebnicové formě, kdy je dodána deska se dvěma oddělenými pinovými lištami a tzv. ISP headerem, který je rovněž oddělený a nebude použit.
- Je vhodné nahrát kód klíče do Arduina ještě před jeho zapájením do desky. Tato procedura je prakticky jediným ověřením funkceschopnosti Arduina, vycházíme z předpokladu, že jde-li Arduino naprogramovat a proběhne-li úspěšně jeho ověření ve vývojovém prostředí, je v pořádku. Výměna zapájeného Arduina je poměrně obtížná a je spojená s rizikem poškození desky plošných spojů.
V prodeji existují dva typy Arduina Nano Rev. 3.0, které se liší použitým UART. Původní Arduino bylo vybaveno obvodem FT232RL firmy FTDI, později se objevil čínský klon s obvodem CH340. Čínské klony Arduina měly zprvu špatnou pověst díky nekompatibilitě s většinou operačních systémů, to je však již minulostí. Současná Arduina s CH340 jsou již plně kompatibilní a není třeba se jich obávat – nový ovládač pro Windows je možné nainstalovat do všech verzí od XP (SP3) až po Windows 10. V Linuxu není třeba se o cokoli starat, systém poskytuje nativní podporu, ovládač je zakompilován do jádra systému. Ovládače pro Mac OS 10.9 – 10.12 sice nebyly zatím zkoušeny, avšak nejsou informace o žádný vážnějších problémech. Arduino s CH340 je výrazně levnější, než původní Arduino s obvodem FTDI a je tedy zajímavou možností ke snížení pořizovacích nákladů klíče.
Vstupní a výstupní konektor
Pro vstup (připojení pastičky) a výstup (klíčování a PTT) je použit nf konektor typu Jack o průměru 3,5 mm. Jediným známým typem, který vyhovuje rozměrově a umožňuje přitažení k zadnímu panelu pomocí matky je PJ-392. V tuzemském maloobchodě se pravděpodobně nevyskytuje, na eBay ho však nabízí celá řada čínských prodejců. PJ-392 je poněkud nekvalitní typ, první snahy o zastrčení protějšku někdy vyžadují poměrně značnou sílu. Proto je nutné zásuvky PJ-392 „vytrénovat“ pomocí osičky o průměru 3,4 – 3,5 mm, kterou zarazíme do zásuvky silou. Do zásuvky je třeba zasunout osičku v délce 14 mm, jinak nebude možné bez problémů zasunout protějšek. Nezkoušejte zasunout rovnou konektor, je zde nebezpečí, že se oddělí špička konektoru a zůstane uvnitř, čímž se zničí jak konektor, tak zásuvka! Je rovněž vhodné do zásuvky zasunout osičku opakovaně, pak je zasunutí vlastního konektoru bez problémů.
Rotační enkodér
Použitý typ ALPS STEC12E07 (obr. 6) má mnoho ekvivalentů, shodných jak rozměrově, tak i funkčně. Rotační enkodér je bezproblémová součástka s velkou spolehlivostí, je však nutné zajistit jeho dostatečně tuhé upevnění k čelnímu panelu a k desce plošných spojů, aby bylo možné využít i jeho spínač. Po řadě zkoušek byl k upevnění použit upravený kontakt FASTON 6,3 x 0,8 mm, určený pro zapájení do plošných spojů (obr. 7).
Obr. 6. Rozměrový náčrtek rotačního enkodéru.
Obr. 7. Úprava kontaktu FASTON k upevnění rotačního enkodéru.
Stavba klíče
Nejdříve osadíme SMD součástky na spodní straně desky (obr. 8). Vhodné je začít kondenzátory 1 nF C2, C3, C4, C5 u vstupního a výstupního konektoru.
Obr. 8. Rozmístění součástek na spodní straně plošných spojů.
Obr. 9. Osazená spodní strana desky.
Dalším krokem budou rezistory mezi vývody Arduina R1, R2, R3, R4, R5, R6 a R7. Pokračovat budeme rezistory R8 a R8 a nakonec osadíme tranzistory Q1 a Q2.
Na horní straně osadíme elektrolytický kondenzátor C1. Použijeme-li běžný hliníkový typ, který má označený – pól, orientujeme pouzdro podle potisku na desce. Bude-li použit tantalový typ velikosti 1206, je nutné pouzdro orientovat stranou, značenou páskem (+ pól) směrem ke konektorům (obr. 10).
Obr. 10. Osazená horní strana plošných spojů s tantalovým kondenzátorem na pozici C1.
Dále osadíme zkratovací propojku (jumper) JP1. Je tvořena zlacenými vývody čtvercového průřezu, které získáme z nepoužitého ISP konektoru Arduina. Použijeme pouze vývody, zapojené do desky bez plastikového spodku. Vývody mají pouze délku, která se vejde do tělesa jumperu, zbytek odštípneme.
Dalším krokem je instalace rotačního enkodéru. Do desky nejdříve zapájíme upravený kontakt konektoru FASTON. Z tělesa enkodéru odstraníme nálitek, bránící protáčení a umístíme ho tak, že strana spínače (se dvěma vývody) směřuje ke kraji desky. Strana enkodéru (se třemi vývody) míří ke středu desky. Horní upevňovací vývod provlékneme otvorem v kontaktu FASTON (obr. 11), spodní směřuje mezi jeho vývody (obr. 9).
Obr. 11. Zapojení rotačního enkodéru.
Před vlastním zapájením enkodéru je nutné zkrátit jeho hřídelku podle použitého knoflíku a pečlivě nastavit jeho pozici, aby byl kolmý, resp. v rovině s deskou.
Na vnitřní straně (enkodér, tři vývody) připojíme střední vývod ke kontaktu FASTON, vhodné je využít otvor, kde je již umístěn upevňovací vývod. Tuto sestavu pak pečlivě propájíme s kontaktem FASTON.
Vývody enkodéru po obou stranách tělesa, které směřují k desce, připájíme k odpovídajícím ploškám. Pak desku obrátíme a propájíme spodní upevňovací vývod enkodéru spolu s vývody kontaktu FASTON k příslušné oválné pájecí plošce. Jako poslední zapojíme horní vývody enkodéru a spínače. Použijeme můstky, zhotovené z vodiče čtvercového průřezu, které zbyly z nepoužitého ISP konektoru Arduina (obr. 11).
U zásuvky Jack typu PJ-392 vyhneme zemnicí vývod o 90o a postranní očka opatříme drátovými vývody. Opět je vhodné použít tuhý vodič čtvercového průřezu. Vývody zasuneme do plošného spoje a konektor umístíme tak, aby krček kovové části lícoval s okrajem plošného spoje (obr. 10). Pak vývody zapájíme.
Dále nainstalujeme piezoměnič, je třeba jen dát pozor na polaritu, která je vyznačena na desce i na pouzdru piezoměniče. Pokračovat budeme indikační diodou LED. Na obrázcích je vidět starší verze desky (ver. 8, již není k dispozici), kde je dioda umístěna vedle enkodéru (obr. 12, 13).
Obr. 12. Pohled na osazenou desku.
Obr. 13. Další pohled na osazenou desku starší verze.
...a novější verze
Náčrtek na obr. 4 a předchozí obrázek ukazuje novější verzi 11.2 plošného spoje (nyní k dispozici), kde je LED dioda umístěna symetricky podle středu předního panelu. Vlastní dioda je umístěna naležato pod deskou Arduina, polarita je vyznačena desce (katoda – C). LED se vejde mezi desku plošného spoje a desku Arduina velmi těsně. Na rozdíl od starší verze zpravidla není třeba čelní část LED zkracovat.
Na závěr instalujeme Arduino. Doporučuji Arduino ještě před instalací naprogramovat. Návod najdete zde.
Je třeba pečlivě zapájet všech 30 vývodů. Pamatujme, že Arduino je k desce připájeno napevno a trvale, před jeho připájením je nutné vše zkontrolovat (raději 2x).
Veškeré materiály k tomuto klíči jsou volně ke stažení na stránkách autora [6]. K dispozici je:
- Stavební návod ke klíči TinyKeyer (PDF formát, v angličtině)
- Aktuální verze firmware (lze přímo nahrát do Arduina)
- Návod k příkazovému módu (Quick reference)
- Podklady k výrobě plošných spojů ve formátu Gerber
- Testovací skript pro zjišťování obsazení portu devcheck.sh (Linux)
- Ovládač pro CH340 (Windows)
- Ovládač pro CH340 (Mac OS 10.9 - 10.12)
V případě zájmu budou u autora článku k dispozici desky plošných spojů.
Odkazy:
[1] Klíč na míru? http://morse.ok1rr.com/index.php?a=manipulatory/klic-na-miru
[2] Počítač v ham-shacku - Automatický telegrafní klíč a klávesnicový dávač Winkey, PE-AR 2009/7 – 2010/2 (8dílný článek)
[3] K3NG CW Keyer, https://github.com/k3ng/k3ng_cw_keyer
[4] Radio Artisan – Arduino CW Keyer, https://blog.radioartisan.com/arduino-cw-keyer/
[5] Vadné Arduino nano, http://radio.ok1cjb.cz/PDF/arduino_nano_oprava.pdf
[6] Materiály ke stažení: http://www.ok1rr.com/tinykeyer/index.html
73 OK1RR