Obsah:

Ukelele tuner pomocou LabView a NI USB-6008: 5 krokov
Ukelele tuner pomocou LabView a NI USB-6008: 5 krokov

Video: Ukelele tuner pomocou LabView a NI USB-6008: 5 krokov

Video: Ukelele tuner pomocou LabView a NI USB-6008: 5 krokov
Video: Как настроить свой укулеле? (Быстро и Легко для начинающих) 2024, Júl
Anonim
Ukelele tuner pomocou LabView a NI USB-6008
Ukelele tuner pomocou LabView a NI USB-6008
Ukelele tuner pomocou LabView a NI USB-6008
Ukelele tuner pomocou LabView a NI USB-6008

Ako problémový vzdelávací projekt pre môj kurz LabVIEW a inštrumentácie na Humber College (Electronics Engineering Technology) som vytvoril tuner ukulele, ktorý by používal analógový vstup (tón reťazca ukulele), našiel základnú frekvenciu a rozhodol, o akú notu sa pokúša. na ladenie a povedzte používateľovi, či je potrebné reťazec naladiť nahor alebo nadol. Zariadenie, ktoré som použil na preklad analógového vstupu na digitálny vstup, bolo National Instruments USB-6008 DAQ (zariadenie na zber údajov) a používateľské rozhranie bolo implementované pomocou programu LabVIEW.

Krok 1: Štandardné ladenie ukelele

Štandardné ladenie ukelele
Štandardné ladenie ukelele
Štandardné ladenie ukelele
Štandardné ladenie ukelele

Prvým krokom bolo zistenie základných frekvencií hudobných tónov a rozsahu, v ktorom sú struny ukulele obvykle ladené. Použil som tieto dva grafy a rozhodol som sa, že rozsah tónov nastavím medzi 262 Hz (C) a 494 Hz (vysoký B). Čokoľvek menej ako 252 Hz by bolo považované za príliš nízke na to, aby program dešifroval, akú notu sa pokúša hrať, a čokoľvek väčšie ako 500 Hz by bolo považované za príliš vysoké. Program však používateľovi stále hovorí, koľko Hz sa nachádza od najbližšej dešifrovateľnej noty, a či by mal byť reťazec naladený nahor (nota príliš nízka) alebo nadol (poznámka príliš vysoká), aby dosiahol dostupnú notu.

Navyše som pre každú notu vytvoril rozsahy, nie iba jednu frekvenciu, aby bolo pre program jednoduchšie nájsť, ktorá nota sa hrá. Program napríklad oznámi používateľovi, že sa hrá na C, ak by nota mala základnú frekvenciu medzi 252 Hz (na polceste k B) a 269 Hz (na polceste k C#), ale aby sa rozhodol, či je potrebné vyladiť alebo nadol, stále by sa porovnávala prehrávaná nota so základnou frekvenciou C, ktorá je 262 Hz.

Krok 2: Vytvorenie čisto digitálneho teoretického modelu

Vytvorenie čisto digitálneho teoretického modelu
Vytvorenie čisto digitálneho teoretického modelu
Vytvorenie čisto digitálneho teoretického modelu
Vytvorenie čisto digitálneho teoretického modelu

Predtým, ako sa ponorím do analógovej stránky projektu, chcel som zistiť, či by som mohol vytvoriť program LabVIEW, ktorý by prinajmenšom vykonával hlavné spracovanie zvukovej vzorky, ako je čítanie zvukovej ukážky.wav, nájdenie základnej frekvencie a vytvorenie požadované porovnania s grafom frekvencií, aby sa zistilo, či má byť zvuk naladený nahor alebo nadol.

Použil som SoundFileSimpleRead. VI dostupný v LabVIEW na prečítanie súboru.wav z cesty, ktorú som určil, vložil signál do indexovaného poľa a priviedol tento signál do HarmonicDistortionAnalyzer. VI, aby som našiel základnú frekvenciu. Tiež som zobral signál z SoundFileSimpleRead. VI a pripojil som ho priamo k indikátoru grafu priebehu, aby používateľ mohol vidieť priebeh súboru na prednom paneli.

Vytvoril som 2 prípadové štruktúry: jednu na analýzu, ktorá nota sa hrala, a na druhej, aby sa určilo, či je potrebné strunu otočiť nahor alebo nadol. V prvom prípade som pre každú notu vytvoril rozsahy a ak by bol základný frekvenčný signál z HarmonicDistortionAnalyzer. VI v tomto rozsahu, používateľovi by to povedalo, aká nota sa hrá. Akonáhle bola nota určená, hodnota prehrávanej noty bola odpočítaná od skutočnej základnej frekvencie noty a potom bol výsledok presunutý do druhého prípadu, ktorý určoval nasledujúce: ak je výsledok nad nulou, potom je potrebné reťazec doladiť; ak je výsledok nepravdivý (nie vyšší ako nula), potom prípad skontroluje, či je hodnota rovná nule, a ak je pravdivá, program by oznámil používateľovi, že nota je v poriadku; ak sa hodnota nerovná nule, znamená to, že musí byť menšia ako nula a že reťazec je potrebné vyladiť. Vzal som absolútnu hodnotu výsledku, aby som používateľovi ukázal, koľko Hz sú od skutočnej noty.

Rozhodol som sa, že bude najvhodnejší indikátor merača, ktorý používateľovi vizuálne ukáže, čo je potrebné urobiť, aby poznámka zodpovedala.

Krok 3: Ďalej analógový obvod

Ďalej analógový obvod
Ďalej analógový obvod
Ďalej analógový obvod
Ďalej analógový obvod
Ďalej analógový obvod
Ďalej analógový obvod

Mikrofón, ktorý som použil pre tento projekt, je kondenzátorový elektretový mikrofón CMA-6542PF. Datasheet k tomuto mikrofónu je uvedený nižšie. Na rozdiel od väčšiny kondenzátorových mikrofónov tohto typu som sa nemusel starať o polaritu. Datasheet ukazuje, že prevádzkové napätie pre tento mikrofón je 4,5 - 10 V, ale odporúča sa 4,5 V a jeho prúdová spotreba je max. 0,5 mA, na čo si treba dávať pozor pri návrhu obvodu predzosilňovača. Prevádzková frekvencia je 20 Hz až 20 kHz, ktorá je ideálna pre zvuk.

Implementoval som jednoduchý návrh obvodu predzosilňovača na dosku a upravil vstupné napätie, pričom som sa uistil, že cez mikrofón nie je viac ako 0,5 mA. Kondenzátor sa používa na filtráciu šumu jednosmerného prúdu, ktorý môže byť spojený s elektrickými signálmi (výstup), a kondenzátor má polaritu, preto nezabudnite pripojiť kladný koniec k výstupnému kolíku mikrofónu.

Keď bol obvod dokončený, pripojil som výstup obvodu k prvému analógovému vstupnému kolíku (AI0, pin 2) USB-6008 a uzemnil som prepojovaciu dosku k analógovému uzemňovaciemu kolíku (GND, pin 1). Pripojil som USB-6008 k počítaču pomocou USB a bolo načase vykonať úpravy v programe LabVIEW tak, aby zachytávali skutočný analógový signál.

Krok 4: Čítanie analógových signálov pomocou asistenta DAQ

Čítanie analógových signálov pomocou asistenta DAQ
Čítanie analógových signálov pomocou asistenta DAQ
Čítanie analógových signálov pomocou asistenta DAQ
Čítanie analógových signálov pomocou asistenta DAQ

Namiesto použitia súborov SoundFileSimpleRead. VI a HarmonicDistortionAnalyzer. VI som na riešenie analógového vstupu použil DAQ Assistant. VI a ToneMeasurements. VI. Nastavenie DAQ Assistant je pomerne jednoduché a VI vás prevedie všetkými krokmi. ToneMeasurements. VI má na výber veľa výstupov (amplitúda, frekvencia, fáza), takže som použil frekvenčný výstup, ktorý udáva základnú frekvenciu vstupného tónu (z DAQ Assistant. VI). Výstup ToneMeasurements. VI bolo potrebné skonvertovať a vložiť do poľa, aby sa mohol použiť v štruktúrach prípadov, ale zvyšok programovania/indikátorov LabVIEW zostal rovnaký.

Krok 5: Záver

Záver
Záver

Projekt bol úspešný, ale určite tu bolo veľa nedostatkov. Keď som prevádzkoval tuner v hlučnej triede, bolo pre program veľmi ťažké určiť, čo je hluk a aký tón sa hrá. Je to pravdepodobne spôsobené tým, že obvod predzosilňovača je veľmi základný a mikrofón je veľmi lacný. Keď bolo ticho, program pracoval s dobrou spoľahlivosťou a určil notu, ktorá sa pokúšala hrať. Z časových dôvodov som neurobil žiadne dodatočné zmeny, ale ak by som projekt zopakoval, kúpil by som si lepší mikrofón a strávil by som viac času na obvode predzosilňovača.

Odporúča: