Na stiahnutie

... z Mekovej tvorby a mnoho iného

FM prijímač s tunerom z TV s digitálnym ladením

Článok začína pod videami.

Novšia verzia tejto konštrukcie bola zverejnená v časopise Amatérske rádio - Praktická elektronika 08/2020.

Už dlhšie som sa pri občasnom rozoberaní TV zamýšľal, či by sa dal využiť z nej tuner. Trochu som pohľadal na internete a zistil som, že touto myšlienkou sa pár ľudí zaoberalo, aj úspešne, a dokonca bola o tom napísaná diplomová práca. Na internete je informácií veľmi málo, vždy len trochu, a žiadne ucelené výstupy a praktické pozorovania. Preto vznikol tento článok.

V podstate sú dva druhy tunerov, podľa typu ladenia

  • analógové - na jeden z pinov tunera sa privedie napätie 0-33V, pre varikapy
  • digitálne - alebo tzv. PLL tunery - frekvencia sa tuneru "povie" pomocou zbernice I2C

Tento článok sa zaoberá digitálnym tunerom. Ten môj má označenie TUNER WSP (PLL) TAEA-G041D 30048475 609A0611. Ako som zistil, je to ten istý tuner, ako od rôznych výrobcov, napríklad

  • KS-H-148E
  • UV1316
  • VESTEL 30048475

Tieto tunery vedia ladiť frekvencie od 50 MHz až do 850 MHz (približne), čo pokrýva aj pásmo VKV. Tento prijímač má obmedzenie na 87,5 MHz - 108 MHz (CCIR), inde sa aj tak FM vysielanie chytiť nedá a na iné modulácie by bolo treba iné demodulátory a filtre. Avšak jednoduchou úpravou kódu pre ATmega88 je možné zahrnúť aj pásmo OIRT.

Pinout je štandardný medzi rôznymi výrobcami.

  1. AGC - na tento pin treba priviesť napätie od 0 do 4V (najlepšie regulovateľné potenciometrom). Niektoré stanice idú lepšie pri nižšom napätí AGC, pre iné treba plné 4 volty
  2. VT - výstup ladiaceho napätia, ponecháme nezapojený
  3. ADS - určenie I2C adresy tunera, podľa datasheetu bude adresa C2, ak necháme tento pin nezapojený
  4. SCL - I2C clock pin
  5. SDA - I2C data pin
  6. NC - nezapojený
  7. +5V - napájanie
  8. ADC - nezapojený
  9. +33V - napájanie (môže byť 29-35V)
  10. IF2 - symetrický medzifrekvenčný výstup, pin 2
  11. IF1 - symetrický medzifrekvenčný výstup, pin 1

Pre niektoré integrované obvody v mojom zapojení som potreboval napájanie 12V, preto som ho použil aj ako napájanie celého prijímača. Z tohto napätia sa urobí 5V pomocou obyčajného stabilizátora 7805. No a napätie 33V sa získava z DC meniča s MC34063 (v skutočnosti je okolo 42V, stabilizuje sa zenerovou diódou na 33V). Odber celého zapojenia je okolo 200 mA.

Niektoré TV tunery majú symetrický MF výstup (dva MF piny), iné nesymetrický (jeden MF pin), môj má dva. MF kmitočet je od 33 do 40 MHz. Ja som potreboval pre ďalšie spracovanie získať MF kmitočet 10,7 MHz. Na to som použil obvod NE612, ktorý je na to priam určený. Zoberie vstup, zmieša ho s frekvenciou lokálneho oscilátora, a na výstupe je rozdiel týchto frekvencií. V mojom prípade som do lokálneho oscilátora použil kryštál 48 MHz, pretože 48 - 10,7 = 37,3 MHz. Zapojenie NE612 je podľa datasheetu, okrem vstupu. V datasheete su tam nejaké cievky, ktoré nie sú vysvetlené, ale zistil som, že to dobre funguje aj bez nich, keď vstup pripojím iba cez 1 nF kondenzátor.

Z NE612 vystupuje MF kmitočet 10,7 MHz ešte cez keramický filter, a vstupuje do MF zosilňovača a FM demodulátora v jednom. Ja som použil TBA120U, z ktorého je ale NF výstup veľmi slabý, preto som zaň zaradil ešte jednoduchý zosilňovač s dvoma tranzistormi. Dajú sa použiť obvody A220D, A223D, K174УP1, alebo U829B, ktoré zosilňovač nevyžadujú, ale to by bolo treba trochu upraviť aj samotné zapojenie súčiastok okolo MF zosilňovača. Ale pozor, s TBA120T to fungovať nebude.

Na ovládanie tunera som použil mikrokontrolér Atmel ATmega88A. Ten sa stará aj o zobrazenie frekvencie na displeji, prijímanie povelov z diaľkového ovládania, zapamätanie uložených frekvencií a kódov z diaľkového ovládania a ďalšie funkcie. Mikrokontrolér je taktovaný kryštálom 8 MHz. Zbernica I2C je abstrahovaná knižnicou i2cmaster.

Poistky (fuses) treba nastaviť takto: Extended: 0xF9, High: 0xD7, Low: 0xFF.

Ovládanie obsahuje 5 tlačidiel:

  • F: +0,05 MHz
  • R: -0,05 MHz
  • FF: +0,5 MHz
  • RR: -0,5 MHz
  • PROGRAM: zapamätanie práve naladenej frekvencie do jednej z 10 pamäťových pozícií. Po stlačení tlačidla sa zobrazí "P?" a možno sa vrátiť do bežného režimu jeho opätovným stlačením, alebo stlačiť niektoré z vopred zapamätaných tlačidiel na diaľkovom ovládači.

Prijímač možno používať s ľubovoľným diaľkovým ovládačom. Na to som použil knižnicu IRMP a pred prvým použitím je potrebné prijímač "naučiť" kódy tlačidiel diaľkového ovládača, ktorý budeme používať.

Na vstup do "učiaceho" režimu treba stlačiť tlačidlá F a R zároveň. Zobrazí sa "P0?", a v tejto chvíli treba stlačiť na diaľkovom ovládači tlačidlo "0", ktoré v budúcnosti použijeme na naladenie frekvencie uloženej na nultej pozícii. Postupne si prijímač "vypýta" kódy pre ďalšie zapamätané frekvencie, až po P9. Na konci si vypýta kódy tlačidiel pre F, FF, R a RR. Tým je nastavenie diaľkového ovládania dokončené. Naladíme nejakú stanicu, stlačíme tlačidlo PROGRAM a po zobrazení "P?" stlačíme na diaľkovom ovládači niektoré z tlačidiel P0 až P9, ktoré sme prijímač predtým naučili. Takto si môžeme naplniť všetkých 10 pozícií.

IR prijímač môže byť napr. TSOP1736, TSOP2236 alebo ekvivalent vykuchaný zo starej TV.

Postup oživovania a zlaďovania prijímača je nasledujúci:

  1. Skontrolujeme plošný spoj, či pri osadzovaní nenastal niekde skrat medzi cestičkami
  2. Namiesto integrovaných obvodov osadíme objímky, pripojíme AGC potenciometer, zatiaľ neosadzujeme tuner, a nepripájame displej a IR prijímač
  3. Pripojíme napájacie napätie 12V a meriame:
    • napätie na pine 7 tunera (ktorý je zatiaľ neosadený) musí byť 5V
    • napätie na pine 1 tunera musí byť od 0 do 4V a musí sa meniť pri otáčaní AGC potenciometrom (vyskúšať treba obe krajné polohy)
    • napätie medzi pinmi 4 a 6 objímky pre MC34063 musí byť 12V
    • napätie medzi pinmi 3 a 8 objímky pre NE612 musí byť 5V
    • napätie medzi pinmi 1/3/12 a 11 objímky pre TBA120 musí byť 12V
    • napätie medzi pinmi 7/20 a 8/22 objímky pre ATmega88A musí byť 5V
  4. Odpojíme napájanie a osadíme MC34063
  5. Zapojíme napájanie 12V
  6. Odmeriame napätie na pine 9 tunera, má byť okolo 33V
  7. Odpojíme napájanie a osadíme ATmega88A, zapojíme aj displej a IR prijímač (dávame pozor na orientáciu káblov)
  8. Zapojíme napájanie 12V a skontrolujeme displej. Mal by zobrazovať "87,50".
  9. Odpojíme napájanie a osadíme tuner
  10. Pripojíme do tunera anténu
  11. Zapojíme napájanie a kontrolujeme odber, má byť do 200 mA
  12. Odpojíme napájanie a osadíme NE612 a TBA120
  13. Zapojíme na NF výstup slúchadlá alebo NF zosilňovač
  14. Zapojíme napájanie a kontrolujeme odber, má byť do 250 mA, skôr asi okolo 200 mA
  15. Zo slúchadiel alebo reproduktorov by malo byť počuť sum. Ak nie je, treba pridať hlasitosť, ak stále nie je počuť šum, treba otáčať jadrom cievky pri TBA120, ak to nepomôže, asi je nevhodný fázovací LC obvod pri TBA120, treba vymeniť cievku a kondenzátor za také hodnoty, ktoré budú rezonovať približne okolo 10,7 MHz
  16. Naladíme frekvenciu, o ktorej vieme, že na nej vysiela silná stanica
  17. Otáčaním jadra cievky pri TBA120 nastavíme prijímač na čo najväčšiu hlasitosť a pritom čo najmenšie skreslenie

Mimochodom, v každom bode nesmie odber zo zdroja presiahnuť 250 mA (preto sa na oživovanie hodí laboratórny zdroj so zobrazením napätia a prúdu).

Tým je nastavenie prijímača hotové. Na výpočet cievky a kondenzátora pre fázovací obvod odporúčam túto stránku. Je vhodné mať LC meter, ktorý vie merať aj nízke indukčnosti do 1 uH a tiež Q cievok. Použitá cievka by mala mať Q okolo 40, ale mne to šlo aj s takou, čo mala Q = 2. Buď použiť továrnu cievku, alebo vykuchať nejakú zo starého TV či rádia, kde by mala byť cievka s vhodným Q. Potom je ešte možnosť navinúť si vlastnú (a použiť iba kostričku), ale na to, aby bolo dobré Q treba použiť vf lanko, ktoré sa nedá ani kúpiť. Keďže som mal továrne vyrobené a premerané cievky, tak túto cestu som neskúšal.

Ak niečo nejde dobre, veľmi vhodným pomocníkom je SDR prijímač, ktorý sa používa v PC cez USB, samozrejme taký, čo vie prijímať od 0 Hz, alebo použiť up-converter. Dá sa tak pripojiť MF výstup z tunera (okolo 38 MHz to ide aj bez up-convertera), ale aj MF 10,7 MHz za keramickým filtrom, kde je na tejto frekvencii vidieť naladenú stanicu, a pri ladení sa posúva doľava a doprava, a postupne mizne (keramický filter ju odfiltruje). Pozor - anténny vstup SDR treba pripojiť cez 1 nF kondenzátor.

V zip súbore na stiahnutie z tejto stránky nájdeš:

  • datasheety PLL tunerov
  • KiCad projekt, kde je nakreslená schema a plošný spoj
  • projekt pre Atmel Studio so softvérom pre ATmega88A

Kvalita príjmu je veľmi obstojná, a hlavne - zapojenie obsahuje iba jediný ladený obvod. Všetku "ťažkú prácu" vykonáva tuner, a to je továrny výrobok, ktorý je naladený určite dobre.

Ak budeš mať nejakú otázku alebo problém, kľudne sa ozvi. Môžeš použiť formulár pre komentáre na tejto stránke.

Ja som sa takto naučil opäť kopu nových vecí a veľmi ma bavilo experimentovať. A hlavne som dal nový život súčiastke z TV, ktorá by skončila na smetisku.

Aktualizácia 9.12.2019: pri stavbe a vývoji ďalších zapojení som zistil, že TBA120U má na pine 12 NF výstup plnej intenzity, a na pine 8 regulovaný výstup. V pôvodnom zapojení bol využitý pin 8, a pin 12 bol pripojený na GND. Toto som opravil v schéme aj v KiCad projekte na stiahnutie. Ďalej bol odstránený kondenzátor deemfáze na NF výstupe, spôsobovalo to nefunkčnosť eventuálne pripojeného stereo dekódera.

Komentáre (17)

:} lol :D =) :o) :B 8-D :P :-)) :-< ;) :-/ :( :.( O.o ;o) :-* 8-| :-| 8)
Mek   19. februára 2023 09:01
Hi Rudik,
try this: https://mekweb.eu/files/dl/TVPLLRadio-ATmega328p-66-108MHz.hex
For others, just open the project in Microchip Studio, change target AVR to atmega328p, then change constants BASE_FREQ and BASE_FREQ_MHZ to your liking, and hit Build. The resulting hex will be in the Debug subfolder.
I just did this and the hex file above is the result. Not tested, so without guarantee. Hopefully it will work. Have fun :)
Rudik   19. februára 2023 05:35
Hi Mek, nice project for i looking for.
Could you help me to provide hex file for 66 - 108MHz, ported for ATmega8PU or Atmega328PU? thank you.
Boubik   18. augusta 2022 19:09
Dakujem velmi si mi pomohol
Mek   18. augusta 2022 18:55
108 MHz - 87,5 MHz = 20,5 MHz, to zodpoveda rozsahu hodnot 2905 - 2495 = 410. Teda 1 Mhz zodpoveda hodnote 410 / 20,5 = 20.
Chceme ziskat hodnotu pre 50 Mhz, co je o 37,5 MHz menej, ako 87,5 MHz.
37,5 MHz * 20 = 750.
Teda 50 MHz by malo zodpovedat hodnote 2495 - 750 = 1745.
A 150 MHz by malo zodpovedat hodnote 2905 + (150 - 108) * 20 = 3745.
Ak som sa teda nepomylil :)
Boubik   18. augusta 2022 17:12
tak skusal som menit tie hodnoty na výpočet frekvencie podla trojclenky ale nesedí mi to mohol by si mi prosim ta vysvetlit ako to mám vypocitat nesedi mi to neviem ako na to
Mek   18. augusta 2022 15:50
Ak to mas na breadboarde, komunikacia cez I2C pojde pomalsie, nez ked to das na plosny spoj... teda aspon tak to bolo v mojom pripade. Tipujem, ze to bolo kvoli slabsiemu kontaktu, neziaducim kapacitam, ruseniu a tak.
Boubik   18. augusta 2022 15:19
Tak rozsah frekvencií sa mi podarilo uspešne zmeniť. Ešte by som chcel zistit ako sa dá zmeniť rýchlosť prepínania frekvencie tunera. Na môj vkus sa to prepína dosť pomaly
Mek   17. augusta 2022 21:42
Boubik: v subore main.c su tri riadky:
#define BASE_FREQ 2495 // 87.50 MHz
#define BASE_FREQ_MHZ 8750 // 87.50 MHz
#define MAX_FREQ 2905 // 108.00 MHz
Z nich si uz isto dokazes vypocitat, ake hodnoty budu zodpovedat 50 a 150 MHz :)
Hex subor ziskas tak, ze skompilujes ten projekt so zdrojakmi v programe Microchip Studio (po starom sa to volalo Atmel Studio). Hex subor vznikne pod adresarom Debug v adresari projektu.
Boubik   17. augusta 2022 21:37
Ako mám upraviť ten projekt keď chcem zmeniť rozsah frekvencií napríklad od 50MHz do 150MHz? Ako získam Hex súbor z toho projektu ?
marcos   6. apríla 2022 15:30
muy buen proyecto, gracias por compartir. saludos desde argentina.
Leon de Marquay   2. novembra 2020 08:15
Excellent montage, bien documenté...
Mek   7. októbra 2020 14:05
Hi Krishchan,
if your tuner has the same pinout as described in this article, then I think it is 95% chance that it will work. Otherwise yes, you will have to study the datasheet.
Krishchan   7. októbra 2020 14:01
By the way very informative article. I would like to know which synthesized tuner IC is used in your tuner. Is it a Texas instruments one?
Well I have a tuner with SN761678 from Texas instruments, and i would like to know whether the same I2C commands will work on my tuner too, Otherwise I would have to study the whole datasheet and all the commands with it.
Regards.. :)
Mek   22. apríla 2020 16:39
Hello Ujo,
the code is downloadable right here on this page, just click the Download button.
Ujo   22. apríla 2020 07:54
Can you please send me that whole code to me please, here is my email
jokoweaATMOJO1@gmail.com
Mek   16. októbra 2019 22:01
Hello,
for other readers, I ran your post throught Google Translate:
------------------
Very good project and design, I made a spectrum analyzer 30 years ago with a television and used something similar to this project, all analogue, use a common tuner with varicap and voltage tuning, for the frequency use a frequency converter voltage, voltimetro lcd indicator, now I'm going to see if I try this project that has more accuracy in the tuning and more exact, without frequency shift to be pll,
My question from what I see, in one of the tuners I decided that I decided to replace a UV1316, so the PLL of that tuner is TSA5511-12, so the software would not go with other digital tuners, it is like this or you can use another soft to use another tuner, regards

------------------
My answer:
It does not have to be UV1316. Most of the tuners are compatible with UV1316, you can be 99% sure it is compatible if your tuner has the same pinout. You can confirm in the datasheet of your tuner. In the datasheet you can find also the I2C commands your tuner supports, and if it uses address C2 by default as UV1316 does, etc.
Yes, PLL tuners are much better than tuners with analog tuning, as the frequency doesn't drift.
I hope your project will be a successful one :)
lhmolina2011@gmail.com   16. októbra 2019 21:55
Muy buen proyecto y diseño, yo me hice un analizador de espectro hace 30 años con un televisor y use algo parecido a lo de este proyecto, todo analogo, use un sintonizador comun con varicap y sintonia por voltaje , para la frecuencia use un convertidor frecuencia tension, indicador voltimetro lcd, ahora voy a ver si pruebo con este proyecto que tiene mas exactitud en la sintoniz y mas exacto, sin corrimiento de frecuencia al ser pll,
Mi pregunta por lo que veo , en uno de los sintonizador decis que decis como reemplazo un UV1316 , asi que el PLL de ese sintonizador son TSA5511-12, asi que el soft no andaria con otros sintonizadores digitales, es asi o se puede usar otro soft para usar otro sintonizador , saludos

Toplist