Агуулгын хүснэгт:
- Алхам 1: эд анги худалдаж авах
- Алхам 2: Бүрэлдэхүүн хэсгүүдийн зохион байгуулалтыг төлөвлөх
- Алхам 3: угсрах
- Алхам 4: Firmware -ийг хөрвүүлж, ачаална уу
- Алхам 5: Цахилгаан хэлхээг ойлгох
- Алхам 6: Төхөөрөмжийг ажиллуулах
Видео: MSP430 Breadboard аудио спектрийн анализатор: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэхүү төсөл нь микрофон дээр суурилсан бөгөөд хамгийн бага гадаад бүрэлдэхүүн хэсгүүдийг шаарддаг. 2 x LR44 зоосны эсийг ашигладаг бөгөөд ингэснээр би бүхэл бүтэн бүтэцтэй, 170 ширхэг тэнцэх цэгийн мини талхны хавтангийн хүрээнд ажиллах боломжтой болно. ADC10, TimerA тасалдал LPM-ийг сэрээх, TimerA ХБХ-ийг гаралт, товчлуур ашиглах, бүхэл тооны арифметикийг ашиглан үзүүлэв.
Онцлог шинж чанарууд
- 500 Гц тусгаарлах үед 8 битийн бүхэл тоо FFT 16 дээж
- 1K, 1.5K, 2K, 3K, 4K, 5K, 6K, 7.5K шугаман бус 8 далайцыг харуулдаг
- 8 битийн FFT -ийн нарийвчлал буурсан тул далайцыг харуулах логарифмын хэсэгчилсэн газрын зураг
- TLC272 нэг үе шаттай микрофон нь 100 дахин 100 дахин нэмэгддэг (та 2 үе шатыг мэдрэх боломжтой)
- цэсийг сонгох боломжтой Hamming цонх
- цэс нь 4 түвшний тод байдлыг тохируулдаг
- цэс 8 түвшний түүврийн хурд / хариу өгөх хугацааг тохируулна
- "Хөлөг дээр" ажилладаг 2 x LR44 зоосны үүр
Алхам 1: эд анги худалдаж авах
Энэ төсөлд дараахь зүйлс хэрэгтэй болно
- MSP430G2452 (TI Launchpad G2 -ийн нэмэлт чип эсвэл 4K 20 зүү MSP430G цуврал MCU)
- урьдчилсан өсгөгч барихад зориулагдсан 170 уялдаатай мини талхны самбар эсвэл төгс төгөлдөр самбар
- TLC272 Хос op-amp
- мини цахилгаан цахилгаан микрофон
- 47k (татах), 100k, 2 x 10k, 1k эсэргүүцэл
- 1 x 0.1uF
- холбогч утас
- Батерей эзэмшигчийн хувьд хоёр эгнээтэй эрэгтэй зүү толгой
- 2 x LR44 зоосны зай
Алхам 2: Бүрэлдэхүүн хэсгүүдийн зохион байгуулалтыг төлөвлөх
Төслийг 170 уях цэгийн мини талхны хавтан дээр барихаар төлөвлөж байна. Бүрэлдэхүүн хэсгүүдийн зохион байгуулалтыг доор харуулав. Онцгой анхаарал татсан зүйл бол 8x8 LED матрицыг MSP430 MCU дээр байрлуулах явдал юм. Бүрэлдэхүүн хэсгүүдээс гадна "+------+" тэмдэгтээр дүрсэлсэн холбогч холбогч утаснууд бас байдаг.
G V + Gnd (1 үе шаттай зохион байгуулалт) БИД ЭНЭ БАЙРШИЛИЙГ АШИГЛАЖ БАЙНА + ================================= =================+ 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 ба r1 ижил зүү хуваалцаж, харуулахгүй | +. +-+-+-+| +-+-+-+-+-+-+-+-+-+-+| *c6 + c0 + r1 байх боломжтой програм | | V+ | | | G b6 b7 T R a7 a6 b5 b4 b3 | | Энэ нь b6 -ийг 32 кГц -ийн цагаар чөлөөлөх болно | | TLC272 | | | | | | | гарах - + 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 товчлуур+ -----------------+
Бид зөвхөн TLC272 -ийн нэг үе шатыг ашиглаж байна
Алхам 3: угсрах
Та талхны самбар дээр үндэслэн бүрэлдэхүүн хэсгүүдийг байрлуулж эхлэх боломжтой. ASCII урлаг тул тийм ч тодорхой биш байж магадгүй юм. Та бүх холболтыг тодорхойлохын тулд энэ алхам дээрх зургуудыг хослуулж болно.
IC чипийг байрлуулахад анхаарах хэрэгтэй. Төхөөрөмжийн 1 -р зүүг зааж өгөх нэг буланд ихэвчлэн цэг байдаг.
Би CAT5 ethernet кабелийн утас ашиглаж байсан бөгөөд талхны самбар дээр ажиллахад маш хялбар байдаг. Хэрэв танд хуучин CAT5 кабель байгаа бол та үүнийг таслахад дотор нь 6 мушгирсан утас байгааг олж харах болно. Тэд талхны тавцан дээр тохиромжтой.
Алхам 4: Firmware -ийг хөрвүүлж, ачаална уу
Эх код нь ихэвчлэн миний github репозиторуудад байдаг.
Энэхүү тодорхой төслийн хувьд nfft.c гэсэн ганц С эх файлыг миний талхны цуглуулгын санд цуглуулдаг. Танд nfft.c хэрэгтэй болно
Би mps430-gcc-ийг ашиглан програмыг эмхэтгэж байгаа боловч энэ нь TI CCS-тэй сайн нийцэх ёстой. Та вэб дээр суурилсан IDE болох TI CCS үүл рүү орсноор IDE эсвэл хөрвүүлэгчийг суулгахтай холбоотой бүх бэрхшээлээс зайлсхийх боломжтой. Энэ нь програмыг таны зорилтот төхөөрөмж рүү татаж авах болно.
Энэ бол w/ switch командыг хөрвүүлэх жишээ юм
msp430 -gcc -Os -Wall -function -qism -fdata -section -fno -inline -small -functions -Wl, -Map = nfft.map, --cref -Wl, --relax -Wl, --gc- хэсгүүд -I/energia -0101E0016/hardware/msp430/core/msp430 -mmcu = msp430g2553 -o nfft.elf nfft.c
Би MCU -ийг програмчлахад TI Launchpad G2 -ийг програмист болгон ашиглаж байна.
Алхам 5: Цахилгаан хэлхээг ойлгох
Хэлхээний схемийг доор үзүүлэв
MSP430G2452 эсвэл үүнтэй төстэй 4K Flash TLC272 Dual Op-Amp, GBW @1.7Mhz, @x100 ололт, 17Khz хүртэл зурвасын өргөн хэрэгтэй
* бид зөвхөн TLC272 -ийн нэг үе шатыг ашиглаж байна
._.
| MSP430G2452 | Vcc | | | + ----------------------- 2 | ADC0 | 1-+ | | | |. | Vcc | | | | татах (47k) Vcc Vcc | --------------- | | | | _ | | | +-1 | ----. Vcc | 8-+ | | | |. |. |. | ^.--- | 7 | | 16-+ | | 10к | | 10к | | | / / ^ | | | | _ | | _ | 100k | _ | | / _+\ / / | | /| --- (талхны хавтангийн байршлыг үзнэ үү) |.1u | | | | | /_+\ | | / | ------_+-|| --- |-[1k]-+-2 | ---+| | | | | 15 GPIO | | | | +---------- 3 | ----- + +-|-| 6 | P1.1-P1.7 | | 8x8 | | | +-4 | Гнд +-| 5 | P2.0-P2.7 | | LED | |+ | | --------------- | | | матриц | ((O)) |. | | / | | _ | | MIC | | 10к | +-20 | Gnd / | -------- | | _ | | | | _ | _ | _ _ | _ _ | _ _ _ _ _ _/////////
LED жолоодох
LED матриц нь 8х8 элементээс бүрдэнэ. Тэдгээрийг 15 GPIO тээглүүрээр удирддаг. Тэдгээрийг 8 мөр, 8 баганы схемээр үржүүлсэн болно. ADC оролтод 1 зүү ашигласны дараа ердөө 15 зүү байдаг тул мултиплекс нь 1 мөр, 0 -р баганатай бөгөөд нэг зүү хуваалцдаг. Энэ нь 1 -р мөр ба 0 -р багана дээрх LED -ийг асаах боломжгүй гэсэн үг юм. Бүх LED элементүүдийг жолоодоход хангалттай GPIO зүү байхгүй тул энэ нь буулт юм.
Дуу бичлэг хийх
Боловсролын BoosterPack дээрх конденсаторын микрофоноор дамжуулан дууг олж авдаг. Микрофоны дохио нь жижиг тул бид үүнийг msp430 ADC10 -ийг боломжийн нарийвчлалтайгаар ашиглах түвшинд хүртэл нэмэгдүүлэх хэрэгтэй. Би энэ зорилгоор хоёр үе шаттай оп-өсгөгч ашиглаж байсан.
Оп-өсгөгч нь хоёр үе шаттай бөгөөд тус бүр нь 100 дахин их ашиг олдог. Би TLC272 -ийг авсан бөгөөд энэ нь бас түгээмэл хэсэг бөгөөд 3V -тэй ажилладаг. Олзны зурвасын өргөн нь ойролцоогоор 1.7 МГц байх нь бидний 100x ашиг олохын тулд бид зөвхөн 17 кГц -ийн хүрээнд сайн ажиллах болно (өөрөөр хэлбэл бидний хүссэн ашгийг хадгалах) болно гэсэн үг юм. (1.7 МГц / 100).
Эхэндээ би энэ спектрийн анализаторыг 16-20 кГц хүртэл хэмжих бодолтой байсан боловч эцэст нь 8 кГц орчим нь хөгжим үзүүлэхэд хангалттай сайн болохыг олж мэдсэн. Үүнийг аудио үнэлгээтэй LM358 төхөөрөмжөөр сольж, түүвэрлэх хурдыг өөрчлөх замаар өөрчилж болно. Зөвхөн сонгосон op-amps-ийн ашиг олох зурвасын өргөнийг хайж олох хэрэгтэй.
Дээж авах ба FFT
Ашигласан FFT функц нь олон төслүүдийн баталсан "fix_fft.c" код бөгөөд хэдэн жилийн турш интернетэд хөвж байсан. Би 16 битийн хувилбар, 8 битийн хувилбарыг туршиж үзсэн. Эцэст нь би 8 битийн хувилбарыг өөрийн зорилгын дагуу шийдсэн боловч 16 битийн хувилбар дээр томоохон ахиц дэвшил олж хараагүй.
Би FFT механизмын талаар сайн ойлголтгүй байгаа бөгөөд энэ нь давтамжийг домэйн руу хөрвүүлэх цаг хугацааны домэйн биш юм. Энэ нь FFT тооцооллын функцэд өгсний дараа дууны дээжийн хурд (цаг) нь миний олж авсан далайцын давтамжид нөлөөлнө гэсэн үг юм. Тиймээс дууны хэмжээг тохируулах замаар би давтамжийн зурвасыг тодорхойлж чадна.
TimerA 0 CCR0 нь дээж авах хугацааг хадгалахад ашиглагддаг. Бид эхлээд зурвасын давтамжид хүрэх шаардлагатай тоонуудыг тодорхойлдог (бидний 16 МГц -ийн DCO цагийн хурдтай нийцдэг). өөрөөр хэлбэл TA0CCR0 (8000/(BAND_FREQ_KHZ*2))-1; BAND_FREQ_KHZ миний хувьд 8 байна. Хэрэв та илүү сайн op-amp-тай болсон эсвэл өөр байхыг хүсч байвал үүнийг өөрчилж болно.
Давтамжийн зурвас ба далайцын масштаб
Програм хангамж нь нэг урсгалд 16 хамтлаг боловсруулдаг бөгөөд зураг авах хугацаа нь эдгээр банкуудын хооронд 500 Гц -ийн зайтай байдаг. LED матриц нь 8 баганатай бөгөөд зөвхөн 8 хамтлаг / далайцыг харуулна. Хоёр зурвас тутамд нэгийг харуулахын оронд илүү динамик давтамжийн зурвасуудыг (хөгжмийн хувьд) харуулахын тулд шугаман бус давтамжийн зурвасын жагсаалтыг ашигладаг. Жагсаалт нь доод хэсэгт 500 Гц, дунд хэсэгт 1 КГц, дээд хэсэгт 1.5 Гц давтамжтай байна.
Тус тусад нь хамтлагуудын далайцыг 8 түвшинд хүртэл бууруулдаг бөгөөд энэ нь LED матрицын дэлгэц дээрх хэвтээ "цэгүүдийн" тоогоор илэрхийлэгддэг бөгөөд далайцын түвшинг шугаман бус газрын зургаар багасгаж, FFT-ийн үр дүнг 8-ийн аль нэг болгон хөрвүүлдэг. цэгүүд Логарифмын масштабыг ашиглан дууны түвшний талаарх бидний ойлголтыг хамгийн сайн илэрхийлдэг.
AGC логик байдаг бөгөөд спектрийн анализатор нь өмнөх мөчлөгт хэд хэдэн оргил түвшинг илрүүлэх үед далайцын түвшинг бууруулахыг хичээдэг. Үүнийг гүйлгэх захирагчтай харьцуулах хүснэгтийн тусламжтайгаар хийдэг.
Алхам 6: Төхөөрөмжийг ажиллуулах
- Дэлгэцийн горимд богино товчлуур дарахад цэггүй, нэг цэг, 2 цэг, 3 цэгтэй дэлгэц эргэлддэг.
- Удаан дарах нь тохиргооны горимд орно, дараа нь удаан дарахад цэс эргэдэг.
- Цэсийн зүйлүүд 'Hamming Window Option', 'Dimmer', 'Sampling / Refresh Rate' -ээр дамждаг.
- 'Hamming Window' тохиргооны горимд богино даралтаар ямар ч цохилт хийхгүй, 1 -ийг цохиж, 2 -ийг цохиж, 3 -ыг дарж, урт дарах нь тохиргоог баталгаажуулдаг.
- 'Диммер' тохируулгын горимд богино товчлуурууд нь 0 -ээс 3 хүртэлх гэрэлтүүлгийн түвшинг дамжуулдаг бөгөөд урт дарах нь тохиргоог баталгаажуулдаг.
- 'Түүвэрлэх / шинэчлэх хурд' тохируулгын горимд 0 -ээс 7, 0 хүртэлх шинэчлэлтийн хурдыг богино дарах нь хоцрогдолгүй гэсэн үг юм.
- LED сегментийн мультиплекс нь тус тусын эгнээний гэрэлтүүлгийн ялгааг нөхөхийн тулд цаг алдах хугацааг агуулдаг.
Зөвлөмж болгож буй:
Супер хэмжээтэй нийлэг спектрийн анализатор: 7 алхам (зурагтай)
Супер хэмжээтэй нийлэг спектрийн анализатор: Хэрэв та үүнийг томоор хийж чадвал яагаад жижигхэн LED дэлгэц эсвэл жижиг дэлгэцийг харахыг хүсч байна вэ? Энэ бол өөрийн аварга том хэмжээтэй спектрийн анализаторыг хэрхэн яаж бүтээх талаар алхам алхмаар тайлбарлах болно. өрөөг дүүргэгч асаагуур хийх зориулалттай зурвас
DIY FFT аудио спектрийн анализатор: 3 алхам
DIY FFT аудио спектрийн анализатор: FFT спектр анализатор нь Фурье анализ ба дижитал дохио боловсруулах техникийг ашиглан спектрийн анализ хийх туршилтын төхөөрөмж юм. Фурье анализыг ашигласнаар жишээ нь тасралтгүй цагийн домэйны нэг утгыг хөрвүүлэх боломжтой байдаг
RGB 10 хамтлаг спектрийн анализатор: 16 алхам
RGB 10 Band Led Spectrum Analyzer: Өдрийн мэнд, эрхэм үзэгчид, уншигчид. Өнөөдөр би танд RGB LED бүхий арван зурвасын спектр анализаторын өөрчлөлтийг үзүүлэх болно
DIY Arduino аудио дохионы спектрийн анализатор: 3 алхам
DIY Arduino аудио дохионы спектрийн анализатор: Энэ бол харааны горимыг өөрчлөх боломжтой маш энгийн аудио анализатор юм
Аудио спектрийн анализатор (VU тоолуур): 6 алхам
Аудио спектрийн анализатор (VU тоолуур): Хөгжим гэж юу вэ? Техникийн үүднээс авч үзвэл хөгжим нь үндсэндээ янз бүрийн хүчдэл, давтамжтай дохио юм. Аудио спектрийн анализатор нь тодорхой давтамжийн хүчдэлийн түвшинг харуулдаг төхөөрөмж юм. Энэ нь ихэвчлэн бусад газарт хэрэглэгддэг хэрэгсэл юм