Audio Signal mit ESP32 auslesen

#7469556
Lesenswert?

Hi,

ich möchte selbst einen Spectrum Analyzer bauen. Dafür möchte ich einen ESP32 nutzen, um mit seinem ADC ein Audiosignal aus einem Cinch Anschluss (Links und Rechts überlagert) zu messen.

Leider habe ich quasi keine Ahnung von der Materie, wollte mich aber mal daran versuchen. Wenigstens für den Lerneffekt.

Jetzt habe ich im Internet nach Beispielen und Tutorials gesucht und bin auf eines gestoßen, das quasi genau das selbe tut. Leider verstehe ich die Schaltung nicht so ganz, weil mir dafür die nötige Theorie für OPVs fehlt. Kenne quasi nur die Grundschaltungen.

Ich habe mal einen Ausschnitt der Schaltung angehängt. Kann mir jemand erklären, was genau in dem roten Kasten passiert?

  • Also was genau die Funktion des Kondensators am Eingang ist?

  • Wieso sich dort noch zwei 10k Widerstände davor befinden?

  • Was genau der OPV in der Schaltung macht? Und vllt. auch einen kleinen Hinweis wo ich Theorie dazu finde. Ich habe das mit den Grundschaltungen abgeglichen, kann das aber nicht zuordnen.

Das wäre echt super.

Was mich auch interessieren würde: Würdet ihr das genauso machen? Oder würdet ihr da etwas anders machen bzw. verbessern und wenn ja, warum?

Viele Grüße

Tobi

Angehängte Dateien:
#7469566
Lesenswert?

Hi Tobi

die Widerstände R22+R25 mischen die beiden Kanäle R+L, so dass dann nur ein Mono-Signal verarbeitet wird.

der Kondensator trennt das Eingangssignal, das ist nämlich (vermutlich) Gleichspannungsfrei, vom OPV. Dieser wird nämlich zwischen 0V und VCC betrieben (ich rate mal: 5V ?) und daher ist dessen Ausgangssignal mit Vcc/2 überlagert, das wird durch R18+R27 erreicht.

ansonsten ist das ein ganz normaler invertierender Verstärker mit V = 56k/27K = also ca 2-facher Verstärkung.

Wenn du Schaltungstechnik lernen möchtest, dann schau mal bei "Elektor", das war früher eine Papier-Zeitschrift, inzwischen online, und die haben schon immer gut erklärt wie Dinge funktionieren

Matthias

#7469570
Lesenswert?

Tobi L. schrieb:

  • Also was genau die Funktion des Kondensators am Eingang ist?

  • Wieso sich dort noch zwei 10k Widerstände davor befinden?

Das Eingangsignal liegt um GND herum, kann also Negativ werden. Der Koppelkondensator bringt das auf einen für den OpAmp-Eingang verträgliches Spannungslevel, das Signal liegt dann um ~½Vcc herum. Die zwei 10k Widerstände addieren die Stereo-Kanäle, ohne sie gleich ganz kurzzuschließen.

Tobi L. schrieb:

  • Was genau der OPV in der Schaltung macht? Und vllt. auch einen kleinen Hinweis wo ich Theorie dazu finde. Ich habe das mit den Grundschaltungen abgeglichen, kann das aber nicht zuordnen.

das Signal in etwa verdoppeln. Ist die Grundschaltung "Invertierender Verstärker". Weil die Schaltung nur eine Versorgungspannung hat, wird mit R18, R27, C16 eine "Virtuelle Masse" bei ½ Vcc erzeugt. In der Grunschaltung ist da einfach "GND" dran, und es wird erwartet dass der OpAmp positiv und negativ ggü. GND versorgt wird. https://www.elektronik-kompendium.de/sites/slt/0210141.htm

#7469609
Lesenswert?

Matthias D. schrieb:

invertierender Verstärker mit V = 56k/27K = also ca 2-facher Verstärkung.

Das stimmt natürlich nicht, um genau zu sein, denn vorne dran sind noch die 10k Widerstände. Bestenfalls, also über der Grenzfrequenz, die durch den Kondensator vorgegeben wird, wirken vorne noch 5 kOhm in Reihe zu den genannten 27 kOhm bei gleichem Signal auf beiden Kanälen. Der OPV soll vermutlich die geringe Amplitude des Eingangssignals auf eine genügend große Amplitude für den DAC verstärken.

lesen kann man z.B. hier:

https://www.elektronik-kompendium.de/public/schaerer/opa1.htm

mfg

#7470099
Lesenswert?

Matthias D. schrieb:

(ich rate mal: 5V ?)

Mit 5V wirst du beim LM358 nicht glücklich. Und der DC-Level am Ausgang gefällt mir auch nicht, zumal da ein Poti als Pegelsteller angeschlossen ist und somit auch den DC-Level (VCC/2) am Ausgang verändert.

Und wenn man schon einen OPA an der Stelle hat, würde ich einen zweiten Eingangskondensator spendieren (dafür entfällt ein R) und gleich ordentlich summieren.

#7470142
Lesenswert?

Klaus H. schrieb:

Tobi L. schrieb:

ich möchte selbst einen Spectrum Analyzer bauen.

Kennst du den Beitrag schon: Beitrag "Audio Spektrum Analyzer mit ATtiny85"

Nunja, das ist, was mit einem ATtiny85 machbar ist.

Mit einem ESP32 als Rechenknecht ginge natürlich weitaus mehr bezüglich Kanalzahl und Auflösung.

Allerdings wird man sich von der minimalistischen Hardware meiner Tiny85-Lösung trennen müssen, die nutzte ja wirklich so ziemlich alle Möglichkeiten aus, die der Tiny85 im Analogteil bietet. Der ESP32 ist diesbezüglich leider längst nicht so gut ausgestattet. Wenn der es machen soll, wird man um zusätzliche Analog-Hardware nicht herumkommen. Na gut, ein lächerlicher OPV. Verschmerzbar...

#7470447
Lesenswert?

C-hater schrieb:

Na gut, ein lächerlicher OPV. Verschmerzbar...

In der Tat! Jedenfalls ist der im Eingangspost angegebene Analogteil noch nicht das Gelbe vom Ei. Ein paar Gründe hatte ich genannt. Und richtig, eigentlich ging es hier um den Analogteil ...

Mein Link auf deinen bemerkenswerten Beitrag sollte ein Hinweis sein, was man machen kann. Ob es mit dem ESP auch so geht entzieht sich meiner Kenntnis.

#7470638
Lesenswert?

Klaus H. schrieb:

Ob es mit dem ESP auch so geht entzieht sich meiner Kenntnis.

Natürlich kann man hier dasselbe Prinzip verwenden und es ggf. entsprechend der zusätzlich verfügbaren Rechenleistung "aufblasen".

Problematisch beim ESP32 ist die mögliche Samplerate der ADC. Man muss den Wifi-Kram lahmlegen, um eine hinreichende Samplerate für den Audiobereich zu erhalten.

Ohne WiFi ist der ESP32 allerdings ein ziemlich beschissener µC. Da würde ich eher einen RP2040 verwenden. Nochmals deutlich mehr Rechenpower für's gleiche Geld.

#7470852
Lesenswert?

Harald K. schrieb:

Da der ESP32 eine I2S-Schnittstelle hat, kann man einen externen Audio-ADC anschließen, dann stört das nicht.

Nunja, man könnte natürlich auch umgekehrt einen RP2040 mit einem zusätzlichen WiFi-Modul ausrüsten (wenn man eins benötigt). Die Idee war so naheliegend, das es Module mit RP2040+Wifi seit ca. einem Jahr fix und fertig zu kaufen gibt:

"Raspberry Pi Pico W"

Da hat man dann eine Menge schnelle Pins, einigermaßen brauchbare ADC, WiFi, ordentlich Rechenleistung und eine tatsächlich brauchbare Doku.

Was man nicht hat: die Speicherlecks der ESP32-WiFi-Implementierung, also das unvorhersehbare Einschlafen der WiFi-Verbindung. Aber da kann wohl jedermann auch gut drauf verzichten...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren