Obsah:
- Krok 1: Získajte diely
- Krok 2: Naplánujte rozloženie komponentov
- Krok 3: Zostavenie
- Krok 4: Zostavte a načítajte firmvér
- Krok 5: Pochopte obvod
- Krok 6: Ovládanie zariadenia
Video: Analyzátor zvukového spektra Breadboard MSP430: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Tento projekt je založený na mikrofóne a vyžaduje minimum externých komponentov. Používajú sa 2 mincové bunky LR44, aby som mohol celú štruktúru pracovať v medziach 170 dvojbodového mini breadboardu. Použité a predvádzané sú ADC10, TimerA prerušenie LPM prebudenie, TimerA výstup podobný PWM, použitie tlačidla, celočíselná aritmetika.
Vlastnosti
- 8 bitové celočíselné FFT 16 vzoriek s oddelením 500 Hz
- ukazuje 8 amplitúd 1K, 1,5K, 2K, 3K, 4K, 5K, 6K, 7,5K nelineárne
- čiastočná logaritmická mapa na zobrazenie amplitúd, obmedzené, pretože rozlíšenie bolo znížené pre 8 bitový FFT
- Jednostupňové mikrofónne zosilňovače TLC272 so 100 -násobným zosilnením 100x (môžete zažiť 2 stupne)
- z ponuky voliteľné voliteľné Hammingovo okno
- ponuka upraví 4 úrovne jasu
- ponuka upraví 8 úrovní vzorkovacia frekvencia / doba odozvy
- 2 x gombíkový článok LR44 napájaný „na palube“
Krok 1: Získajte diely
Nasledujúce sú potrebné pre tento projekt
- MSP430G2452 (extra čip z TI Launchpad G2 alebo akéhokoľvek 4K 20 -pinového MCU radu MSP430G s rozlíšením 4K)
- 170-bodová mini breadboard alebo perfboard na stavbu predzosilňovačov
- Dvojitý operačný zosilňovač TLC272
- mini elektretový mikrofón
- 47k (pull-up), 100k, 2 x 10k, 1k odpory
- 1 x 0,1 uF
- prepojovacie vodiče
- dvojradový kolíkový kolíkový konektor, ktorý sa má použiť ako držiak batérie
- 2 x gombíková batéria LR44
Krok 2: Naplánujte rozloženie komponentov
Projekt má byť postavený na 170 dvojbodovom mini-breadboarde. Rozloženie komponentov je uvedené nižšie. Zvláštnosťou je, že matica LED 8x8 má byť umiestnená na vrchu MCU MSP430. Okrem komponentov existujú aj prepojovacie prepojovacie vodiče označené znakmi „+------+“.
G V ++ =================+ c0 ………… c7 | MIC……. + -----++-+…. | r0 o o o o o o o o | o || o + ----- [100k] --------------- +….. | r1 X o o o o o o o |. +--------------+-+. C7 C6 R1 C0 R3 C5 C3 R0 |. o o o o o o o o |…… |.. | b6 a7 | | c0 a r1 zdieľajú rovnaký pin a nezobrazia sa | +. +-+-+-+| +-+-+-+-+-+-+-+-+-++ *možná aplikácia má c6 + c0 + r1 | | | V+ | | | G b6 b7 T R a7 a6 b5 b4 b3 | | tým sa uvoľní b6 pre 32kHz xtal hodiny | | | TLC272 | | | | | | | von - + G | | |+ a0 a1 a2 a3 a4 a5 b0 b1 b2 | | | +. +-+-+-+| +-+-+-+-+-+-+-+-+-++ | o || o o o. +-+. R4 R6 C1 C2 R7 C4 R5 R2 | |…. o- [10k]-o……… | |. o- [1k] o o o………._. | | o ---- [10k] ----------- o……. o o | +========================================================================= ====+.1uF 100k 10k ADC tlačidlo+ -----------------+
používame iba jeden stupeň TLC272
Krok 3: Zostavenie
Môžete začať umiestňovať súčiastky na základe rozloženia na lište. Pretože je to umenie ASCII, nemusí to byť celkom jasné. V tomto kroku môžete spárovať fotografie a identifikovať všetky pripojenia.
Je potrebné dávať pozor na umiestnenie čipov IC. V jednom z rohov je zvyčajne bodka označujúca kolík 1 zariadenia.
Použil som ethernetové káblové káble CAT5 a je ich veľmi ľahké pracovať na projektoch typu breadboard. Ak máte staré káble CAT5, môžete ich rozrezať a zistíte, že vo vnútri je 6 skrútených vodičov. Sú perfektné na chlebové dosky.
Krok 4: Zostavte a načítajte firmvér
Zdrojový kód sa zvyčajne nachádza v mojich úložiskách github.
Pre tento konkrétny projekt je jeden zdrojový súbor C nfft.c uložený v mojom úložisku chlebových zbierok. Potrebujete iba nfft.c
Na zostavenie firmvéru používam mps430-gcc, ale malo by to fungovať dobre s TI CCS. Môžete sa vyhnúť všetkým problémom s inštaláciou IDE alebo kompilátorov tým, že pôjdete do cloudu TI CCS, čo je webové IDE. Dokonca stiahne firmvér do vášho cieľového zariadenia.
Toto je príklad príkazu kompilácie s prepínačmi
msp430 -gcc -Os -Wall -funkčné sekcie -fdata -sekcie -fno -inline -small -functions -Wl, -Map = nfft.map, --cref -Wl, --relax -Wl, --gc- sekcie -I/energia -0101E0016/hardvér/msp430/jadrá/msp430 -mmcu = msp430g2553 -o nfft.elf nfft.c
Na programovanie MCU používam ako programátor TI Launchpad G2.
Krok 5: Pochopte obvod
Schéma zapojenia je uvedená nižšie
MSP430G2452 alebo podobný, potrebuje dvojitý operačný zosilňovač 4K Flash TLC272, GBW @1,7 MHz, zisk x x100, šírka pásma až 17 kHz
* používame iba jeden stupeň TLC272
._.
| MSP430G2452 | Vcc | | + ----------------------- 2 | ADC0 | 1-+ | | | |. | Vcc | | | pull-up (47k) Vcc Vcc | --------------- | | | | _ | | | +-1 | ----. Vcc | 8-+ | | | |. |. |. | ^.--- | 7 | | 16-+ | | 10k | | 10k | | | / / ^ | | | | _ | | _ | 100 000 | _ | | / _+\ / / | | /| --- (pozri rozloženie na lište) |.1u | | | | | /_+\ | | / | ------_+-|| --- |-[1k]-+-2 | ---+| | | | | 15 GPIO | | | | +---------- 3 | ----- + +---6 | P1.1-P1.7 | | 8x8 | | | +-4 | Gnd +-| 5 | P2.0-P2.7 | | LED | |+ | | --------------- | | | matica | ((O)) |. | | / | | _ | | MIC | | 10k | +-20 | Gnd / | -------- | | _ | | | | _ | _ | _ _ | _ _ | _ _ | _ //// /// /// ///
LED riadenie
LED matica má 8 x 8 prvkov. Poháňa ich 15 pinov GPIO. Sú multiplexované s 8 riadkami a 8 stĺpcovými schémami. Pretože potom, čo použijeme 1 pin na vstup ADC, existuje iba 15 pinov, multiplexovanie má riadok 1 a stĺpec 0 zdieľajúci jeden pin. To znamená, že konkrétna dióda LED v riadku 1 a stĺpci 0 nemôže svietiť. Toto je kompromis, pretože nie je dostatok pinov GPIO na pohon všetkých prvkov LED.
Zachytenie zvuku
Zvuk je zachytený prostredníctvom vstavaného kondenzátorového mikrofónu vo vzdelávacom BoosterPack. Pretože sú signály mikrofónu malé, musíme ho zosilniť na úroveň, ktorú môže msp430 ADC10 používať s primeraným rozlíšením. Na tento účel som použil dvojstupňový zosilňovač.
Zosilňovač operačného zosilňovača pozostáva z dvoch stupňov, každý so 100-násobným ziskom. Použil som TLC272, pretože je to tiež veľmi bežná súčasť a funguje s napätím 3V. Šírka pásma zisku približne 1,7 MHz znamená, že pri našom 100 -násobnom zisku môžeme len zaručiť, že bude pekne fungovať (tj. Zachová požadovaný zisk) pod 17 kHz. (1,7 MHz / 100).
Pôvodne som chcel dosiahnuť, aby tento spektrálny analyzátor meral až 16-20 kHz, ale nakoniec som zistil, že asi 8 kHz je dosť dobrých na to, aby ukazovali hudbu. Toto je možné zmeniť nahradením LM358 za niečo s hodnotením zvuku a zmenou vzorkovacej frekvencie. Stačí sa pozrieť na šírku pásma zosilňovača, ktorý si vyberiete.
Odber vzoriek a FFT
Použitá funkcia FFT je kód „fix_fft.c“, ktorý prijalo mnoho projektov, a na internete sa pohybuje už niekoľko rokov. Skúsil som 16 -bitovú a 8 -bitovú verziu. Nakoniec som sa uspokojil s 8 -bitovou verziou, pretože v 16 -bitovej verzii som nevidel zásadný pokrok.
Nerozumiem dobre mechanizmu FFT, okrem toho, že ide o konverziu časovej domény na frekvenčnú doménu. To znamená, že rýchlosť (čas) zvukových vzoriek po vložení do funkcie výpočtu FFT ovplyvní frekvenciu amplitúdy, ktorú v dôsledku toho dostávam. Takže nastavením rýchlosti na vzorový zvuk môžem ako výsledok určiť frekvenčné pásmo.
Na udržanie času vzorkovania sa používa TimerA 0 CCR0. Najprv určíme počty, ktoré potrebujeme na dosiahnutie frekvencie pásma (zodpovedá našej hodinovej frekvencii DCO 16 MHz). t.j. TA0CCR0 nastavený na (8000/(BAND_FREQ_KHZ*2))-1; kde BAND_FREQ_KHZ je pre mňa 8. Môžete to zmeniť, ak máte lepší operačný zosilňovač a / alebo chcete, aby bol iný.
Frekvenčné pásma a škálovanie amplitúdy
Firmvér spracováva 16 pásiem jedným ťahom a načasovanie snímania vytvára medzi týmito bankami oddelenie 500 Hz. LED matica má 8 stĺpcov a bude zobrazovať iba 8 pásiem / amplitúd. Namiesto zobrazovania každého dvoch pásiem sa na zobrazenie dynamickejších frekvenčných pásiem (z hľadiska hudby) používa nelineárny zoznam frekvenčných pásiem. Zoznam obsahuje medzery 500 Hz na dolnom konci, medzery 1 kHz v stredných pásmach a pásma 1,5 kHz na výškach.
Amplitúda jednotlivých pásiem je zmenšená na 8 úrovní, ktoré sú reprezentované počtom horizontálnych „bodov“na LED maticovom displeji. Úrovne amplitúdy sú zmenšené prostredníctvom nelineárnej mapy, ktorá prekladá výsledky FFT do jednej z 8 bodky. Používa sa určitý druh logaritmického škálovania, ktoré najlepšie reprezentuje naše vnímanie hladín zvuku.
Je tu vstavaná logika AGC a spektrálny analyzátor sa pokúsi zmenšiť úrovne amplitúdy, ak je v predchádzajúcich cykloch zistených niekoľko špičkových úrovní. To sa vykonáva pomocou porovnávacej tabuľky posuvného pravítka.
Krok 6: Ovládanie zariadenia
- Krátke stlačenie klávesu v režime displeja cykluje po zobrazení bez bodiek, jednej bodky, 2 bodiek a 3 bodiek.
- Dlhým stlačením prejdete do režimu nastavenia, ďalším dlhým stlačením sa otáčate v ponuke.
- Položky ponuky prechádzajú cyklom „Možnosti Hammingovho okna“, „Stmievač“, „Vzorkovacia / obnovovacia frekvencia“.
- V režime nastavenia „Hammingovo okno“krátke stlačenia cyklujú bez Hammingu, Hamming 1, Hamming 2, Hamming 3, dlhé stlačenie potvrdí nastavenie.
- V režime nastavenia „Stmievač“krátke stlačenia cyklujú cez dostupné úrovne jasu od 0 do 3, dlhé stlačenie potvrdí nastavenie.
- V režime nastavenia „Vzorkovacia / obnovovacia frekvencia“krátke stlačenia cyklujú cez dostupné obnovovacie frekvencie od 0 do 7, 0 znamená žiadne oneskorenie, dlhé stlačenie potvrdí nastavenie.
- Multiplexovanie segmentov LED obsahuje časové oneskorenia na kompenzáciu rozdielov jasu pre jednotlivé riadky.
Odporúča:
Ako vyrobiť analyzátor LED zvukového spektra: 7 krokov (s obrázkami)
Ako vytvoriť analyzátor zvukového spektra LED: Analyzátor zvukového spektra LED generuje nádherný svetelný vzor podľa intenzity hudby. Na trhu je k dispozícii množstvo súprav diétneho LED hudobného spektra, ale tu urobíme LED zvukové spektrum Analyzátor využívajúci NeoPixe
DIY FFT analyzátor zvukového spektra: 3 kroky
DIY FFT analyzátor zvukového spektra: FFT spektrálny analyzátor je testovacie zariadenie, ktoré na analýzu spektra používa Fourierovu analýzu a techniky spracovania digitálneho signálu. Pomocou Fourierovej analýzy je možné jednu hodnotu, napríklad v spojitej časovej oblasti, previesť
DIY Arduino analyzátor spektra zvukového signálu: 3 kroky
DIY Arduino analyzátor spektra zvukového signálu: Je to veľmi jednoduchý zvukový analyzátor s meniteľnými vizuálnymi režimami
Analyzátor zvukového spektra (merač VU): 6 krokov
Analyzátor zvukového spektra (merač VU): Čo je to hudba? Z technického hľadiska je hudba v zásade signál s rôznym napätím a frekvenciou. Audio Spectrum Analyzer je zariadenie, ktoré zobrazuje úroveň napätia konkrétnej frekvencie. Je to nástroj používaný hlavne na miestach, ako je
Displej zvukového spektra Raspberry Pi: 4 kroky
Displej zvukového spektra Raspberry Pi: Použite maticový panel DFRobot 64 x 64 RGB s Raspberry Pi 3 B+, aby ste si so sebou mohli priniesť tanečnú párty, nech ste kdekoľvek! DFRobot ma oslovil, aby som urobil sponzorovaný projekt pre ich 64 x 64 RGB LED maticu. Najprv som sa ho pokúsil použiť s ESP32 Firebe