Avtor: mag. Vladimir Mitrović
E-pošta: vmitrovic12@gmail.com
2019_274_41
Ste že kdaj poizkusili napraviti radijski sprejemnik? Jaz sem ga že pred 40 leti, in to je bila sijajna izkušnja (slika 69). To je bil pravi superhet, s najboljšimi čipi, ki so se takrat lahko dobili na trgu, in dobro mi je služil polnih deset let v mojem prvem avtomobilu. Od takrat so se časi spremenili, novejši avtomobili so bili opremljeni z vgrajenimi radijskimi sprejemniki in tako je moj raritetni primerek končal v omari z drugimi spomini. In potrpežljivo je tam čakal do pred nekaj meseci, ko sem ga ponovo priključil na akumulator – takoj je deloval!
Razlog za to vračilo v preteklost je prava poplava FM stereo modulov v internetnih trgovinah. Slika 70 kaže del te ponudbe: v zgornji vrstici so prikazani moduli, ki služijo funkciji FM tunerja, v spodnji vrstici se pa nahaja razvojna ploščica, ki vsebuje tudi avdio ojačevalnik in tako ponuja kompleten FM sprejemnik. Moduli v zgornji vrstici so interesantni zato, ker so, čeprav vsebujejo različne čipe (TEA5767, AR1010 in RDA5807M), medsebojno hardversko kompatibilni – vsi imajo iste dimenzije, 11×11 mm, in isti raspored priključkov. Interesantna je še ena stvar: TEA5767, ki je bil prvi dostopen, zahteva 20 zunanjih komponent za pravilno delovanje; pri zgolj nekaj let mlajšemu RDA5807M je vse integrirano v sam čip – poleg njega, se na modulu nahajajo samo še kvarc in dva kondenzatorja. Moduli so tudi softversko kompatibilni, ker novi čipi lahko večinoma delajo tudi v TEA5767 načinu dela. Če pa želite potegniti maksimum iz nekega čipa, ga je treba programirati na njemu specifičen način, in potem se pojavijo velike razlike.
Ta vsebina je samo za naročnike
Uporabnikom Arduino platforme so na voljo gotove knjižnice za nekaj najpopularnejših modulov. Mi bomo predstaviti Bascom-AVR knjižnice za dva čipa: TEA5767, zato ker je svojevrstni standard v tem področju, in RDA5807, zato ker omoguča tudi dekodiranje RDS signala. Da bi zgodbo lahko zaokrožili, bomo pokazali, kako z moduli, ki vsebujejo te čipe, lahko zgradite “pravi” FM radijski sprejemnik in kako napisati ustrezen program, ki krmili z njegovim delom. Mogoče je to priložnost, da sami poizkusite napraviti svoj prvi radijski sprejemnik! No, pojdimo po vrsti…
Osnovno o radijskem prenosu
Princip radijskega prenosa je zasnovan na uglašenih nihajnih krogih. Nihajni krog je sestavljen iz paralelno povezane tuljave in kondenzatorja, katerih impedance (upornosti) niso odvisne zgolj od njunih karakteristik, pač pa tudi od frekvence toka, ki teče skozi njiju: induktivni upor tuljave raste z višjo frekvenco, medtem ko se kapacitivni upor kondenzatorja z rastjo frekvence zmanjšuje. Frekvenca na kateri se ti upori izenačijo se imenuje rezonančna frekvenca nihajnega kroga. Ko se frekvenca toka, ki teče v nihajnem krogu približuje resonančni frekvenci, nastane zanimiv pojav: impedanca (upor) paralelnega nihajnega kroga hitro naraste in postane večkrat večja od impedance vsake posamezne komponente. Zato bo tudi napetost na nihajnem krogu, pobujenem s frekvenco, ki je blizu rezonančni, višja od napetosti na kateri koli drugi frekvenci – pravimo, da ima nihajni krog svojo selektivnost.
Če sta dva nihajna kroga uglašena na isto resonančno frekvenco in se nahajata v bližini, bo med rezonanco prišlo do pomembnega prenosa energije z enega nihajnega kroga (oddajnik) na drugega (sprejemnik). Isti princip velja tudi pri radijskem prenosu; edina razlika je, da gre tukaj za mnogo večje razdalje, zato mora oddajnik imeti veliko moč, sprejemnik pa mora biti občutljiv. Signal, ki ga oddaja oddajnik neke radijske postaje ima še eno značilnost: na njega je na ustrezen način “vtisnjena” informacija, katero radijska postaja oddaja. Sprejemnik izlušči frekvenco na kateri oddaja želena radijska postaja, ojačuje njen signal na dovolj visok nivo, da bo lahko iz njega izluščil vtisnjeno avdio informacijo, razdeli signale levega in desnega kanala… dovolj je tu dela. Zato so tudi radijski sprejemniki zelo kompleksne naprave: fotografija na sliki 71 zgoraj prikazuje notranjost enega od “klasičnih” radijskih sprejemnikov višjega razreda starega 30 let, na spodnjem delu slike je prikazana blok shema FM modula s čipom TEA5767.
Z bolj pazljivo analizo bi ugotovili, da ima modul z integriranim vezjem TEA5767 iste funkcionalne dele kot “pravi” radijski sprejemnik. Mogoče se kvaliteta sprejema takega FM modula ne more v vseh podrobnostih meriti s kvaliteto klasične izvedbe, ampak gre kljub temu za zelo uporabno vezje! Tehnično gledano, tako sprejemnik kot tudi modul s slike 71 nista radijska sprejemnika, pač pa tunerja (eng. tuner). Tuner je naprava, ki opravlja sprejem in obdeluje signal radijske postaje, medtem ko ima radijski sprejemnik vgrajen tudi avdio ojačevalnik za glasno reprodukcijo preko zvočnika.
Tukaj moramo še pojasniti, kaj pomeni oznaka FM. Frekvenčno področje, na katerem oddajajo komercijalne radijske postaje, se razteza od 150 kHz do 108 MHz in se deli na dolge, srednje, kratke in ultrakratke valove. Sprejemnik, ki ga opisujemo, pokriva najvišje frekvence od 87,5 do 108 MHz, to je ultrakratkovalno področje (UKV). Na UKV področju se za prenos avdio informacije uporablja frekvenčna modulacija – od tod se je uveljavil pogosto uporabljen izraz, FM.
Kaj pa je frekvenčna modulacija? Zamislimo si, da neka radijska postaja oddaja svoj program na frekvenci 100 MHz: točno tolikšna bo izhodna frekvenca, ki jo oddaja njena antena – vendar samo kadar je na programu “tišina”. Če avdio signal, ki se trenutno oddaja ima frekvenco 1 kHz, bo to povzročilo, da se bo frekvenca oddanega signala 100 MHz menjala prav v takšem ritmu. Kakšna bo sprememba frekvence je odvisno od jakosti (glasnosti) tega signala. Radio postaje v FM področju prenašajo avdio informacijo od 50 Hz do 15 kHz. Govor, glasba in drugi zvoki, ki so sestavni deli radijskega prenosa so pravzaprav seštevek avdio signala različnih frekvenc in amplitud. Zato bo frekvenca radijske postaje, ki svoj program oddaja na 100 MHz na različne načine, več ali manj tudi hitreje ali počasneje, odstopala od te frekvence. Da bi se v FM področje lahko namestilo čim več radijskih postaj, te spremembe ne smejo biti velike: omejene so na manj kot ±100 kHz, pa vendar vsebujejo vse potrebne informacije o zvoku, ki ga mora reproducirati naš sprejemnik.
In tudi več od navedenega! Večina radijskih postaj v FM področju oddaja svoje programe v stereo tehniki. Poslušalec stereo prenosa, poleg “gole” zvočne informacije lahko oceni tudi položaj posameznega izvora (instrumenta ali govornika) v prostoru. Za to je dovolj prenesti dva zvočna signala, tistega, ki bi ga slišalo levo in tistega, ki bi ga slišalo desno uho poslušalca, ko bi se, namesto pred svojim radijskim sprejemnikom, nahajal na mestu dogajanja. Napačno bomo pomislili, da se to rešuje z ločenim prenosom levega (L) in desnega kanala (R). Ne, ni tako!
Preden se je pojavil stereo, je obstajal samo mono prenos: prenešena je bila zvočna informacija brez informacije o razporedu zvočnih izvorov v prostoru. Ko so načrtovali stereo prenos, so projektanti želeli zadržati kompatibilnost med obema napravama:
- stari mono sprejemniki bi morali sprejemati tako mono in stereo programe, z omejitvijo, da stereo oddajajo v mono tehniki, tj. bez informacije o prostoru,
- novi stereo sprejemniki bi morali sprejemati tako mono in stereo programe in te zadnje predvajati z informacijo o prostoru.
Poglejmo na sliki 72 kako je to elegantno rešeno! Med stereo prenosom se oddajata, dva signala: seštevek levega in desnega kanala (L+R) v normalnem frekvenčnem področju (50 Hz – 15 kHz) in njuna razlika (L-R) v premaknjenem frekvenčnem področju, 23-53 kHz. Kot znak, da gre za stereo prenos, radijska postaja oddaja še tudi slab signal frekvence 19 kHz, t.i. pilotni ton. Končno, nekatere radijske postaje oddajajo tudi RDS signal, ki vsebuje različne informacije o sami radijski postaji, vrsti programa, trenutno oddajani vsebini itd..
Koliko od oddane vsebine se lahko prepozna je odvisno od vrste sprejemnika in kvalitete sprejema. Mono sprejemnik bo prepoznal samo L+R in ga predvajal kot mono signal. Stereo tuner ali sprejemnik bo prepoznal stereo pilotni ton in dodatno L-R informacijo in z enostavnim računom razdelil kanale:
(L+R) + (L-R) = 2L (L+R) - (L-R) = 2R
Ta delitev kanalov se odvija v delu sprejemnika, ki se imenuje stereo dekoder. Končno, če ima vgrajen RDS dekoder, bo radijski sprejemnik prepoznal tudi RDS signal in iz njega izluščil koristne informacije.
Shema FM radijskega sprejemnika
Naš FM radijski sprejemnik je sestavljen iz tunerja, močnostnega ojačevalnika in krmilnega vezja. Funkcijo FM tunerja izvaja modul z integriranim vezjem TEA5767 (U2 na sliki 73). Njegova naloga je, da iz šuma signala na FM področju izlušči signal želene radijske postaje, ga primerno ojači in obdela ter iz njega izlušči avdio signale levega in desnega kanala. Ta signala imata amplitudo do 75 mV in sta prisotna na priključkih Lout in Rout.
TEA5767 nima možnosti regulacije glasnosti; zato smo tunerju dodali elektronski potenciometer PT2257 (U3), ki omogoča neodvisno dušenje avdio signala levega in desnega kanala v razponu od 0 do -79 dB s korakom po 1 dB.
Shema močnostnega ojačevalnika je prikazana na sliki 74. Izbrano je integrirano vezje TDA2822M, ki pri 9 V napajalni napetosti na zvočnikih upornosti 8 Ω zmore do 1 W izhodne moči. Zaradi boljše kvalitete zvoka priporočam uporabo širokopasovnih zvočnikov nekoliko večje moči; jaz sem uporabil zvočnike moči 10 W in premera 57 mm, podobne tistim na sliki 74. Od tako malih zvočnikov se pač ne more pričakovati kvalitetna reprodukcija nižjih tonov. Da bi lahko kompenzirali ta primanjkljaj, sta na vhod ojačevalnika postavljena RC filtra R7-R9-R11-C7 (levi kanal), oziroma R8-R10-R12-C8 (desni kanal). Navedene RC mreže so frekvenčno odvisni slabilniki, ki bolj dušijo signale visokih frekvenc. Gledano na drugi način, gre za korekcijo barve zvoka, ki dviguje base: frekvence pod 150 Hz so ojačene za približno 6 dB, vpliv filtra pa postopno slabi z rastjo frekvence in postane zanemarljivo majhen pri frekvencah višjih od 300 Hz. S tem smo dosegli bolj bogat zvok brez preglasnih ali popačenih basov. Vrednosti komponent, ki sestavljajo filtre, se lahko po potrebi popravi in prilagodi konkretnemu zvočniku.
Napetostno ojačenje integriranega vezja TDA2822M znaša okoli 40 dB, kar je za naše potrebe preveč: pri maksimalni glasnosti je bil zvok preglasen in popačen. Zato mu je potrebno ojačenje zmanjšati z upori R13 in R14, katerih vrednosti so določene s poizkusom. Skupaj s kondenzatorjema C9 in C10 ter komponentami znotraj integriranega vezja določajo stopnjo povratne povezave in s tem vplivajo na skupno ojačenje. V praksi se je pokazalo da takšna intervencija ne vpliva na stabilnost ojačevalnika. Po potrebi se ojačenje lahko poveča z zmanjšanjem vrednosti uporov R13 in R14; za vrednosti pod 150 Ω je kapaciteti kondenzatorjev C9 in C10 potrebno povečati na 100 µF.
T3 je močen P-kanalni MOSFET; ima vlogo stikala in izključuje napajanje integriranega vezja TDA2822M, kadar je radijski sprejemnik v stanju pripravljenosti. Z njim in tudi z delom vseh ostalih komponent radijskega sprejemnika krmili vezje sestavljeno iz Arduino Nano modula, alfanumeričnega displeja in krmilne palice (joystick). Kako je vse to medsebojno povezano, prikazuje shema celotnega radijskega sprejemnika na sliki 75.
Mikrokontroler ATmega328P v Arduino Nano modulu bere signale s krmilne palice, in na podlagi tega pošilja ukaze FM modulu, regulatorju glasnosti in drugim vezjem ter izpisuje ustrezna sporočila na alfanumeričnem displeju. Poleg mikrokontrolerja Arduino Nano vsebuje še napetostna stabilizatorja, ki zagotavljata stabilno napetost napajanja za mikrokontroler in alfanumerični displej (5 V) ter FM modul in regulator glasnosti (3,3 V).
Krmilna palica (slika 76) je sestavljena iz potenciometrov RX in RY, nameščenih eden proti drugemu pod pravim kotom. Prvi potenciometer ustreza X, drugi pa Y osi koordinatnega sistema. Palica se veže na ustrezno napajalno napetost, v našem radijskem sprejemniku je to 5 V. Kadar je palica v nevtralnem položaju, so drsniki obeh potenciometrov v srednjem položaju, zato bo tudi napetost na S-X in S-Y priključkih znašala 2,5 V. S premikanjem palice (oziroma njenega pokrova v obliki gobe) od enega do drugega skrajnega položaja v horizontalni smeri, se bo napetost S-X priključka menjala od 0 do 5 V. Te spremembe bo mikrokontroler razumel kot ukaz za spremembo radijske postaje ali frekvence. Prav tako s premikanjem palice v vertikalni smeri se bo napetost S-Y priključka menjala od 0 do 5 V. Te spremembe bo mikrokontroler razumel kot ukaz za spremembo glasnosti. Te izraze “horizontalno” in “vertikalno” je potrebno gledati pogojno, ker so prvenstveno odvisne od načina, kako je krmilna palica montirana, oziroma obrnjena.
Krmilna palica ima še stikalo S, ki je v normalnih pogojih nesklenjeno, zato je napetost njegovega izhodnega priključka S-K = 5 V. Stikalo se sklene, ko os palice (“gobo”) pritisnemo navzdol, in takrat napetost S-K priključka pade na 0 V. Mikrokontroler razlikuje kratke in dolge pritiske na palici in odvisno od trajanja pritiska, izvršuje različne aktivnosti. Tako z dolgimi pritiski sprejemnik vključujemo in izključujemo ali potrjujemo izbrano vrednost, medtem, ko s kratkimi pritiski menjamo način dela ali preprečimo neko aktivnost.
Večina analognih krmilnih palic ima podoben princip dela, dve prikazani na sliki 76 sta pa tudi na videz zelo podobni. Navkljub različnemu številu priključkov in različnim oznakam na njih, sta obe sestavljeni iz istih komponent in se lahko uporabita v našem FM radijskem sprejemniku.
Razen krmilne palice je na mikrokontroler vezan tudi alfanumerični displej tipa 2×16. Uporabljamo ga za prikaz osnovnih informacij o trenutnem statusu radijskega sprejemnika (kot so frekvenca in jakost signala radijske postaje, ko jo trenutno poslušamo, glasnost in podobno), pa tudi za bolj zahtevne postopke, kot je izbira nove radijske postaje in memoriranje njene frekvence. S trimer potenciometrom R1 nastavljamo kvaliteto prikaza na displeju.
Mikrokontroler iz Arduino Nano modula v celoti krmili FM radijski sprejemnik. Poleg do sedaj navedenih aktivnosti on poskrbi, da bo radijski sprejemnik prilagojen navadam svojega uporabnika. Tako si bo npr., v trenutku, ko želimo ugasniti radijski sprejemnik, zapomnil katero radijsko postajo in s kakšno glasnostjo smo jo poslušali, da bi nas iste vrednosti počakale tudi takrat, ko ga naslednjič vključimo. Mikrokontroler poskrbi tudi za racionalno porabo električne energije. Dva največja potrošnika v radijskem sprejemniku sta izhodni ojačevalnik z integriranim vezjem TDA2822M in osvetlitev ozadja LCD alfanumeričnega displeja. O izključevanju izhodnega ojačevalnika smo že govorili, sedaj bomo samo razložili, kako ga mikrokontroler krmili preko tranzistorja T2. Osvetlitev ozadja potrebujemo dokler je sprejemnik vključen, zato ga bo mikrokontroler s pomočjo tranzistorja T1 ugasnil takoj, ko ugasnemo sprejemnik. S kratkostičniki J2 in J3 lahko “zaobidemo” škodljivo obnašanje mikrokontrolerja ter osvetlitev ozadja in napajanje izhodnega ojačevalnika obdržimo stalno vključeni.
Ukaze krmilne palice mikrokontroler pretvarja v obliko, ki jo FM modul in integrirano vezje PT2257 razumeta in nato jim jih prenaša preko SCL in SDA linij. Za komunikacijo se uporablja I2C protokol. Mikrokontroler najprej naslovi enega od integriranih vezij na vodilu in nato nadaljuje s njim “pogovor”; vsa ostala integrirana vezja na istem vodilu “ne govorijo” in čakajo da jih “pokličemo”. V FM radijskem sprejemniku se je pojavil problem povezovanja komponent preko I2C vodila, ker mikrokontroler dela na 5 V, medtem ko se FM modul in PT2257 napajata z napetostjo 3,3 V; napetostno prilagoditev rešujejo diode D1-D3 in upor R2.
Izdelava radijskega sprejemnika
Za radijski sprejemnik je projektirana ustrezna tiskana ploščica, na katero se spajkajo vse komponente. Večina komponent, vključno z Arduino Nano modulom, se postavlja z gornje strani ploščice, s spodnje strani se nahaja samo alfanumerični displej (slika 77). U2 in T3 sta SMD komponenti, ki ju je potrebno spajkati zelo pazljivo, z ostalimi komponentami ne bi smelo biti problemov. Za U3 in U4 je zaželeno predvideti kvalitetna podnožja, medtem ko se za zvočnike in priključek napetosti napajanja lahko uporabijo ustrezni konektorji (vrstne sponke) ali pa se vodniki zaspajkajo direktno na ploščico.
Na robu ploščice su predvideni “otočki” na katere se spojijo priključki krmilne palice. Če se uporablja palica z 9 priključki (slika 76 spodaj desno), se lahko zaspajka direktno na tiskano ploščico ali pa se na ploščico zaspajka “ženska” letvica, v katero se nato vtaknejo priključki krmilne palice. V obeh primerih, palico je potrebno obrniti tako, da “goba” gleda na stran, na kateri se nahaja displej. Če je ohišje, v katerega se ugrajuje radijski sprejemnik takšne izvedbe, da je treba krmilno palico postaviti na večji oddaljenosti od ploščice in displeja, ja za vezavo palice in ploščice potrebno uporabiti ustrezno dolge žice. V tem primeru je smiselno uporabiti palico s 5 priključki, prikazano na sliki 76 spodaj levo, ker so na njeni ploščici predvidene luknje za vijake – zato jo je lažje pritrditi na podlago. Pri nekaterih izvedbah takšne palice ne obstaja RK; v tem primeru je potrebno zaspajkati upor vrednosti 4,7 kΩ med priključka SW in +5V.
Kako izgleda ploščica, na katero so zaspajkane vse komponente, prikazuje fotografija na sliki 78. V tej izvedbi je uporabljena krmilna palica z 9 priključki, ki je vezana s tiskano ploščico preko ustreznega konektorja. Na sprejemnik so še vezani zvočniki, antena in napajalna napetost; uporabili smo omrežni adapter, ki zmore 1 A izhodnega toka pri izhodni napetosti 9 V. Na spodnji fotografiji vidimo, kako se postavi displej, na katerem je že izpisano sporočilo z informacijami o sprejemu – radijski sprejemnik deluje! (Opomba: prikaz na displeju v končni verziji sprejemnika se rahlo razlikuje od tega s slike.)
Da bi radijski sprejemnik pričel delovati, mu je treba “vdahniti dušo”: v mikrokontroler v Arduino Nano modulu je potrebno vpisati program, ki ga bo naučil, kako prepoznati naše ukaze in kako jih pretočiti v ukaze, ki jih prepoznajo posamezni deli radijskih sprejemnikov. Programiranju bomo posvetili naslednje nadaljevanje; sedaj samo še pojasnimo, kako upravljamo z delom našega radijskega sprejemnika.
Navodilo za uporabo radijskega sprejemnika
Vklop/izklop: pritisnite joystick dalj od 1 s
FM radijski SE 2019 Hello!!!
FM radijski SE 2019 Goodbye...
Prikaz na displeju (normalni način, prednastavljene frekvence):
<P0> 88.7 MHz Vol=12 Sig=15 ST
P0 spomin (0-39) 88.7 MHz shranjena frekvenca (87.5-108.0) Vol=12 glasnost (0-24) Sig=15 nivo signala (0-15) ST stereo (MO = mono)
- Sprememba glasnosti: joystick gor-dol
- Sprememba memorije: joystick levo-desno (naprej-nazaj)
Sprememba frekvence:
- pritisnite kratko joystick (<1s), prikaz na displeju se menja v način za spremembo frekvence:
P0 < 88.7>MHz Vol=12 Sig=15 ST
- sprememba frekvence: joystick levo-desno (naprej-nazaj)
- vrnitev v normalni način: kratko pritisnite joystick
- če je frekvenca spremenjena glede na shranjeno, bo vprašal
Save? <107.3>MHz Vol=12 Sig=9 ST
- DA: joystick pritisniti dalj kot 1 s, shranila se bo nova frekvenca
- NE: joystick pritisniti krajše od 1 s, ostala bo shranjena stara frekvenca
Opomba: na ta način je možno v spomin dodati novo radijsko postajo ali spremeniti vsako prednastavljeno frekvenco. Prednastavljenih je lahko 40 frekvenc, <P0> – <P39>. Če je shranjeno manjše število frekvenca, npr. 12 (<P0> – <P11>), se bo pri spremembi spomina pojavila prazna spominska lokacija, na katero lahko dodate novo radijsko-postajo:
P12 <___._>MHz Vol=12 Sig=15 ST
Ko je polnih vseh 40 spominov, nove postaje ni možno dodati, lahko pa spremenite vsebino katerega koli obstoječega spomina.
Resetiranje: izključite napetost napajanja, pritisnite joystick in ga držite pritisnjenega in nato vključite napetost napajanja. Pojavilo se bo sporočilo
FM radijski SE 2019 Reset!!!
Radio se bo postavil v začetno stanje in vsi spomini bodo zbrisani.
https://svet-el.si
Barduino_15