Witam kolegów.
Na początku chcę uprzedzić, że projekt który udostępniam chcę nazwać eksperymentalnym. A mianowicie z tego powodu, że generuje on przebieg zegarowy prostokątny, oraz żeby nie zakłócał innych częstotliwości, należy mu się pożądny filtr dolnoprzepustowy. Przedstawiam więc plik wsadowy hex do Arduino nano, który przy udziale modułu Si5350 stanowi niezbyt skomplikowaną syntezę do CB radia. Dostępne są dwa zasadnicze tryby: 1. Tryb kanałów o standardowej siatce częstotliwości i podstawowych funkcjach typowo dla trybu kanałów 2. Tryb VFO o minimalnym kroku 10 Hz z analogowo-cyfrowym i zaawansowanym programowo potencjometrem RIT. To już moje drugie VFO, które udostępniam tutaj z takiego względu, że bardzo trudno w internecie o coś podobnego. Wszyscy, albo kładą ograniczenia software-owe na swoje wsady, albo każą sobie bulić $$$ za nie. Ja udostępniam za darmo i liczę na podpowiedzi co jeszcze można by dodać lub poprawić, ponieważ projekt jest rozwojowy i docelowo będzie tu się znajdować moduł DDS AD9850. Ale jak już mówiłem, jak ktoś chce poeksperymentować, to biorę na klatę całą Waszą krytykę.
Główne cechy/zalety syntezy, które chciałem osiągnąć:
- przede wszystkim wygląd imitujący standardowy wyświetlacz 7-segmentowy LED, który pochłonął ogrom zasobów procesora, ale za to jest taki jak chciałem mieć
- prostota konstrukcji i jak najniższe koszty za komplet części, tj.: Arduino nano + wyświetlacz SSD1306 + moduł Si5351 + encoder obrotowy (+ reszta elementów to części składowe CB-radia)
- w związku z powyższym SSD1306 o przekątnej 0,96" fizycznie zastępuje wyświetlacz LED w radiu
- standardowe funkcje syntezy typowo dla obu trybów (VFO i CH) stuprocentowo odworowują typowe CB radio/typowy TRX
- jak najmniejsza liczba elementów składowaych przy jak największej funkcjonalności
- automatyczny shift -100 Hz podczas gdy program wykryje częstotliwość przemienników amatorskich
- zaawansowany RIT z filtrem wykładniczo-kroczącym (EMA), który usuwa szumy potencjometru oraz histerezą +/- 90 Hz dla zapewnienia "zatrzasku w zero Hz"
- możliwość poszerzenia zakresu częstotliwości CB radii takich jak Alan 87, Jackson, itp.
- programowa kalibracja częstotliwości kwarcu mudułu Si5351 z krokiem około 50 Hz
- możliwość adaptacji do różnych częstotliwości p.cz. - zarówno na plus jak i na minus
- możliwość adaptacji do różnych częstotliwości Tx - takich jak powielanie x2
- pamięć podstawowych funkcji takich jak kanał, częstotliwość, krok strojenia po wyłączeniu zasilania
- jest możliwość strojenia podczas wciśniętego PTT
- wyjścia modułu Si: CLK0 -> Rx, CLK1 -> Tx
Schemat.
(celowo pomijam tu podłączenie modułu Si, który po prostu współdzieli piny A4, A5 z wyświetlaczem)
Opis ikon na ekranie w formie obrazkowej.
Tryb kanałów.
Istotne tutaj, że RIT w tym trybie nie działa (celowo wyłączony), dostępny jest raster zarówno "zerowy" jak i "piątkowy", zaś wskaźnik +10 k (w odróżnieniu od trybu VFO) pokazuje aktualny (rzeczywisty) stan wyłącznika +10 kHz.
Tryb VFO.
Istotne tutaj, że potencjometr RIT działa tylko w tym trybie, przemienniki są ustawiane automatycznie, zaś +10 kHz (w odróżnieniu do trybu VFO) to tylko wkaźnik kanału o siatce standaryzowanej dla tzw. "zer kanałowych".
Ustawienia.
1. Kalibracja.
W związku z moimi wcześniejszymi testami dwóch różnych modułów > Link < ustawiłem wartość Xtal domyślnie na najbliższą przewidywanej w rzeczywistości, tj. 100000.
2. Wartość częstotliwości pośredniej.
Dostępne następujące p.cz.:
-10.695 MHz
+10.695 MHz
-7.800 MHz
+7.800 MHz
-0.450 MHz
+0.450 MHz
-0.455 MHz
+0.455 MHz
-0.465 MHz
+0.465 MHz
3. Częstotliwość Tx.
Jest to częstotliwość podstawowego oscylatora VCO:
Tx=f to częstotliwość równa częstotliwość podstawowej (jak np. w Unidenie 520)
Tx=f/2 to częstotliwość podstawowa podzielona przez dwa dla podwajacza (jak np. w Alanie 100 plus)
Tx=f-p.cz. to częstotliwość równa podstawowej minus p.cz. (opcja dla radii z SSB)
I chyba najfajniejsze w tym wszystkim czyli "potrójna funkcja przycisku":
1. Pojedynczy klik -> krok strojenia w trybie VFO oraz 0/+5 kHz w trybie kanałowym.
2. Podwójny klik -> przejście pomiędzy CH->VFO i na odwrót.
3. Przytrzymanie przycisku powyżej 1,5 sekundy -> ustawienia.
Funkcja przycisku w ustawieniach:
1. Pojedynczy klik -> numer pozycji.
2. Przytrzymanie -> wejście, wyjście i zapis.
Reszta elementów takich jak: PTT, wyłącznik RIT, wyłącznik +10k, potencjometr RIT to części składowe radia.
W załączeniu:
- wsad hex do procesora Atmega328 (który z uwagi na rozmiar należy wgrać programatorem)
- plik symulacyjny programu SimulIDE do przetestowania syntezy wirtualnie na komputerze
Program SimulIDE można pobrać ze strony:
https://simulide.com/p/downloads/
Zapraszam do testów.
Na początku chcę uprzedzić, że projekt który udostępniam chcę nazwać eksperymentalnym. A mianowicie z tego powodu, że generuje on przebieg zegarowy prostokątny, oraz żeby nie zakłócał innych częstotliwości, należy mu się pożądny filtr dolnoprzepustowy. Przedstawiam więc plik wsadowy hex do Arduino nano, który przy udziale modułu Si5350 stanowi niezbyt skomplikowaną syntezę do CB radia. Dostępne są dwa zasadnicze tryby: 1. Tryb kanałów o standardowej siatce częstotliwości i podstawowych funkcjach typowo dla trybu kanałów 2. Tryb VFO o minimalnym kroku 10 Hz z analogowo-cyfrowym i zaawansowanym programowo potencjometrem RIT. To już moje drugie VFO, które udostępniam tutaj z takiego względu, że bardzo trudno w internecie o coś podobnego. Wszyscy, albo kładą ograniczenia software-owe na swoje wsady, albo każą sobie bulić $$$ za nie. Ja udostępniam za darmo i liczę na podpowiedzi co jeszcze można by dodać lub poprawić, ponieważ projekt jest rozwojowy i docelowo będzie tu się znajdować moduł DDS AD9850. Ale jak już mówiłem, jak ktoś chce poeksperymentować, to biorę na klatę całą Waszą krytykę.
Główne cechy/zalety syntezy, które chciałem osiągnąć:
- przede wszystkim wygląd imitujący standardowy wyświetlacz 7-segmentowy LED, który pochłonął ogrom zasobów procesora, ale za to jest taki jak chciałem mieć
- prostota konstrukcji i jak najniższe koszty za komplet części, tj.: Arduino nano + wyświetlacz SSD1306 + moduł Si5351 + encoder obrotowy (+ reszta elementów to części składowe CB-radia)
- w związku z powyższym SSD1306 o przekątnej 0,96" fizycznie zastępuje wyświetlacz LED w radiu
- standardowe funkcje syntezy typowo dla obu trybów (VFO i CH) stuprocentowo odworowują typowe CB radio/typowy TRX
- jak najmniejsza liczba elementów składowaych przy jak największej funkcjonalności
- automatyczny shift -100 Hz podczas gdy program wykryje częstotliwość przemienników amatorskich
- zaawansowany RIT z filtrem wykładniczo-kroczącym (EMA), który usuwa szumy potencjometru oraz histerezą +/- 90 Hz dla zapewnienia "zatrzasku w zero Hz"
- możliwość poszerzenia zakresu częstotliwości CB radii takich jak Alan 87, Jackson, itp.
- programowa kalibracja częstotliwości kwarcu mudułu Si5351 z krokiem około 50 Hz
- możliwość adaptacji do różnych częstotliwości p.cz. - zarówno na plus jak i na minus
- możliwość adaptacji do różnych częstotliwości Tx - takich jak powielanie x2
- pamięć podstawowych funkcji takich jak kanał, częstotliwość, krok strojenia po wyłączeniu zasilania
- jest możliwość strojenia podczas wciśniętego PTT
- wyjścia modułu Si: CLK0 -> Rx, CLK1 -> Tx
Schemat.
(celowo pomijam tu podłączenie modułu Si, który po prostu współdzieli piny A4, A5 z wyświetlaczem)
Opis ikon na ekranie w formie obrazkowej.
Tryb kanałów.
Istotne tutaj, że RIT w tym trybie nie działa (celowo wyłączony), dostępny jest raster zarówno "zerowy" jak i "piątkowy", zaś wskaźnik +10 k (w odróżnieniu od trybu VFO) pokazuje aktualny (rzeczywisty) stan wyłącznika +10 kHz.
Tryb VFO.
Istotne tutaj, że potencjometr RIT działa tylko w tym trybie, przemienniki są ustawiane automatycznie, zaś +10 kHz (w odróżnieniu do trybu VFO) to tylko wkaźnik kanału o siatce standaryzowanej dla tzw. "zer kanałowych".
Ustawienia.
1. Kalibracja.
W związku z moimi wcześniejszymi testami dwóch różnych modułów > Link < ustawiłem wartość Xtal domyślnie na najbliższą przewidywanej w rzeczywistości, tj. 100000.
2. Wartość częstotliwości pośredniej.
Dostępne następujące p.cz.:
-10.695 MHz
+10.695 MHz
-7.800 MHz
+7.800 MHz
-0.450 MHz
+0.450 MHz
-0.455 MHz
+0.455 MHz
-0.465 MHz
+0.465 MHz
3. Częstotliwość Tx.
Jest to częstotliwość podstawowego oscylatora VCO:
Tx=f to częstotliwość równa częstotliwość podstawowej (jak np. w Unidenie 520)
Tx=f/2 to częstotliwość podstawowa podzielona przez dwa dla podwajacza (jak np. w Alanie 100 plus)
Tx=f-p.cz. to częstotliwość równa podstawowej minus p.cz. (opcja dla radii z SSB)
I chyba najfajniejsze w tym wszystkim czyli "potrójna funkcja przycisku":
1. Pojedynczy klik -> krok strojenia w trybie VFO oraz 0/+5 kHz w trybie kanałowym.
2. Podwójny klik -> przejście pomiędzy CH->VFO i na odwrót.
3. Przytrzymanie przycisku powyżej 1,5 sekundy -> ustawienia.
Funkcja przycisku w ustawieniach:
1. Pojedynczy klik -> numer pozycji.
2. Przytrzymanie -> wejście, wyjście i zapis.
Reszta elementów takich jak: PTT, wyłącznik RIT, wyłącznik +10k, potencjometr RIT to części składowe radia.
W załączeniu:
- wsad hex do procesora Atmega328 (który z uwagi na rozmiar należy wgrać programatorem)
- plik symulacyjny programu SimulIDE do przetestowania syntezy wirtualnie na komputerze
Program SimulIDE można pobrać ze strony:
https://simulide.com/p/downloads/
Zapraszam do testów.