Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Si5351 VFO/BFO
#1
Pokrećem novu temu u vezi Si5351 oslicatora i njegova kontrola preko STM32F103 Blue Pill.

Za početak imam jedno pitanje ili savet kako da rešim "korisnički interface" koji se tiče enkodera (optičkog ili mehaničkog) i njegova funkcija za podešavanje željene frekvencije.

Naime, tu iskače jedan glup problem koji se tiče dinamike/opsega podesavanja jer se generalno trazi OGROMNA dinamika, potrebno je podesiti nešto u "jedan desotomilioniti deo" tj 1Hz na 10MHz. 

Kako to funkcionalno odraditi preko enkodera?

1) Pomeranje kurzora za decimalu pa enkoder radi +/- cifre? 100_0000Hz

2) Enkoder sa jos par tastera koji odredjuju korak, 1Hz, 10Hz, 100Hz, 1KHz, 10kHz, 100kHz, 1MHz

3) Enkoder sa fiksnim korakom

4) Enkoder sa progresivnom dinamikom zavisno od brzine okretanja (zavrti se brzo optički enkoder)

5) Nešto drugo

----

Samo zamislite kolika je "komplikacija/smor" podesiti na primer frekvenciju 3765010Hz i da mi tu bude enkoder sa +/-10Hz korakom?

Smislio sam nešto drugo i voleo bih da čujem vaše mišljenje.

Kompromisno rešenje je odprilike bazirano na 2) tački, imamo enkoder ali umesto selekcije koraka preko tastera tu se postavi običan potenciometar koji je ustvari GAIN za enkoder, kada je pot na minimumu onda enkoder radi sa najsitnijim korakom od 1Hz, kada je taj pot na maksimumu onda je jedan korak enkodera recimo 1MHz, sve ostale vrednosti izmedju tog min-max se interpoliraju i to odreduje pomak u Hz po jednom enkoder koraku.
Naravno moguće je diskretizovati te vrednosti sa potenciometra tako da imamo samo recimo 7 stanja (1Hz, 10Hz ... 1MHz) i da nam uvek bute tačno taj korak. Bolje jedan potenciometar za 7 stanja nego neki preklopnici/prekidači.

Dakle jedan optički enkoder i jedan potenciometar kao glavni elementi za podesavanje izlazne frekvencije (biće tu još nekih In/Out ali nisu vezani za ovu priču). 

Šta mislite o tom rešenju?
Reply
#2
inače shema uredjaja je bazirana na forumskom Relejnom Atenuatoru, odprilike tu sve imamo što treba (enkoder, ekran, I/O) samo tu dodajemo modul Si5351 i umesto relejnih izlaza upotrebicemo to za nesto drugo vezano za sam VFO/BFO.

https://forum.yu3ma.net/thread-2589-post...#pid116047
Reply
#3
Uf, znao sam da ce biti se... .
Nego dali bi mogao step motor umesto enkodera.
Reply
#4
Nabavićemo optički enkoder, ne brini za to, ta sprava jednostavno treba to da ima i to je kluč cele priče.
Reply
#5
Kada se reši lepo ta funkcionalnost oko enkodera, sve ostalo je manji problem, imam dosta delova logike programa rešeno u FW za attenuator, iskoristićemo to fino za sve potrebne stvari, jedno od podešavanja će biti korekcija odstupanja oscilatora, fino da se "natrimuje" na tačnu frekvenciju i ako se upotrebi na primer 1ppm TCXO ili jednostavno onaj Si5351 modul gurnemo u "oven" i stabilišemo temperaturu, to je nivo kvaliteta i perfomansi jedne ozbiljne Icom/Yeasu/Kenwood radio stanice.
Reply
#6
A da umesto enkodera ide 3x4 tastatura?
Reply
#7
Za VFO mora da ima optički enkoder, ne može bez toga da se provučemo, ostalo može i nemora ali enkoder mora da ima jer onda nebi bio VFO.
Reply
#8


Mada gledam ovde ima sve već rešeno!
Reply
#9
(03-26-2022, 03:29 PM)mikikg Wrote: Mada gledam ovde ima sve već rešeno!

Miki, duze vreme koristim Wavetek model 288, generator funkcija koji ima opseg od 2mHz do 20MHz.
Ima numericku tastaturu, enkoder i dva tastera koja podesavaju kursor levo-desno.
Kad podesis kursor na zadatu poziciju, enkoderom povecavas i smanjujes frekvenciju (jedinice, desetice, stotone....)
Veoma je "user friendly" i ne znam da li moze bolje sa ovom kombinacijom.
Naravno, tu je i numericka tastatura za direktno ukucavanje zeljene frekvencije (amplitude, dc offseta).


Attached Files Thumbnail(s)

Novac je sredstvo a ne cilj.
Reply
#10
I rešenje sa optičkim enkoderom + potenciometrom moze da se fino barata i sa mHz, dodaću umesto 7 stanja na pot (7 dekada) dodaću još 3 dekade, kao opciju pa neka bira kako ko voli.

---

Samo mali podsetnik oko Si5351 kako on radi,

1) Od XO ulaza (27MHz) se interno diže clock na nekih 800MHz
2) Postoji PLL (3x za 3 kanala) koji deli tu frekvenciju, deli sa odnosom A/B, gde su A i B parametri celobrojne vrednosti
3) Ima dodatne delitelje i množače posle toga, opet celobrojne vrednosti

Glavni trik je oko 2. tačke, tu postoji mnogo kombinacija da se dobiju tačno željene ili "vrlo bliske" frekvencije.
Caka je u kombinacijama, recimo da treba da podelimo onih 800MHz sa 8, dakle može parametar A i B da budu 8/1, 2400/300, 8000/1000 i tako bezbroj kombinacija za isti rezultat.
Stvar se drastično komplikuje kada treba neceobrojna vrednost deljenja, treba mi lupam odnos deljenja 10,041002 i automatski proizilazi pitanje koja to dva broja za A i B daju tačno taj rezultat?? Smile
To je malo zaludna matematika, ne može prosto da se izračuna, postojaće greška kod računa ako "nasumice" izaberemo A ili B a drugi računamo matemetički, docicemo u situaciju da taj drugi opet mora da bude decimalni broj a ne može da bude, mora celobrojna vrednost da se upiše u PLL ...
I tako se dolazi do algoritma za racionalnu aproksimaciju koji radi taj račun u 100+ iteracija da bi našao rezultat za A i B koji daje najmanju grešku za željenu izlaznu frekvenciju. Što više iteracija to se dobije tačniji rezultat.
Reply
#11
@Gosha 
Jedna fotka iz 2011. godine, tu se vidi Si570 "tata" oscilator, on je i dan danas bolji od Si5351 po faznom šumu ali je 20-50x skuplji i ima ih u modelima za UHF ... : )

Pločica je moj prvi SDR prijemnik ...

Takodje, prednja maska koja se skida od Icom 706 MKII, stanica iz 1997. godine, točkić je naravno optički, "custom" optički enkoder sa film-disk na osovini.
Ostale stanice iz tog perioda su imale ogromne Alps optičke enkodere, to nije moglo da prodje bez takvih stvari na tom mestu ...

[Image: attachment.php?aid=37322]


Attached Files Thumbnail(s)

Reply
#12
Icom sad pravi SDR stanice "boli glava" ali baj jednu stvar garantujem da je glavni točkić i dalje optički enkoder ili su ga zamenili sa megnetnim enkoderom pošto je jeftiniji ... Wink

[Image: attachment.php?aid=37324]
@Progster Ima i sa dodatnom numeričkom tastaturom, to stavljaju na top modele, enkoder standardno ...

[Image: attachment.php?aid=37325]


Attached Files Thumbnail(s)

Reply
#13
(03-26-2022, 12:01 PM)mikikg Wrote: Pokrećem novu temu u vezi Si5351 oslicatora i njegova kontrola preko STM32F103 Blue Pill.

Za početak imam jedno pitanje ili savet kako da rešim "korisnički interface" koji se tiče enkodera (optičkog ili mehaničkog) i njegova funkcija za podešavanje željene frekvencije.

Naime, tu iskače jedan glup problem koji se tiče dinamike/opsega podesavanja jer se generalno trazi OGROMNA dinamika, potrebno je podesiti nešto u "jedan desotomilioniti deo" tj 1Hz na 10MHz. 

Kako to funkcionalno odraditi preko enkodera?

1) Pomeranje kurzora za decimalu pa enkoder radi +/- cifre? 100_0000Hz

2) Enkoder sa jos par tastera koji odredjuju korak, 1Hz, 10Hz, 100Hz, 1KHz, 10kHz, 100kHz, 1MHz

3) Enkoder sa fiksnim korakom

4) Enkoder sa progresivnom dinamikom zavisno od brzine okretanja (zavrti se brzo optički enkoder)

5) Nešto drugo

----

Samo zamislite kolika je "komplikacija/smor" podesiti na primer frekvenciju 3765010Hz i da mi tu bude enkoder sa +/-10Hz korakom?

Smislio sam nešto drugo i voleo bih da čujem vaše mišljenje.

Kompromisno rešenje je odprilike bazirano na 2) tački, imamo enkoder ali umesto selekcije koraka preko tastera tu se postavi običan potenciometar koji je ustvari GAIN za enkoder, kada je pot na minimumu onda enkoder radi sa najsitnijim korakom od 1Hz, kada je taj pot na maksimumu onda je jedan korak enkodera recimo 1MHz, sve ostale vrednosti izmedju tog min-max se interpoliraju i to odreduje pomak u Hz po jednom enkoder koraku.
Naravno moguće je diskretizovati te vrednosti sa potenciometra tako da imamo samo recimo 7 stanja (1Hz, 10Hz ... 1MHz) i da nam uvek bute tačno taj korak. Bolje jedan potenciometar za 7 stanja nego neki preklopnici/prekidači.

Dakle jedan optički enkoder i jedan potenciometar kao glavni elementi za podesavanje izlazne frekvencije (biće tu još nekih In/Out ali nisu vezani za ovu priču). 

Šta mislite o tom rešenju?
Ne znam koliko je komplkovano da se izvede u softveru ovo (valjda nije Smile)
4) Enkoder sa progresivnom dinamikom zavisno od brzine okretanja (zavrti se brzo optički enkoder)

Primer:
brzo motanje npr. pola kruga u desno = kursor u desno
                          pola kruga u levo = kursor u levo 


sporo motanje = promena cifre
Reko sam ti sve. a pomenuo te ne. ipak sada znaju svi. da si to ti
Reply
#14
Videh temu...

Ideja je dobra @dlalkovic , takođe bez ikakvog problema izvodljiva.
Trebalo bi napraviti detekciju naglog pokreta na bilo koju stranu, ali pokreta koji liči na trzaj sa obaveznim naglim zaustavljanjem. Tako se može razlučiti između želje za pomeranjem decimalnog mesta i želje za masivnim motanjem cifara, jer kad želimo da mnogo motamo, onda zaletimo enkoder i ne kočimo ga odmah naglo.

Čovek se lako navikne na taj sistem.

Druga ideja je samo jedan dodatni taster koji menja ulogu enkodera iz up/dwn u pomeranje kursora.
Naravno, kod promene decimalnog mesta treba grublja rezolucija, da ne bude previše osetljivo.
Eksperimentalno se namesti dobra udobnost korišćenja.
Reply
#15
Razmisliću još oko toga.
Može da bude problem sa tim brzim okretanjem, može da se desi da to bude "normalan" pokret, na primer hteo sam "brzo" da skočim za 100-ak kHz niže (sa SSB na CW opseg) ...
Trebaće još par tastera ...
Reply
#16
Ako ima taster onda možeš gore/dole da voziš po dve cifre. Pritiskom na taster podesio si tekuće dve i skačeš na podešavanje za sledeće dve. Malo bi ubrzalo stvar a od 00 do 99 ili obrnuto, stižeš relativno brzo.
Reply
#17
Nekako povezao Display na Arduino Uno + Si5351 + Encoder ..

To je ovaj projekat:
http://www.ur5ffr.com/viewtopic.php?t=174
https://github.com/andrey-belokon/Syntez_Si5351_Si570

Nemam ostale komande jer su preko I2C expandera PCF8574 (imam na zelenoj plocici) koji treba da povezem ...

[Image: attachment.php?aid=37422]


Attached Files Thumbnail(s)

Reply
#18
Prepakovao žice i konektore, zakačio optički enkoder, sa njim odlično radi, ima "brzo premotovanje" kada se posle 2 sekunde i dalje brzo vrti, plus ima Fn taster kombinacija za x10.
Lepo radi, sve je skockano u Firmware, ima dodatnih ulaza/izlaza za kontrolu stanice (RX/TX), band selector, ulaz za RIT potenciometar, ulaz za S-Metar i još neki.
Ima podešavanje IF (medju) frekvencije, posebno za svaki mod, CW, AM, LSB, USB, kalibracija oscilatora itd.
Poseduje CAT interface za Kenwood/Yeasu preko seriske veze.
Malo sam prepakovao I/O konfiguraciju da se poklopi sa Arduino Uno, kompatibilno sa Arduino Duemilanove, tj može da se prepakuje sve na Atmel DIP-28 kontroler kada se skocka pristojna PCB.

[Image: attachment.php?aid=37432]

Fali mi RTC (Real Time Clock) sa baterijom preko I2C, ima podrška i za to, ispiše vreme/datum u gornjem desnom uglu ekrana.
Za Band-selector (za RX/TX filter releje) + još neke funkcije treba još jedan PCF8574 expander (sa drugom setovanom HW adresom).
Tehnički ova pločica bi mogla da završi posao za oba expandera, i za tastaturu i za ostale dodatne I/O. 
Ima i varianta od LCD-a, isti IC, i ta moze da se upotrebi.
Ako neko negde poručuje neka me predvidi za koji komad, ostao sam bez expandera Smile

[Image: attachment.php?aid=37434]
[Image: attachment.php?aid=37435]


Attached Files Thumbnail(s)

Reply
#19
Evo i neka prva merenja, inicialno ne-kalibrisano je imao popriličnu grešku oko +55ppm, posle kalibracije je to svedeno na oko +0.23ppm na temperaturi oko 20*C.
Ovde se vidi podešena prijemna freq=2.0MHz gde nam je podešena IFreq=11.07MHz tako da se na izlazu treba dobiti 13.070000MHz, konačan rezultat je sa +3Hz greškom što nije ni malo loše!

[Image: attachment.php?aid=37436]

[Image: attachment.php?aid=37437]

[Image: attachment.php?aid=37438]


Attached Files Thumbnail(s)

Reply
#20
Popravio sam bug sa ekranom i offset, sada je sve na svom mestu sa prikazom.

Radi RIT potenciometar +/-1200Hz i radi ulaz za S-metar koji se klabriše iz menija (0-5V Analog Input).

Takodje rade linije:
In Tx = PTT kontrola
In Tune = PTT + daje NF tone na Tone out
Out QRP = Biranje QRP (Low Power) moda
Out TX = Glanva PTT kontrola za predajnik da predje u TX

@ELFI Podesio sam IF-frekvencija da bude 75MHz i jos dva dodatna izlaza, dakle ovako za tvoj RX/TX:
CLK0 = 75MHz + Tune freq
CLK1 = 75MHz Fiksno
CLK2 = 80MHz Fiksno

[Image: attachment.php?aid=37445]


Attached Files Thumbnail(s)

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)