Odpowiedz 
 
Ocena wątku:
  • 5 Głosów - 4.2 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Piligrim SMD z DW Radio
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #191
RE: Piligrim SMD z DW Radio
Witam,

Kolego, na początek zapoznaj się ze stroną 12 tego wątku.

73 Paweł
27-08-2017 0:06
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
M72M72 Offline
Nowicjusz
*

Liczba postów: 47
Dołączył: 12-12-2016
Post: #192
RE: Piligrim SMD z DW Radio
Wydaje się że mam nowszą już poprawioną wersję płytki bo kondensator jest plusem do masy
27-08-2017 0:29
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP5IOU Offline
Użytkownik
***

Liczba postów: 120
Dołączył: 02-05-2013
Post: #193
RE: Piligrim SMD z DW Radio
Z filmu wyglada na to że Pilgrim działa i się przestraja.
Sprawdź licznikiem częstotliwości, albo na innym radiu częstotliwość heterodyny.
Jeśli nie dysponujesz taką możliwością, to przestrajaj syntezę poza pasmami, może w pewnym momencie załapiesz któreś z pasm amatorskich.
Najlepiej byłoi by 40m.
Na moje oko to na wyjściu syntezy masz nie taką częstotliwość jaka powinna być do odbieranej częstotliwości.

Co do kondensatora, to odwrotnie wlutowany kondensator powoduje tylko że automatyka nie wraca do pełnej czułości po odebraniu silnego sygnału. reszta działa OK.

73's Marcin.
(Ten post był ostatnio modyfikowany: 27-08-2017 7:46 przez SP5IOU.)
27-08-2017 7:46
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SPO3O2OL Offline
_._. _ _._
****

Liczba postów: 330
Dołączył: 07-01-2017
Post: #194
RE: Piligrim SMD z DW Radio
(26-08-2017 23:43)M72M72 napisał(a):  Synteza własnej konstrukcji na SI5351 sprawdzona w bit-x40 i jest sprawna. Częstotliwość syntezy jest ustawiona na F*4.

Może w syntezie masz ustawienie pośredniej z bit-x40.
Nie wystarczy tylko ustawić F*x4.IF też trzeba zmienić.
Piszesz,że synteza własnej konstrukcji na SI5351.Czy sam pisałeś program?

Wojc!o
27-08-2017 12:58
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
M72M72 Offline
Nowicjusz
*

Liczba postów: 47
Dołączył: 12-12-2016
Post: #195
RE: Piligrim SMD z DW Radio
(27-08-2017 12:58)SPO3O2OL napisał(a):  Nie wystarczy tylko ustawić F*x4.IF też trzeba zmienić.
Piszesz,że synteza własnej konstrukcji na SI5351.Czy sam pisałeś program?

Kolego jakie IF masz na myśli ?
Program piszę sam w arduino.
Znalazłem błąd, miałem źle zdefiniowany typ zmiennej odpowiedzialnej za częstotliwość.
Kod:
void set_f(){
  si5351.set_freq(f*100*4, SI5351_CLK2);
  si5351.update_status();
}
zmienna "f" przyjmuje wartości do ok 28000000 po pomnożeniu przez 4 a następnie przez 100 bo tak wymaga układ SI5351 daje ogromne liczby które wykraczają poza pojemność typu zmiennej "long" bo tak miałem to zdefiniowane.
Po zmianie na "float" radio ruszyło.

Dziwi mnie tylko jedno, mając antenę na 40m nie powinienem odbierać czegoś na pozostałych pasmach, nawet słabo ?
Pytam bo w zasadzie mam ciszę oprócz 40m.
31-08-2017 3:02
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SPO3O2OL Offline
_._. _ _._
****

Liczba postów: 330
Dołączył: 07-01-2017
Post: #196
RE: Piligrim SMD z DW Radio
(31-08-2017 3:02)M72M72 napisał(a):  Kolego jakie IF masz na myśli ?
Program piszę sam w arduino.

IF w bit-x40 ma 12MHz,przynajmniej w gotowej płycie z Indii.
IF w homodynie? Przyjmijmy do obliczeń 0kHz.


bit-x40
pasmo 40m
IF-12MHz
mnożnik F-x0
DDS do obsługi pasma 40m w zależności od przemiany
działać ma od 4.8 do 5MHz lub od 19 do 19.2MHz

homodyna
pasmo 40m
IF-0kHz
mnożnik F-x4
DDS do obsługi pasma 40m działać ma od 28 do 28.8MHz

Zmienne "f" nic mi nie mówią ale mam nadzieję,że sobie poradzisz.
Synteza napisana pod bit-x40 nie może w/g mnie bez zmiany IF dobrze funkcjonować w homodynie nawet gdy F wyjściowa zostanie pomnożona x4.Konieczna jest zmiana IF w programie z 12MHz na kHz.
Podłącz miernik częstotliwości na wyjście syntezy i sprawdź jaką częstotliwość generuje na poszczególnych pasmach.

Wojc!o
(Ten post był ostatnio modyfikowany: 31-08-2017 11:06 przez SPO3O2OL.)
31-08-2017 11:03
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6LUN Offline
Andrzej
****

Liczba postów: 253
Dołączył: 01-09-2014
Post: #197
RE: Piligrim SMD z DW Radio
(31-08-2017 3:02)M72M72 napisał(a):  Znalazłem błąd, miałem źle zdefiniowany typ zmiennej odpowiedzialnej za częstotliwość.
Kod:
void set_f(){
  si5351.set_freq(f*100*4, SI5351_CLK2);
  si5351.update_status();
}
zmienna "f" przyjmuje wartości do ok 28000000 po pomnożeniu przez 4 a następnie przez 100 bo tak wymaga układ SI5351 daje ogromne liczby które wykraczają poza pojemność typu zmiennej "long" bo tak miałem to zdefiniowane.
Po zmianie na "float" radio ruszyło.

Dziwi mnie tylko jedno, mając antenę na 40m nie powinienem odbierać czegoś na pozostałych pasmach, nawet słabo ?
Pytam bo w zasadzie mam ciszę oprócz 40m.

Częstotliwość powinna być podana w formacie żądanym przez funkcję biblioteczną
si5351.set_freq i jest najprawdopodobniej hercach (bez mnożnika 100), typ zmiennej uint64_t.
Poniżej nagłówek funkcji

Kod:
/*
* set_freq(uint64_t freq, enum si5351_clock clk)
*
* Sets the clock frequency of the specified CLK output.
* Frequency range of 8 kHz to 150 MHz
*
* freq - Output frequency in Hz
* clk - Clock output
*   (use the si5351_clock enum)
*/
uint8_t Si5351::set_freq(uint64_t freq, enum si5351_clock clk)

Częstotliwość można sprawdzić bez oscyloskopu.
Wystarczy ustawić częstotliwość odbioru 2kHz i podłączyć słuchawkę.
Pozdrawiam

Andrzej
31-08-2017 11:57
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #198
RE: Piligrim SMD z DW Radio
Witam,

Kolego M72M72, aby uniknąć szukania problemów w Twoim egzemplarzu Piligrima doprowadź swój kod do prawidłowego działania.
Do tego bardzo przyda Ci się częstościomierz. Podpinasz go pod wyjście generatora i widzisz jak na dłoni, czy si5351 generuje prawidłową częstotliwość. Wnioskując po Twoich pytaniach nie masz najmniejszego pojęcia, czy częstotliwość na wyjściu si5351 odpowiada wyświetlanej wartości *4.

Jeżeli nie posiadasz jeszcze częstościomierza, to go zakup lub zrób w pierwszej kolejności, a następnie składaj syntezę i pisz dla niej program. Można również użyć innego prawidłowo działającego (t)rx-a do sprawdzenia generowanej częstotliwości.

Co do programu - przeglądnij w pierwszej kolejności bibliotekę obsługi si5351 której używasz lub chociaż plik nagłówkowy tej biblioteki. Będziesz wiedział jakich argumentów dana funkcja wymaga.

Piszesz, że zamieniłeś swoją zmienną f na float, kiedy funkcja ustawiania częstotliwości si5351 wymaga zmiennej uint64_t . Jesteś pewien, że po niejawnym rzutowaniu ( a takie ma tu miejsce ) z float na uint64_t funkcja dostała prawidłową wartość ? Swoją drogą poszukaj może jeszcze innej biblioteki do obsługi si5351, bo używanie uint64_t do przekazania częstotliwości nie świadczy zbyt dobrze o niej, tym bardziej, że używasz atmegi 328 - jeżeli dobrze zauważyłem na zdjęciach ( arduino nano ).

73 Paweł
(Ten post był ostatnio modyfikowany: 31-08-2017 13:29 przez SQ8MVY.)
31-08-2017 13:29
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
M72M72 Offline
Nowicjusz
*

Liczba postów: 47
Dołączył: 12-12-2016
Post: #199
RE: Piligrim SMD z DW Radio
Niby wszystko działa ale "prawie". Generalnie częstotliwość sygnału jest F*4 ale nie na wszystkich pasmach.
1
2
3
4
5
6
7
8
9
10
Zapewne przyczyną jest zły typ zmiennej odpowiedzialnej za częstotliwość. Ma być uint64_t a ja mam float. Muszę trochę pogrzebać w kodzie bo po zmianie na uint64_t wysypują mi się inne funkcje od wyświetlacza o których teraz nie ma co pisać.
Z tego co widzę to częstotliwość ma być mnożona przez 100
(Ten post był ostatnio modyfikowany: 31-08-2017 13:37 przez M72M72.)
31-08-2017 13:36
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #200
RE: Piligrim SMD z DW Radio
Wtam,

Cytat:Generalnie częstotliwość sygnału jest F*4 ale nie na wszystkich pasmach.

Na żadnym zamieszczonym obrazku częstościomierz nie pokazuje prawidłowej wartości.

Wyrzuć tego float-a koniecznie, zrób rzutowanie jawne, jeżeli musisz tej biblioteki używać oraz podziel się wynikami

Kod:
long f;    // jeżeli zmienna f nie będzie miała wartości ujemnych
             // to zamiast long użyj unsigned long ( uint32_t ),
            // szkoda marnować połowę zakresu zmiennej
...
...
si5351.set_freq( (uint64_t)f*400, SI5351_CLK2 );

Ale to nie temat o programowaniu.....

73 Paweł
(Ten post był ostatnio modyfikowany: 31-08-2017 16:55 przez SQ8MVY.)
31-08-2017 16:55
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


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