Jak uzyskać + 5 V za głośny hałas, 0 V za ciszę od Electret Microphone (lub innych komponentów)?

12

Zadałem tutaj kilka pytań, aby znaleźć właściwe, na które początkowe pytania są na końcu powiązane. Użyłem Fritzinga, aby stworzyć kilka schematów moich początkowych myśli, ale przynajmniej potrzebuję pomocy z wartościami na elementach, które tylko niejasno rozumiem i wybrałem to, co wydaje się rozsądne lub wspólne wartości.

Zasadniczo mam Arduino, które ma 6 wejść analogowych. Używa 10-bitowego ADC do odczytu napięcia na dowolnym z pinów analogowych, więc 0 = 0 V, 511 = 2,5 V i 1023 = 5 V oraz wszystkie wartości pomiędzy. Czyni odczyt LINEAR DC, więc nie szukam tutaj logiki 1-0.

Mam to podłączone do świateł LED i chcę, aby reagowały na muzykę. Chcę maksymalnej rozdzielczości z minimalnymi komponentami i myślę, że używam WAY zbyt wielu komponentów i robię to zbyt skomplikowanym. Być może mikrofony elektretowe nie są tym, czego chcę tutaj, jestem otwarty na coś innego. Wolałbym nie używać wzmacniaczy operacyjnych do oszczędzania miejsca na mojej płytce drukowanej.

To, czego chcę, to prosty czujnik poziomu hałasu. Nie chcę odtwarzać dźwięku ani mieć jasności ani nic, ale chciałbym, jak najbliżej:

  • Idealna cisza = jak najbliżej 0 V DC (stabilne, a nie AC)
  • Średni poziom hałasu = około 2,5 V DC (stabilny, nie zmienny)
  • Głośny hałas = jak najbliżej 5 V DC (stabilny, nie AC), jak to możliwe

Rozumiem z BJT, że najlepsze, co mogę uzyskać, to będzie od 0,6 do 4,4 v, ale jest to do przyjęcia. Nie jest to jednak połowa fali, od 0,6 do 2,5 V. Wydaje się to marnować połowę mojej dostępnej rozdzielczości bez powodu. Jeśli jednak istnieją inne ustawienia niż BJT, które mogą zbliżyć mnie do 0v-5v, chciałbym dać im szansę; o ile są proste.

Oto prostszy, mam nadzieję, że jest to możliwe, ale wymaga to, aby sygnał elektretowy miał wystarczającą amplitudę do napędzania obwodu detektora obwiedni (diody, rezystora i kondensatora), aby uzyskać tylko dodatnią połowę. Nie sądzę, że może tak być z powodu opadania diody do przodu, ale być może można to zmienić lub zrobić przed korekiem wyjściowym? Jakie powinny być wartości detektora obwiedni i rezystorów wzmacniacza? Czy potencjometr czułości powinien być umieszczony na sygnale, RE, RL i jaka powinna być jego wartość? Liniowy czy logarytmiczny?

Prosty

Być może jednak wyjście elektretowe nie przetrwa detektora obwiedni, bocznika czułości i nadal napędza tranzystor NPN. Jeśli nie, oto bardziej złożona wersja. Czy muszę iść tą trasą? Czy uzyskanie pożądanej mocy wyjściowej z obwodu naprawdę wymaga wszystkich tych elementów?

Złożony

Oto niektóre z wcześniejszych pytań, które zadałem, zanim w pełni zrozumiałem, co próbowałem sformułować, aby uzyskać więcej szczegółów. Oto, co powinien zrobić detektor obwiedni i nie jestem pewien, jak dostroić go do wyjścia elektretowego:

Detektor kopert Schemat obwodu

Ehryk
źródło
Myślę, że to wciąż dość szerokie. Pytanie, które powinieneś sobie zadać, brzmi: „co to znaczy, że dźwięk jest głośny?” Ludzka percepcja głośności jest złożona i może zależeć od częstotliwości, czasu trwania dźwięku, nastroju, konsumpcji kawy itp. Ludzka percepcja „ciszy” jest również wysoce zależna od otoczenia i hałasu otoczenia. Będziesz musiał przełożyć te subiektywne percepcje na bardziej obiektywne definicje, zanim będziesz w stanie zrealizować obwód elektryczny do ich zmierzenia.
Phil Frost
Oto kilka wyszukiwanych terminów, które pomogą: „detektor szczytowy” „obwód RC” „stała czasowa” „częstotliwość narożna” „filtr dolnoprzepustowy” „dB SPL”
Phil Frost
Mam ten potencjometr czułości w projekcie, aby to uwzględnić (powinien być wystarczająco szeroki, aby mógł być „skutecznie cichy” lub „zawsze głośny”, i mogę stroić stamtąd). Nie wiem jednak, czy powinno to zastąpić RL, RE (kontrolowanie wzmocnienia czy coś takiego), czy też bocznikowanie sygnału. Nie wiem, jak inaczej mogę być bardziej szczegółowy, czy mógłbyś pomóc wyjaśnić, czego więcej potrzeba?
Ehryk
1
Jeśli zmienisz napięcie odniesienia ADC kontrolera na pasmo 2V56, nie potrzebujesz napięcia wyjściowego 0-5 V. Osiągniesz pełną rozdzielczość od 0 - 2,56 V. W zależności od dokładnego sterownika masz różne napięcia przerwy pasmowej, które możesz wykorzystać jako odniesienie.
jippie
1
Wyszukaj „aktywny prostownik małego sygnału” i znajdź obwód taki jak techonlineindia.com/Libraries/tol/Signal3.sflb.ashx, który pobiera z równania napięcie progowe diody.
jippie

Odpowiedzi:

27

Chociaż można to wszystko zrobić za pomocą tylko wzmacniacza i mikrokontrolera (Arduino), o ile widzę, potrzebujesz opcji analogowej. Próbowałem stworzyć obwód, który wyprowadza poziom głosu na mikrofon. Zakres wynosi od 0 V do 4 V. Można go jednak łatwo uaktualnić do 0 V do 5 V, po prostu zmieniając OP-AMP. Teraz przejdźmy do tego;

Przede wszystkim wymieniłem wzmacniacz tranzystorowy na OP-AMP. Oto, co wymyśliłem;

wprowadź opis zdjęcia tutaj

Jest to prosty wzmacniacz odwracający o wzmocnieniu 100. Oto wzór na obliczenie wzmocnienia;

Vout=RfRinVin=100kRinVin=100Vin

Jak widać, U1 pobiera sygnał wejściowy, odwraca go, a następnie mnoży przez 100. Możesz zmienić R2 lub R3 i zobaczysz, że wzmocnienie U1 zmienia się. Odwrócenie sygnału wejściowego nie ma tutaj znaczenia, co zrozumiesz później. Spójrzmy na moc wyjściową tego wzmacniacza, a zobaczysz, że sygnał wejściowy ma duży wzrost.

wprowadź opis zdjęcia tutaj

Na powyższej grafice zobaczysz, że napięcie wyjściowe ma napięcie przesunięcia DC o wartości 2,5 wolta. Wynika to z wirtualnego podłoża, z którego korzystaliśmy. Jeśli stworzymy wirtualną masę, oznacza to, że przenosimy masę na inny poziom napięcia. W tym przypadku przenieśliśmy go do 2,5 V. Dzięki nowej konfiguracji stworzyliśmy coś, co wygląda jak -2,5 V, 0 V i 2,5 V. Aby to osiągnąć, musiałem stworzyć nową szynę napięciową o napięciu 2,5 wolta. Ponieważ ta szyna napięciowa nie będzie dostarczać dużej mocy (mniej niż 1 mA), łatwo ją stworzyć;

wprowadź opis zdjęcia tutaj

Zwróć uwagę na ujemne sprzężenie zwrotne w powyższym obwodzie. To da OP-AMP polecenie, aby . OP-AMP dołoży wszelkich starań, aby osiągnąć to równanie. Zatem moc wyjściowa wyniesie 2,5 V, czyli innymi słowy połowa napięcia zasilania. I to jest nasz nowy punkt odniesienia.V+=V

Po wzmocnieniu powinniśmy umieścić sygnał na „detektorze obwiedni” lub innymi słowy „naśladowcy obwiedni”. Otrzymasz poziom sygnału, jak chcesz i jak pokazano na zdjęciu w swoim pytaniu. Oto jak wygląda podstawowy obserwujący koperty:

wprowadź opis zdjęcia tutaj

Wygląda to świetnie, jednak zauważ, że tutaj D3 jest diodą i spada na siebie około 0,6 V. Więc tracisz napięcie. Aby temu zaradzić, użyjemy tak zwanej „super-diody”. Jest super, ponieważ spadek napięcia wynosi prawie 0 V. Aby to osiągnąć, dołączamy OP-AMP z diodą i to wszystko! OP-AMP zrekompensuje spadek napięcia diody i będziesz miał prawie idealną diodę;

wprowadź opis zdjęcia tutaj

Ponieważ w tej konfiguracji występuje negatywna informacja zwrotna, U5 dołoży wszelkich starań, aby . Tak więc, ilekroć wejście ma wartość 3 V, wytworzy swoją moc wyjściową 3,6 V, aby skompensować spadek napięcia o 0,6 V na D3. Tak więc moc wyjściowa tej super-diody, stąd wejście będzie równe jego napięciu wejściowemu . Jednakże, gdy wejście jest ujemne, D3 nie pozwoli U5 na uczynienie wyjścia ujemnym. Zauważ również, że szyna ujemna dla U5 to GND, która wynosi 0 V. W żadnym wypadku nie będzie już w stanie zejść poniżej 0 V. Działa jak idealna dioda!V+=VVVV+

Teraz zmień D3 w powyższym obwodzie popychacza obwiedni za pomocą super-diody, a masz lepszy popychacz obwiedni! Spójrzmy na nasz wynik;

wprowadź opis zdjęcia tutaj

Zbliżamy się. Jak widać, moc wyjściowego obwiedni obwiedni, która jest czerwoną linią, może wynosić od 2,5 V do 4 V. 2,5 V to brak dźwięku, 4 V to głośny dźwięk, a 3,25 V - średni dźwięk. Aby przeskalować to do tego, czego chciałeś, możemy odjąć napięcie przesunięcia 2,5 V i przeskalować je. Po odjęciu 2,5 V staje się; 0 V dla braku dźwięku, 1,5 V dla głośnego dźwięku i 0,75 V dla średniego dźwięku i tak dalej. Następnie, jeśli pomnożysz to przez około 3, otrzymasz to, czego dokładnie chcesz. 0 V dla braku dźwięku, 2,5 V dla dźwięku średniego i 5 V dla dźwięku głośnego. Podsumowując, chcemy tego;

Vout=(Vin2.5V)3

Aby to osiągnąć, użyjemy wzmacniacza różnicowego lub innymi słowy „ subtraktora ”.

wprowadź opis zdjęcia tutaj

Gdy rezystory, R1 = R2 i R3 = R4, funkcję przenoszenia dla wzmacniacza różnicowego można uprościć do następującego wyrażenia:

Vout=R3R1(V2V1)

Jeśli zrobisz V1 = 2,5 V i stosunek R3 / R1 3, uzyskasz pożądaną moc wyjściową.

Oto kompletny schemat, który zrobi to, co chcesz:

wprowadź opis zdjęcia tutaj

Użyłem tutaj LM324 OP-AMP do celów symulacji. To ograniczy maksymalne napięcie wyjściowe do 4 V. Aby uzyskać pełny zakres mocy, należy użyć wyjścia OP-AMP typu rail-to-rail. Sugerowałbym MCP6004 . Zmieniaj R1 i R2, aż uzyskasz pożądany wynik. Oto, co otrzymałem z symulacją:

wprowadź opis zdjęcia tutaj

Teraz, mierząc te wartości w ADC, nie uzyskasz liniowego wyczucia , zamiast tego dźwięk jest lepiej rozumiany logarytmicznie, ponieważ nasze uszy słyszą w ten sposób. Dlatego powinieneś użyć decybeli . Jeśli nie znasz decybeli, oto świetny samouczek wideo na ten temat.

Na przykład cichy pokój mierzy około 40 dB. Impreza w pokoju podniesie poziom pokoju do 100 dB, a może 110 dB. Na tej stronie internetowej można znaleźć świetne informacje na ten temat, skąd mam również osadzony poniżej obraz. Pomyśl o poziomach w decybelach i eksperymentuj z napięciem wyjściowym obwodu. Następnie oblicz wymaganą rozdzielczość ADC. Prawdopodobnie wszystko będzie dobrze z 12-bitowym ADC.

wprowadź opis zdjęcia tutaj

abdullah kahraman
źródło
5
To fenomenalna odpowiedź; jeśli SE miałaby sławę, nominowałbym to. Dziękujemy za bycie bardzo precyzyjnym i wyjaśniającym! Jak generujesz te zdjęcia, zrzut z ocsilloskopu, oprogramowania lunety lub algorytmu rozwiązywania?
Ehryk
1
@Ehryk Dzięki, ale przesadzasz :). Jest LTSpice że używam.
abdullah kahraman
@Ehryk Zaktualizowałem swoją odpowiedź i dodałem więcej informacji na temat pomiaru dźwięku.
abdullah kahraman
Użyj Circlab, aby móc dzielić się z innymi i natychmiast uruchamiać symulacje! Dam ci za to 50 powtórzeń.
Kortuk
1
@Kortuk Nie mogłem poprawnie symulować .. CircuitLab Link
abdullah kahraman
7

Wydaje się, że jesteś na dobrej drodze. To nie zajmie wiele elementów dyskretnych robić tego typu rzeczy. Możesz mi nie wierzyć, ale użycie wzmacniaczy operacyjnych może uczynić to wszystko prostszym i mniejszym. Jestem pewien, że możesz znaleźć jeszcze bardziej szczegółowe układy scalone, które robią więcej tego, czego potrzebujesz w mniejszym pakiecie. Założę się, że jest tam układ scalony, który robi dokładnie to, czego potrzebujesz. Dowiesz się jednak więcej, jeśli będziesz kontynuować bez nich, nawet jeśli tylko dla wartości akademickiej.

Możesz również uprościć niektóre z tych czynności, przenosząc logikę do mikroprocesora. Wykrywanie kopert jest łatwe w oprogramowaniu i zależnie od tego, jak dokładna powinna być twoja czułość i czułości mikrofonu, możesz nawet uciec od pominięcia wzmacniacza za mikrofonem i umieszczenia jego wyjścia bezpośrednio w ADC. To nie da ci 0V-5V, ale czy to ma znaczenie? Możesz go pomnożyć przez stałą w oprogramowaniu. To, co tracisz, to dokładność posiadania pełnego zakresu ADC, ale może to nie jest tak ważne jak prostota. Ty decydujesz.

Phil Frost
źródło
Nie wierzę, że wzmacniacze operacyjne mogą to zrobić po prostu, starałem się zminimalizować nieruchomości PCB. Jednak staje się boleśnie oczywiste, że 8-pinowy dip LM358 będzie DRASTYCZNIE prostszy. Zastanawiam się także, czy mikrofon elektretowy również nie jest dobrym wyborem; wydaje się śmieszne, że takie proste pragnienie (głośność zmysłów, 0–5 V) jest bezsensownie złożone.
Ehryk
Sam elektret daje ~ 20mV szczyt-szczyt. W przypadku ADC Arduino chodzi o różnicę dwóch: od absolutnie cichego do najgłośniejszego (rozdzielczość 4,9 mV, jeśli 511 w trybie cichym, 513 do 509 w pełnym podmuchu). Chcę dobrych zakresów czułości, a nie „Silent / Medium / Loud” jako jedynych gradientów, i zakładam, że linia była idealnie stabilna.
Ehryk
@Ehryk, jeśli chcesz po prostu zachować małe rzeczy, jestem pewien, że możesz znaleźć LM358 (lub inny wspólny wzmacniacz operacyjny) w dużym pakiecie do montażu powierzchniowego, takim jak SOIC . Łatwo lutować ręcznie za pomocą dobrych narzędzi i nie trzeba wiercić otworów. Bez zakupu czujnika, który już robi dokładnie to, czego potrzebujesz, wątpię, czy zrobisz to prościej niż mikrofon elektretowy i przeniesiesz wszystko oprócz polaryzacji i wzmocnienia do mikrokontrolera.
Phil Frost
4

Po pierwsze, nie potrzebujesz arduino, chyba że potrzebujesz więcej przetwarzania - wszystko, czego naprawdę potrzebujesz, to wzmacniacz (zrobiłby to wzmacniacz operacyjny, mnóstwo podstawowych obwodów na całym świecie), aby zwiększyć moc mikrofonu w zakresie 0-5v. Jeśli nie martwisz się zbytnio dokładnością (ponieważ jest to raczej pomiar dla zabawy niż naukowy), możesz użyć dość podstawowego obwodu przycinającego, podłączyć wyjście do wyzwalacza Schmitta lub użyć LM3914 do wygenerowania wyświetlacza.

Nieznacznie więcej finezji można uzyskać, tworząc obwód AGC, aby automatycznie zwiększać i zmniejszać wzmocnienie ze średnim poziomem.

Cokolwiek, otrzymujesz główną pozytywną karmę, porzucając arduino i robiąc to analogicznie, jak zamierzała natura;)

Edycja: istnieje duże prawdopodobieństwo, że w Internecie jest mnóstwo obwodów „przedwzmacniacza mikrofonowego”, prawdopodobnie chip SOT23 o wartości 0,10 USD, który może zrobić to za Ciebie w dzisiejszych czasach ...

John U
źródło
Arduino kontroluje układ diod LED za pomocą 5 swoich styków PWM, i każę mu migać różnymi literami / wzorami przy jasnościach różnych ułamków wejściowego szumu. A więc - arduino jest wymagane i muszę w jakiś sposób powiedzieć z dobrą rozdzielczością, jak głośno jest, aby mógł PWM wzorzec przy różnym stopniu jasności w stosunku do muzyki. Naprawdę nie wiem o co chodzi bez schematu obwodu.
Ehryk
Nie mam obsesji na punkcie schematów obwodów, opisuję obwody, które są podstawowymi elementami składowymi, opisywanymi w każdym podręczniku, szybkie google powinno włączyć podstawowe obwody dla różnych funkcji (przedwzmacniacz, AGC, clipper itp.), A także tym więcej dyskotek (obwody korektora graficznego, sterowniki ekranu, organy świetlne itp.), które były przedmiotem hobby elektroniki od czasu wynalezienia Disco.
John U
Problem polega na tym, że istnieje zbyt wiele przykładów z różnymi komponentami i „funkcjami”, niejasno opisanymi lub wcale nie opisanymi. Najbardziej przydatne są konkretne diagramy z wyjaśnieniem, dlaczego wybrano niektóre komponenty i wartości zostały osiągnięte, i o co zwykle pytam w moich pytaniach. Ta odpowiedź była na przykład fenomenalna i niezwykle pomocna.
Ehryk
Pytasz o klocki Lego, ja oferuję kawałek plastiku i skalpel, to tylko inne podejście.
John U
2
... i odpowiadam faktem, że mam już 10 kawałków plastiku i własnego skalpela i mogę uzyskać setki innych, wyszukując. Dodatkowo, w pytaniu konkretnie prosiłem o klocki Lego, a ty mówisz „nie oczekuj legos”.
Ehryk