Satura rādītājs:
- 1. darbība: iegādājieties detaļas
- 2. darbība. Plānot sastāvdaļu izkārtojumu
- 3. solis: montāža
- 4. solis: apkopojiet un ielādējiet programmaparatūru
- 5. darbība: izprotiet ķēdi
- 6. darbība: ierīces lietošana
Video: MSP430 Breadboard audio spektra analizators: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Šis projekts ir balstīts uz mikrofonu un prasa minimālus ārējos komponentus. Tiek izmantotas 2 x LR44 monētu šūnas, lai visa struktūra darbotos 170 sasienamu mini maizes dēļa robežās. Tiek izmantoti un demonstrēti ADC10, TimerA pārtraukt LPM modināšanu, TimerA PWM, piemēram, izvade, pogu izmantošana, veselu skaitļu aritmētika.
Iespējas
- 8 bitu veseli skaitļi FFT 16 paraugi 500 Hz atdalījumā
- parāda 8 amplitūdas 1K, 1.5K, 2K, 3K, 4K, 5K, 6K, 7.5K nelineāri
- daļēja logaritma karte, lai parādītu amplitūdas, ierobežota, jo izšķirtspēja ir samazināta 8 bitu FFT
- TLC272 vienpakāpes mikrofona pastiprinātāji ar 100x reizēm 100x pastiprinājumu (var piedzīvot ar 2 posmiem)
- izvēlnes izvēles Hamming logs
- izvēlne regulē 4 spilgtuma līmeņus
- izvēlnē noregulējiet 8 līmeņu izlases ātrumu / reakcijas laiku
- 2 x LR44 monētu šūna, kas darbina "uz kuģa"
1. darbība: iegādājieties detaļas
Tālāk ir norādīts, kas nepieciešams šim projektam
- MSP430G2452 (papildu mikroshēma no TI Launchpad G2 vai jebkuras 4K 20 kontaktu MSP430G sērijas MCU)
- 170 kaklasaites mini maizes dēlis vai perforācijas dēlis priekšpastiprinātāja konstrukcijai
- TLC272 Dual op-amp
- mini elektreta mikrofons
- 47k (pull-up), 100k, 2 x 10k, 1k rezistori
- 1 x 0.1uF
- džemperu vadi
- divrindu tērauda tapas galviņa, ko izmantot akumulatora turētājam
- 2 x LR44 monētu šūnu baterija
2. darbība. Plānot sastāvdaļu izkārtojumu
Projekts ir jāveido uz 170 saišu punktu mini maizes dēļa. Komponentu izkārtojums ir parādīts zemāk. Īpaši jāatzīmē, ka 8x8 LED matrica ir jānovieto virs MSP430 MCU. Papildus komponentiem ir arī savienojošie savienojuma vadi, kas attēloti ar "+------+" rakstzīmēm.
G V + Gnd (1 posma izkārtojums) MĒS IZMANTOJAM ŠO IZkārtojumu + ==================================== =================+ c0 ………… c7 | MIC……. + -----++-+…. | r0 o o o o o o o | | o || o + ----- [100k] --------------- +….. | r1 X 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 un r1 koplieto vienu tapu un netiks rādīts | +. +-+-+-+| +-+-+-+-+-+-+-+-+-+| *iespējama lietojumprogramma ar c6 + c0 + r1 | | | V+ | | | G b6 b7 T R a7 a6 b5 b4 b3 | | tas atbrīvos b6 32 khz xtal pulkstenim | | | TLC272 | | | | | | | ārā - + 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 poga+ -----------------+
mēs izmantojam tikai vienu TLC272 posmu
3. solis: montāža
Jūs varat sākt izvietot komponentus, pamatojoties uz maizes dēļa izkārtojumu. Tā kā tā ir ASCII māksla, tā var nebūt ļoti skaidra. Šajā solī varat savienot pārī fotoattēlus, lai identificētu visus savienojumus.
Jārūpējas par IC mikroshēmu novietošanu. Parasti vienā no stūriem ir punkts, kas norāda ierīces 1. tapu.
Es biju izmantojis CAT5 Ethernet kabeļu vadus, un ar tiem ir ļoti viegli strādāt pie maizes dēļu projektiem. Ja jums ir veci CAT5 kabeļi, varat to pārgriezt vaļā, un jūs atradīsit, ka iekšpusē ir 6 savīti vadi. Tie ir lieliski piemēroti maizei.
4. solis: apkopojiet un ielādējiet programmaparatūru
Avota kods parasti atrodas manās github krātuvēs.
Šim konkrētajam projektam viens C avota fails nfft.c ir iekļauts manā maizes kolekcijas krātuvē. Jums vienkārši nepieciešams nfft.c
Es izmantoju mps430-gcc, lai apkopotu programmaparatūru, bet tai vajadzētu labi saderēt ar TI CCS. Jūs varat izvairīties no visām problēmām, instalējot IDE vai kompilatorus, dodoties uz TI CCS mākoni, kas ir tīmekļa IDE. Tas pat lejupielādēs programmaparatūru jūsu mērķa ierīcē.
Šis ir komandas apkopošanas piemērs ar slēdžiem
msp430 -gcc -Os -Sienas -funkciju -sadaļas -fdata -sadaļas -fno -inline -mazas funkcijas -Wl, -Map = nfft.map, --cref -Wl, --relax -Wl, --gc- sadaļas -I/energia -0101E0016/aparatūra/msp430/kodoli/msp430 -mmcu = msp430g2553 -o nfft.elf nfft.c
MCU programmēšanai es izmantoju TI Launchpad G2 kā programmētāju.
5. darbība: izprotiet ķēdi
Shēmas shēma ir parādīta zemāk
MSP430G2452 vai līdzīgai ierīcei ir nepieciešams 4K Flash TLC272 Dual Op-Amp, GBW @1.7Mhz, @x100 pastiprinājums, joslas platums līdz 17 Khz
* mēs izmantojam tikai vienu TLC272 posmu
._.
| MSP430G2452 | Vcc | | | + ----------------------- 2 | ADC0 | 1-+ | | | |. | Vcc | | | | pievilkšanās (47k) Vcc Vcc | --------------- | | | | _ | | | +-1 | ----. Vcc | 8-+ | | | |. |. |. | ^.--- | 7 | | 16-+ | | 10k | | 10k | | | / / ^ | | | | _ | | _ | 100k | _ | | / _+\ / / | | /| --- (sk. maizes dēļa izkārtojumu) |.1u | | | | | /_+\ | | / | ------_+-|| --- |-[1k]-+-2 | ---+| | | | | 15 GPIO | | | | +---------- 3 | ----- + +-|-| 6 | P1.1-P1.7 | | 8x8 | | | +-4 | Gnd +-| 5 | P2.0-P2.7 | | LED | |+ | | --------------- | | | matrica | ((O)) |. | | / | | _ | | MIC | | 10k | +-20 | Gnd / | -------- | | _ | | | | _ | _ | _ _ | _ _ | _ _ | _ /// /// /// ///
LED braukšana
LED matrica sastāv no 8 x 8 elementiem. Tos virza 15 GPIO tapas. Tie ir multipleksēti ar 8 rindām un 8 kolonnu shēmu. Tā kā ir tikai 15 tapas pēc tam, kad ADC ievadei izmantojam vienu tapu, multipleksēšanai ir 1. rinda un 0. kolonna, kas koplieto vienu tapu. Tas nozīmē, ka konkrētā gaismas diode 1. rindā un 0. slejā nevar iedegties. Tas ir kompromiss, jo vienkārši nav pietiekami daudz GPIO tapu, lai vadītu visus LED elementus.
Skaņas tveršana
Skaņa tiek uztverta, izmantojot Educational BoosterPack iebūvēto kondensatora mikrofonu. Tā kā mikrofona signāli ir mazi, mums tas jāpastiprina līdz līmenim, lai msp430 ADC10 varētu izmantot ar saprātīgu izšķirtspēju. Šim nolūkam es biju izmantojis divpakāpju op-amp pastiprinātāju.
Op-amp pastiprinātājs sastāv no diviem posmiem, katrs ar aptuveni 100x pastiprinājumu. Man bija jāpieņem TLC272, jo tā ir arī ļoti izplatīta daļa, un tā darbojas ar 3V. Pieauguma joslas platums, kas ir aptuveni 1,7 MHz, nozīmē, ka mūsu 100x ieguvumam mēs varam tikai garantēt, ka tas darbosies labi (t.i., saglabās vēlamo pieaugumu) zem 17Khz. (1,7 MHz / 100).
Sākotnēji es plānoju padarīt šo spektra analizatoru līdz 16-20Khz, bet galu galā es atklāju, ka aptuveni 8Khz ir pietiekami labs, lai rādītu mūziku. To var mainīt, nomainot LM358 ar kaut ko ar audio vērtējumu un mainot paraugu ņemšanas ātrumu. Vienkārši meklējiet izvēlēto op-amp pastiprinājuma joslas platumu.
Paraugu ņemšana un FFT
Izmantotā FFT funkcija ir kods "fix_fft.c", ko pieņēmuši daudzi projekti, un tas jau vairākus gadus peld internetā. Es biju izmēģinājis 16 bitu un 8 bitu versiju. Galu galā es samierinājos ar 8 bitu versiju kā savu mērķi, es neredzēju lielu progresu 16 bitu versijā.
Man nav labas izpratnes par FFT mehānismu, izņemot to, ka tas ir laika domēna pārvēršana frekvenču domēnā. Tas nozīmē, ka skaņas paraugu ātrums (laiks) pēc barošanas FFT aprēķina funkcijai ietekmēs amplitūdas frekvenci, ko es iegūstu. Tātad, pielāgojot frekvenci parauga skaņai, kā rezultātu varu noteikt frekvenču joslu.
Taimeris 0 CCR0 tiek izmantots, lai saglabātu paraugu ņemšanas laiku. Vispirms mēs nosakām skaitļus, kas nepieciešami joslas frekvences sasniegšanai (atbilst mūsu DCO pulksteņa frekvencei 16Mhz). i., TA0CCR0 iestatīts uz (8000/(BAND_FREQ_KHZ*2))-1; kur BAND_FREQ_KHZ man ir 8. To var mainīt, ja jums ir labāks op-amp un / vai vēlaties, lai tas būtu atšķirīgs.
Frekvenču joslas un amplitūdas mērogošana
Programmaparatūra apstrādā 16 joslas vienā slaucīšanas reizē, un uztveršanas laiks rada 500 Hz atdalījumu starp šīm bankām. LED matricā ir 8 kolonnas, un tā parādīs tikai 8 joslas / amplitūdas. Tā vietā, lai parādītu katru otro joslu, tiek izmantots nelineārs frekvenču joslu saraksts, lai parādītu dinamiskākas frekvenču joslas (mūzikas ziņā). Sarakstā ir 500Hz atstarpes zemākajā galā, 1KHz atstarpes vidējās joslās un 1,5Khz joslas augstākajās.
Atsevišķu joslu amplitūda tiek samazināta līdz 8 līmeņiem, ko attēlo horizontālo "punktu" skaits LED matricas displejā. Amplitūdas līmeņi tiek samazināti, izmantojot nelineāru karti, kas pārveido FFT rezultātus vienā no 8 punkti. Tiek izmantota sava veida logaritmiska mērogošana, jo tā vislabāk atspoguļo mūsu uztveri par skaņas līmeņiem.
Ir iebūvēta AGC loģika, un spektra analizators mēģinās samazināt amplitūdas līmeņus, ja iepriekšējos ciklos ir konstatēti vairāki maksimālie līmeņi. Tas tiek darīts ar slīdošu lineālu salīdzināšanas tabulu.
6. darbība: ierīces lietošana
- Īsi nospiežot taustiņu displeja režīmā, tiek parādīts displejs bez punkta, viena punkta, 2 punktiem un 3 punktiem.
- Ilgi nospiežot, tiek ieslēgts iestatīšanas režīms, pēc tam ilgstoši nospiežot pagriež izvēlni.
- Izvēlnes vienību cikli ir līdz “Hamming Window Option”, “Dimmer”, “Sampling / Refresh Rate”.
- Iestatīšanas režīmā “Hamming Window” īsa nospiešana tiek veikta ciklu laikā bez āmura, āmurs 1, āmurs 2, trieciens 3, ilgstoša nospiešana apstiprina iestatījumu.
- Iestatīšanas režīmā “Dimmer” (īsa nospiešana) īsas nospiešanas laikā tiek pārslēgti pieejamie spilgtuma līmeņi no 0 līdz 3, ilgstoša nospiešana apstiprina iestatījumu.
- Iestatīšanas režīmā “Paraugu ņemšanas / atsvaidzes intensitāte” īsa nospiešana cikliski izskata pieejamos atsvaidzes intensitātes diapazonus no 0 līdz 7, 0 nozīmē, ka nav kavēšanās, ilgstoša nospiešana apstiprina iestatījumu.
- LED segmentu multipleksēšana ietver laika aizkavi, lai kompensētu spilgtuma atšķirības atsevišķās rindās.
Ieteicams:
Liela izmēra akrila spektra analizators: 7 soļi (ar attēliem)
Īpaši liela izmēra akrila spektra analizators: Kāpēc jūs vēlaties apskatīt šos mazos LED displejus vai mazos LCD, ja varat to izdarīt lielā veidā? Šis ir soli pa solim apraksts par to, kā izveidot savu milzu izmēra spektra analizatoru. vadīja sloksnes, lai izveidotu telpu piepildošu gaismu
DIY FFT audio spektra analizators: 3 soļi
DIY FFT audio spektra analizators: FFT spektra analizators ir testa iekārta, kas izmanto Furjē analīzi un digitālās signālu apstrādes metodes, lai nodrošinātu spektra analīzi. Izmantojot Furjē analīzi, ir iespējams konvertēt vienu vērtību, piemēram, nepārtrauktā laika domēnā
10 joslu LED spektra analizators: 11 soļi
10 Band Led Spectrum Analyzer: Labdien, dārgie skatītāji un lasītāji. Šodien es vēlos jums parādīt pilnu 10 joslu LED spektra analizatora montāžas rokasgrāmatu
DIY Arduino audio signālu spektra analizators: 3 soļi
DIY Arduino audio signālu spektra analizators: tas ir ļoti vienkāršs audio analizators ar maināmiem vizuālajiem režīmiem
Audio spektra analizators (VU mērītājs): 6 soļi
Audio spektra analizators (VU mērītājs): kas ir mūzika? No tehniskā viedokļa mūzika būtībā ir signāls ar dažādu spriegumu un frekvenci. Audio spektra analizators ir ierīce, kas parāda noteiktas frekvences sprieguma līmeni. Tas ir instruments, ko galvenokārt izmanto tādās vietās kā