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?
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?
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:
Odpowiedzi:
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;
Jest to prosty wzmacniacz odwracający o wzmocnieniu 100. Oto wzór na obliczenie wzmocnienia;
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.
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ć;
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:
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ę;
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+=V− V− V− V+
Teraz zmień D3 w powyższym obwodzie popychacza obwiedni za pomocą super-diody, a masz lepszy popychacz obwiedni! Spójrzmy na nasz wynik;
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;
Aby to osiągnąć, użyjemy wzmacniacza różnicowego lub innymi słowy „ subtraktora ”.
Gdy rezystory, R1 = R2 i R3 = R4, funkcję przenoszenia dla wzmacniacza różnicowego można uprościć do następującego wyrażenia:
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:
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ą:
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.
źródło
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.
źródło
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 ...
źródło