Sadržaj:

Ukelele tuner pomoću LabView i NI USB-6008: 5 koraka
Ukelele tuner pomoću LabView i NI USB-6008: 5 koraka

Video: Ukelele tuner pomoću LabView i NI USB-6008: 5 koraka

Video: Ukelele tuner pomoću LabView i NI USB-6008: 5 koraka
Video: UKULELE 🎸 - POSTAVLJANJE UKULELE, Veston Sopran ukulele, Clip on Tuner 2024, Novembar
Anonim
Ukelele tuner pomoću LabView i NI USB-6008
Ukelele tuner pomoću LabView i NI USB-6008
Ukelele tuner pomoću LabView i NI USB-6008
Ukelele tuner pomoću LabView i NI USB-6008

Kao projekt učenja zasnovanog na problemima za moj tečaj LabVIEW & Instrumentation na Humber Collegeu (Tehnika elektroničkog inženjeringa), stvorio sam ukulele tuner koji će uzeti analogni ulaz (ton niza ukulele), pronaći osnovnu frekvenciju, odlučiti koju notu pokušava za podešavanje i reći korisniku je li potrebno podesiti niz gore ili dolje. Uređaj koji sam koristio za prevođenje analognog ulaza u digitalni ulaz bio je National Instruments USB-6008 DAQ (uređaj za prikupljanje podataka), a korisničko sučelje je implementirano s LabVIEW-om.

Korak 1: Standardno Ukelele ugađanje

Standardno Ukelele ugađanje
Standardno Ukelele ugađanje
Standardno Ukelele ugađanje
Standardno Ukelele ugađanje

Prvi korak je bio otkrivanje osnovnih frekvencija muzičkih nota i raspona na kojem su ukulele žice tipično prilagođene. Koristio sam ove dvije karte i odlučio da svoj tonski raspon postavim između 262 Hz (C) i 494Hz (Visoko B). Sve manje od 252 Hz smatralo bi se preniskim da bi program dešifrirao koju notu pokušava svirati, a sve veće od 500 Hz smatralo bi se previsokim. Program, međutim, i dalje govori korisniku koliko Hz ima daleko od najbliže dešifrirane note i da li niz treba podesiti prema gore (nota prenisko) ili prema dolje (nota previsoko) kako bi dosegao dostupnu notu.

Osim toga, stvorio sam opsege za svaku notu, a ne samo za jednu frekvenciju, kako bi programu bilo lakše pronaći koju notu svira. Na primjer, program bi korisniku rekao da se svira C ako nota ima osnovnu frekvenciju između 252 Hz (na pola puta do B) i 269Hz (na pola puta do C#), ali kako bi odlučio da li ga treba podesiti ili niže, ipak bi uporedio sviranu notu sa osnovnom frekvencijom C koja je 262Hz.

Korak 2: Stvaranje čisto digitalnog teorijskog modela

Stvaranje čisto digitalnog teorijskog modela
Stvaranje čisto digitalnog teorijskog modela
Stvaranje čisto digitalnog teorijskog modela
Stvaranje čisto digitalnog teorijskog modela

Prije nego što sam zaronio u analognu stranu projekta, želio sam vidjeti mogu li stvoriti program LabVIEW koji će barem obaviti glavnu obradu uzorka zvuka, poput čitanja audio.wav uzorka, pronalaženja osnovne frekvencije i stvaranja potrebne usporedbe s grafikonom frekvencija kako bi se ustanovilo treba li zvuk povećati ili smanjiti.

Koristio sam SoundFileSimpleRead. VI dostupan u LabVIEW -u za čitanje.wav datoteke sa putanje koju sam odredio, stavio signal u indeksirani niz i ubacio taj signal u HarmonicDistortionAnalyzer. VI kako bih pronašao osnovnu frekvenciju. Uzeo sam i signal sa SoundFileSimpleRead. VI i spojio ga direktno u indikator grafikona talasnog oblika tako da korisnik može vidjeti valni oblik datoteke na prednjoj ploči.

Napravio sam 2 strukture slučaja: jednu za analizu note koja se svira, a drugu za utvrđivanje treba li niz povećati ili smanjiti. U prvom slučaju, stvorio sam raspone za svaku notu, a ako je signal osnovne frekvencije iz HarmonicDistortionAnalyzer. VI bio u tom rasponu, korisniku bi rekao koja se nota svira. Nakon što je nota određena, vrijednost odsvirane note oduzeta je stvarnom osnovnom frekvencijom note, a zatim je rezultat premješten u drugi slučaj koji je odredio sljedeće: ako je rezultat iznad nule, tada je potrebno ugađanje žice; ako je rezultat lažan (ne iznad nule), slučaj provjerava je li vrijednost jednaka nuli, a ako je istina, tada će program obavijestiti korisnika da je nota usklađena; ako vrijednost nije jednaka nuli, to znači da mora biti manja od nule i da niz treba podesiti. Uzeo sam apsolutnu vrijednost rezultata kako bih korisniku pokazao koliko Hz ima daleko od prave note.

Odlučio sam da će indikator mjerača biti najbolji za vizualno prikazivanje korisniku što treba učiniti kako bi bilješka bila usklađena.

Korak 3: Zatim, analogno kolo

Zatim, analogno kolo
Zatim, analogno kolo
Zatim, analogno kolo
Zatim, analogno kolo
Zatim, analogno kolo
Zatim, analogno kolo

Mikrofon koji sam koristio za ovaj projekt je kondenzatorski elektronski mikrofon CMA-6542PF. Tehnički list za ovaj mikrofon se nalazi ispod. Za razliku od većine kondenzatorskih mikrofona ove vrste, nisam morao brinuti o polaritetu. Tehnički podaci pokazuju da je radni napon za ovaj mikrofon 4,5 - 10 V, ali preporučuje se 4,5 V, a trenutna potrošnja mu je 0,5 mA max, pa je to nešto na što treba biti oprezan pri projektiranju sklopa pretpojačala za njega. Radna frekvencija je 20Hz do 20kHz što je savršeno za audio.

Implementirao sam jednostavan dizajn sklopa pretpojačala na matičnoj ploči i prilagodio ulazni napon, pazeći da preko mikrofona nema više od 0,5 mA. Kondenzator se koristi za filtriranje istosmjerne buke koja bi se mogla spojiti zajedno s električnim signalima (izlaz), a kondenzator ima polaritet pa svakako priključite pozitivni kraj na izlazni pin mikrofona.

Nakon što je krug dovršen, spojio sam izlaz kola na prvi pin analognog ulaza (AI0, pin 2) USB-6008 i spojio uzemljenje matične ploče na pin za analogno uzemljenje (GND, pin 1). Povezao sam USB-6008 sa računarom putem USB-a i došlo je vrijeme za prilagođavanje programa LabVIEW za prijem stvarnog analognog signala.

Korak 4: Čitanje analognih signala s DAQ pomoćnikom

Čitanje analognih signala s DAQ pomoćnikom
Čitanje analognih signala s DAQ pomoćnikom
Čitanje analognih signala s DAQ pomoćnikom
Čitanje analognih signala s DAQ pomoćnikom

Umjesto SoundFileSimpleRead. VI i HarmonicDistortionAnalyzer. VI, za rješavanje analognog ulaza koristio sam DAQ Assistant. VI i ToneMeasurements. VI. Postavljanje DAQ pomoćnika prilično je jednostavno, a sam VI će vas provesti kroz korake. ToneMeasurements. VI ima mnogo izlaza za izbor (amplituda, frekvencija, faza), pa sam koristio frekvencijski izlaz koji daje osnovnu frekvenciju ulaznog tona (iz DAQ Assistant. VI). Izlaz ToneMeasurements. VI je morao biti pretvoren i stavljen u niz prije nego što se mogao koristiti u strukturi kućišta, ali ostatak programa/indikatora LabVIEW -a ostao je isti.

Korak 5: Zaključak

Zaključak
Zaključak

Projekt je bio uspješan, ali je definitivno bilo dosta nedostataka. Dok sam upravljao tunerom u bučnoj učionici, programu je bilo jako teško odrediti šta je buka, a koji ton se svira. To je vjerojatno zbog toga što je sklop pretpojačala vrlo jednostavan, a mikrofon vrlo jeftin. Međutim, kada je bilo tiho, program je s dobrom pouzdanošću radio na određivanju note koja se pokušavala svirati. Zbog vremenskih ograničenja nisam napravio dodatne promjene, ali ako bih ponovio projekt, kupio bih bolji mikrofon i proveo bih više vremena na krugu pretpojačala.

Preporučuje se: