Sari la conținut
ELFORUM - Forumul electronistilor

Radioreceptor MA cu lampi, PIC si DDS


cirip

Postări Recomandate

Va salut,

 

Inspirat fiind de discutia cu un amic, am inceput prin octombrie anul trecut sa lucrez la un receptor radio cu lampi. Nu are nimic special ca performante, decat faptul ca "licureste in intuneric", ca sa-l citez pe colegul dyogenes. De fapt are cateva chestii inedite, ca sa le zic asa. Dat fiind ca sunt "handicapat" la constructii mecanice, am eliminat condensatorul variabil si am folosit pe post de oscilator local un sintetizor digital (DDS) care se gaseste pe ebay. Si cum DDS-ul asta trebuie programat cu ceva, am pus si un PIC. Si daca tot nu ma pricep la mecanica, am pus PICul sa afiseze frecventa ca sa scap de ata de scala. Acordul se face cu un codor rotativ citit de PIC. Mai are un filtru ceramic ca sa fie selectiv si o dioda varicap NTE618 (20-400pF) pentru acordul circuitului de intrare.

 

Fata Placa Control

Posted Image

 

Verso Placa Control

Posted Image

 

Si ar mai fi ceva. Circuitul de intrare trebuie acordat sincron cu oscilatorul local si mentinut la distanta de 455KHz (frecventa intermediara) de frecventa oscilatorului local. Dar de unde stie picul ce sa-i dea varicapului? Pentru asta am adaugat o interfata in linie de comanda. Daca la pornire se tine apasat butonul de pe codorul rotativ, atunci PICul activeaza seriala si se poate "discuta" cu el pe seriala. In situatia asta afisajul este stins.

 

Una dintre functile din linia de comanda este calibrarea. Prin aplicarea unui calibrator (oscilator cu cuart) de 100KHz pe antena de ferita printr-o bucla de una sau doua spire, se injecteaza armonice in intrarea de RF. Ei bine, in timpul calibrarii, procesorul baleiaza intreg domeniul tensiunilor de pe varicap, gaseste punctul de acord optim si si-l noteaza intr-un tabel. Tabelul contine valorile tensiunilor de acord pe frecventele de 500, 700, 900, 1100, 1300, 1500 si 1700KHz. Daca este necesar acordul intre aceste frecvente din tabel, se face interpolare liniara.

 

Tot in cadrul calibrarii exista optiunea de a genera doar tabelele rezultate in urma baleierii, fara sa actualizeze memoria interna. Scopul este acela de a verifica vizual curbele de acord si a confirma ca ceea ce s-a inscris in tabel este corect. Calibrarea dureaza cam 10 minute si se face la punerea in functiune sau daca se constata alterarea sensibilitatii. Cam asa arata niste curbe de acord ale intrarii, obtinute prin calibrare in linie de comanda. Pe orizontala sunt valorile tensiunii pe varicap exprimate prin valoarea numerica inscrisa in generatorul PWM. pe verticala sunt valorile citite de AGC cu ADCul PICului.

Posted Image

 

Ansamblu

Posted Image

 

Bineinteles ca nu putea sa lipseasca ochiul magic

Posted Image

 

Linie de comanda

Posted Image

 

Urmeaza sa ii fac carcasa.

 

Deocamdata ma opresc aici. Voi reveni cu amanunte in functie de interesul captat de proiect.

 

Cirip

Editat de cirip
Link spre comentariu

In opinia mea, este una dintre cele mai interesante combinatii de uC si tuburi pe care am vazut-o. Includerea acelei alinieri automate a circuitului de intrare cu frecventa DDS-ului este chiar ceva deosebit. Felicitari!

 

Link spre comentariu

Daca puteti ridica si un filmulet n`ar fi rau . Lucrarea este splendida...felicitari ! Receptorul radio cu tuburi pare a avea o schema clasica (lipseste doar detectia EABC80 , probabil este facuta cu diode separat!) , daca se poate arata

ar fi bine.

Editat de romicap
Link spre comentariu

Salut,Multumesc pentru aprecieri. Nu am dat prea multe detalii ptr ca nu am vrut sa scriu romane pe care sa nu le citeasca nimeni. Credeam ca de fapt nu intereseaza :).Aveti aici niste filmulete facute in decembrie. De atunci a mai evoluat ... Si mai evolueaza ca sa implementez toate functiile pe care mi le-am propus in linie de comanda. Vreau sa invit un amic sa "preia comanda" prin internet in linie de comanda si sa schimbe frecventa :)https://www.dropbox.com/sh/g51sjgquzq3gg0a/AABBtEbeI7zDFHmwlzR2ob1va?dl=0A trebuit sa-i schimb procesorul ptr ca nu am mai avut loc in memorie. Initial folosisem un PIC16F876A cu 8K de flash, dar am depasit si cu chiu cu vai am reusit sa fac codul sa incapa. Mai sunt vreo 50 de locatii libere in F876. Asa ca saptamana asta am trecut la un pic18 cu 64KB de flash.Aveti atasate si schemele. Nu am folosit EABC80. Pe schema am pus 1N4148, dar in realitate sunt niste diode cu germaniu. De asemenea, schema a mai evoluat un pic ... Mici ajustari si puneri la punct, dar in mare e ce se vede.Acuma, nu va ganditi la performante stelare. In esenta are doua hibe la care ma asteptam, dar scopul principal e sa vad filamentele aprinse.Problemele ar fi cam asa:1) DDSul este o alegere neinspirata ptr un oscilator local. E plin de spurii (cuie), care sunt principiale, adica nu se pot scoate cu decuplari si alte paleative. Il mai ajuta filtrul de la intrare. Cand e pe post nu deranjeaza, dar intre posturi se mai aude cate un fluierat. Dar asta e.2) Nu sunt multumit de sensibilitate si problema provine de la Q-ul bobinelor de FI. Le-am bobinat cu mana, vrac, cu sirma de 0.15. A iesit un Q mic, cam de 12-14, ceea ce afecteaza castigul FI-ului. Speram sa obtin macar 40-50, dar nu a fost sa fie. Nu ma afecteaza la selectivitate ptr ca i-am pus filtru ceramic, dar as fi vrut sa fie mai sensibil.Cam asa arata un traf de FI. Peste tubul interior de plastic am aplicat un tub facut de mine din hartie lipita cu aracet, iar saibele separatoare le-am facut prin decupare cu o preducea din niste carti de credit expirate. Saibele le-am lipit cu superglue. In cei doi galeti am bobinat infasurarea anodica si cea de grila.post-174676-0-07366400-1454125825_thumb.jpg

radio_lampi_analog_sch.pdf

radio_lampi_digital_sch.pdf

Editat de cirip
Link spre comentariu

Nu cred ca se va scapa de " spike " - uri . Nu integral . E sarcina grea si pentru DDS - uri de 50 de ori mai scumpe , dedicate pentru " radio " . Au si receptoarele profesionale de mii de euro ... e drept , putine si " mici " . Dar d - nul Cirip stie aceasta fara s - o afle de la mine ... Altminteri , felicitari sincere . Ca parere personala , mie - mi plac chestiile ( tehnice ) care arata interiorul ... poate ceva incasetare in sticla organica . Cu ventilatie , bineinteles ...

Link spre comentariu

Va multumesc pentru comentarii.@der_doktor: Cum spuneam, spuriile DDS-ului sunt principiale si provin din trunchierea valorii fazei dintre acumulatorul de faza si DAC. Sunt foarte aproape de purtatoare si ar trebui un filtru de banda foarte ingusta ca sa fie eliminate, ceea ce este nepractic. "Filtrele pi" de la iesire nu pot rezolva aceasta problema.@dyogenes: Dupa ce termin softuletul, am deja in plan o filtrare si demodulare SSB/CW cu dsPIC direct din frecventa intermediara.@romicap: Intentionez ca panoul frontal, capacul si panoul din spate sa fie din sticla. Restul, adica baza si lateralele vor fi din lemn. Bucatile din lemn vor avea canale in care sa alunece geamurile.@gauss: Corect cu spuriile. Da, montajul va fi cu filamentele la vedere. Asta e tot scopul.@craciun: Multumesc.

Editat de cirip
Link spre comentariu
  • 2 luni mai târziu...

Fain proiect! Pe vremuri gandeam si eu un proiect asemanator dar cu un PLL pe I2C!

Ar trebui sa-ti faci tu placa cu DDS si s-ai pui un filtru mai eliptic mai complex si un AO de frecventa ridicata. Nu cred ca o sa reusesti cu DSPIC pe frecvente intermediare mai mici (pana in 20KHz), altfel pe 455KHz, niciodata.

Spui ca nu-i sensibil, ai masurat sensibilitatea?

Imi place cum suna!

Link spre comentariu

@sebi c, @skaarj, @cipri_muryVa multumesc tuturor pentru aprecieri.@sebi cAm spus mai sus si o repet. Spuriile DDS-ului sunt principiale si provin din trunchierea fazei intre acumulatorul de faza si DAC. Nici mama filtrelor nu rezolva problema. Lucrez la un script Matlab in care sa demonstrez chestia asta intr-un mediu antiseptic, fara imperfectiuni hardware. De exemplu, daca oscilatorul local merge pe 10MHz si am un spur decalat cu 15KHz, ce Q trebuie sa aiba filtrul ala ca sa imi impinga spurul mai jos de -80dBc?"altfel pe 455KHz, niciodata."Nu as fi asa de sigur :) Deja am simulare in Matlab care imi arata ca se poate. De fapt asta e o confuzie frecventa in interpretarea teoremei lui Nyquist. Dar nu insist. O sa o scot pe taraba cand o sa fie gata."ai masurat sensibilitatea?"Inca nu sau mai bine zis inca nu printr-o modalitate de care sa fiu multumit. De ce zic ca nu are sensibilitate? Ptr ca un receptor portabil pus langa lampar parca prinde mai multe posturi.Alta chestie e cum definesc sensibilitatea? Limitata de RSZ sau de amplificare? In general la lampi e cea limitata de amplificare. Parca STAS-ul zicea "Nivelul de intrare ptr. care se obtin 50mW audio la iesire, cu volumul la maxim"Cum masor sensibilitatea?Daca am bara de ferita conectata la placa, cum atasez generatorul? Daca il pun direct in paralel, omor Q-ul intrarii.Sa zicem ca scot bara si pun generatorul direct in G1 a heptodei. Dar in cazul asta pierd castigul in tensiune dat de Q-ul barei de ferita. In modul asta, cu 1mV pe intrare, se aude destul de bine, dar nu puteam sa ma duc mai jos ptr ca nu mergea generatorul.Sa zicem ca fac o bucla in jurul feritei, cu care atac din generator. Sunt dezadaptat ca la Vadu Lat si nici factorul de transfer nu prea il stiu.Ai vreo sugestie?@skaarj"Altfel umbli in consola seriala de fiecare data cand sufli in circuitul oscilant si se duce de pe el caldura disipata de lampa."Am implementat deja o rutina de tracking, dar mai trebuie finisata. Consola seriala e un fel de meniu service. In mod normal de operare, nu ai acces la consola."Cat despre memoria controllerului - te-ai gandit sa incerci un arduino?"Am toata sedevistica pe PIC, asa ca nu trec la Arduino. Am inceput cu PIC ptr ca au fost printre primele cu flash si am ramas cu el. Plus ca nu am nevoie de placi gata facute, ptr ca imi fac placile dupa cum doresc. Pun in schema si pe placa exact ceea ce ma taie capul si ce am nevoie.De cand am postat ultima data a mai curs ceva apa pe Dunare si am trecut la alt procesor ptr ca nu mai era loc in F877. Acum folosesc un PIC18F26K22, care are 64KB de flash si 3KB de RAM si ruleaza la maxim 64MHz pe clock (16MHz ciclu instructiune). Destul de confortabil. Tot softanul e scris in C. Am scris destul in asm. In C iese mai mare, ca nu e optimizat (e XC8-ul free), dar nu ma prea afecteaza.Felicitari ptr proiectul tau. Desi nu postez foarte des, frunzaresc zilnic forumul si ti-am vazut postarile.===========De fapt, de la ultima postare i-am mai adaugat niscai functii pe meniu. La un moment dat am conectat seriala la un Raspberry Pi, am instalat un bridge seriala-TCP in RPi si am invitat niste amici sa se conecteze la el prin internet in linie de comanda ( cu un fel de Telnet), sa schimbe postul, sa citeasca AGC-ul, tensiunea pe varicap, sa afiseze baza de date din EEPROM ... A fost haios. Intre timp, RPi mi-a bulit carteluta de memorie si nu m-am mai ocupat. Una peste alta, e cam finalizat dpdv electric si softan, dar am handicapul cutiilor. Merge greu. O s-o rezolv si probabil ca o sa mai postez o data la Grand Finale cu totul in cutie.Cirip

Editat de cirip
Link spre comentariu

Salut Skaarj,Nu, nu te inteleg gresit. Am lucrat cu si am scris cod ptr. Atmel, MSP430, 8048/8051, Luminary, Renesas si cine mai stie cate alte tzambale, dar ptr acasa/hobby raman cu PIC din comoditate. Merge, serveste scopul, asa ca de ce sa schimb?Abia astept sa-ti vad proiectul finalizat.Spor!Cirip

Editat de cirip
Link spre comentariu

Eu am facut un DDS, dealtfel prezentat pe acest forum acum vreo 4 ani si acum am inceput sa-l utilizez la o sincrodina (RTx) cu retea polyphase. Am fost foarte curios sa aud si eu spurii astia. Am descoperit ceva, dar nu sunt sigur daca e vorba despre ei (nu i-am auzit niciodata). In banda de 80m apar in vreo trei locuri, foarte scurti, in 40m nu i-am gasit de loc, iar in 20m sunt in doua locuri, din care unul e mai puternic. Interesant e ca nu se vad pe S-metru (nu-i ceva foarte fidel). Am pus aici un mic clip sa-mi confirme si mie altii ca e vorba despre ei.

 

DDS e cu AD9850, dar in final va fi cu AD9851. La sincrodina este necesara o frecventa dubla, cu semnal dreptunghiular (folosesc comparator din DDS). DDS are si iesire analogica, semnal amplificat de un AO de la Maxim, cam 1.5Vvv. VFO e cu un ucontroller din familia 8051, AT89S8253. Encoderul e un CI cu senzori Hall, care scoate 256 impulsuri pe revolutie, pe care i-am diminuat cu 4, pentru ca era dificil sa sar din pas in pas. Practic rotesc un magnet mic FI6 magnetizat diametral pe care l-am lipit pe un ax de potentiometru, deasupra CI cu senzori Hall. Se pot alege pasi intre 1..100Hz si pentru o manevrare rapida si inmultit cu 10. Pe afisaj sunt doua frecvente, cu posibilitate de RIT si Shift (una la emisie si alta la receptie).

 

Stiu ca au mai incercat unii folosirea DSPic la modulare/demodulare SSB, dar nu am vazut nimic terminat. In majoritatea transceiver-elor se utilizeaza ultima FI procesata de DSP-uri puternice pe la 15-20KHz. Poate sunt si cu FI mai mare, dar eu nu le stiu!

 

Sensibilitatea se masoara la o borna de antena. Stiu ca multe radiouri cu lampi, pe langa bara de ferita mai aveau si o borna de antena care functiona pe AM-medii. As minti, daca as spune cum sunt facute! Poate cateva spire puse pe bara de ferita ar putea realiza un cuplaj nu foarte strans ca sa-ti distruga Q-ul bobinelor.

 

PS: Clipuri cu sincrodina:

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări