Kontrolér malé EME stanice desktop - verze Windows
Úvod
Malému EME Projektu
jsem věnoval více než rok času. Se zkonstruovanými komponenty jsem
realizoval první spojení, některé detaily a začátečnické zásady jsem
popsal právě na těchto stránkách. Velkou část konstrukcí EME UHF Small
projektu jsem realizoval, jak se říká: "na koleně", chcete-li, jak tady
tomu říkám: "vidláckým způsobem". Několik věcí mi kazilo radost:
1. Ručně ovládaná malá anténa na fotografickém stativu.
2. Řízení stanice pro EME, které bylo poplatné době vzniku. Tedy skoro
žádné, a to v době, kdy jsem pro KV měl z tabletu (Android) dálkově
řízenou staničku.
Modernizace se týkala obou zmíněných věcí.
Ovládání antény
Ovládání antény jsem vyřešil pomocí tzv. montáže astronomického
dalekohledu s USB ovládáním (http://www.skywatcher.com/,
systém SynScan Pro App, původně jsem si to přál bez systému ovladačů ASCOM). Vyzkoušel
jsem zatím jen dvě varianty, které lze použít pro maličkou montáž AZ SynScan a
druhou pro nádherný polární Star Adventure). Program jednou částí nahrazuje např. tzv. SkyWatcher ručku. Montáže Skywatcher jsou krásně vyrobené věci. Proto jsem
si udělal radost, koupil jsem si to a upřednostnil proti jiným systémům
směrování antén.
Řízení stanice
Na řízení stanice jsem si napsal tento program
pro desktop. Pojmenoval jsem ho "EME small station controller OK1UFC".
Jako cíle jsem si dal tyto vlastnosti:
1. Program se bude připojovat k TCVRu (a také k druhému SDR přijímači)
pomocí seriového portu (přes USB FTDI).
2. Z programu půjde pustit komunikační aplikaci WSJT-X.
3. WSJT-X nebude připojené do TCVRu, ale do virtuálního COM portu tohoto
kontroléru.
4. Program nahradí všechny funkcionality tzv. sekvenceru a bude generovat
všechny potřebné časové posloupnosti. Tyto nebudou vyvolané z WSJT-X, ale
od času.
5. Program bude dekódovat signál NMEA a/nebo z SNTP serveru a bude
přesně synchronizovat čas v PC. Taky dodávat info o poloze (používá se při
výpočtu AZ/EL).
6. Program bude počítat nastavení azimutu a elevace (nebo tracking data pro polární
montáž) a bude řídit směrování antény.
7. Program bude počítat Doppler a automaticky řídit kmitočet TRXu při
spuštění vysílání (od naladění RX na přijímaný signál). Protože se TRX neřídí
z WSJT-X, lze nastavení TX frekvence dělat před zahájením vysílání
(povel posílám do TCVRu v 58 sekundě a zpět pro RX v 55 sekundě).
Alfa verze
Alfa verzi jsem dokončil nedávno. Částečně
jsem některé algoritmy vyzkoušel na podzim roku 2017. Stav je teď následující:
ad 1. Funguje. Program výborně ovládá TRX Icom (nebo pomaleji
Kenwood TS-2000). Protokoly Icom jsou dobré. SDR jsem zatím nerozchodil (nemám hlavu na
prokousání se algoritmy některých ovladačů pro SDR).
ad 2. To je bez potíží. WSJT-W spouštím ve Windows pomocí příkazu Shell z
adresářů WSJT-X.
ad 3. Funguje výborně. Program emuluje
na virtuálním portu TRX Icom a WSJT-X to nepozná,
pracuje s ním
jako s Icomem.
ad 4. Kupodivu fungovalo bez problémů. Jde o triviální věc.
ad 5. To bylo jednoduché. Časová základna je přímo z NMEA (GPS) nebo
doma z SNTP serveru (používám CESNET server). Nic není odvozováno od WSJT-X,
vše se řídí mezi 54 až 59 sekundou přímo programem, podle toho, zda je
režim "jen RX", "První minuta" nebo "Druhá minuta".
ad 7. Výpočet Doppler, AZ, ELevace je bez problémů, pomohli známí,
neuměli jsme to bez použití ovladačů ASCOM, které používá program
SynScanProWindows (používají to astronomové).
Zkušenost
V jednom z contestů jsem zkusil zavolat se
Small station Zdeňka OK1DFC. Neuvěřitelné, ale očekával jsem přesné
naladění
a Zdeněk slyšel moje slaboučké QRP mezi podstatně silnějšími stanicemi (pásmo 432 MHz, anténa yagi délky 2.2 metru, výkon 80 Wattů, JT65). Takže
jsem udělal první nedomluvené
EME spojení s OK1DFC big gun pomocí QRP staničky. Žádné chatování, žádný
internet. Jak vidíte, EME jde i s QRP.
Jak ta hračka vypadá?

Jde o tzv. alfa verzi. Proto omluvte mnoho
nedostatků:
1. Nemám napsané konfigurační menu, dost věcí se proto čte při startu
programu z tzv.
textového ini file. Informace, se kterými se dělá, jsou všechny v jednom
okně.
2. Pravá část je česká, protože jsem kód převzal z jiného svého programu. Byl vidlácký a bohužel, musel zůstat v této verzi v češtině.
3. Levá (větší) část má 3 hlavní oblasti:
První část nahoře slouží k puštění rádií a k puštění programu WSJT-X. Také se tu
ukazuje naměřené napětí obou zdrojů.
Druhá část je indikační a v
políčkách problikávají zaškrtnutí a ukazují, jak nám sekvencer postupně zapíná (nebo vypíná)
přijímače, předzesilovače, relé, aktivuje PA a budiče, přepíná relé antén,
zobrazuje, která časová synchronizace je aktivní, ukazuje naměřené výkony
na směrových odbočnicích u koncového stupně, teploty na chladiči, apod.
Třetí část je od toho, aby se dalo
nastavit sledování měsíce (nebo slunce, nebo polárky, nebo majáku). Jsou
tu vidět také hodnoty směru hlavního laloku antény (AZ/EL) a také tady jde
hejbat s kmitočtem vysílače (krok 1 kHz) a nastavit vypočtení a naladění
Doppleru (pro EME) při TX, pokud jsme naladěni na RX spektrum.

Čtvrtá oblast je nezajímavá. Koncept mého Small projektu je založen na
ovládání z PC. V této části jsou tedy obyčejné "spínačky", kterými lze
zapnout napájecí zdroje TRXu a Outdorového boxu. Software jsem, bohužel, napsal už někdy v roce 2010. Docela vidlácky a když jsem ho tady
nakopíroval, tak jsem zjistil, že mu budu muset věnovat trochu času, aby
byl jazykově neutrální.
Program spínačky může běžet na jiném
PC. Na obrázku vpravo je puštěn pod Win 10 na "rodinném" PC, které se
nevypíná. Spínačkama zapínám PC v hamovně a napájecí zdroje pro RX a
TX.
Obrazovka ho zachytila zapnutý v sobotu, v 17.52 32
hodin, běžící od půlnoci v pátek a vypnul by se v 18.00 hodin.
Program je napsán jako týdenní spínačky. Pokud
potřebujeme více časových intervalů, klikneme na nenápadný nápis (+)
add další (nápis je bílý, je pod políčky Zapni Vypni a není na světle
šedé ploše vidět, trochu je vidět u Kontroléru). Po kliknutí nám
program naramluje sám sebe a vyleze další okno, po více kliknutích
více oken a tam si můžeme naprogramovat jiné doby zapnutí a vypnutí
zdrojů a také PC s kontrolérem stanice. |
 |

|
Jak to funguje s dalším
zařízením stanice?
1. Každé zařízení stanice je připojené k sériovému
portu přes USB (FTDI převodník).
2. V nejjednodušším zařízení, jako jsou napájecí zdroje TCVRu, zdroj
řídícího PC, jsou mikrokontroléry (typ PICAXE08M2) s relé (které
spíná, rozpíná).
3. Ve složitějším zařízení (outdoor skříň s PA, směrovými odbočnicemi,
teploměry, voltmetry a sekvenčně řazenými relé) je složitější
mikrokontrolér s více výstupy, více AD převodníky a s více kontakty.
Zase však jen komunikuje protokolem s řídícím PC.
4. Po sériovém portu běží komunikace s jednoduchým protokolem, který
vymysleli a začali používat v Icomu. Protokol umí adresovat více
zařízení. V ovládacím programu musí být protokol nastaven. Např. u
externích spínaček je to vidět, používá se COM 12, adresa číslo 37 (to
je zdroj TCVRu), baud rychlost 9600, atd ... Pro informaci tu ještě
ukážu obrazovku jednoduchého testeru instrukcí Icom protokolu, který
jsem před léty napsal na zkoušení Icomů. Z obrázku je vidět struktura
protokolu:
a) dvakrát FE FE (hexadecimálně), to je preambule protokolu;
b) adresa rádia (76 má Icom 7200);
c) adresa kontroléru, který vysílá (E0);
d) data 1A a 04 reprezentují příkaz (netuším, jaký, musel bych se
podívat do manuálu Icomu);
e) data 01 01 reprezentují hodnoty k předchozímu příkazu;
f) křídelní znak FD na konci příkazu; příkazy mohou být různě dlouhé,
proto je obrazovka testeru delší :-)

Struktura protokolu Icom je jednoduchá,
srozumitelná a použitelná rovněž pro jiná zařízení, která si sám
vyrábím a přiděluji jim své adresy, příkazy, subkomandy a data. Značky
jiných TRXů používají jiné protokoly.
Takže, se zařízeními kontrolér funguje
pomocí Icom protokolů. S paralaktickou nebo AZ/EL montáží pomocí ASCOM
protokolu (stejné, jako u ovladače SynScanProWindows), s časovou
synchronizací pomocí NMEA nebo SNTP protokolů a s rádiem pomocí
virtuálního sériového portu. S SDR rádii to zatím nemám vymakané. Jiné
potřebné programy na PC to spouští pomocí instrukce Shell.
Závěry
Nejsem programátor. Proto tohle řešení je vidlácké a bude vidlácké. Funguje
mi to s Windows 7 i
s Windows 10. Na Win 10 pozor,
často ramlují disky (aktualizují se) a zrovna v
tom čase, když to nejvíc potřebujeme, nemakají. Moon nepočká. Kompilátory by měly
zvládnout Linux a IOS (až trochu firmám zaplatím za licence, teď se mi nechce).
Ve Windows lze tohle řešení
ovládat dálkově. Program funguje nějakou dobu docela spolehlivě. Lze
se spolehnout, že se rozběhne po startu z PC ve všech komunikačních
kanálech. Rozběhne se i po hibernaci systému.
Komfort na EME stanici
Toho si cením nejvíc. Nemusím se starat o nastavení AZ/ELE
antény, ani o Doppler, ani o sekvence spínání, ani nezapomenu
zapnout napájecí zdroje.
Doppler lze samozřejmě řídit bez tohoto kontroléru přímo z WSJT-X.
Bohužel, např. u Kenwooda TS-2000 trvá dost dlouho, než se všechny
instrukce nacpou z PC do rádia. Vlastní vysílání, myslím, začíná opožděně a to může zadělat na další problémy
s dekódováním u protistanice. Tady mám sekvence přesně odvozené přímo od
přesného času a rádio lze
připravit na vysílání JT65 dříve, než s pomocí WSJT-X.
Článek nemůže být návodem. Na psaní SW nemám ani dovednosti a ani tým,
se kterým bych mohl rychle konzultovat nebo sdílet zkušenosti.
Nemám dokonce ani představu, do jakého stádia program chci a mohu dotáhnout a
nemám ani příliš času, abych mohl některé detaily základů počítačového
bakalářství prezentovat, či konzultovat. Nechť je tedy popisem mé částečně
realizované představy a třeba jen inspirací pro zdatnější hamy.
Poznámka: Několik hamů reagovalo na tento článek s přáním,
zda bych neuvedl alespoň kousek kódu z použitých algoritmů. Jenže kód
by měl publikovat jen dobrý programátor. To já v žádném případě
nejsem. Kód by měl být komentovaný. Nicméně, není v mých silách kousky
kódu ukazovat v editoru individuálně, proto jsem vybral jeden dílčí
algoritmus sekvenceru, který jsem zkoušel v malém prográmku
samostatně.
Listing programu, demoverze spustitelného
programu a pokus o popis některých algoritmů je zde. |
|