Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Mikrofon, wzmacniacz i Atmega

karol221-10 21 Cze 2017 20:31 948 13
  • #1 21 Cze 2017 20:31
    karol221-10
    Poziom 3  

    Kombinuję sobie, jak podłączyć mikrofon do Atmegi, aby przez adc odczytywać dźwięk i mam pewien problem.
    Nie jestem (obecnie :)) biegły w elektronice, także kilka pytań:
    1. O ile dobrze rozumiem, to aby podłączyć mikrofon do Atmegi potrzebuję wzmacniacza?
    2. Kupiłem sobie wzmacniacz audio stereo PAM8403. Po podłączeniu mikrofonu do kanału lewego po stronie IN i głośnika do kanału lewego do OUT wszystko ładnie pięknie działa. Jednakże, kiedy:
    a) wyjmę głośnik, a + (OUT) podłączę do jakiegoś kanału ADC w Atmedze, to analogRead() daje mi "losowe" wyniki, które nie są z niczym związane
    b) kiedy dodatkowo podłączę - (OUT) do GND na płytce stykowej, to nic nie działa.
    Jeśli będzie potrzebny pełen schemat, to udostępnię, ale na razie nie mam jak go narysować.
    Męczę się nad tym już drugi dzień i nic nie wymyśliłem.

    0 13
  • Pomocny post
    #2 21 Cze 2017 20:48
    linuxtorpeda
    Poziom 20  

    Wzmacniacz stereo potrzebuje obciążenia niskoomowego, spróbuj zamiast głośnika dać rezystor mocy 4 omy. Wzmacniacz prawdopodobnie działa w mostku, dlatego kiedy podpinasz - do masy to "nic nie działa" (https://en.wikipedia.org/wiki/Bridge-tied_load).

    Nie wiem, jakiego typu mikrofon podłączasz, ale prawdopodobnie elektretowy (taki, jak np. występuje w słuchawkach lub innych tanich urządzeniach z mikrofonem). W dużym skrócie - działa on jak źródło prądowe regulowane natężeniem dźwięku. Najprostszy schemat aplikacyjny wygląda mniej więcej tak https://upload.wikimedia.org/wikipedia/common...x-Electret_condenser_microphone_schematic.png przy czym ten górny rezystor wynosi przeważnie od 10k do 22k. Jeśli układ zasilisz z napięcia nie większego niż napięcie referencyjne dla ADC, to mógłbyś nawet pominąć kondensator szeregowo do wyjścia. Jeśli zdecydujesz się go jednak użyć, to musisz od strony ADC zapewnić odpowiedni bias. Rezystor, o którym wspomniałem, reguluje wzmocnienie układu, im większy, tym większe wahania napięcia na wyjściu układu uzyskasz.

    To tak na szybko. Po więcej informacji udaj się na wiki pod hasłem "mikrofon elektretowy".

    0
  • #3 21 Cze 2017 21:10
    karol221-10
    Poziom 3  

    Tak, podłączam mikrofon elektretowy. Podłączyłem go dokładnie tak, jak w schemacie, do którego link dałeś.
    Co do rezystora - przetestuję, jak akurat się w taki zaopatrzę :) Może będzie działać.
    Ale dlaczego ADC Atmegi nie odczytuje mi poprawnie danych jak podłączony jest głośnik? Przecież on też niejako generuje "obciążenie", więc chyba powinno działać. Podłączałem + z OUT wzmacniacza do ADC Atmegi. Minus zostawiałem luźny.

    0
  • #4 21 Cze 2017 21:13
    linuxtorpeda
    Poziom 20  

    Jeśli podpiąłeś go razem z kondensatorem, to pytanie, jak uzyskałeś bias na wejściu ADC.

    Nie rozumiem tego co piszesz - w pierwszym poście twierdziłeś, że ADC czyta oczekiwane przez Ciebie próbki tylko kiedy podpięty jest głośnik, teraz piszesz zgoła odwrotnie. Czy ATmega pracuje na tym samym potencjale masy co wzmacniacz?

    0
  • #5 21 Cze 2017 21:21
    karol221-10
    Poziom 3  

    Przeczytałem jeszcze raz i widzę, że trochę źle się wyraziłem. Jeszcze raz:
    Podłączyłem mikrofon do IN, wg schematu, który dałeś w linku. Głośnik podłączyłem do OUT. Gdy mówię do mikrofonu, głośnik gra, a więc to działa.
    Chciałem, aby Atmega mogła "analizować" ten dźwięk. Tam, gdzie miałem wpięty + głośnika, dołożyłem kabelek, który połączyłem z ADC Atmegi. Mimo to, Na Atmedze mam jakieś losowe liczby, które nijak mają się do tego, co się dzieje z mikrofonem. To jest główny problem.

    0
  • #6 21 Cze 2017 21:26
    linuxtorpeda
    Poziom 20  

    OK, w takim razie podepnij oscyloskop na głośnik, i zobacz, jak wygląda sygnał. Podejrzewam, że problemem może być:
    a) mała amplituda mierzonego napięcia,
    b) brak polaryzacji wejścia ADC - mierzysz tylko dodatnią część sygnału.
    Hipotez mógłbym wypisać więcej, ale na razie sprawdźmy te dwie.

    0
  • #7 22 Cze 2017 08:39
    karol221-10
    Poziom 3  

    Oscyloskopu niestety nie posiadam. Zbyt mało zaangażowany w elektronikę jestem a oscyloskop to zbyt duży wydatek.
    Tak wygląda mój układ obecnie (wiem, że nie ma kondensatorów filtrujących zasilanie, dławika itp. Ale o ile może to zaniżać dokładność pomiaru o tyle nie spowoduje chyba, że pomiar będzie dawał wartości całkowicie bezsensowne?)
    Mikrofon, wzmacniacz i Atmega
    Pomierzyłem trochę napięć multimetrem na wzmacniaczu i oto co mi wyszło:
    Mikrofon, wzmacniacz i Atmega
    Pomiędzy A i B: około 0.05V
    Pomiędzy A i D: 2.61V
    Pomiędzy E i F: ok. 4.6V
    Pomiędzy żółtym kabelkiem, który dochodzi do ADC a masą Atmegi - 2.6V

    Co do "brak polaryzacji wejścia ADC" - co przez to rozumiesz? Co mam zrobić z minusem? Jeśli minus z wyjścia wzmacniacza podłączam do GND na płytce stykowej, to nawet głośnik mi nie działa.

    0
  • Pomocny post
    #9 22 Cze 2017 10:07
    373522
    Użytkownik usunął konto  
  • #10 22 Cze 2017 10:12
    karol221-10
    Poziom 3  

    Generalnie chciałbym, aby Atmega "nagrywała" dźwięk i wysyłała go po UART do PC. Generalnie Atmega powinna chyba dać radę próbkować dźwięk z częstotliwością 8kHz. A to powinna być wystarczająca jakość do tego, aby można było zrozumieć, co osoba do tego mikrofonu mówiła.
    Apropo, jeśli ten wzmacniacz się nie nadaje, to jaki byłby odpowiedni (i tani)?

    0
  • Pomocny post
    #11 22 Cze 2017 10:17
    373522
    Użytkownik usunął konto  
  • #12 22 Cze 2017 11:01
    karol221-10
    Poziom 3  

    A czy jako "przedwzmacniacz" można uzyć układu LM386? Znalazłem u siebie gotowy, o taki jak na zdjęciu
    Mikrofon, wzmacniacz i Atmega
    Po drugie, mam podłączyć sam LM386 czy razem ze wzmacniaczem PAM8403? Na wejście mam podłączyć mikrofon wraz z zasilaniem, + z wyjścia mam podłączyć do ADC, a minus do GND?
    Czy na wyjściu potrzebny jest jakiś rezystor mocy 4/8Ohm?

    EDIT:
    Przyszło mi do głowy jeszcze jedno pytanko. Jeśli Atmega miałaby odbierać dźwięk przez UART i generować sygnał za pomocą PWM, to jako wzmacniacza miałbym użyć PAM8403 czy LM386?

    0
  • Pomocny post
    #13 22 Cze 2017 22:11
    linuxtorpeda
    Poziom 20  

    Najprostszy schemat podłączenia mikrofonu do AVR:
    Mikrofon, wzmacniacz i Atmega

    Trzeba dobrać rezystor tak, by w zaznaczonym punkcie otrzymac 2.5 V napięcia stałego.
    Wadą układu będzie niskie wzmocnienie sygnału. Mikrofon powinien się zachowywać jak sterowane dźwiękiem źródło prądowe o prądzie spoczynkowym kilka-kilkanaście mA (przeważnie 5-10 mA, ale zależy od egzemplarza).

    0
  • #14 22 Cze 2017 23:07
    karol221-10
    Poziom 3  

    Dzięki za pomoc i porady :) Problem rozwiązany Wszystko działa jak należy :)

    0
  Szukaj w 5mln produktów