Përmbajtje:
- Hapi 1: Fitoni pjesë
- Hapi 2: Planifikimi i Komponentëve Layout
- Hapi 3: Montimi
- Hapi 4: Përpiloni dhe ngarkoni firmuerin
- Hapi 5: Kuptoni qarkun
- Hapi 6: Funksionimi i pajisjes
Video: MSP430 Analizuesi i spektrit të audios së Breadboard: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:26
Ky projekt bazohet në mikrofon dhe kërkon përbërës minimalë të jashtëm. 2 qeliza të monedhës LR44 përdoren në mënyrë që të mund të kem të gjithë strukturën që punon në kufijtë e një mini panoramë me 170 pika lidhëse. ADC10, TimerA ndërpret zgjimin e LPM, Timer Një dalje si PWM, përdorimi i butonave, aritmetika e plotë janë përdorur dhe demonstruar.
Karakteristikat
- Mostra të plota 8 bit FFT 16 mostra në ndarje 500Hz
- tregon 8 amplituda 1K, 1.5K, 2K, 3K, 4K, 5K, 6K, 7.5K jo-lineare
- harta logaritmike e pjesshme për të treguar amplituda, e kufizuar pasi rezolucioni është zvogëluar për FFT 8 bit
- TLC272 përforcohet me një mikrofon me një rritje në 100x herë 100x (mund të përjetoni me 2 faza)
- menyja e zgjedhur dritare Hamming opsionale
- menyja rregullon shkëlqimin në 4 nivele
- menuja rregullon 8 nivele norma e mostrës / koha e përgjigjes
- 2 qeliza monedhash LR44 të mundësuara "në bord"
Hapi 1: Fitoni pjesë
Më poshtë janë ato që nevojiten për këtë projekt
- MSP430G2452 (çipi shtesë nga TI Launchpad G2, ose ndonjë MCU seri 4K 20 pin MSP430G)
- një mini breadboard 170 ose pika bordi për ndërtimin e para-amp
- TLC272 Përforcues i dyfishtë
- mini mikrofon elektrik
- 47k (tërheqje), 100k, 2 x 10k, 1k rezistorë
- 1 x 0.1uF
- telat e kërcyesit
- kokë me kunj mashkullor me dy rreshta që do të përdoret për mbajtësen e baterisë
- 2 x bateri me qeliza monedhe LR44
Hapi 2: Planifikimi i Komponentëve Layout
Projekti do të ndërtohet në një miniboard me 170 pika lidhëse. Paraqitja e përbërësve është siç tregohet më poshtë. Vërejtje e veçantë është se matrica LED 8x8 duhet të vendoset në krye të MSP430 MCU. Përveç komponentëve, ka edhe tela lidhës të kërcyesit të përshkruar nga karaktere "+------+".
G V + Gnd (paraqitja në 1 fazë) NE E P USRDORIM KIST L LLOJ + =================================== =================+ c0 ………… c7 | MIC Me Me Me Me Me Me + -----++-+. Me Me Me | r0 o o o o o o o | o || o + ----- [100k] --------------- +. Me Me Me Me | r1 X o o o o o o | Me +--------------+-+. C7 C6 R1 C0 R3 C5 C3 R0 | Me o o o o o o o | Me Me Me Me Me Me | Me Me | b6 a7 | | c0 dhe r1 ndan të njëjtën pin dhe nuk do të shfaqet | + +-+-+-+| +-+-+-+-+-+-+-+-+-+| *aplikim i mundshëm që të ketë c6 + c0 + r1 | | | V+ | | | G b6 b7 T R a7 a6 b5 b4 b3 | | kjo do të lirojë b6 për orën xtal 32khz | | | TLC272 | | | | | | | jashtë - + G | | |+ a0 a1 a2 a3 a4 a5 b0 b1 b2 | | | + +-+-+-+| +-+-+-+-+-+-+-+-+-+| | o || o o o. +-+. Me R4 R6 C1 C2 R7 C4 R5 R2 | | Me Me Me Me o- [10k]-o. Me Me Me Me Me Me Me Me | | Me o- [1k] o o o. Me Me Me Me Me Me Me Me._. | | o ---- [10k] ----------- o. Me Me Me Me Me Me o o | +================================================== ====+.1uF 100k 10k butoni ADC+ -----------------+
ne po përdorim vetëm një fazë të TLC272
Hapi 3: Montimi
Mund të filloni të vendosni përbërës bazuar në paraqitjen e bordit të bukës. Siç është arti ASCII, mund të mos jetë shumë i qartë. Ju mund të çiftoni me fotot në këtë hap për të identifikuar të gjitha lidhjet.
Duhet pasur kujdes për të pozicionuar patate të skuqura IC. Zakonisht ka një pikë në njërën nga qoshet për të treguar pin 1 të një pajisjeje.
Unë kisha përdorur telat e kabllove CAT5 ethernet dhe ato janë shumë të lehta për tu punuar në projekte të bukës. Nëse keni kabllo të vjetër CAT5, mund ta prishni dhe do të gjeni se ka 6 tela të përdredhur brenda. Ato janë perfekte për pjatat e bukës.
Hapi 4: Përpiloni dhe ngarkoni firmuerin
Kodi burim zakonisht qëndron në depot e mia github.
Për këtë projekt të veçantë, skedari i vetëm burimi C nfft.c është i bashkuar në depon e koleksioneve të mia të bukës. Ju duhet vetëm nfft.c
Unë jam duke përdorur mps430-gcc për të përpiluar firmware, por duhet të shkojë mirë me TI CCS. Ju mund të shmangni të gjitha problemet e instalimit të IDE ose përpiluesve duke shkuar në cloud TI CCS, i cili është një IDE i bazuar në internet. Ai madje do të shkarkojë firmware -in në pajisjen tuaj të synuar.
Ky është një shembull përpilimi i komandës me ndërprerës
msp430 -gcc -Os -Wall -funksionet -seksionet -fdata -seksionet -fno -inline -small -کوچک -funksionet -Wl, -Hap = nfft.map, -cref -Wl, --relax -Wl, --gc- seksionet -I/energia -0101E0016/hardware/msp430/cores/msp430 -mmcu = msp430g2553 -o nfft.elf nfft.c
Unë jam duke përdorur një TI Launchpad G2 si programues për të programuar MCU.
Hapi 5: Kuptoni qarkun
Skema e qarkut është paraqitur më poshtë
MSP430G2452 ose të ngjashme, keni nevojë për 4K Flash TLC272 Dual Op-Amp, GBW @1.7Mhz, @fitim x100, gjerësi brezi deri në 17Khz
* ne po përdorim vetëm një fazë të TLC272
._.
| MSP430G2452 | Vcc | | | + ----------------------- 2 | ADC0 | 1-+ | | | | | Vcc | | | | tërheqës (47k) Vcc Vcc | --------------- | | | | _ | | | +-1 | ----. Vcc | 8-+ | | | | | | | ^.--- | 7 | | 16-+ | | 10k | | 10k | | | / / ^ | | | | _ | | _ | 100k | _ | | / _+\ / / | | /| --- (shih paraqitjen e dërrasës së bukës) |.1u | | | | | /_+\ | | / | ------_+-|| --- |-[1k]-+-2 | ---+| | | | | 15 GPIO | | | | +---------- 3 | ----- + +-|-| 6 | P1.1-P1.7 | | 8x8 | | | +-4 | Gnd +-| 5 | P2.0-P2.7 | | LED | |+ | | --------------- | | | matricë | ((O)) |. | | / | | _ | | MIC | | 10k | +-20 | Gnd / | -------- | | _ | | | | _ | _ | _ _ | _ _ | _ _ | _ /// /// /// ///
Drejtimi i LED
Matrica LED është me 8 x 8 elementë. Ato drejtohen nga 15 kunja GPIO. Ato janë të shumëfishta me 8 rreshta dhe skemë me 8 kolona. Meqenëse ka vetëm 15 kunja pasi përdorim 1 pin për hyrje ADC, multipleximi ka rreshtin 1 dhe kolonën 0 që ndajnë një kunj të vetëm. Kjo do të thotë që LED i veçantë në rreshtin 1 dhe kolonën 0 nuk mund të ndizet. Ky është një kompromis pasi thjesht nuk ka kunja të mjaftueshme GPIO për të drejtuar të gjithë elementët LED.
Regjistrimi i zërit
Tingulli kapet nëpërmjet mikrofonit të kondensatorit në bord në BoosterPack Educational. Meqenëse sinjalet e mikrofonit janë të vogla, ne duhet ta përforcojmë atë në një nivel që msp430 ADC10 mund ta përdorë me një rezolucion të arsyeshëm. Unë kisha përdorur një përforcues op-amp me dy faza për këtë qëllim.
Përforcuesi op-amp përbëhet nga dy faza, secila fitim rreth 100x. Unë kisha miratuar TLC272 pasi është gjithashtu një pjesë shumë e zakonshme dhe funksionon w/ 3V. Gjerësia e brezit të fitimit është rreth 1.7Mhz do të thotë që për fitimin tonë prej 100x, ne vetëm mund të garantojmë se do të funksionojë bukur (dmth. Të ruajë fitimin që duam) nën 17Khz. (1.7Mhz / 100).
Fillimisht kam ndërmend ta bëj këtë analizues spektri deri në 16-20Khz, por në fund kam gjetur se rreth 8Khz është mjaft i mirë për të treguar muzikë. Kjo mund të ndryshohet duke zëvendësuar LM358 me diçka të vlerësuar me audio dhe duke ndryshuar shkallën e marrjes së mostrave. Thjesht shikoni për gjerësinë e brezit të fituar të op-amps që zgjidhni.
Marrja e mostrave dhe FFT
Funksioni FFT i përdorur është kodi "fix_fft.c" që shumë projekte kishin miratuar, ai ka qarkulluar në internet për disa vjet. Kisha provuar një version 16 bit dhe një version 8 bit. Përfundimisht u vendosa për versionin 8 bit pasi për qëllimin tim, nuk pashë një përparim të madh në versionin 16 bit.
Unë nuk kam një kuptim të mirë të mekanizmit FFT përveç se është një fushë kohe në konvertimin e domenit të frekuencës. Kjo do të thotë që shkalla (koha) e mostrave të zërit, pasi të ushqehet me funksionin e llogaritjes FFT, do të ndikojë në frekuencën e amplitudës që po marr si rezultat. Pra, duke rregulluar shkallën në mostrën e zërit, unë mund të përcaktoj brezin e frekuencës si rezultat.
KohëmatësiA 0 CCR0 përdoret për të mbajtur kohën e marrjes së mostrës. Ne së pari përcaktojmë numërimet që na duhen për të arritur frekuencën e brezit (korrespondon me shkallën tonë të orës DCO prej 16Mhz). dmth TA0CCR0 vendosur në (8000/((BAND_FREQ_KHZ*2))-1; ku BAND_FREQ_KHZ është 8 për mua. Mund të ndryshohet nëse keni një op-amp më të mirë dhe / ose dëshironi që të jetë ndryshe.
Brezat e Frekuencës dhe Shkallëzimi i Amplituda
Firmware përpunon 16 breza në një spastrim, dhe koha e kapjes prodhon ndarje 500Hz midis këtyre bankave. Matrica LED është me 8 kolona dhe do të shfaq vetëm 8 breza / amplituda. Në vend që të shfaqet një në çdo dy breza, një listë e brezave të frekuencave jo-lineare përdoret për të treguar brezat më dinamikë të frekuencave (për sa i përket muzikës). Lista është e boshllëqeve 500Hz në fund të ulët, boshllëqet 1KHz në brezat e mesëm dhe brezat 1.5Khz në nivelet e larta.
Amplituda e brezave individualë zvogëlohet në 8 nivele, të cilat përfaqësohen nga numri i "pikave" horizontale në ekranin e matricës LED. Nivelet e amplitudës zvogëlohen përmes një harte jo-lineare që përkthen rezultatet FFT në një nga 8 pika Një lloj shkallëzimi logaritmik përdoret pasi përfaqëson më së miri perceptimin tonë për nivelet e zërit.
Ekziston logjika e integruar AGC dhe analizuesi i spektrit do të përpiqet të zvogëlojë nivelet e amplitudës kur të ketë nivele të shumta kulmi të zbuluara në ciklet e mëparshme. Kjo bëhet me një sundimtar rrëshqitës që krahason tabelën.
Hapi 6: Funksionimi i pajisjes
- Shtypja e shkurtër e butonit në modalitetin e ekranit kalon pa shfaqur pikë, një pikë, 2 pika dhe 3 pika.
- Shtypja e gjatë hyn në modalitetin e konfigurimit, shtypja e mëvonshme e gjatë rrotullohet përmes menysë.
- Ciklet e artikujve të menusë përmes 'Option Hamming Window', 'Dimmer', 'Sampling / Refresh Rate'.
- Në modalitetin e konfigurimit të 'Hamming Window', shtypjet e shkurtra kalojnë pa cekër, çekan 1, çekan 2, çekan 3, shtypja e gjatë konfirmon cilësimin.
- Në modalitetin e konfigurimit "Dimmer", shtypjet e shkurtra kalojnë nëpër nivelet e disponueshme të shkëlqimit nga 0 në 3, shtypja e gjatë konfirmon cilësimin.
- Në modalitetin e konfigurimit "Shkalla e marrjes së mostrës / rifreskimit", shtypjet e shkurtra kalojnë nëpër ritmet e disponueshme të rifreskimit nga 0 në 7, 0 do të thotë pa vonesë, shtypja e gjatë konfirmon cilësimin.
- Multipleksimi i segmentit të udhëhequr përfshin vonesat në kohë për të kompensuar ndryshimet e shkëlqimit për rreshtat individualë.
Recommended:
Analizuesi i spektrit audio të DIY FFT: 3 hapa
DIY FFT Audio Spectrum Analyzer: Analizuesi i spektrit FFT është një pajisje testimi që përdor analizën Furier dhe teknikat dixhitale të përpunimit të sinjalit për të siguruar analizën e spektrit. Duke përdorur analizën Furier është e mundur që një vlerë, për shembull, në fushën e vazhdueshme kohore të jetë konvergjente
Analizuesi i spektrit të sinjalit audio Arduino DIY: 3 hapa
DIY Arduino Audio Signal Spectrum Analyzer: Ky është një analizues audio shumë i thjeshtë me mënyra të ndryshueshme vizuale
Analizuesi i spektrit audio (VU Meter): 6 hapa
Analizuesi i spektrit audio (VU Meter): Çfarë është muzika? Nga pikëpamja teknike, muzika është në thelb një sinjal me tension dhe frekuencë të ndryshme. Analizuesi i spektrit audio është një pajisje që tregon nivelin e tensionit të një frekuence të veçantë. Shtë një instrument i përdorur kryesisht në vende si
Analizuesi i vëllimit të Neopixel Strip LED: 4 hapa
LED Neopixel Strip Volume Analyzer: Unë kisha një shirit rezervë Neopixel të shtrirë përreth dhe mendova se do të ishte mirë të bëja një analizues spektri për sistemin tim zanor. Po supozoj se jeni njohur me mjedisin e zhvillimit arduino, nëse jo atëherë ka shumë mësime atje. Shënim: Kjo
Analizuesi i spektrit: 4 hapa
Analizuesi i spektrit: Ky projekt ishte për 'Elektronikë Krijuese', një modul i Inxhinierisë Beng Elektronikë në vitin e 4-të në Universitetin e Malaga, Shkolla e Telekomunikacionit (https://www.uma.es/etsi-de-telecomunicacion/). Projekti është hartuar dhe montuar nga Carl