Forum: Analoge Elektronik und Schaltungstechnik Audio Signal mit ESP32 auslesen


von Tobi L. (s4ge)


Angehängte Dateien:

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

von Matthias D. (marvin42)


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

: Bearbeitet durch User
von Εrnst B. (ernst)


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

von Christian S. (roehrenvorheizer)


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

von Klaus H. (hildek)


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.

: Bearbeitet durch User
von Klaus H. (hildek)


Lesenswert?

Tobi L. schrieb:
> ich möchte selbst einen Spectrum Analyzer bauen.

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

von C-hater (c-hater)


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...

von Klaus H. (hildek)


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.

von C-hater (c-hater)


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.

von Harald K. (kirnbichler)


Lesenswert?

C-hater schrieb:
> Problematisch beim ESP32 ist die mögliche Samplerate der ADC.

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

Hier ein willkürliches Beispiel:

https://www.pschatzmann.ch/home/2021/11/17/using-a-i2s-adc-audio-i2s-capture-card-module-with-an-esp32/

von C-hater (c-hater)


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...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.