Introducere

Proiectul consta in realizarea unui tuner de chitara rece. In general, este destul de greu pentru o persoana lipsita de experienta sa isi acordeze chitara dupa ureche, asa ca un tuner ar fi de ajutor. Totodata, un tuner costa destul de mult, iar daca vrei sa folosesti un soft ca GuitarPro, ai nevoie de un microfon destul de puternic.

Descriere generală

Principiul de functionare

Exista 6 butoane de selectie, fiecare pentru una din cele 6 corzi ale chitarei. Utilizatorul apasa unul dintre aceste butoane in functie de coarda pe care vrea sa o acordeze si loveste coarda. In functie de diferenta dintre frecventa actuala si frecventa normala a corzii, se aprinde unul dintre cele trei leduri: ledurile rosii in triunghi care indica o crestere sau o scadere a tensionarii corzii sau ledul galben care indica faptul ca acordajul este bun.

Descrierea modulelor

Module Hardware

Microfon
Preamplificator de microfon

Cerintele principale care trebuie indeplinite de preamplificatorul de microfon sunt adaptarea impendantei sursei de semnal si asigurarea unei amplificari de tensiune ridicate, in conditii de zgomot propriu si distorsiuni mici, intr-o gama dinamica suficient de extinsa.

In schema realizata de mine este vorba de un preamplificator pentru microfon cu o rezistenta de intrare de 500Kohmi, iar cea de iesire de 250 ohmi, realizat cu doua tranzistoare cu siliciu (unul npn si celalalt pnp) cuplate galvanic si un comparator, fara histerezis, realizat cu un amplificator operational. Amplificarea in tensiune a acestui preamplificator este 30. Amplitudinea maxima a tensiunii de iesire este de 6.6 V varf la varf.

Condensatorul de intrare realizeaza separarea galvanica fata de microfon. Polarizarea primului tranzistor se realizeaza cu rezistentele R1,R2 si R6. Rezistenta R3 impreuna cu condensatorul C2, realizeaza o filtrare suplimentara a tensiunii de polarizare a tranzistorului Q1, iar rezistenta R12 impreuna cu C7 realizeaza polarizarea microfonului, respectiv filtrarea tensiunii de polarizare.

Conectarea lui C3 in emitor si rezistentele R2,R3 ajuta la obtinerea impendantei mari de intrare a tranzistorului. Aceasta configuratie este cunoscuta sub numele de Bootstrap.

Rezistenta R4 in paralel cu impendanta de intrare in tranzistorul Q2 formeaza sarcina tranzistorului Q1. Rezistenta R5 stabilizeaza punctul static de functionare al tranzistorului Q1, dar reprezinta si calea de reactie negativa globala (de tip paralel-serie).

Rezistenta R7 din colectorul tranzistorului Q2, impreuna cu R4 si curentul de colector al tranzistorului Q1, determina punctul de functionare pentru tranzistorul Q2. Condensatorul C4 realizeaza separarea galvanica intre preamlificator si sarcina de iesire. Banda preamplificatorului de microfon este cuprinsa intre 10Hz si 100 Hz.

Semnalul sinusoidal obtinut la iesirea preamplificatorului de microfon cu amplitudinea de maxim 6.6 V varf la varf reprezinta intrarea unui aplificator operational, AO1, care are functia, in acest caz, de comparator. Chiar daca este folosit ca un comparator, integratul 741 detecteaza semnalele slabe astfel încat acestea sa poata fi recunoscute mai usor.

Comparator

Un comparator este un circuit care compara doua tensiuni de intrare. Una se numeste tensiune de referinta (VREF), iar cealalta se numeste tensiune de intrare (VIN). Cand tensiunea de intrare (Vin) se ridica mai sus sau scade sub tensiunea de referinta( VREF) polaritatea iesirii se modifica.

Tensiunea de referinta se modifica cu ajutorul unei rezistente variabile RS1, astfel incat semnalul de iesire din comparator sa aiba o forma dreptunghiulara cuprinsa intr-o banda de frecventa de 10Hz si 100 de Hz necesara intrarii microcontrolerului.

Adaptor nivel logic

Pentru a adapta nivelul semnalului de iesire din comparator cu intrarea microcontrolerului am folosit tranzistorul Q3. Acest tranzistor cat si comparatorul au fost alimentate cu o tensiune de +5V care alimenteaza si microcontrolerul. Output-ul este legat la pinii PA.

Leduri si butoane

Cele 6 butoane folosite sunt setate ca input la pinii PD ai microcontrolerului, iar cele 2 leduri sunt setate ca output la pinii PB.

Module software

Initializare

Se initializeaza pinii microcontrolerului ca intrare sau iesire si se seteaza un timer pentru intreruperile de esantionare.

Esantionare

Se realizeaza sampling in functie de intervalul de sampling stabilit in modulul anterior. Pentru a simplifica determinarea frecventei semnalului, vom alege o frecventa de referinta la care se vor raporta frecventele celor 6 corzi. Determinarea valorii relative a frecventei unei corzi se va face numarand semnalele de 5V pe unitate de timp. Daca acest contor este mai mare decat frecventa relativa a corzii de acordat, atunci coarda trebuie detensionata, iar daca este mai mic, coarda trebuie tensionata.

Procesare informatie

Se determina frecventa semnalului si in functie de butonul apasat se compara cu un anumit prag de frecventa.

Comanda leduri

In functie de diferenta dintre frecventa esantionata si frecventa normala, se aprind ledurile.

Schema bloc a modulului hardware

Schema bloc a modulului software

Hardware Design

Lista de piese

Urmatoarele piese sunt necesare pentru realizarea modulelor hardware prezentate anterior:

  • microfon tip condensator
  • rezistente si condensatori
  • tranzistori BC109, BC177, BC107
  • potentiometru
  • integrat UA741
  • baterie 9V/12V
  • butoane
  • 3 leduri

Schema electrica a circuitului

Schema electrica microfon

Schema electrica preamplificator si comparator

Schema a fost realizata in Electronics Workbench Student Edition si difera putin de varianta functionala deoarece aplicatia nu suporta componenta microfon. Pentru a putea rula simularea, am inlocuit microfonul cu o sursa de semnal si am legat iesirea circuitului la un osciloscop pentru a putea vizualiza forma de unda dreptunghiulara.

Atasez in sectiunea Downloads simularea functionala, precum si un kit de Electronics Workbench Student Edition.

Schema electrica microcontroler, leduri si butoane

Pentru usurinta, modulul de microcontroler, leduri si butoane l-am proiectat in Eagle pornind de la Laboratorul 2.

Software Design

Mediu de dezvoltare

Aplicatia este realizata in AVR Studio.

Implementare

Initializare

Se initializeaza pinii de intrare pentru cele 6 butoane, pinii de iesire pentru cele 3 leduri si pinul de input semnal. Totodata, se definesc frecventele standard pentru cele 6 corzi cu care se va compara frecventa semnalului provenit de la microfon.

#define REFERENCE_FREQ 1200.00 #define APROX_ERROR 10.00

#define _EL_ 164.81

#define _A_ 220.00

#define _D_ 293.66

#define _G_ 391.99

#define _B_ 493.88

#define _EH_ 659.26

Acest vector retine frecventa relativa a fiecarei corzi (practic numarul de semnale de 5V in unitatea de timp stabilita de mine).

unsigned int reference_count[] = {

REFERENCE_FREQ/_EH_,

REFERENCE_FREQ/_B_,

REFERENCE_FREQ/_G_,

REFERENCE_FREQ/_D_,

REFERENCE_FREQ/_A_,

REFERENCE_FREQ/_EL_,

};

if (interrupt)

then {
	if (check_pressed_button) {
		result = compare (count, reference_count)
		if (result == equal)
			light_yellow_led (LED3)
		else if (result == smaller)
			light_red_led (LED1)
		else
		        light_red_led (LED2)
	}
}

Esantionare

Se foloseste un timer care sa faca o intrerupere la fiecare 0,2 ms. In momentul intreruperii se verifica daca unul dintre cele 6 butoane este ON. Daca da, se determina butonul respectiv si se asociaza frecventei relative a corzii.

Procesare informatie

Se compara frecventa relativa determinata inainte de intrerupere cu aceasta frecventa de referinta. Daca este mai mare inseamna ca aceasta coarda este acordata prea sus si trebuie detensionata. Daca este mai mica, inseamna ca aceasta coarda este acordata prea jos si trebuie tensionata. Daca diferenta dintre cele de frecvente este mai mica decat o eroare prestabilita, inseamna ca aceasta coarda este acordata corespunzator.

Comanda leduri

In functie de relatia intre frecventa de referinta si frecventa obtinuta dupa esantionare, se da o comanda la unul dintre cele 3 leduri legate la microcontroler.

Rezultate Obţinute

Se realizeaza doua simulari.

Prima simulare va transforma semnalul provenit de la generator intr-un semnal treapta intre 0-5V cu frecventa diferita (in functie de cea setata la generator). Practic microfonul este simulat utilizand un generator de semnal sinusoidal cu diverse frecvente.

Cea de-a doua consta in simularea semnalului treapta 0-5V de intrare in microcontroler. Acesta esantioneaza semnalul si da comanda spre leduri.

Mai jos este un exemplu de moficare a frecventei la iesire in functie de semnalul generatorului:

Concluzii

Determinarea frecventei exacte (in valoare numerica) a unui semnal este o problema destul de complicata. Pe langa nevoia de a folosi niste mecanisme hardware sau software de reducere a noise-ul, apare nevoia utilizarii unui sampler avansat (eventual cu memorie pentru a putea inregistra niste masuratori si prelua media acestora).

Download

Jurnal

Pentru extensie, am folosit o placa de test cu extensie pe 3 gauri. Din nefericire, dimensiunea in lungime a fost cam mica, asa ca a trebuit sa aranjez circuitul pe doua siruri, ceea ce a ingreunat putin lipirea componentelor si depanarea placutei (a fost nevoie de un numar destul de mare de fire pentru a conecta componentele).

Bibliografie/Resurse

http://www.technologystudent.com/elec1/opamp3.htm

http://www.techitoutuk.com/knowledge/electronics/buildingblocks/opamp/index.html

Amplificatoare audio si sisteme muzicale, editura Dacia. L.Festila, E.Simion, C.Miron

Datasheets pentru UA741, BC109, BC177 si BC107

pm/prj2010/rtataroiu/tunerchitara.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0