Arduino Audio Input (3 / 8 steg)
Steg 3: Icke-invertering förstärkare
Databladet för TL072 eller TL082 säger att det bör drivas med + 15 och -15V, men eftersom signalen aldrig skulle förstärkas ovan + eller - 2.5V är det bra att köra op förstärkaren med något lägre. Jag använde två nio volt batterier fast i serien för att skapa ett + eller - 9V strömförsörjning.
Koppla upp din + V (stift 8) och -V (stift 4) till op förstärkaren. Tråd signalen från uttaget mono till icke-invertering input (pin 3) och ansluta marken pin av jack till 0V hänvisningen på din spänning (för mig var detta i korsningen mellan två 9V batterier i serie). Tråd ett 100kOhm motstånd mellan utdata (pin 1) och vända input (pin 2) av op-amp. I denna krets använde jag en 10kOhm potentiometer wired som ett variabelt motstånd för att justera de få (det belopp som förstärkaren förstärker) på min icke-invertering förstärkare. Senare i detta Instructable, ska jag visa hur du kan lägga till en LED-indikator till Arduino stift 13 att du vet när du har denna pott dök upp för högt (vilket ger klippning av den inkommande signalen av Arduino); Detta sätt du vet när du ska skruva potten ner och få signalen tillbaka i intervallet du (amplitud av ~2.5V). Tråd här 10K linjär taper potten mellan de inverterade indata och 0V hänvisningen.
Följande ekvation beskriver de relativa amplituderna av signalen före och efter icke-invertering förstärkaren:
Vout = ~ Vin * (1 + R2/R1)
eller
Vout/Vin = ~ 1 + R2/R1
där R2 är feedback motståndet (mellan produktion och icke vända input), R1 är motståndet till marken, Vout är amplituden för den utgående signalen (utdata från förstärkare) och Vin är amplituden av den inkommande signalen (ingång till förstärkaren)
I denna krets R2 är en 100kOhm motstånd R1 är en 10kOhm potentiometer (varierande resistor). Genom att vrida potten kan du ändra motståndet R1 från 0Ohms till 10KOhms. Här är några exempel beräkningar:
När potten är aktiverad hela vägen till vänster motståndet R1 är 10kOhms och förhållandet mellan Vout till Vin handlar om:
1 + 100/10 = 11
En signal kommer från mikrofonen med en amplitud på 200 (som är ganska högt på min mikrofon) skulle förstärkas till:
200 * 11 = 2200mV = 2.2V
Detta är rätt i det område vi vill (amplitud nära 2.5V utan att gå över)
Vrida potten till sin halvvägs position kommer att ge det ett motstånd av 5kOhms, vi kan beräkna förhållandet mellan Vout till Vin igen:
1 + 100/5 = 21
nu blir amplituden multiplicerat med 21
Detta är för mycket förstärkning för 200 signalen:
200 * 21 = 4200mv = 4.2V >> 2.5V
men denna förstärkning skulle vara perfekt för en 100mV signal:
100mV * 21 = 2100mV = 2.1V = ~ 2.5V
Vrida krukan längre till höger håller minskar motståndet R1 och öka förstärkningen (kallas även få) av denna förstärkare teoretiskt till oändlighet. Uppenbarligen någon gång förstärkaren kommer inte att kunna driva en signal med en stor amplitud, men du får idén. Genom att justera potentiometern kan du justera känsligheten av förstärkaren och ställa in känsligheten för mikrofonen medan du fortfarande håller det i ett område som Arduino gillar.
Obs: Som ni kan se i kretsen ovan, detta projekt bara använder en av de två tillgängliga op förstärkarna i TL072/TL082 paketet. Jag använde detta chip eftersom de lätt kommer (du kan även köpa TL082 på Radioshack dessa dagar), de är i princip samma pris som de enda op amp paket (TL071 och TL081), och du kanske vill använda extra op förstärkaren någon annanstans på din krets (en annan kanal för input, en audio out-circuit...). Men om du har en TL071 eller TL081, det kommer att göra bra för detta projekt.