Talaan ng mga Nilalaman:
- Hakbang 1: Kumuha ng Mga Bahagi
- Hakbang 2: Layout ng Mga Bahagi ng Plano
- Hakbang 3: Assembly
- Hakbang 4: Magtipon at Mag-load ng Firmware
- Hakbang 5: Maunawaan ang Circuit
- Hakbang 6: Pagpapatakbo ng Device
Video: MSP430 Breadboard Audio Spectrum Analyzer: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ang proyektong ito ay batay sa mikropono at nangangailangan ng kaunting panlabas na mga bahagi. Ginagamit ang 2 x LR44 na mga cell ng barya upang magkaroon ako ng buong istraktura na gumagana sa mga limitasyon ng isang 170 na tie-point mini breadboard. Ang ADC10, TimerA ay nakakagambala sa paggising ng LPM, ang TimerA PWM tulad ng output, paggamit ng pindutan, integer arithmetic ay ginagamit at ipinakita.
Mga Tampok
- 8 bit integer FFT 16 na mga sample sa 500Hz na paghihiwalay
- nagpapakita ng 8 amplitude ng 1K, 1.5K, 2K, 3K, 4K, 5K, 6K, 7.5K non-linear
- bahagyang mapa ng logarithm upang maipakita ang mga amplitude, limitado dahil ang resolusyon ay nabawasan para sa 8 bit FFT
- TLC272 isang yugto mic amplifys sa 100x beses 100x makakuha (maaari kang makaranas ng w / 2 yugto)
- mapipiling menu na opsyonal na window ng Hamming
- ayusin ang menu ng 4 na antas ng ningning
- ayusin ng menu ang 8 mga antas ng sample na rate / oras ng pagtugon
- 2 x LR44 coin cell na pinapatakbo "on board"
Hakbang 1: Kumuha ng Mga Bahagi
Ang mga sumusunod ay kung ano ang kinakailangan para sa proyektong ito
- MSP430G2452 (ang sobrang chip mula sa TI Launchpad G2, o anumang 4K 20 pin MSP430G series MCU)
- isang 170 tie-point mini breadboard o perf board para sa pre-amp na konstruksyon
- TLC272 Dual op-amp
- mini electret microphone
- 47k (pull-up), 100k, 2 x 10k, 1k resistors
- 1 x 0.1uF
- jumper wires
- double row male pin header na gagamitin para sa may hawak ng baterya
- 2 x LR44 coin cell na baterya
Hakbang 2: Layout ng Mga Bahagi ng Plano
Ang proyekto ay itatayo sa isang 170 tie-point mini breadboard. Ang layout ng mga bahagi ay tulad ng ipinakita sa ibaba. Ang espesyal na tala ay ang 8x8 LED matrix na ilalagay sa tuktok ng MSP430 MCU. Bukod sa mga bahagi, mayroon ding mga kumokonekta na mga jumper wires na inilalarawan ng mga character na "+ ------ +".
G V + Gnd (1 yugto ng layout) GAMITIN NAMIN ANG LAYOUT ITO + ==================================== ================= + 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 |…… |.. | b6 a7 | | Ang c0 at r1 ay nagbabahagi ng parehong pin at hindi ipapakita | + + - + - + - + | + - + - + - + - + - + - + - + - + - + | * posibleng aplikasyon upang magkaroon ng c6 + c0 + r1 | | | V + | | | G b6 b7 T R a7 a6 b5 b4 b3 | | magpapalaya ito ng b6 para sa 32khz xtal na orasan | | | TLC272 | | | | | | | palabas - + 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 Button + ----------------- +
gumagamit kami ng isang yugto ng TLC272 lamang
Hakbang 3: Assembly
Maaari mong simulan ang paglalagay ng mga bahagi batay sa layout ng breadboard. Tulad ng sining ng ASCII kaya maaaring hindi gaanong malinaw. Maaari mong ipares ang w / ng mga larawan sa hakbang na ito upang makilala ang lahat ng mga koneksyon.
Dapat mag-ingat upang mailagay ang mga IC chip. Karaniwan may isang tuldok sa isa sa mga sulok upang ipahiwatig ang pin 1 ng isang aparato.
Gumamit ako ng CAT5 ethernet cable wires at napakadali nilang magtrabaho sa mga proyekto sa breadboard. Kung mayroon kang mga lumang CAT5 cable, maaari mo itong i-cut nang bukas at mahahanap mong mayroong 6 baluktot na mga wire sa loob. Perpekto ang mga ito para sa mga breadboard.
Hakbang 4: Magtipon at Mag-load ng Firmware
Ang source code ay karaniwang naninirahan sa aking mga repository ng github.
Para sa partikular na proyekto, ang solong C source file na nfft.c ay na-bundle sa aking repository ng mga koleksyon ng breadboard. Kailangan mo lang ng nfft.c
Gumagamit ako ng mps430-gcc upang maipon ang firmware ngunit dapat itong maging maayos sa TI CCS. Maaari mong maiwasan ang lahat ng mga problema sa pag-install ng mga IDE o compiler sa pamamagitan ng pagpunta sa TI CCS cloud, na isang web based IDE. Ito ay mag-download din ng firmware sa iyong target na aparato.
Ito ay isang halimbawa ng compile ng command w / switch
msp430 - gcc -Os -Wall -ffunction-seksyon -fdata-seksyon -fno-inline-maliit na-function -Wl, -Map = nfft.map, --cref -Wl, --relax -Wl, --gc- mga seksyon -ako / energia-0101E0016 / hardware / msp430 / core / msp430 -mmcu = msp430g2553 -o nfft.elf nfft.c
Gumagamit ako ng isang TI Launchpad G2 bilang isang programmer upang mai-program ang MCU.
Hakbang 5: Maunawaan ang Circuit
Ang circuit scheme ay ipinakita sa ibaba
MSP430G2452 o katulad, kailangan ng 4K Flash TLC272 Dual Op-Amp, GBW @ 1.7Mhz, @ x100 makakuha, bandwidth hanggang sa 17Khz
* Gumagamit kami ng isang yugto ng TLC272 lamang
._.
| MSP430G2452 | Vcc | | | + ----------------- 2 | ADC0 | 1 - + | | | | | Vcc | | | | pull-up (47k) Vcc Vcc | ------------- | | | | _ | | | + -1 | ----. Vcc | 8- + | | | | | | | ^.--- | 7 | | 16- + | | 10k | | 10k | | | / / ^ | | | | _ | | _ | 100k | _ | | / _ + / / / | | / | --- (tingnan ang layout ng breadboard) |.1u | | | | | / _ + / | | / | ------_ + - || --- | - [1k] - + - 2 | --- + | | | | | 15 GPIO | | | | + ---------- 3 | ----- + + - | - | 6 | P1.1-P1.7 | | 8x8 | | | + -4 | Gnd + - | 5 | P2.0-P2.7 | | LED | | + | | ------------- | | | matrix | ((O)) |. | | / | | _ | | MIC | | 10k | + -20 | Gnd / | -------- | | _ | | | | _ | _ | _ _ | _ _ | _ _ | _ /// /// /// ///
LED Pagmamaneho
Ang LED matrix ay may 8 x 8 na mga elemento. Ang mga ito ay hinihimok ng 15 GPIO pin. Ang mga ito ay multiplexed w / 8 mga hilera at 8 scheme ng haligi. Dahil mayroon lamang 15 mga pin pagkatapos naming gumamit ng 1 pin para sa ADC input, ang multiplexing ay may row 1 at haligi 0 na nagbabahagi ng isang solong pin. Nangangahulugan ito na ang partikular na LED sa hilera 1 at haligi 0 ay hindi maaaring naiilawan. Ito ay isang kompromiso dahil may mga hindi sapat na mga GPIO pin upang himukin ang lahat ng mga elemento ng LED.
Sound Capture
Ang tunog ay nakukuha sa pamamagitan ng on board condenser microphone sa Educational BoosterPack. Dahil ang mga signal ng mikropono ay maliit, kailangan naming palakihin ito sa isang antas na maaaring magamit ng msp430 ADC10 na may makatwirang resolusyon. Gumamit ako ng dalawang yugto na op-amp amplifier para sa hangaring ito.
Ang op-amp amplifier ay binubuo ng dalawang yugto, bawat w / a tungkol sa 100x na nakuha. Pinagtibay ko ang TLC272 dahil ito rin ay isang pangkaraniwang bahagi at gumagana ito w / 3V. Ang makakuha ng bandwidth na halos 1.7Mhz ay nangangahulugang para sa aming nakuha na 100x, masisiguro lamang namin na gagana ito nang maayos (ibig sabihin, mapanatili ang nais na nakuha) sa ilalim ng 17Khz. (1.7Mhz / 100).
Orihinal na balak kong gawin ang spectrum analyzer na ito na magsukat hanggang sa 16-20Khz, ngunit sa huli natagpuan ko ang tungkol sa 8Khz ay sapat na upang magpakita ng musika. Maaari itong mabago sa pamamagitan ng pagpapalit ng LM358 w / isang bagay na na-rate ng audio at binabago ang rate ng pag-sample. Hanapin lamang ang makakuha ng bandwidth ng mga op-amp na pinili mo.
Sampling at FFT
Ang ginamit na FFT function ay ang "fix_fft.c" code na pinagtibay ng maraming mga proyekto, lumulutang ito sa internet ng ilang taon. Sinubukan ko ang isang 16 bit na bersyon at isang 8 bit na bersyon. Sa paglaon ay naayos ko ang 8 bit na bersyon para sa aking hangarin, hindi ko nakita ang isang pangunahing pagsulong sa 16 bit na bersyon.
Wala akong mahusay na pag-unawa sa mekanismo ng FFT maliban na ito ay isang time domain sa dalas ng conversion ng domain. Nangangahulugan iyon na ang rate (oras) ng mga sample ng tunog, pagkatapos ng pagpapakain sa pagpapaandar ng FFT pagkalkula, ay makakaapekto sa dalas ng amplitude na nakukuha ko bilang isang resulta. Kaya sa pamamagitan ng pag-aayos ng rate sa sample ng tunog, matutukoy ko ang frequency band bilang resulta.
Ginagamit ang TimerA 0 CCR0 upang mapanatili ang oras ng pag-sample. Una naming natutukoy ang mga bilang na kailangan namin upang makamit ang dalas ng banda (tumutugma sa aming rate ng orasan ng DCO na 16Mhz). ibig sabihin, ang TA0CCR0 ay nakatakda sa (8000 / (BAND_FREQ_KHZ * 2)) - 1; kung saan ang BAND_FREQ_KHZ ay 8 para sa akin. Maaari itong mabago kung nakakuha ka ng isang mas mahusay na op-amp at / o nais na magkakaiba ito.
Mga Frequency Bands at Amplitude Scaling
Pinoproseso ng firmware ang 16 na banda sa isang sweep, at ang oras ng pagkuha ay gumagawa ng paghihiwalay na 500Hz sa pagitan ng mga bangko na ito. Ang LED matrix ay nasa 8 mga haligi at ipapakita lamang ang 8 mga banda / amplitude. Sa halip na ipakita ang bawat isa sa dalawang banda, ang isang hindi linear na listahan ng dalas ng banda ay ginagamit upang maipakita ang mas maraming lakas na mga banda ng dalas (sa mga tuntunin ng musika). Ang listahan ay 500Hz gaps sa low end, 1KHz gaps sa gitnang banda at 1.5Khz band sa highs.
Ang amplitude ng mga indibidwal na banda ay na-scale pababa sa 8 mga antas, na kinakatawan ng bilang ng mga pahalang na 'tuldok' sa display ng LED matrix. Ang mga antas ng amplitude ay na-scale down sa pamamagitan ng isang hindi-linear na mapa na isinalin ang mga resulta ng FFT sa isa sa 8 tuldok Ginagamit ang isang uri ng logarithmic scaling bilang pinakamahusay na kumakatawan sa aming pang-unawa sa mga antas ng tunog.
Mayroong built-in na lohika ng AGC at susubukan ng spectrum analyzer na sukatin ang mga antas ng amplitude kapag maraming mga antas ng rurok ang nakita sa mga nakaraang pag-ikot. Ginagawa ito sa isang sliding ruler na paghahambing ng talahanayan.
Hakbang 6: Pagpapatakbo ng Device
- Maikling pindutin ang key sa mode ng display mode sa pamamagitan ng walang tuldok, isang tuldok, 2 tuldok, at 3 tuldok na ipinapakita.
- Ang mahabang pindutin ay pumasok sa mode ng pag-setup, kasunod na mahabang pindutin ang umiikot sa pamamagitan ng menu.
- Ang mga item sa menu ay umiikot sa 'Hamming Window Option', 'Dimmer', 'Sampling / Refresh Rate'.
- Sa mode na pag-setup ng 'Hamming Window', ang mga maikling pagpindot sa pag-ikot sa pamamagitan ng walang hamming, hamming 1, hamming 2, hamming 3, matagal na pinindot ay kinukumpirma ng setting.
- Sa mode na 'Dimmer' na pag-setup, ang mga maikling pagpindot sa pag-ikot sa pamamagitan ng magagamit na mga antas ng ningning mula 0 hanggang 3, matagal na pinatutunayan ng setting ng matagal na pindutin.
- Sa mode ng pag-setup ng 'Sampling / Refresh rate', ang mga maikling pagpindot sa mga pag-ikot sa pamamagitan ng mga magagamit na mga rate ng pag-refresh mula 0 hanggang 7, 0 ay nangangahulugang walang pagkaantala, matagal na pinatutunayan ng setting ng pagpindot.
- Ang led segment multiplexing ay may kasamang mga pagkaantala ng oras upang mabayaran ang mga pagkakaiba sa liwanag para sa mga indibidwal na hilera.
Inirerekumendang:
Paano Gumawa ng isang LED Audio Spectrum Analyzer: 7 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng isang LED Audio Spectrum Analyzer: Ang LED Audio Spectrum Analyzer ay bumubuo ng magandang pattern ng pag-iilaw ayon sa tindi ng musika. Maraming mga DIY LED Music Spectrum kit na magagamit sa merkado, ngunit dito kami gagawa ng isang LED Audio Spectrum Ang Analyzer ay gumagamit ng NeoPixe
Paano mag-DIY 32 Band LED Audio Music Spectrum Analyzer Gamit ang Arduino Nano sa Home #arduinoproject: 8 Hakbang
Paano mag-DIY 32 Band LED Audio Music Spectrum Analyzer Gamit ang Arduino Nano sa Home #arduinoproject: Ngayon ay gagawa kami ng 32 band LED Audio Music Spectrum Analyzer sa Home gamit ang Arduino, maaari itong magpakita ng frequency spectrum at maglaro ng muisc nang sabay-sabay. Tandaan Ang max7219LED dapat na konektado sa harap ng 100k risistor, kung hindi man ang ingay ng spea
DIY FFT Audio Spectrum Analyzer: 3 Mga Hakbang
DIY FFT Audio Spectrum Analyzer: Ang FFT spectrum analyzer ay isang kagamitan sa pagsubok na gumagamit ng Fourier analysis at digital diskarte sa pagpoproseso ng signal upang magbigay ng pagsusuri sa spectrum. Paggamit ng Fourier analysis posible para sa isang halaga sa, halimbawa, ang patuloy na domain ng oras na maging
DIY Arduino Audio Signal Spectrum Analyzer: 3 Mga Hakbang
DIY Arduino Audio Signal Spectrum Analyzer: Ito ay Napakadaling audio analyzer na may nababago na mga visual mode
Audio Spectrum Analyzer (VU Meter): 6 na Hakbang
Audio Spectrum Analyzer (VU Meter): Ano ang Musika? Mula sa isang teknikal na pananaw, ang musika ay karaniwang isang senyas na may iba't ibang boltahe at dalas. Ang Audio Spectrum Analyzer ay isang aparato na nagpapakita ng antas ng boltahe ng isang partikular na dalas. Ito ay isang instrumento na pangunahing ginagamit sa mga lugar na gusto