2026-01-31

Prosty generator na SI5351A z ESP32 C3SM i SH1106

        Znalazłem na githubie: https://github.com/2SC1815/si5351a_signal_generator z enkoderem i wyświetlaczem 2x16znaków, zmodyfikowałem troszkę program dostosowując do pracy z modułem wyświetlacza z enkoderem i przyciskami kupionym na aliexpresie, powstał prosty, bardzo dobrze pracyjący generatotek, udało mi się przetestować go do pracy aż do 225 MHz !

- Indywidualnie regulowana częstotliwość na 3 wyjściach, na wyjściu 0 i 1 ta sama częstotliwość                  regulowana faza sygnału na wyjściu 1 w granicach-120 do 120 stopni

- do wyboru krok przestrajania: 1Hz, 10Hz, 100Hz, 10kHz, 1MHz i 10MHz

- możliwość włączania/wyłączania sygnału na wybranym wyjściu 


 

Na początek zmontowałem na płytce prototypowej


schemat podłączeń


 no i parę wygenerowanych sygnałów





 Projekt płytki


 płytka drukowana dopiero będzie zamawiana ....

 




 Zmontowałem jeden generator SI5351 z zewnętrznym sygnałem zegara odniesienia na wejście XA poprzez kondensator 100nF, wymagany poziom 1mW/0dBm

zdjęcia poniżej




 układ poprawnie pracuje z częstotliwością referencyjną 10MHz

#define SI5351_XTAL_FREQ                10000000    //25000000

 poniżej sygnał 144,5MHz przy FRef=10MHz

 

zmieniłem wyświetlanie ustawień na wyświetlaczu


 


Powstała nowa wersja programu - do dałem opcję zmiany fazy: 
jeżeli częstotliwości na kanałach 0 i 1 ustawię na jednakowe - to wtedy umożliwia się opcja zmiany fazy - wtedy można zmieniać częstotliwość w kanale 0, kanał 1 przyjmuje tę samą częstotliwość, w chwili gdy ustawię fazę na 0 - to znów umożliwia zmianę wszystkich częstotliwości. 
 
 
 
Zmiana fazy odbywa się z krokiem 1,8 stopnia, akurat taki krok wynika z faktu że liczbie 
50 - wpisywanej do rejestrów SI5351 - odpowiada zmiana fazy o 90 stopni.
 
poniżej przebieg 10MHz - faza 90 stopni

 
poniżej przebieg 30MHz - faza 90 stopni 

poniżej przebieg 70MHz - faza 90 stopni

poniżej przebieg 100MHz - faza 90 stopni 

sygnał z przesunięciem  145 stopni niestety jest bardzo brzydki 
 
 
Elementy sterujące:

Enkoder obrotowy – zmiana wartości
Przycisk CHANNEL
Przycisk STEP

Wyświetlacz OLED 128×64

1. Uruchomienie urządzenia
Po włączeniu zasilania:
urządzenie wczytuje ostatnie zapisane ustawienia,
uruchamia wyjścia CLK0 / CLK1 / CLK2 zgodnie z pamięcią,
wyświetla ekran główny z częstotliwościami.

2. Zmiana aktywnego kanału
Naciśnij CHANNEL
Aktywny kanał zmienia się kolejno:
CH0 → CH1 → CH2 → CH0 → …
Wybrany kanał jest wyróżniony na ekranie
Enkoder zawsze działa na aktualnie wybrany kanał

3. Zmiana częstotliwości
Wybierz kanał przyciskiem CHANNEL
Obróć enkoder:
w prawo → zwiększ częstotliwość
w lewo → zmniejsz częstotliwość
Zmiana następuje natychmiast na wyjściu Si5351

4. Zmiana kroku strojenia
Naciśnij STEP
Krok zmienia się cyklicznie, np.:
1 MHz → 100 kHz → 10 kHz → 1 kHz → 100 Hz → 10 Hz → 1 Hz → 0.1 Hz → min
Aktualny krok jest wyświetlany na ekranie

5. Regulacja przesunięcia fazy (CH0 ↔ CH1)
Warunek:
CH0 i CH1 muszą mieć identyczną częstotliwość
Jeśli warunek jest spełniony:
pojawia się możliwość regulacji fazy
zakres: –90° … +90°
Jeśli warunek nie jest spełniony:
na ekranie wyświetlane jest --
regulacja fazy jest zablokowana

6. Tryb kalibracji generatora (CAL)
Wejście do trybu CAL
Wyłącz zasilanie
Przytrzymaj CHANNEL
Włącz zasilanie
Pojawi się ekran CAL
Działanie
Enkoder zmienia korektę częstotliwości w Hz
Kalibracja odnosi się do 100 MHz
Korekta działa globalnie na wszystkie kanały
Wyjście
Po zatwierdzeniu:
korekta jest zapisana do pamięci
urządzenie wraca do normalnej pracy

7. Reset pamięci EEPROM (ustawienia fabryczne)
Wyłącz zasilanie
Przytrzymaj STEP
Włącz zasilanie
Następuje:
skasowanie EEPROM
zapis wartości domyślnych
komunikat na ekranie

8. Zapamiętywanie ustawień
Zmiany są zapisywane automatycznie
Zapis następuje:
po krótkim czasie od ostatniej zmiany
tylko jeśli dane faktycznie się zmieniły
Nie trzeba nic zatwierdzać ręcznie






 

 

 

 

 




 

 

 

 

 

 

 

 

 

 

2 komentarze: