Sari la conținut
ELFORUM - Forumul electronistilor

Frecventmetru 1Hz - 2.5GHz cu STM32


Postări Recomandate

Salut,
In sfarsit am terminat noul meu proiect de frecventmetru cu microcontroller ARM si as vrea sa vi-l prezint.
Metoda de masurare este diferita de masurarea directa a frecventei sau masurarea directa a perioadei si confera precizie egala, indiferent de frecventa masurata. De altfel, metoda de masurare se mai numeste si "multi-cycle synchronous frequency measurement", iar facilitatea sa esentiala este aceea ca semnalul de poarta nu trebuie sa fie de valoare exacta ci o valoare aflata in relatie cu semnalul de masurat, mai precis, cu un numar intreg, multiplu al frecventei de masurat.
Principial, acest frecventmetru presupune ca semnalul de referinta si semnalul de masurat sa fie contorizate sincron si in acelasi timp, frecventa urmand a fi calculata pe baza formulei matematice:
 Fx = (Nx/Nref) x Fref. 
Potrivit aceluiasi principiu de masurare este eliminata eroarea de +/- 1 perioada a semnalului de masurat, insa va avea o eroare de +/- 1 perioada a semnalului de referinta.
Pentru materializarea acestui deziderat am folosit un microcontroller STM32F411RCT6 care are doua timere de 32 de biti, din care unul, TIM2, contorizeaza impulsurile provenite de la semnalul de masurat, iar celalalt, TIM5, contorizeaza impulsurile semnalului de referinta. Ambele timere sunt activate sincron de semnalul de sincronizare provenit de la formatorul de semnal sincron format din circuitele 74LVC1G04 (poarta NOT), 74LVC1G175 (bistabil de tip D) si 74LVC1G08 (poarta AND).
Ceasul STM32F411RCT6 este asigurat de un oscilator VCTCXO de la Abracon, frecventa acestuia find de 20MHz si precizie de 200ppb (nu este corect, valoarea reala este de 0.5ppm sau 500ppb), iar prin intermediul multiplicarii prin PLL intern microcontroller-ului ajunge la 100MHz si se formeaza astfel si semnalul de referinta.
Vorbeam mai sus de semnalul de poarta, acesta nu este de o valoare fixa, si se poate selecta dintre 4 valori aproximative 100ms, 1s, 2s si 5s prin actionarea encoderului aflat pe panoul frontal si apasarea butonului situat pe axul central.
Selectia intervalului de frecvente masurabile (1Hz - 45MHz si 20 - 2500MHz) se face tot prin apasarea axului central al encoderului si este semnalizata prin aprinderea ledului de pe panoul frontal.
Etajul de intrare si formatorul de semnal pentru gama 1Hz - 45MHz este o adaptare a celui folosit in frecventmetrul HP 5381 si accepta semnale de la 50mVpp la 1.9Vpp  si nu este prevazut cu atenuator (cel putin pentru scopul pe care il am in vedere).
Etajul de intrare si formatorul de semnal pentru gama 20 - 2500MHz are in componenta un amplificator MMIC ERA-1SM, un prescaler cu factor de divizare 64 si un 74LVC1G04 ca formator de semnal dreptunghiular si accepta semnale cuprinse intre -10dBm si 10dBm.

Modulul de afisare este din cele ce se gasesc pe ebay cu MAX7219 si este amplasat pe un cablaj separat, impreuna cu encoderul, ledul si conectoarele aferente.
Imagine de asamblu: 

 

IMG_20210727_1151430comp.jpg.5e54823fc7a609243c0bcb880644dca0.jpg

 

Placa de baza a frecventmetrului:

IMG_20210727_1152037comp.jpg.e8b64b0fbfcd7f9153b4518f65e339d3.jpg

 

Etajul de intrare 20MHz - 2500MHz:

 

IMG_20210727_1153005comp.jpg.da724a9880dba503c6a8d000b23e33f5.jpg

 

Gama 1Hz - 45MHz:                                                                   Gama 20 - 2500MHz

IMG_20210727_1153489compre.jpg.ed9bc7c5a5733266b809db389c33af67.jpg        IMG_20210727_1154097compre.jpg.0036fbdd99a19cafadb74bec9ee14bf5.jpg

 

Semnal cu frecventa de 2GHz:

 

IMG_20210727_1158205compre.thumb.jpg.efda3189a736593c27e2618a63a5c231.jpg

 

Semnal cu frecventa de 35MHz intrare VHF:                                       Acelasi semnal aplicat pe intrarea UHF:

 

IMG_20210727_1159474compre.thumb.jpg.f40c74ddb9cd6c873a9c77906ee70921.jpg          IMG_20210727_1159252compre.thumb.jpg.e099544237273f52706ea4b44d76db24.jpg

 

Mai ramane sa ii aplic masca pe panoul frontal si cu asta am cam terminat cu el.

Fisierul hex:   Rec_FCV_F411RCT6.rar

Si desenele proiectului realizat in KiCad (doar placa de baza si placa cu afisorul):

 

Etaje intrare.pdf

Placa baza FCV_STM32F411RCT6.pdf

panou_display_FCV.pdf

 

 

Link spre comentariu
  • Răspunsuri 21
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

Cit estimezi ca are stabilitatea?

Ce referinta de frecventa utilizezi? Ai spus cite ceva in primul post dar n-am inteles prea bine si n-am chef sa reiau si sa incerc sa inteleg de acolo.

Ai 8 cifre afisate. Virgula este fixa sau mobila? Adica de fapt vreau sa intreb daca afiseaza permanent cu numarul maxim de cifre posibile (autoscalare pe ecran).

 

Editat de sesebe
Link spre comentariu

Stabilitatea este data de stabilitatea oscilatorului cu quartz si din ce vad pe foaia de catalog a oscilatorului ar fi de +/-0.5ppm, nu cum gresit am scris 200ppb.

Virgula este mobila doar in gama VHF, asa cum se poate vedea in fotografiile de mai sus. In gama UHF nu este prevazut cu virgula mobila, rezolutia find de 100Hz. 

Link spre comentariu
7 hours ago, nico_2010 said:

semnalul de poarta nu trebuie sa fie de valoare exacta ci o valoare aflata in relatie cu semnalul de masurat, mai precis, cu un numar intreg, multiplu al frecventei de masurat.


Poti detalia te rog ?

 

Link spre comentariu
12 hours ago, Liviu M said:

Inca nu m-am prins cum poti masura 2.5 GHz cu 100 MHz, da' asta e problema mea, mai am de studiat. :)

 

Nu am citit nici eu bine din prima :57, dar a scris clar omul:

 

19 hours ago, nico_2010 said:

Etajul de intrare si formatorul de semnal pentru gama 20 - 2500MHz are in componenta un amplificator MMIC ERA-1SM, un prescaler cu factor de divizare 64 si un 74LVC1G04 ca formator de semnal dreptunghiular si accepta semnale cuprinse intre -10dBm si 10dBm.

Modulul de afisare este din cele ce se gasesc pe ebay cu MAX7219 si este amplasat pe un cablaj separat, impreuna cu encoderul, ledul si conectoarele aferente.

Etajul de intrare 20MHz - 2500MHz:

 

IMG_20210727_1153005comp.jpg.da724a9880dba503c6a8d000b23e33f5.jpg

       

 

 

 

@nico_2010 sa te felicit moldoveneste: ii piz.a montajul!!! :aplauze

Link spre comentariu

intrarile la STM32F411RCT6 merg la 100Hz iar CLK intern e de 100MHz. Deci asta inseamna ca microcontrolerul poate masura direct semnale pana la 100MHz. Tot din cauza ca intrarile merg la 100MHz, mai poate masura un semnal de 1Hz cu o precizie de 8 zecimale si o eroare de 0.00000001Hz, iar o frecventa de 1000Hz o poate masura cu o precizie de 5 zecimale. Si nu e nevoie de nici un calcul sau artificiu de calcul. Doar o simpla conversie a unui numar din binar in zecimal pentru a fi afisat. Foarte avantajoase sunt timerele pe 32 biti care merg si ele la 100MHz si care te scutesc de dezavantajele timerelor pe 16 biti. Practic, microcontrolerul asta e un frecventmetru complet care merge la 100MHz la doar 3$ :aplauze Enervant e numarul mare de pini (versiunea cu 48 pini parea a fi cea mai buna, pana am vazut tipul carcasei). Am niste convertoare AD pe 16 biti care merg la 250MHz si pe care nu le folosesc tot din cauza numarului mare de pini :nerv Au doar 100 pini.

La frecvente mici de sub 100Hz uneori zecimalele sunt folositoare. Dar la frecvente mari de peste 10Mhz sunt mai putin folositoare. Iar daca oscilatorul nu e termostatat, orice variatie de temperatura face ca frecventa sa se modifice.

 

Partea cea mai dificila atunci cand inveti un microcontroler nou, e ca trebuie sa te apuci sa inveti paginile cu organizarea memoriei SFR sau a registrilor, cum mai spune in unele datasheet-uri, altfel nu stii cum sa il folosesti. Si ca bonus, astia de la ST sunt foarte imprastiati. Ai nevoie de zeci de pdf-uri ca sa ai functionarea completa si in detaliu a unui microcontroler.

 

Editat de cimitavita
Link spre comentariu

Alătură-te conversației

Poți posta acum și să te înregistrezi mai târziu. Dacă ai un cont, autentifică-te acum pentru a posta cu contul tău.
Notă: Postarea ta va necesita aprobare moderator înainte de a fi vizibilă.

Vizitator
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Răspunde la acest subiect...

×   Alipit ca text avansat.   Restituie formatare

  Doar 75 emoji sunt permise.

×   Linkul tău a fost încorporat automat.   Afișează ca link în schimb

×   Conținutul tău precedent a fost resetat.   Curăță editor

×   Nu poți lipi imagini direct. Încarcă sau inserează imagini din URL.




×
×
  • 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