Koleżankom i Kolegom Radioamatorom, Krótkofalowcom,
Konstruktorom i Waszym Rodzinom – w tych trudnych czasach –
po dotkliwej awarii naszego forum
Pogodnego czasu po Bożym Narodzeniu,
Dosiego Nowego Roku
oraz Radosnych Trzech Króli

Życzy Zespół Home Made

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
NWT-7 jako nadajnik WSPR
#11
Ciekawi mnie w jaki sposób zrealizowałeś komunikację Arduino z programem do JT w komputerze.

Mnie bardziej interesuje implementacja nadawania JT w RPi. Nie potrzeba tu dodatkowo DDS-a, a w połączeniu z obsługą odbiornika SDR (jest program + mamy gotowe VFO) i ewentualnym programowym przełączaniem filtrów via GPIO dałoby to TRX-a. Póki co widzę jednak tylko rozwiązania dla WSPR, które swoją drogą działa mi tak, że 1mW daje nawet 1000 km, 50mW Stany, a pół wata VK/ZL...
Odpowiedz
#12
Cześć Leszek,

nadawanie jest niezależne od aplikacji - komunikat jest podawany przez port szeregowy - ale myślę, że skoro WSJTX jest open-source i w Pythonie, to powinno dać się to połączyć - może w wolnej chwili spróbuję.

Co do RPi, to sądzę że najłatwiej byłoby zmodyfikować WsprryPi - WSPR, JT9 i JT65 to prawie to samo od strony technicznej, różni się czas trwania symbolu, odstęp w częstotliwości i ilość nadawanych symboli.
Odpowiedz
#13
(23-05-2016, 19:15)SQ3SWF napisał(a): Rozpisałem sobie nadawanie JT65, JT9 i WSPR z AD9850 i Arduino. Sprawa jest dość prosta (wręcz banalna), myślę że BS170 na wyjściu + dobry low pass powinny zaobfitować w QSO.

Jak ktoś jest chętny, to oczywiście kodzik mogę udostępnić.

Jeśli możesz pokazać jakieś kawałki kodu z komentarzem to ja chętnie rzucę okiem.

...przede wszystkim nie zakłócać...
Odpowiedz
#14
Uzywanie tutaj RB PI to lekki przerost formy nad trescia... tutaj transceiver mozna zrealizowac na ciut szybszym procku niz leciwy AVR... a moze i optymalnie to piszac w ASM + lekkie przetaktowanie i moze AVR by dal rade...
Tomek - SP6VGX (SWL: SP-0316-JG)
QTH: Warszawa, LOKATOR: KO02NG
http://www.sp6vgx.pl/
Odpowiedz
#15
Tomek - tu raczej chodzi o to, że RPi może generować sygnał, samo bez żadnych dodatkowych układów, a co ważniejsze - wsjt(x) działa na nim bez problemu. O ile nadawanie JT jest względnie proste, to odbiór opiera się na fortranowej matematycznej magii pana Taylora i nie widziałem żeby ktoś napisał własną aplikację do odbioru (no dobra, ja napisałem, ale radziła sobie tylko z pojedynczym sygnałem bez szumow Wink ).

Rysiek - pędzę właśnie z długiego weekendu w tatrach do SP3, jeśli czas pozwoli to jutro delikatnie okomentuję kod wrzucę do repozytorium na github. :-)
Odpowiedz
#16
Bo to tylko kwestia szybkosci GPIO... Ale tak na prawde nie do konca bo przykladowo w niektorych wypadkach takie ARM-y maja GPIO wolniejsze od AVR-a (np. dlaczego STM32 wolniej miga LED-em niz AVR)...

W obecnych czasach wlasnie problemem jest to ze wybieramy albo stary procek (AVR), ja je uzywalem gdzies jako zamiennik 8051 chyba od 99r Wink Wszystko to jest powodowane tym aby orpogramowanie tego bylo jak skladanie klockow lego (latwe i nie wymagajace myslenia), przez to rosna wymagania ze nagle do byle ***
Tomek - SP6VGX (SWL: SP-0316-JG)
QTH: Warszawa, LOKATOR: KO02NG
http://www.sp6vgx.pl/
Odpowiedz
#17
http://pastebin.com/gY08uck1

Tutaj kod, zachęcam do testowania.

Bardzo skrócona instrukcja użycia:
1. Do kompilacji potrzebna jest biblioteka JTEncode - instalujemy przez wbudowanego w środowisko Arduino "Library Managera" - początkowo sam przpeisałem proces kodowania wiadomości na język C, ale ta implementacja jest zdecydowanie lepsza.

2. Po zaprogramowaniu podajemy na port szeregowy kolejno 3 wartości:
tryb nadawania: 1 - JT65, 2 - JT9
treść wiadomości
częstotliwość - jako odstęp od "bazowej"

Muszą one być odseparowane od siebie znakiem nowej linii. Po wciśnięciu ostatniego entera rozpocznie się nadawanie, po nadaniu całości DDS wróci na częstotliwość "bazową" (dla 20m: 14076kHz).

Przykładowa komenda sterująca:
1\nSQ3SWF CQ\n1200\n - nada emisją JT65 wiadomość o treści "SQ3SWF CQ" na częstotliwości 14077,2 (14076 + 1,2).

Zachęcam do testów Smile

Napisałem też małą aplikację w pythonie do wygodniejszego nadawania, działa pod linuxem, pod windowsem bez przeróbek nie ma szansy - kod (okropny - pisane na bardzo szybko) tutaj: http://pastebin.com/656Z5KdM - po kliknięciu guzika "enable tx" program czeka do pełnej minuty i dopiero wtedy wysyła ciąg sterujący.

Tak to wygląda u mnie: http://i.imgur.com/3OPVgmv.png
Odpowiedz
#18
Przepraszam ja byłem z pieskiem czy bez pieska? Może mi coś umknęło ale NWT-7 jest na PICu a nie na AVR'e? Przynajmniej te wersje które znam Smile
Odpowiedz
#19
Karol - niestety temat skręcił trochę na boczne tory Wink Nadawanie z NWT przeszło płynnie w nadawanie z DDSa, jak DDS to ad9850, a jak sterować, to po taniości - arduino. No to wrzuciłem kod arduinowy Wink

Odpowiedz
#20
A ja sadze ze najtaniej to posiedziec troche i napisac kod dla PIC-a.
Fakt PIC16 ma swoje ulomnosci i tak srednio pisze sie w C, ale sie da Smile Trzeba sie przyzwyczaic do obslugi przerwan w jednej funkcji i sprawdzanai flag co je wywolalo itp.

Wysterowac ad9850 to tez nie problem, z reszta podobnie. Wiekszosc kodu w C nie zwiazanego z peryferiami mozna spokojnie przeniesc z kazdego procesora. Sciagajac MPLAB X i kompilator xc8 ma sie 60 dni na kompilacje z opcja optymalizacji PRO...

Jak ktos radzi sobie z AVR-rem to troche klnac na mniejsza elastycznosc poradzi sobie z tym w jeden dzien...

Wada taka ze trzeba przeprogramowywac NWT w zaleznosci od potrzeb Smile - no ale oszczednosc na calym hardware (cos za cos).

Ja nawet jak bym znalazl czas to moge taki kod przygotowac jedynie dla NA200...
...jak bedzie zainteresowanie na ten model NWT to prosze napisac...




Tomek - SP6VGX (SWL: SP-0316-JG)
QTH: Warszawa, LOKATOR: KO02NG
http://www.sp6vgx.pl/
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości