25 martie 2019

Baliza in telegrafie cu Arduino ( partea 1)

           Zilele trecute cineva m-a rugat daca pot sa il ajut cu un circuit electronic care sa transmita automat un mesaj in telegrafie, necesar pentru punerea in functiune a unei balize radio. Mi s-a parut interesant subiectul, relativ simplu de realizat in ziua de azi si am acceptat sa il ajut. Bineinteles imediat m-am gindit la un microcontroler si deoarece, pentru inceput nu presupune functii prea multe, am ales un Arduino Nano. Aceasta versiune mi se pare cea mai ok dintre toate care exista: este foarte mic, are o gramada de pini GPIO la dispozitie, alimentare nepretentioasa si este dotat cu un programator prin USB.
            Astazi, fiind liber si neavind mare lucru de facut, am trecut la treaba. Desi ar fi fost mai simplu sa caut o aplicatie 'de-a gata' pe internet, am ales sa dezvolt eu una pe principiul: ia sa vedem, eu pot? Am luat-o ca pe o provocare. Dupa citeva ore de teste am reusit sa pun la punct programul, apoi folosind un TCXO, din calculatoare, pe frecventa 14318 KHz, am putut asculta semnalul balizei ad-hoc, in statia mea radio FT897D. Mi-a placut cum se auzea de bine si am considerat proiectul fiind reusit.

           Programul transmite setul complet de litere [A...Z], cifre [0...9] si citeva caractere speciale: [BlankSpace], respectiv spatiu, [=] respectiv separatie, [/] respectiv bara de fractie. Am introdus si un caracter special propriu, respectiv [*], care l-am denumit ton continuu si care genereaza un ton continuu egal cu durata a zece puncte, arbitar aleasa de catre mine. Acest caracter este necsar pentru transmiterea unui ton continuu in pauzele dintre mesajele balizei.
            Nu este nimic fantastic in acest proiect. Este o solutie. Asa vad eu rezolvarea. Probabil daca ma gindesc mai mult, voi gasii solutii mai moderne si mai bune. Ramine de vazut.

Descarca: CW Beacon vers. 24.03.2019

Pentru realizarea proiectului m-am inspirat din:
https://media.digikey.com/Photos/RDL/Arduino%20Nano%20-%20Schematic.png
https://www.quora.com/How-do-I-make-a-function-return-string-on-Arduino



Constantin Badican  - YO7FWS
---  73's   YO7FWS  ---

14 martie 2019

Program IF PanAdapter pentru FT897D

            In urma cu ceva timp am inceput sa experimentez utilizarea unui panadapter cu RTL2832U in tandem cu statia mea radio, FT897D. Aceasta modificare adusa echipamentului mi-a adus foarte multe satisfactii, mai ales in domeniul undelor ultrascurte. Dupa ce am capatat incredere am continuat experimentele in acest domeniu. Urmatorul pas, dupa montarea in statie a modulului, a fost gasirea unui program cu ajutorul caruia sa afisez semnalele radio din banda si in acelasi timp sa imi comande statia radio printr-un simplu click pe ecran. Am testat mai multe programe, dar singurul care s-a apropiat necesitatilor mele a fost HDSDR. Desi acesta s-a instalat si configurat cu multa usurinta, nu a facut fata exigentelor mele. Trei aspecte importante m-au nemultumit:
 - deoarece programul utilizeaza pentru comanda statiei un alt program, respectiv Omnirig si numai o varianta foarte veche, acesta pierdea uneori conexiunea cu statia radio sau se desicroniza
- un alt aspect care m-a deranjat foarte tare a fost imposibilitatea de a vedea, in conditii proprii, statiile radio dintr-un segment de banda de cca 3..400 KHz. Desi setam corect zoom-ul si vedeam segmentul respectiv, nu reuseam printr-un singur click sa setez corect frecventa in statie, deoarece emisiunile corespondentilor erau foarte inguste. 
- si ultimul aspect, pentru care am renuntat complet la program, a fost imposibilitatea de a mentine fix, in aceeasi pozitie pe ecran, emisiunea unui corespondent, indiferent daca aceasta a fost sau nu selectata. Practic, la fiecare click pe ecran, emisiunile radio se deplasau stinga sau dreapta, emisiunea aleasa de mine, deplasindu-se pe centrul ecranului. Acest aspect ingreuneaza foarte mult navigarea de la o statie la alta deoarece acestea nu sint intr-o pozitie de referinta pe ecranul afisat.
Plecind de la aspectele enumerate mai sus, m-am hotarit sa imi scriu propria mea aplicatie care sa corespunda, in totalitate, cerintelor mele.
Pentru inceput am studiat modul prin care poate fi comandat modulul cu RTL2832U si afisate informatiile din acesta. Ulterior am dezvoltat aplicatii simple prin care am afisat segmente de banda, de la mai mari, la mai mici. Deoarece nu am nicio pregatire in domeniu, am analizat rezultatele si le-am corelat cu parametrii configurati de mine. Cind procesul de afisare a devenit stabil, am trecut la pasul urmator: comanda statiei radio. Acest pas a fost cel mai simplu deoarece, in trecut, am mai scris aplicatii in acest domeniu. Ultimul pas a fost imbinarea celor doua programe si astfel a aparut prima mea aplicatie panadapter pentru statia radio FT897D.



Ce face aplicatia mea?
- afiseaza semnalele radio dintr-un segment de 400 KHz. Pentru a putea afisa si selecta in conditii optime o emisiune SSB, segmentul de banda este impartit in trei ecrane consecutive
- afiseaza constant acelasi segment de banda, fara a schimba pozitia emisiunilor radio, indiferent daca acestea sint selectate sau nu
- comunica prin CAT cu statia radio, fara a fi nevoie de un program extern pentru aceasta
- functioneza ca server TCP si poate comunica cu un client pe portul 7000. Aplicatia transmite periodic clientului conectat valoarea frecventei afisata pe ecranul statiei radio. Folosesc aceasta facilitate pentru a actualiza in programul meu de concurs frecventa de lucru a statiei radio'


Ce nu face aplicatia mea?
Nu decodeaza nimic. Practic eu doar afisez emisiunile radio, comand statia radio, dar nu decodez nimic. Receptia se face numai in statia radio.
In acest moment programul indeplineste toate cerintele mele. Este pentru uzul personal, dar nu ma deranjeaza daca cineva doreste sa il foloseasca. Acesta poate fi folosit pe seria de transceivere Yaesu FT8x7 atit timp cit modulul RTLSDR este montat in prima frecventa intermediara. Deoarece este intr-o  continua imbunatatire, voi face public de fiecare data ultima varianta.


Pentru realizarea proiectului m-am inspirat din:
http://delphiexamples.com/application/appsynchthread.html
http://www.delphipraxis.net/118592-com-ports-im-system-auslesen-2.html
http://ajoo.blog/intro-to-rtl-sdr-part-ii-software.html
http://raxp2.blogspot.ro/2016/04/rtl-sdr.html
http://www.m0dts.co.uk/files/simple_rtlsdr_fft.c
https://stackoverflow.com/questions/29281617/convert-str-hex-int-to-dec-int
http://delphiquotes.blogspot.com/2013/03/string-to-hex-and-hex-to-string-in.html
https://rstforums.com/forum/topic/34481-delphi-captura-sunete-de-la-microfon/
https://stackoverflow.com/questions/22430706/delphi-7-screenshot-without-capturing-form-windows-8-dwm-exe


Descarca:
FT897  IF PanAdapter versiunea 14.03.2019
FT897  IF PanAdapter versiunea 07.04.2019


Constantin Badican  - YO7FWS
---  73's   YO7FWS  ---