Jag har ett problem. Jag vill koppla in tre mikrofoner av elektrettyp (PVM-9745) i en Atmel mega16. Tanken är att jag med dessa sedan ska kunna bestämma var en ljudkälla befinner sig. Jag behöver inte kunna särskilja ljud från varandra utan behöver bara kunna säga att ett ljud med en viss styrka kommer. problemet är att jag inte vet hur jag ska koppla in mikrofonerna för att kunna göra detta. Jag har haft flera ideer:
Ide 1: Jag har funderat på att använda A/D-omvandlaren för att kunna mäta signalen. Problemet med detta blir att jag måste kunna mäta signalerna från det tre mikrofonerna samtidigt för att det ska fungera.
Ide 2: Jag har även tänkt på att man skulle kunna koppla mikrofonens signaler till en kondensator för att sedan med µC:orn mäta tiden till den blivit fullladdad och då på så sätt beräkna ljudkurvan (kräver att man filtrerar bort alla negativa spänningar fårn mikrofonen). Det verkar dock som om detta sätt inte fungerar så bra med en mikrofon iaf inte det som jag har provat.
Ide 3: Jag har även blivit tipsad om att använda en intergratorkoppling. Men då får jag problem med hur jag ska nollställa kondensatorn och att jag antaglign måste använda A/D-omvandlaren igen.
Är det någon av dessa ideer som är värd att jobba vidare med eller är alla fel? Fins det något annat enkelt och smart sätt som man kan göra det på?
Det är framförallt hur jag ska koppla mikrofonerna till µC:orn som är problemet.
All hjälp är väldigt uppskattad.
Koppla mikrofoner till en Atmel mega16
Kan inte problemet då bli att den lilla fördröjningen mellan den första och den sista mätningen som kanske kan bli 0.02 mS kan göra (om man mäter på uppvägen på en brant ljudvåg) att det verkar som om ljudet är starkare på den sista mikrofonen än på den första även fast så inte är fallet endast pga att det har tagit lite längre tid?
Nu kan det vara jag som har missuppfattat det hela lite men att mäta på det vis tror jag blir besvärligt at få till.
Jag hade först förstärkt signalerna lika mycket och sedan gjort en fas-diskriminator mellan 2 av signalerna (och såklart därmed 3 st).
Den fasdiskriminator kollar skillnaden mellan framkant-framkant vid 0-genomgång och ger en puls av variabel bredd beroende på tidsskillnaden mellan de 2 signaler. Fasen ska såklart sparas också men det kan göras vid att sampla vilket signal som kommer först alternativt värdet på ena signalen vid en framkant.
Detta vill, totalt sett, ge 3 signaler med tidsskillnad mellan vilket med "lite" datorkraft bakom borde ge en absolut riktningsgivning.
Jag hade först förstärkt signalerna lika mycket och sedan gjort en fas-diskriminator mellan 2 av signalerna (och såklart därmed 3 st).
Den fasdiskriminator kollar skillnaden mellan framkant-framkant vid 0-genomgång och ger en puls av variabel bredd beroende på tidsskillnaden mellan de 2 signaler. Fasen ska såklart sparas också men det kan göras vid att sampla vilket signal som kommer först alternativt värdet på ena signalen vid en framkant.
Detta vill, totalt sett, ge 3 signaler med tidsskillnad mellan vilket med "lite" datorkraft bakom borde ge en absolut riktningsgivning.