Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Siguranță
  • Analizor de spectru audio LED cu 10 benzi. Analizor de spectru audio cu șapte benzi pe un microcontroler

Analizor de spectru audio LED cu 10 benzi. Analizor de spectru audio cu șapte benzi pe un microcontroler

Schema schematică a blocului de filtru și a preamplificatorului este mai jos în figură. Filtrele sunt setate la următoarele frecvențe: 32Hz, 63Hz, 125Hz, 250Hz, 500Hz, 1kHz, 2kHz, 4kHz, 8kHz, 16kHz.


Placă de circuit imprimat. A fost realizat independent folosind fotorezist.


Recomandări pentru selectarea containerelor - este mai bine să selectați valorile nominale ale containerelor folosind un contor LCR (am folosit E7-22); valorile nominale non-standard au fost obținute în paralel sau secvențial prin colectarea lor din seria standard.

Schema schematică a unei linii de indicatori.

Placa de circuit imprimat in versiuni DIP si SMD se afla toata in arhiva.Am comandat placile din productie pentru ca a fost greu de realizat acasa astfel de dimensiuni (dimensiunea in DIP este de 320x50).
Orice diodă Schottky rapidă poate fi folosită ca diodă. Rezistența rezistențelor pentru LED-uri depinde de tipul de LED-uri utilizate (trebuie să calculați curentul), puteți utiliza orice alte LED-uri cu recalcularea sau modificarea circuitului. DA, mai este o notă - acesta este consumul unei linii, când toate cele 40 de LED-uri sunt activate, linia consumă 40 * 0.02A = 0.8A, iar toate cele 10 linii vor consuma 8A când LED-urile sunt complet activate!! Nu uitați să selectați sursa de alimentare adecvată. Dacă utilizați o sursă de alimentare comutată achiziționată cu mai multe intrări, de regulă, aceasta este +/-12V, +5V, atunci există o nuanță pe care am întâlnit-o: dacă sursele de alimentare cu comutație cu un singur canal în majoritatea nu necesită o sarcină pentru începe, apoi fac cele multicanal, adică. Este necesar să încărcați toate canalele pentru ca sursa de alimentare să pornească.
Înființat.
Setarea este de a seta sensibilitatea tuturor canalelor să fie egală. Ai nevoie de un generator de joasă frecvență și un milivoltmetru de joasă frecvență. Frecvențele generatorului sunt setate secvenţial la 32 Hz, 63 Hz, 125 Hz, 250 Hz. 500 Hz, 1 kHz, 2 kHz, 4 kHz, 8 kHz și 16 kHz. Frecvențele sunt alimentate alternativ la intrarea dispozitivului. În acest caz, un milivoltmetru trebuie conectat paralel cu ieșirea generatorului de joasă frecvență; conform citirilor acestuia, este necesar să se asigure că valorile tensiunii AF furnizate de LFO la toate frecvențele sunt aceleași ( dacă este necesar, reglați regulatorul de nivel de ieșire LFO). Setăm R42 al preamplificatorului în poziția de mijloc și, pornind de la o frecvență de 32 Hz, setăm nivelul tensiunii de ieșire pe LFO la care LED-ul din mijloc al scalei indicatorului se aprinde în poziția de mijloc a lui R2 (32 Hz). bloc de filtrare). Amintiți-vă acest nivel de tensiune de ieșire a LFO. Apoi creșteți frecvența la 64 Hz. Setați același nivel de frecvență joasă de la ieșirea LFO (pe baza milivoltmetrului) și reglați R* în filtrul de 63Hz, astfel încât LED-ul din mijloc al scalei de 63Hz să se aprindă.
Efectuați operațiuni similare la toate celelalte frecvențe. Mai întâi puteți stabili mai precis frecvențele medii ale benzilor determinând frecvența medie a fiecărui filtru prin reglarea frecvenței LFO în anumite limite în raport cu frecvența indicată în diagramă. Apoi, dacă există o diferență semnificativă, reglați frecvența prin schimbarea capacităților condensatorului în consecință.

Câteva fotografii cu procesul de fabricație




Articolul discută despre proiectarea unui analizor de spectru simplu (0 - 10 kHz) pe un microcontroler AVR. Un indicator LCD cu două linii este utilizat ca dispozitiv de afișare. Punctul principal în implementarea acestui proiect nu este hardware-ul, ci software-ul, mai precis implementarea transformării discrete Fourier (DFT) pe un microcontroler de 8 biți. Trebuie remarcat imediat că autorul nu este un expert în acest domeniu și, prin urmare, a început cu elementele de bază - cu o simplă transformată Fourier discretă. Algoritmul rapid de transformare Fourier nu este doar rapid, ci și destul de complex.

Discrete Fourier Transform (în literatura engleză DFT, Discrete Fourier Transform) este una dintre transformările Fourier utilizate pe scară largă în algoritmii de procesare a semnalului digital (modificările sale sunt folosite în compresia audio în MP3, compresia imaginii în JPEG etc.), precum și în alte domenii legate de analiza frecvențelor într-un semnal discret (de exemplu, analog digitizat). Transformata Fourier discretă necesită o funcție discretă ca intrare. Astfel de funcții sunt adesea create prin eșantionare (valori de eșantionare din funcții continue).

Schema de circuit a unui analizor de spectru de semnal audio este foarte simplă și poate fi împărțită într-o parte digitală și analogică.

Partea digitală este formată dintr-un microcontroler și un indicator LCD conectat la acesta. Microcontrolerul este tactat de la un rezonator de cuarț de 16 MHz; tensiunea de alimentare de +5 V este folosită ca tensiune de referință pentru ADC-ul microcontrolerului.
Busul de date al indicatorului LCD este conectat la portul C al microcontrolerului (liniile de intrare/ieșire PC0-PC3), magistrala de control este conectată la portul D (PD5, PD6) al microcontrolerului. Indicatorul funcționează în modul pe 4 biți. Pentru reglarea contrastului se folosește un rezistor variabil cu o valoare nominală de 4,7 kOhm. Pentru a lucra cu indicatorul, au fost create simboluri personalizate pentru a afișa 8 coloane orizontale ale analizorului; aceste simboluri personalizate ocupă toți cei 64 de octeți de RAM ai indicatorului LCD.

Microcontrolerul funcționează de la un rezonator extern de cuarț de 16 MHz.

Partea analogică a dispozitivului este cea mai importantă parte și este un preamplificator al semnalului microfonului electret, a cărui ieșire este conectată la canalul ADC0 al ADC încorporat în microcontroler. Trebuie să setăm nivelul zero la intrarea ADC la exact jumătate din tensiunea de referință, adică. 2,5 V. În acest caz, putem folosi semiunda pozitivă și negativă a semnalului, dar amplitudinea acestuia nu trebuie să depășească limita stabilită, adică. Câștigul trebuie reglat fin pentru a preveni supraîncărcarea. Toate condițiile de mai sus sunt îndeplinite de un microcircuit comun amplificator operațional de mică putere.

Algoritmul DFT este puțin mai lent în comparație cu transformarea rapidă Fourier. Dar analizorul nostru de spectru nu necesită viteză mare, iar dacă poate oferi o rată de actualizare de aproximativ 30 de cadre pe secundă, aceasta va fi mai mult decât suficientă pentru a vizualiza spectrul unui semnal audio. În orice caz, în versiunea noastră este posibilă atingerea unei viteze de 100 de cadre pe secundă, dar aceasta este deja o valoare prea mare a parametrului pentru un indicator LCD cu două linii și nu este recomandată. Frecvența de eșantionare este de 20 kHz pentru o transformată Fourier discretă în 32 de puncte și, deoarece rezultatul transformării este simetric, trebuie să folosim doar prima jumătate, adică. primele 16 rezultate. Prin urmare, putem afișa spectrul de frecvență până la 10 kHz, iar rezoluția analizorului este de 10 kHz/16 = 625 Hz.

Autorul designului a făcut încercări de a crește viteza calculelor DFT. Dacă această transformare are N puncte, atunci trebuie să găsim N2/2 valori ale sinusului și cosinusului. Pentru transformarea noastră în 32 de puncte trebuie să găsim 512 valori sinus și cosinus. Dar, înainte de a le găsi, trebuie să calculăm unghiul (grade), care va dura ceva timp CPU, așa că s-a decis să folosim tabele de valori pentru aceste calcule. Când se calculează în programul de microcontroler, nu se folosesc numere cu virgulă mobilă și cu precizie dublă, deoarece procesarea va dura mai mult pe un microcontroler pe 8 biți. În schimb, valorile din tabelele de căutare folosesc date întregi pe 16 biți înmulțite cu 10000. Apoi, după efectuarea conversiei, rezultatele sunt împărțite la 10000. Cu această abordare, este posibil să se efectueze 120 de conversii de 32 de puncte per fiecare în al doilea rând, ceea ce este mai mult decât suficient pentru dispozitivele noastre.

Ce crezi că fac fetele când se întâlnesc? Merg la cumpărături, fac poze, merg la saloane de înfrumusețare? Da, este, dar nu toată lumea o face. Acest articol va vorbi despre modul în care două fete au decis să asambleze un dispozitiv radio-electronic cu propriile mâini.

De ce un analizor/vizualizator de spectru?

La urma urmei, există destul de multe soluții software pentru această problemă și există, de asemenea, multe opțiuni pentru implementarea hardware. În primul rând, îmi doream foarte mult să lucrez cu un număr mare de LED-uri (deoarece asamblasem deja câte un cub LED, fiecare pentru noi, dar de dimensiuni mici), în al doilea rând, să pun în practică cunoștințele acumulate în procesarea digitală a semnalului și, în al treilea rând, în al treilea rând, exersați din nou lucrul cu un fier de lipit.

Dezvoltarea dispozitivului

Deoarece a lua o soluție gata făcută și a o face strict conform instrucțiunilor este plictisitor și neinteresant, așa că am decis să dezvoltăm singuri circuitul, bazându-ne doar puțin pe dispozitivele deja create.

A fost aleasă ca afișaj o matrice LED de 8x32. A fost posibil să folosim matrici LED 8x8 gata făcute și să le asamblam din ele, dar am decis să nu ne refuzăm plăcerea de a sta seara cu un fier de lipit și, prin urmare, am asamblat singuri afișajul din LED-uri.

Pentru a controla afișajul, nu am reinventat roata și am folosit un circuit de control cu ​​afișaj dinamic. Acestea. au ales o coloană, au aprins-o, restul coloanelor s-au stins în acel moment, apoi au ales-o pe următoarea, au aprins-o, restul s-au stins etc. Datorita faptului ca ochiul uman nu este perfect, putem vedea o imagine statica pe display.
Luând calea cu cea mai mică rezistență, s-a decis că ar fi rezonabil să se transfere toate calculele la controlerul Arduino.

Activarea unui anumit rând într-o coloană se face prin deschiderea tastei corespunzătoare. Pentru a reduce numărul de pini de ieșire al controlerului, selecția coloanei are loc prin intermediul decodoarelor (astfel, putem reduce numărul de linii de control la 5).

Conectorul TRS (mini-jack 3,5 mm) a fost ales ca interfață pentru conectarea la un computer (sau alt dispozitiv capabil să transmită un semnal audio).

Asamblarea dispozitivului

Începem asamblarea dispozitivului făcând o machetă a panoului frontal al dispozitivului.

Materialul ales pentru panoul frontal a fost plastic negru de 5mm grosime (intrucat si diametrul lentilei diodei este de 5mm). Marcam în funcție de aspectul dezvoltat, tăiem panoul frontal la dimensiunea necesară și facem găuri în plastic pentru LED-uri.

Astfel, obținem un panou frontal gata făcut pe care display-ul poate fi asamblat.

Ca LED-uri pentru matrice au fost folosite LED-uri cu două culori (roșu-verde) cu un catod comun GNL-5019UEUGC. Înainte de a începe asamblarea matricei, urmând regula „controlul suplimentar nu va dăuna”, toate LED-urile, și anume 270 buc. (luate cu rezervă pentru orice eventualitate), au fost testate pentru funcționalitate (în acest scop a fost asamblat un dispozitiv de testare, inclusiv un conector, o rezistență de 200 Ohm și o sursă de alimentare de 5V).

Apoi, îndoim LED-urile după cum urmează. Îndoim anozii diodelor roșii și verzi într-o direcție (spre dreapta), îndoim catodul în cealaltă direcție, asigurându-ne în același timp că catodul este mai jos decât anozii. Și apoi îndoim catodul în jos la 90°.

Începem asamblarea matricei din colțul din dreapta jos și o asamblam în coloane.

Amintindu-ne de regula „controlul suplimentar nu poate strica”, după una sau două coloane lipite, verificăm funcționalitatea.

Matricea finită arată așa.

Vedere din spate:

Conform circuitului dezvoltat, lipim circuitul de control pentru rânduri și coloane, lipim cablurile și spațiul pentru Arduino.

S-a decis să se afișeze, de asemenea, nu numai spectrul amplitudine-frecvență, ci și spectrul fază-frecvență și, de asemenea, selectarea numărului de mostre pentru afișare (32,16,8,4). Pentru aceasta, au fost adăugate 4 comutatoare: unul pentru a selecta tipul de spectru, două pentru a selecta numărul de mostre și unul pentru a porni și opri dispozitivul.

Scrierea unui program

Încă o dată ne respectăm regula și ne asigurăm că afișajul nostru este în stare de funcționare completă. Pentru a face acest lucru, scriem un program simplu care aprinde complet toate LED-urile de pe afișaj. Desigur, din cauza legii lui Murphy, mai multe LED-uri nu aveau curent și trebuiau înlocuite.

După ce ne-am asigurat că totul funcționează, am început să scriem codul programului principal. Acesta constă din trei părți: inițializarea variabilelor necesare și citirea datelor, obținerea spectrului de semnal utilizând transformarea Fourier rapidă și ieșirea spectrului rezultat cu formatarea necesară pe afișaj.

Asamblarea dispozitivului final

La sfârșit avem un panou frontal, iar sub el sunt o grămadă de fire care trebuie acoperite cu ceva, iar întrerupătoarele trebuie fixate pe ceva. Înainte de aceasta, au existat gânduri de a face un corp din plastic rămas, dar nu prea înțelegeam cum va arăta și cum să o facem. Soluția problemei a venit destul de neașteptat. După o plimbare prin magazinul de hardware, am găsit un ghiveci de flori din plastic care avea, surprinzător, dimensiunea perfectă.

Tot ce a mai rămas de făcut a fost să marcați găurile pentru conectori, cabluri și întrerupătoare și, de asemenea, să decupăm două panouri laterale din plastic.

Ca rezultat, punând totul împreună și conectând dispozitivul la computer, am obținut următoarele:

Spectru amplitudine-frecvență (32 de puncte):

Spectru amplitudine-frecvență (16 puncte):

Spectru amplitudine-frecvență (8 puncte):

Spectru amplitudine-frecvență (4 puncte):

Spectru fază-frecvență:

Vedere panou din spate:

Video cu funcționarea dispozitivului

Pentru o mai mare claritate, videoclipul a fost filmat în întuneric. În videoclip, dispozitivul afișează spectrul amplitudine-frecvență, iar apoi la 7 secunde îl comutăm în modul spectru fază-frecvență.

Lista articolelor necesare

  1. LED-uri GNL-5019UEUGC – 256 buc. (Pentru afișare)
  2. Tranzistoare N-p-n KT863A – 8 buc. (Pentru managementul șirurilor)
  3. Tranzistoare pnp C32740 – 32 buc. (Pentru a gestiona coloanele)
  4. Rezistoare 1kOhm – 32 buc. (Pentru a limita curentul de bază al tranzistorilor pnp)
  5. Decodoare 3/8 IN74AC138 – 4 buc. (Pentru a selecta o coloană)
  6. Decodoare 2/4 IN74AC139 – 1 buc. (Pentru decodoare în cascadă)
  7. Placa de montare 5x10cm – 2 buc.
  8. Bucle
  9. Arduino Pro micro – 1 buc.
  10. Conector mini-jack de 3,5 mm – 1 buc.
  11. Comutator – 4 buc.
  12. Plastic negru 720*490*5 mm – 1 foaie. (Pentru panoul frontal)
  13. Ghiveci de flori negru 550*200*150 mm – 1 buc. (Pentru corp)

Acest proiect este o continuare logică a proiectului „Unitate de control a tonului cu control microcontroler pe TDA8425”. Pentru a extinde funcționalitatea, vă sugerez să construiți un analizor de spectru audio simplu. Analizorul de spectru procesează semnalul și își arată intensitatea în anumite game de frecvență pe scale LED. Deci, mai jos este o diagramă a dispozitivului.

Inima dispozitivului este un microcontroler de la MICROCHIP. Acesta este un nou reprezentant al familiei de microcontrolere Flash cu 8 pini. MICROCHIP continuă să dezvolte și să producă produse avansate care oferă utilizatorului o mai mare funcționalitate și fiabilitate. Controlerul PIC12F675 combină toate avantajele arhitecturii microcontrolerului PICmicro și flexibilitatea memoriei programelor Flash. La un preț mic și dimensiuni reduse, acest controler oferă funcționalități și ușurință de utilizare care nu erau disponibile anterior.

Semnalul audio este alimentat la intrarea microcircuitului - un filtru de trecere de bandă simultan al corporației japoneze ROHM. BA3834F are șapte filtre trece-bandă: 68Hz, 170Hz, 420Hz, 1000Hz, 2400Hz, 5900Hz, 14400Hz. Selectarea filtrului adecvat este efectuată de microcontrolerul PIC12F675.

Semnalul de ieșire de la fiecare filtru trece-bandă este digitizat de microcontroler și transmis către cipurile driverului (registru de deplasare serial cu blocare a ieșirii). La rândul său, combinația de semnale de pe 74HC595 aprinde LED-urile corespunzătoare. LED-urile sunt grupate într-o matrice de 7 coloane „X” și 16 rânduri „Y” cu un anod comun. Total 112 LED-uri.

Analizorul de spectru este asamblat structural pe două plăci - control și indicare. Mai jos este un desen și o fotografie a plăcii de control.


Desenele plăcilor de circuite imprimate sunt pe o singură față; sunt produse prin orice metodă disponibilă, de exemplu LUT. Vă rugăm să rețineți - cipul BA3834F este într-un pachet SOP18. Se montează pe marginea căii utilizând montaj la suprafață. Mai jos este un desen și o fotografie a panoului de afișare.

Anozii LED sunt conectați unul la altul deasupra suprafeței plăcii și lipiți de plăcuțele de contact. Pentru o conexiune mai comoda s-au folosit conectori tip PLS (un singur rând cu pas de 2,54 mm); În consecință, cablul va avea nevoie de prize cu contacte de tip BLS (un singur rând cu pas de 2,54 mm) și de o sertizare 6PK-301U (cleste de sertizare) pentru etanșarea conectorilor de pe cablu.

Cele mai bune articole pe această temă