Jump to content
ELFORUM - Forumul electronistilor

Frecventmetru 1Hz - 2.5GHz cu STM32


nico_2010
 Share

Recommended Posts

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 to comment
Share on other sites

  • Replies 21
  • Created
  • Last Reply

Top Posters In This Topic

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).

 

Edited by sesebe
Link to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

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.

 

Edited by cimitavita
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share




×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines