101 things
Pred nekaj leti sem s Pi Pico računalnikom izdelal osnovni, a zmogljiv radijski sprejemnik, in čeprav sem zanj prvotno zasnoval tiskano vezje po meri, tokrat gradim še preprostejšo in cenejšo različico, ki jo je mogoče izdelati na univerzalni ploščici z uporabo (večinoma) klasičnih komponent.
Želel sem ustvariti zelo minimalno (a uporabno) zasnovo, ki bi jo lahko uporabil kot platformo za eksperimente, izboljšave in nadgradnje.
Ta vsebina je samo za naročnike
Če vas zanima izvirna zasnova ali želite izvedeti več o tehničnih podrobnostih, lahko vse informacije najdete tukaj [1]. Večina tehničnih podrobnosti je enaka, zato se bom osredotočil na nove funkcije in izboljšave.
Hitre povezave
Kodo lahko najdete na strani GitHub [2], vključno s pred-prevedeno programsko opremo v formatu .uf2 [3].
Kaj lahko sprejema ta sprejemnik?
Sprejemnik pokriva frekvence do 30 MHz, vključno s komercialnimi postajami na dolgih, srednjih in kratkih valovih ter radioamaterskimi KV pasovi. Odlično pri tej zasnovi je, da je popolnoma samostojna – ne potrebuje računalnika ali zvočne kartice in lahko deluje več ur z uporabo samo treh AAA baterij.
Tehnične specifikacije so naslednje:
- Področje sprejema: 0 – 30 MHz
- Sprejem modulacij CW/SSB/AM/FM
- OLED displej
- enostaven prikaz spektra
- izhod za slušalke
- 500 pomnilnih mest
- deluje na 3 AAA baterije
- Porabi manj kot 50mA toka
Pregled zasnove
Srce tega sprejemnika je Tayloe detektor, ki je priljubljen zaradi svoje preprostosti in zmogljivosti. Detektor pretvori visokofrekvenčne radijske signale v nizkofrekvenčne IQ signale, ki jih lahko vzorči analogno-digitalni pretvornik (ADC) Pi Pico plošče. Ta zasnova omogoča obdelavo frekvenc do 30 MHz, čeprav ima ADC pasovno širino le 250 kHz.
Frekvence lokalnega oscilatorja, ki so potrebne za delovanje detektorja, generira neposredno Pi Pico z uporabo funkcije PIO. Ta oscilator poganja četvorno analogno stikalo, ki vzorči vhodni signal po štirih različnih poteh, od katerih vsaka zajema četrtino cikla lokalnega oscilatorja.
Signala I in Q, ki ju generirata op-ojačevalnika, vsebujeta vse informacije, potrebne za demodulacijo signalov. S signaloma I in Q lahko določimo amplitudo, fazo in frekvenco, vključno s tem, ali je frekvenca signala višja ali nižja od frekvence lokalnega oscilatorja.
Zvočni vmesnik v tej zasnovi uporablja preprosto PWM metodo. Čeprav je preprosta, deluje presenetljivo dobro. Nizkopasovni RC filter odstrani PWM valovanje, izhod pa je dovolj močan, da neposredno poganja slušalke ali celo majhen zvočnik, čeprav je za boljšo reprodukcijo priporočljiv zunanji ojačevalnik.
Izboljšave in prilagoditve
Od izdelave prvotne zasnove sem prejel veliko povratnih informacij in izvedel več ključnih izboljšav za izboljšanje zmogljivosti in uporabnosti.
Uporaba kondenzatorjev za preprečevanje nasičenja ojačevalnika
Ena od obravnavanih težav je bilo nasičenje ojačevalnikov pri višjih frekvencah. Eden ali oba operacijska ojačevalnika v Tayloe detektorju sta se prišla v stanje nasičenosti, kar je povzročilo slabo dušenje zrcalnih signalov. Za odpravo te rešitve sem izvedel kar nekaj sprememb, vendar je na koncu rešitev prišla iz truSDX [4] postaje. Dodatek teh dveh kondenzatorjev je rešil vse težave z nasičenostjo operacijskih ojačevalnikov na visokih frekvencah in dosegel sem veliko boljše delovanje.
Izboljšana ločljivost frekvence NCO-ja s sprotnim spreminjanjem frekvence sistemske ure.
Druga pomembna izboljšava je frekvenčna natančnost numerično krmiljenega oscilatorja (NCO). V prvotni zasnovi sem za ustvarjanje frekvence lokalnega oscilatorja, ki je blizu želeni frekvenci, uporabil frakcijske delilnike v periferni enoti PIO računalnika Pi Pico. Vendar sem s to metodo dosegel le približno 100 kHz od ciljne frekvence. Čeprav je to glede na 250 kHz pasovno širino ADC zadostovalo, sem lahko z majhnimi spremembami frekvence sistemske ure dosegel še boljšo ločljivost.
Ugnezdena programska oprema je prvotno delovala pri frekvenci 125 MHz, vendar je mogoče s prilagajanjem PLL frekvenco sistemskega takta spreminjati med 125 MHz in 133 MHz. 133 MHz je najvišja frekvenca brez overclockinga. V tem razponu je 23 možnih frekvenc sistemskega takta. Izbira najboljše kombinacije sistemskega takta in delilnika PIO omogoča ločljivost ~ +/-8 kHz želene frekvence.
Ta izboljšava omogoča tudi ožjo pasovno širino približno +/-12 kHz, zdaj lahko signale I in Q vzorčimo za faktor 10, kar močno izboljša dušenje zrcalnih signalov, kar je bila slabost prvotne zasnove.
Opomba: Čeprav ima lokalni oscilator na osnovi PIO ločljivost +/-8 kHz (prej ~+/-60 kHz). Sprejemnik dosega skupno frekvenčno ločljivost, ki je veliko boljša od 1 Hz. Programska oprema vgrajuje drugi NCO z zelo visoko ločljivostjo in mešalnik na sprednji strani sprejemnika, ki omogoča fino nastavitev.
Prehod na cenovno ugodnejši operacijski ojačevalnik
Z izboljšano frekvenčno natančnostjo in zmanjšano pasovno širino je zdaj mogoče preiti na cenovno ugodnejši operacijski ojačevalnik. Operacijski ojačevalnik LT6231 je zaradi izjemno nizke ravni šuma priljubljena izbira pri načrtovanju Tayloejevih detektorjev. Prvotna zasnova je zahtevala izdelek z večjo pasovno širino (GBP) 60 MHz, kar je v okviru 215 MHz omejitve LT6231. Vendar je LT6231 relativno drag, saj stane približno dvakrat toliko kot Pi Pico.
Zaradi izboljšane frekvenčne natančnosti in zmožnosti nadvzorčenja nova zasnova zdaj zahteva GBP manj kot 10 MHz. To mi je omogočilo prehod na op-amp MCP6022, ki ima GBP 10MHz, vendar stane manj kot polovico manj kot Pi Pico. Nima enakih zmogljivosti nizkega šuma kot LT6231, vendar je še vedno dovolj dober, da ne omejuje zmogljivosti sprejemnika. Ta sprememba ne le zmanjšuje celotne stroške projekta, temveč tudi izboljšuje splošno zmogljivost sprejemnika.
Antena in ohišje
Za to vrsto sprejemnika je idealna naključna žična antena na visokem mestu, po možnosti na prostem ali na podstrešju. Če želite notranjo anteno ali nekaj bolj prenosnega, sem imel precej dobre rezultate z uporabo you-loop antene, ki je pametno zasnovana in odpravi šum.
Edina slabost je, da je izhodna raven običajno precej nizka, zato potrebujete občutljiv sprejemnik ali kakšen predojačevalnik. Sam uporabljam poceni širokopasovni LNA, ki sem ga kupil na spletu. To nastavitev sem uporabil za vse poskuse v tej različici.
Ohišje
Za ohišje sem v programu FreeCAD zasnoval ohišje, natisnjeno v 3D-tehniki. Ker gre za eksperimentalni sprejemnik, bom pokrov pustil odstranjen!
Testiranje sprejemnika
Sprejemnik sem preizkusil z nastavljanjem različnih radiodifuznih postaj in raziskovanjem radioamaterskih frekvenčnih območij. Priključil sem ga tudi na zvočno kartico v računalniku, da sem lahko eksperimentiral z digitalnimi načini, kot je FT-8. Z rezultati sem bil zadovoljen, saj sem uspešno sprejemal signal z več celin, tudi z uporabo sobne antene.
Oglejte si videoposnetek [5], ki prikazuje delovanje sprejemnika.
Zaključek
Ta SDR sprejemnik bi bil odličen projekt za vsakogar, ki se začenja ukvarjati z gradnjo domačih radijskih sprejemnikov, ali pa za nekoga, ki išče nekaj zabavnega za gradnjo s svojo pi-pico razvojno ploščo. Čeprav se morda ne more kosati z dragimi komercialnimi radijskimi sprejemniki, je zaradi nizke cene in preprostosti dragoceno orodje za sprejemanje signalov z vsega sveta.
Viri:
1: https://101-things.readthedocs.io/en/latest/radio_receiver.html
2: https://github.com/dawsonjon/PicoRX
3: https://github.com/dawsonjon/PicoRX/raw/master/build/picorx.uf2
4: https://dl2man.de/wp-content/uploads/2023/07/truSDX_Main_1_2-1.pdf
5: https://youtu.be/lS1ZRMIYLjA
Povzeto po:
https://101-things.readthedocs.io/en/latest/breadboard_radio.html
https://101-things.readthedocs.io