Sund trycksensor för Arduino baserat på ZX-ljudkort
Det finns ett antal ljud givare för Arduino, några av dem ganska billigt så när jag behövde en, tänkte jag att bygga en själv var vansinne och jag ut för att köpa en.
Första tanke var ju att kolla Dealextreme.com så de alltid har en hissa godsaker tillgängliga på rimlig kvalitet och ganska bra pris och de tar inte betalt för Porto.
Klanggeneratorns det (med en LM393) fick tyvärr inte många bra recensioner (Obs, de har en ny nu) och när jag kollade Sparkfun, det verkade att deras ursprungliga ljud BreakOutBoard, BOB-08669 (med en OPA344) hade lite av en stenig start med massor av klagomål och de ersatte den med den BOB-09964, skillnaden mellan de två som är vissa förändringar i motstånd och kondensator värden. Också den nya BOB tydligen gjorde inte många användare glada, + på 7,95 USD + S & H det var egentligen inte alldeles mycket heller.
Så gick min jakt på. Väl det verkligen finns en hel del kretsar: med 1 transistor, med många transistorer med 1 op-amp med 2 op-förstärkare.
Dock kom jag på en redo bygga ombord som hade användare entusiastisk: zx-soundboard från Inex. De är en thailändsk företaget under en singaporianska moderbolaget och har många distributörer i Europa. Ingen av dessa distributörer verkade dock tyvärr har någon information om denna styrelse. Lyckligtvis ger de en tydlig krets så att måste att vara en. (Under tiden jag fick reda på det kostar 7.57 euro i Frankrike.)
Så varför ge en instructable om en så enkel sak. Tja, 2 anledningar:
- Circuit Inex ger i min mening är fel
- Om jag designar en PCB ge jag bästa till andra att byggare
Vid första anblicken är kretsen jag designade identisk med Inex schemat:
IC1a används som en icke-invertering förstärkare. Det erbjuder en högre impedans än den inverterade förstärkaren. Vinst för icke-invertering förstärkaren bestäms av 1 + R4/R3 och är 40dB (100 x).
I de flesta fall är det möjligt att DC par kretsen. Men i detta fall det är nödvändigt att se till att de icke-invertering har en DC väg till jorden för de mycket små inmatad ström som behövs. Detta kan uppnås genom motstånd, R2 i diagrammet. Värdet av detta kan normalt vara 100 kΩ eller mer. Om detta motstånd är inte produktionen av operationsförstärkare kommer att drivas in i en av spänning rälsen.
När du lägger till ett motstånd på detta sätt bildar kondensator-resistor kombinationen ett högpassfilter med en gränsfrekvens. Avskuren punkt inträffar med en frekvens där den kapacitiv reaktans är lika med resistansen. Detta uttrycks i formeln 1/2πRC. För använda kombinationen är det = 16Hz.
Det är runt IC1b där Inex kretsen går fel: utdata från IC1a i Inex kretsen går till inverterade ingången märkt som "pin 5". TLC272 har dock dess inverterade indata på stift 6 och det är icke-invertering ingång på stift 5.
Så. vilket var fel ingången eller pin-kod? Jag antog ingången var fel eftersom det verkade mycket unlogical att använda inverterade indata och jag kom över några människor som hade bygga styrelsen framgångsrikt och jag antog de bara hade följt pin numreringen och brydde sig inte att ifrågasätta utformningen och därmed omedvetet används högra ingången.
Hur som helst, varför är Op-amp 1b ens nödvändigt? Wel, om produktionen av IC1a matas direkt till en ADC (som i Arduino) det kommer att bli mycket kraftiga svängningar i behandlingen och som sådan signalen är inte riktigt som representerar det totala ljudtrycket. Vi gör det med op-amp IC1b som används som en komparator med en referens spänning på inverterade ingång (stift 6). När matas med 5 Volt, spänningen på inverterade ingången kommer att 72mV ((5000/69) * 1)
Så länge som V + < V-, Vo kommer att vara låg, men när ljudnivån stiger över 72mV, IC1b kommer att göra produktionen gå högt.
Med en vinst på 100 i IC1a, skulle en spänning på 720uV från mikrofonen räcka. Spänningen byggs upp över C3 beroende på antalet gånger produktionen går hög och därmed är en indikering för ljudtrycket. Förseningen i RC filtret på SPL produktionen är 3.3ms 150Ω * 22uF i vilka 150Ω är internall dra upp av TLC272.
Strukturlistan.
1 x TLC 272 dubbla op-amp: €0.35
1 x 8 polig IC-hållare. €0,15
1 x Elektret mikrofon: €0,75
1 x 22 €0.10
2 x 100kΩ €0.20
2 x 1kΩ €0.20
1 x 68kΩ €0.10
1 x 12Ω €0.10
1 x 100nF €0,15
1 x 470uF €0.10
1 x 22uF €0.10
Totalsumma, som finns €2,40
Dessutom: bit Circuitboard 3 bitar av tråd, lödtenn, solderingiron
En kopia av fritzingfile för PCB finns här
För dem som inte vill bygga och kan inte hitta ZX styrelsen, finns det alltid Freetronics styrelse, som också har rätt ljud nivåavläsning > 71 mV.
Du kanske också vill bygga detta en, som är något liknande Freetronics styrelsen i den utsträckning som den har en ljudtryck utgång och en ljudutgång.